From cc85315325feff5f64c048ee11280c6b0dfefe72 Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Tue, 4 Apr 2023 10:11:55 -0400 Subject: [PATCH 1/7] Remove all vendored sdk and substitute it with most recent aaz sdks --- src/ssh/azext_ssh/_client_factory.py | 41 - .../connected_v_mwarev_sphere/__cmd_group.py | 20 + .../connected_v_mwarev_sphere/__init__.py} | 14 +- .../virtual_machine/__cmd_group.py | 20 + .../virtual_machine/__init__.py} | 15 +- .../virtual_machine/_show.py | 685 +++ .../aaz/latest/hybrid_compute/__cmd_group.py | 20 + .../latest/hybrid_compute}/__init__.py | 15 +- .../hybrid_compute/machine/__cmd_group.py | 20 + .../latest/hybrid_compute/machine/__init__.py | 12 + .../latest/hybrid_compute/machine/_show.py | 661 +++ .../latest/hybrid_connectivity/__cmd_group.py | 20 + .../latest/hybrid_connectivity/__init__.py | 11 + .../endpoint/__cmd_group.py | 20 + .../hybrid_connectivity/endpoint/__init__.py | 13 + .../hybrid_connectivity/endpoint/_create.py | 237 + .../endpoint/_list_credential.py | 220 + .../service_configuration/__cmd_group.py | 20 + .../service_configuration/__init__.py | 13 + .../endpoint/service_configuration/_create.py | 257 + .../endpoint/service_configuration/_show.py | 217 + src/ssh/azext_ssh/connectivity_utils.py | 61 +- src/ssh/azext_ssh/target_os_utils.py | 25 +- src/ssh/azext_ssh/vendored_sdks/__init__.py | 12 - .../connectedmachine/__init__.py | 19 - .../connectedmachine/_configuration.py | 71 - .../connectedmachine/_connected_machine.py | 96 - .../connectedmachine/aio/_configuration.py | 67 - .../aio/_connected_machine.py | 90 - .../aio/operations/__init__.py | 25 - .../_connected_machine_operations.py | 142 - .../_machine_extensions_operations.py | 571 -- .../aio/operations/_machines_operations.py | 302 - .../aio/operations/_operations.py | 105 - ...private_endpoint_connections_operations.py | 432 -- .../_private_link_resources_operations.py | 180 - .../_private_link_scopes_operations.py | 611 -- .../connectedmachine/models/__init__.py | 155 - .../models/_connected_machine_enums.py | 64 - .../connectedmachine/models/_models.py | 1601 ----- .../connectedmachine/models/_models_py3.py | 1723 ------ .../connectedmachine/operations/__init__.py | 25 - .../_connected_machine_operations.py | 148 - .../_machine_extensions_operations.py | 583 -- .../operations/_machines_operations.py | 310 - .../operations/_operations.py | 110 - ...private_endpoint_connections_operations.py | 442 -- .../_private_link_resources_operations.py | 186 - .../_private_link_scopes_operations.py | 624 -- .../vendored_sdks/connectedmachine/py.typed | 1 - .../vendored_sdks/connectedvmware/__init__.py | 23 - ...azure_arc_vmware_management_service_api.py | 127 - .../connectedvmware/_configuration.py | 73 - .../vendored_sdks/connectedvmware/_patch.py | 19 - .../vendored_sdks/connectedvmware/_vendor.py | 27 - .../connectedvmware/aio/__init__.py | 20 - ...azure_arc_vmware_management_service_api.py | 125 - .../connectedvmware/aio/_configuration.py | 72 - .../connectedvmware/aio/_patch.py | 19 - .../aio/operations/__init__.py | 20 - .../aio/operations/_operations.py | 122 - .../connectedvmware/aio/operations/_patch.py | 19 - .../_virtual_machines_operations.py | 111 - .../connectedvmware/models/__init__.py | 235 - ...arc_vmware_management_service_api_enums.py | 230 - .../connectedvmware/models/_models_py3.py | 5263 ----------------- .../connectedvmware/models/_patch.py | 19 - .../connectedvmware/operations/__init__.py | 20 - .../connectedvmware/operations/_operations.py | 151 - .../connectedvmware/operations/_patch.py | 19 - .../_virtual_machines_operations.py | 154 - .../vendored_sdks/connectedvmware/py.typed | 1 - .../hybridconnectivity/__init__.py | 16 - .../hybridconnectivity/_configuration.py | 68 - .../_hybrid_connectivity_management_api.py | 71 - .../hybridconnectivity/aio/__init__.py | 10 - .../hybridconnectivity/aio/_configuration.py | 60 - .../_hybrid_connectivity_management_api.py | 64 - .../aio/operations/__init__.py | 15 - .../aio/operations/_endpoints_operations.py | 426 -- .../aio/operations/_operations.py | 105 - .../hybridconnectivity/models/__init__.py | 57 - ...ybrid_connectivity_management_api_enums.py | 58 - .../hybridconnectivity/models/_models.py | 438 -- .../hybridconnectivity/models/_models_py3.py | 464 -- .../hybridconnectivity/operations/__init__.py | 15 - .../operations/_endpoints_operations.py | 189 - .../operations/_operations.py | 110 - .../vendored_sdks/hybridconnectivity/py.typed | 1 - 89 files changed, 2549 insertions(+), 17819 deletions(-) delete mode 100644 src/ssh/azext_ssh/_client_factory.py create mode 100644 src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__cmd_group.py rename src/ssh/azext_ssh/{vendored_sdks/connectedmachine/_version.py => aaz/latest/connected_v_mwarev_sphere/__init__.py} (58%) create mode 100644 src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__cmd_group.py rename src/ssh/azext_ssh/{vendored_sdks/connectedvmware/_version.py => aaz/latest/connected_v_mwarev_sphere/virtual_machine/__init__.py} (58%) create mode 100644 src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/_show.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_compute/__cmd_group.py rename src/ssh/azext_ssh/{vendored_sdks/connectedmachine/aio => aaz/latest/hybrid_compute}/__init__.py (51%) create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__cmd_group.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__init__.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__cmd_group.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__init__.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__cmd_group.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_create.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_list_credential.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__cmd_group.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__init__.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_create.py create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_show.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/_connected_machine.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_connected_machine.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_connected_machine_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machine_extensions_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machines_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_endpoint_connections_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_resources_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_scopes_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_connected_machine_enums.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models_py3.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_connected_machine_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machine_extensions_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machines_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_endpoint_connections_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_resources_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_scopes_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedmachine/py.typed delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/_azure_arc_vmware_management_service_api.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/_patch.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/_vendor.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_azure_arc_vmware_management_service_api.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_patch.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_patch.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_virtual_machines_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_azure_arc_vmware_management_service_api_enums.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_models_py3.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_patch.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_patch.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_virtual_machines_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/connectedvmware/py.typed delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_hybrid_connectivity_management_api.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_configuration.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_hybrid_connectivity_management_api.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_endpoints_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_hybrid_connectivity_management_api_enums.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models_py3.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/__init__.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_endpoints_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_operations.py delete mode 100644 src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/py.typed diff --git a/src/ssh/azext_ssh/_client_factory.py b/src/ssh/azext_ssh/_client_factory.py deleted file mode 100644 index 8c33c6f3ccb..00000000000 --- a/src/ssh/azext_ssh/_client_factory.py +++ /dev/null @@ -1,41 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from azure.cli.core.commands.client_factory import get_mgmt_service_client - - -def cf_hybridconnectivity_cl(cli_ctx, *_): - from azext_ssh.vendored_sdks.hybridconnectivity import HybridConnectivityManagementAPI - return get_mgmt_service_client(cli_ctx, - HybridConnectivityManagementAPI) - - -def cf_endpoint(cli_ctx, *_): - return cf_hybridconnectivity_cl(cli_ctx).endpoints - - -def cf_connectedmachine_cl(cli_ctx, *_): - from azext_ssh.vendored_sdks.connectedmachine import ConnectedMachine - return get_mgmt_service_client(cli_ctx, - ConnectedMachine) - - -def cf_machine(cli_ctx, *_): - return cf_connectedmachine_cl(cli_ctx).machines - - -def cf_connectedvmware_cl(cli_ctx, *_): - from azext_ssh.vendored_sdks.connectedvmware import AzureArcVMwareManagementServiceAPI - return get_mgmt_service_client(cli_ctx, - AzureArcVMwareManagementServiceAPI) - - -def cf_vmware(cli_ctx, *_): - return cf_connectedvmware_cl(cli_ctx).virtual_machines diff --git a/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__cmd_group.py new file mode 100644 index 00000000000..1ce13155268 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Connected VMWare vSphere + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_version.py b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__init__.py similarity index 58% rename from src/ssh/azext_ssh/vendored_sdks/connectedmachine/_version.py rename to src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__init__.py index e5754a47ce6..5a9d61963d6 100644 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_version.py +++ b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/__init__.py @@ -1,9 +1,11 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- +# -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- -VERSION = "1.0.0b1" +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__cmd_group.py new file mode 100644 index 00000000000..3a5f54b9183 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Connected VMware vSphere VMs + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_version.py b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__init__.py similarity index 58% rename from src/ssh/azext_ssh/vendored_sdks/connectedvmware/_version.py rename to src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__init__.py index dfa6ee022f1..28d5f355813 100644 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_version.py +++ b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/__init__.py @@ -1,9 +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. -# -------------------------------------------------------------------------- +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- -VERSION = "1.0.0b2" +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._show import * diff --git a/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/_show.py b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/_show.py new file mode 100644 index 00000000000..db7acc27547 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/connected_v_mwarev_sphere/virtual_machine/_show.py @@ -0,0 +1,685 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Show(AAZCommand): + """Get virtual machine GET method. + """ + + _aaz_info = { + "version": "2022-07-15-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.connectedvmwarevsphere/virtualmachines/{}", "2022-07-15-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.virtual_machine_name = AAZStrArg( + options=["-n", "--name", "--virtual-machine-name"], + help="Name of the virtual machine resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.VirtualMachinesGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class VirtualMachinesGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + **self.serialize_url_param( + "virtualMachineName", self.ctx.args.virtual_machine_name, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-07-15-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.extended_location = AAZObjectType( + serialized_name="extendedLocation", + ) + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.kind = AAZStrType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + extended_location = cls._schema_on_200.extended_location + extended_location.name = AAZStrType() + extended_location.type = AAZStrType() + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + + properties = cls._schema_on_200.properties + properties.custom_resource_name = AAZStrType( + serialized_name="customResourceName", + flags={"read_only": True}, + ) + properties.firmware_type = AAZStrType( + serialized_name="firmwareType", + ) + properties.folder_path = AAZStrType( + serialized_name="folderPath", + flags={"read_only": True}, + ) + properties.guest_agent_profile = AAZObjectType( + serialized_name="guestAgentProfile", + ) + properties.hardware_profile = AAZObjectType( + serialized_name="hardwareProfile", + ) + properties.instance_uuid = AAZStrType( + serialized_name="instanceUuid", + flags={"read_only": True}, + ) + properties.inventory_item_id = AAZStrType( + serialized_name="inventoryItemId", + ) + properties.mo_name = AAZStrType( + serialized_name="moName", + flags={"read_only": True}, + ) + properties.mo_ref_id = AAZStrType( + serialized_name="moRefId", + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.placement_profile = AAZObjectType( + serialized_name="placementProfile", + ) + properties.power_state = AAZStrType( + serialized_name="powerState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.resource_pool_id = AAZStrType( + serialized_name="resourcePoolId", + ) + properties.security_profile = AAZObjectType( + serialized_name="securityProfile", + ) + properties.smbios_uuid = AAZStrType( + serialized_name="smbiosUuid", + ) + properties.statuses = AAZListType( + flags={"read_only": True}, + ) + properties.storage_profile = AAZObjectType( + serialized_name="storageProfile", + ) + properties.template_id = AAZStrType( + serialized_name="templateId", + ) + properties.uuid = AAZStrType( + flags={"read_only": True}, + ) + properties.v_center_id = AAZStrType( + serialized_name="vCenterId", + ) + properties.vm_id = AAZStrType( + serialized_name="vmId", + flags={"read_only": True}, + ) + + guest_agent_profile = cls._schema_on_200.properties.guest_agent_profile + guest_agent_profile.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + guest_agent_profile.client_public_key = AAZStrType( + serialized_name="clientPublicKey", + ) + guest_agent_profile.error_details = AAZListType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + guest_agent_profile.last_status_change = AAZStrType( + serialized_name="lastStatusChange", + flags={"read_only": True}, + ) + guest_agent_profile.mssql_discovered = AAZStrType( + serialized_name="mssqlDiscovered", + flags={"read_only": True}, + ) + guest_agent_profile.status = AAZStrType( + flags={"read_only": True}, + ) + guest_agent_profile.vm_uuid = AAZStrType( + serialized_name="vmUuid", + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.properties.guest_agent_profile.error_details + error_details.Element = AAZObjectType() + _ShowHelper._build_schema_error_detail_read(error_details.Element) + + hardware_profile = cls._schema_on_200.properties.hardware_profile + hardware_profile.cpu_hot_add_enabled = AAZBoolType( + serialized_name="cpuHotAddEnabled", + flags={"read_only": True}, + ) + hardware_profile.cpu_hot_remove_enabled = AAZBoolType( + serialized_name="cpuHotRemoveEnabled", + flags={"read_only": True}, + ) + hardware_profile.memory_hot_add_enabled = AAZBoolType( + serialized_name="memoryHotAddEnabled", + flags={"read_only": True}, + ) + hardware_profile.memory_size_mb = AAZIntType( + serialized_name="memorySizeMB", + ) + hardware_profile.num_cp_us = AAZIntType( + serialized_name="numCPUs", + ) + hardware_profile.num_cores_per_socket = AAZIntType( + serialized_name="numCoresPerSocket", + ) + + network_profile = cls._schema_on_200.properties.network_profile + network_profile.network_interfaces = AAZListType( + serialized_name="networkInterfaces", + ) + + network_interfaces = cls._schema_on_200.properties.network_profile.network_interfaces + network_interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_profile.network_interfaces.Element + _element.device_key = AAZIntType( + serialized_name="deviceKey", + ) + _element.ip_addresses = AAZListType( + serialized_name="ipAddresses", + flags={"read_only": True}, + ) + _element.ip_settings = AAZObjectType( + serialized_name="ipSettings", + ) + _element.label = AAZStrType( + flags={"read_only": True}, + ) + _element.mac_address = AAZStrType( + serialized_name="macAddress", + flags={"read_only": True}, + ) + _element.name = AAZStrType() + _element.network_id = AAZStrType( + serialized_name="networkId", + ) + _element.network_mo_name = AAZStrType( + serialized_name="networkMoName", + flags={"read_only": True}, + ) + _element.network_mo_ref_id = AAZStrType( + serialized_name="networkMoRefId", + flags={"read_only": True}, + ) + _element.nic_type = AAZStrType( + serialized_name="nicType", + ) + _element.power_on_boot = AAZStrType( + serialized_name="powerOnBoot", + ) + + ip_addresses = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_addresses + ip_addresses.Element = AAZStrType() + + ip_settings = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_settings + ip_settings.allocation_method = AAZStrType( + serialized_name="allocationMethod", + ) + ip_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + ip_settings.gateway = AAZListType() + ip_settings.ip_address = AAZStrType( + serialized_name="ipAddress", + ) + ip_settings.ip_address_info = AAZListType( + serialized_name="ipAddressInfo", + flags={"read_only": True}, + ) + ip_settings.primary_wins_server = AAZStrType( + serialized_name="primaryWinsServer", + flags={"read_only": True}, + ) + ip_settings.secondary_wins_server = AAZStrType( + serialized_name="secondaryWinsServer", + flags={"read_only": True}, + ) + ip_settings.subnet_mask = AAZStrType( + serialized_name="subnetMask", + ) + + dns_servers = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_settings.dns_servers + dns_servers.Element = AAZStrType() + + gateway = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_settings.gateway + gateway.Element = AAZStrType() + + ip_address_info = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_settings.ip_address_info + ip_address_info.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_profile.network_interfaces.Element.ip_settings.ip_address_info.Element + _element.allocation_method = AAZStrType( + serialized_name="allocationMethod", + flags={"read_only": True}, + ) + _element.ip_address = AAZStrType( + serialized_name="ipAddress", + flags={"read_only": True}, + ) + _element.subnet_mask = AAZStrType( + serialized_name="subnetMask", + flags={"read_only": True}, + ) + + os_profile = cls._schema_on_200.properties.os_profile + os_profile.admin_username = AAZStrType( + serialized_name="adminUsername", + ) + os_profile.allow_extension_operations = AAZBoolType( + serialized_name="allowExtensionOperations", + flags={"read_only": True}, + ) + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + ) + os_profile.guest_id = AAZStrType( + serialized_name="guestId", + ) + os_profile.linux_configuration = AAZObjectType( + serialized_name="linuxConfiguration", + ) + os_profile.os_name = AAZStrType( + serialized_name="osName", + flags={"read_only": True}, + ) + os_profile.os_type = AAZStrType( + serialized_name="osType", + ) + os_profile.tools_running_status = AAZStrType( + serialized_name="toolsRunningStatus", + flags={"read_only": True}, + ) + os_profile.tools_version = AAZStrType( + serialized_name="toolsVersion", + flags={"read_only": True}, + ) + os_profile.tools_version_status = AAZStrType( + serialized_name="toolsVersionStatus", + flags={"read_only": True}, + ) + os_profile.windows_configuration = AAZObjectType( + serialized_name="windowsConfiguration", + ) + + linux_configuration = cls._schema_on_200.properties.os_profile.linux_configuration + linux_configuration.patch_settings = AAZObjectType( + serialized_name="patchSettings", + flags={"client_flatten": True}, + ) + _ShowHelper._build_schema_patch_settings_read(linux_configuration.patch_settings) + + windows_configuration = cls._schema_on_200.properties.os_profile.windows_configuration + windows_configuration.patch_settings = AAZObjectType( + serialized_name="patchSettings", + flags={"client_flatten": True}, + ) + _ShowHelper._build_schema_patch_settings_read(windows_configuration.patch_settings) + + placement_profile = cls._schema_on_200.properties.placement_profile + placement_profile.cluster_id = AAZStrType( + serialized_name="clusterId", + ) + placement_profile.datastore_id = AAZStrType( + serialized_name="datastoreId", + ) + placement_profile.host_id = AAZStrType( + serialized_name="hostId", + ) + placement_profile.resource_pool_id = AAZStrType( + serialized_name="resourcePoolId", + ) + + security_profile = cls._schema_on_200.properties.security_profile + security_profile.uefi_settings = AAZObjectType( + serialized_name="uefiSettings", + ) + + uefi_settings = cls._schema_on_200.properties.security_profile.uefi_settings + uefi_settings.secure_boot_enabled = AAZBoolType( + serialized_name="secureBootEnabled", + ) + + statuses = cls._schema_on_200.properties.statuses + statuses.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.statuses.Element + _element.last_updated_at = AAZStrType( + serialized_name="lastUpdatedAt", + flags={"read_only": True}, + ) + _element.message = AAZStrType( + flags={"read_only": True}, + ) + _element.reason = AAZStrType( + flags={"read_only": True}, + ) + _element.severity = AAZStrType( + flags={"read_only": True}, + ) + _element.status = AAZStrType( + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + storage_profile = cls._schema_on_200.properties.storage_profile + storage_profile.disks = AAZListType() + storage_profile.scsi_controllers = AAZListType( + serialized_name="scsiControllers", + flags={"read_only": True}, + ) + + disks = cls._schema_on_200.properties.storage_profile.disks + disks.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.storage_profile.disks.Element + _element.controller_key = AAZIntType( + serialized_name="controllerKey", + ) + _element.device_key = AAZIntType( + serialized_name="deviceKey", + ) + _element.device_name = AAZStrType( + serialized_name="deviceName", + ) + _element.disk_mode = AAZStrType( + serialized_name="diskMode", + ) + _element.disk_object_id = AAZStrType( + serialized_name="diskObjectId", + flags={"read_only": True}, + ) + _element.disk_size_gb = AAZIntType( + serialized_name="diskSizeGB", + ) + _element.disk_type = AAZStrType( + serialized_name="diskType", + ) + _element.label = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType() + _element.unit_number = AAZIntType( + serialized_name="unitNumber", + ) + + scsi_controllers = cls._schema_on_200.properties.storage_profile.scsi_controllers + scsi_controllers.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.storage_profile.scsi_controllers.Element + _element.bus_number = AAZIntType( + serialized_name="busNumber", + ) + _element.controller_key = AAZIntType( + serialized_name="controllerKey", + ) + _element.scsi_ctlr_unit_number = AAZIntType( + serialized_name="scsiCtlrUnitNumber", + ) + _element.sharing = AAZStrType() + _element.type = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_error_detail_read = None + + @classmethod + def _build_schema_error_detail_read(cls, _schema): + if cls._schema_error_detail_read is not None: + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + return + + cls._schema_error_detail_read = _schema_error_detail_read = AAZObjectType() + + error_detail_read = _schema_error_detail_read + error_detail_read.additional_info = AAZListType( + serialized_name="additionalInfo", + flags={"read_only": True}, + ) + error_detail_read.code = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.details = AAZListType( + flags={"read_only": True}, + ) + error_detail_read.message = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.target = AAZStrType( + flags={"read_only": True}, + ) + + additional_info = _schema_error_detail_read.additional_info + additional_info.Element = AAZObjectType() + + _element = _schema_error_detail_read.additional_info.Element + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + details = _schema_error_detail_read.details + details.Element = AAZObjectType() + cls._build_schema_error_detail_read(details.Element) + + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + + _schema_patch_settings_read = None + + @classmethod + def _build_schema_patch_settings_read(cls, _schema): + if cls._schema_patch_settings_read is not None: + _schema.assessment_mode = cls._schema_patch_settings_read.assessment_mode + _schema.patch_mode = cls._schema_patch_settings_read.patch_mode + return + + cls._schema_patch_settings_read = _schema_patch_settings_read = AAZObjectType() + + patch_settings_read = _schema_patch_settings_read + patch_settings_read.assessment_mode = AAZStrType( + serialized_name="assessmentMode", + ) + patch_settings_read.patch_mode = AAZStrType( + serialized_name="patchMode", + ) + + _schema.assessment_mode = cls._schema_patch_settings_read.assessment_mode + _schema.patch_mode = cls._schema_patch_settings_read.patch_mode + + +__all__ = ["Show"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/__cmd_group.py new file mode 100644 index 00000000000..bd599cdb07d --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Hybrid Compute resources + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/__init__.py similarity index 51% rename from src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/__init__.py rename to src/ssh/azext_ssh/aaz/latest/hybrid_compute/__init__.py index 5a8f3eca2b2..5a9d61963d6 100644 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/__init__.py +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/__init__.py @@ -1,10 +1,11 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- +# -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- -from ._connected_machine import ConnectedMachine -__all__ = ['ConnectedMachine'] +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__cmd_group.py new file mode 100644 index 00000000000..de95c19bc1c --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Arc Servers + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__init__.py new file mode 100644 index 00000000000..28d5f355813 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/__init__.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._show import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py new file mode 100644 index 00000000000..37a7ec87649 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py @@ -0,0 +1,661 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Show(AAZCommand): + """Get information about the model view or the instance view of a hybrid machine. + """ + + _aaz_info = { + "version": "2022-11-10", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.hybridcompute/machines/{}", "2022-11-10"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.machine_name = AAZStrArg( + options=["-n", "--name", "--machine-name"], + help="The name of the hybrid machine.", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.expand = AAZStrArg( + options=["--expand"], + help="The expand expression to apply on the operation.", + enum={"instanceView": "instanceView"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.MachinesGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class MachinesGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "machineName", self.ctx.args.machine_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "$expand", self.ctx.args.expand, + ), + **self.serialize_query_param( + "api-version", "2022-11-10", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.resources = AAZListType( + flags={"read_only": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _ShowHelper._build_schema_system_data_read(_schema_on_200.system_data) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType() + + properties = cls._schema_on_200.properties + properties.ad_fqdn = AAZStrType( + serialized_name="adFqdn", + flags={"read_only": True}, + ) + properties.agent_configuration = AAZObjectType( + serialized_name="agentConfiguration", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.client_public_key = AAZStrType( + serialized_name="clientPublicKey", + ) + properties.cloud_metadata = AAZObjectType( + serialized_name="cloudMetadata", + ) + properties.detected_properties = AAZDictType( + serialized_name="detectedProperties", + flags={"read_only": True}, + ) + properties.display_name = AAZStrType( + serialized_name="displayName", + flags={"read_only": True}, + ) + properties.dns_fqdn = AAZStrType( + serialized_name="dnsFqdn", + flags={"read_only": True}, + ) + properties.domain_name = AAZStrType( + serialized_name="domainName", + flags={"read_only": True}, + ) + properties.error_details = AAZListType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.extensions = AAZListType() + properties.last_status_change = AAZStrType( + serialized_name="lastStatusChange", + flags={"read_only": True}, + ) + properties.location_data = AAZObjectType( + serialized_name="locationData", + ) + properties.machine_fqdn = AAZStrType( + serialized_name="machineFqdn", + flags={"read_only": True}, + ) + properties.mssql_discovered = AAZStrType( + serialized_name="mssqlDiscovered", + ) + properties.os_name = AAZStrType( + serialized_name="osName", + flags={"read_only": True}, + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.os_sku = AAZStrType( + serialized_name="osSku", + flags={"read_only": True}, + ) + properties.os_type = AAZStrType( + serialized_name="osType", + ) + properties.os_version = AAZStrType( + serialized_name="osVersion", + flags={"read_only": True}, + ) + properties.parent_cluster_resource_id = AAZStrType( + serialized_name="parentClusterResourceId", + ) + properties.private_link_scope_resource_id = AAZStrType( + serialized_name="privateLinkScopeResourceId", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.service_statuses = AAZObjectType( + serialized_name="serviceStatuses", + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + properties.vm_id = AAZStrType( + serialized_name="vmId", + ) + properties.vm_uuid = AAZStrType( + serialized_name="vmUuid", + flags={"read_only": True}, + ) + + agent_configuration = cls._schema_on_200.properties.agent_configuration + agent_configuration.config_mode = AAZStrType( + serialized_name="configMode", + flags={"read_only": True}, + ) + agent_configuration.extensions_allow_list = AAZListType( + serialized_name="extensionsAllowList", + flags={"read_only": True}, + ) + agent_configuration.extensions_block_list = AAZListType( + serialized_name="extensionsBlockList", + flags={"read_only": True}, + ) + agent_configuration.extensions_enabled = AAZStrType( + serialized_name="extensionsEnabled", + flags={"read_only": True}, + ) + agent_configuration.guest_configuration_enabled = AAZStrType( + serialized_name="guestConfigurationEnabled", + flags={"read_only": True}, + ) + agent_configuration.incoming_connections_ports = AAZListType( + serialized_name="incomingConnectionsPorts", + flags={"read_only": True}, + ) + agent_configuration.proxy_bypass = AAZListType( + serialized_name="proxyBypass", + flags={"read_only": True}, + ) + agent_configuration.proxy_url = AAZStrType( + serialized_name="proxyUrl", + flags={"read_only": True}, + ) + + extensions_allow_list = cls._schema_on_200.properties.agent_configuration.extensions_allow_list + extensions_allow_list.Element = AAZObjectType() + _ShowHelper._build_schema_configuration_extension_read(extensions_allow_list.Element) + + extensions_block_list = cls._schema_on_200.properties.agent_configuration.extensions_block_list + extensions_block_list.Element = AAZObjectType() + _ShowHelper._build_schema_configuration_extension_read(extensions_block_list.Element) + + incoming_connections_ports = cls._schema_on_200.properties.agent_configuration.incoming_connections_ports + incoming_connections_ports.Element = AAZStrType() + + proxy_bypass = cls._schema_on_200.properties.agent_configuration.proxy_bypass + proxy_bypass.Element = AAZStrType() + + cloud_metadata = cls._schema_on_200.properties.cloud_metadata + cloud_metadata.provider = AAZStrType( + flags={"read_only": True}, + ) + + detected_properties = cls._schema_on_200.properties.detected_properties + detected_properties.Element = AAZStrType() + + error_details = cls._schema_on_200.properties.error_details + error_details.Element = AAZObjectType() + _ShowHelper._build_schema_error_detail_read(error_details.Element) + + extensions = cls._schema_on_200.properties.extensions + extensions.Element = AAZObjectType() + _ShowHelper._build_schema_machine_extension_instance_view_read(extensions.Element) + + location_data = cls._schema_on_200.properties.location_data + location_data.city = AAZStrType() + location_data.country_or_region = AAZStrType( + serialized_name="countryOrRegion", + ) + location_data.district = AAZStrType() + location_data.name = AAZStrType( + flags={"required": True}, + ) + + os_profile = cls._schema_on_200.properties.os_profile + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + flags={"read_only": True}, + ) + os_profile.linux_configuration = AAZObjectType( + serialized_name="linuxConfiguration", + ) + os_profile.windows_configuration = AAZObjectType( + serialized_name="windowsConfiguration", + ) + + linux_configuration = cls._schema_on_200.properties.os_profile.linux_configuration + linux_configuration.patch_settings = AAZObjectType( + serialized_name="patchSettings", + flags={"client_flatten": True}, + ) + _ShowHelper._build_schema_patch_settings_read(linux_configuration.patch_settings) + + windows_configuration = cls._schema_on_200.properties.os_profile.windows_configuration + windows_configuration.patch_settings = AAZObjectType( + serialized_name="patchSettings", + flags={"client_flatten": True}, + ) + _ShowHelper._build_schema_patch_settings_read(windows_configuration.patch_settings) + + service_statuses = cls._schema_on_200.properties.service_statuses + service_statuses.extension_service = AAZObjectType( + serialized_name="extensionService", + ) + _ShowHelper._build_schema_service_status_read(service_statuses.extension_service) + service_statuses.guest_configuration_service = AAZObjectType( + serialized_name="guestConfigurationService", + ) + _ShowHelper._build_schema_service_status_read(service_statuses.guest_configuration_service) + + resources = cls._schema_on_200.resources + resources.Element = AAZObjectType() + + _element = cls._schema_on_200.resources.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _ShowHelper._build_schema_system_data_read(_element.system_data) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.resources.Element.properties + properties.auto_upgrade_minor_version = AAZBoolType( + serialized_name="autoUpgradeMinorVersion", + ) + properties.enable_automatic_upgrade = AAZBoolType( + serialized_name="enableAutomaticUpgrade", + ) + properties.force_update_tag = AAZStrType( + serialized_name="forceUpdateTag", + ) + properties.instance_view = AAZObjectType( + serialized_name="instanceView", + ) + _ShowHelper._build_schema_machine_extension_instance_view_read(properties.instance_view) + properties.protected_settings = AAZFreeFormDictType( + serialized_name="protectedSettings", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.publisher = AAZStrType() + properties.settings = AAZFreeFormDictType() + properties.type = AAZStrType() + properties.type_handler_version = AAZStrType( + serialized_name="typeHandlerVersion", + ) + + tags = cls._schema_on_200.resources.Element.tags + tags.Element = AAZStrType() + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_configuration_extension_read = None + + @classmethod + def _build_schema_configuration_extension_read(cls, _schema): + if cls._schema_configuration_extension_read is not None: + _schema.publisher = cls._schema_configuration_extension_read.publisher + _schema.type = cls._schema_configuration_extension_read.type + return + + cls._schema_configuration_extension_read = _schema_configuration_extension_read = AAZObjectType() + + configuration_extension_read = _schema_configuration_extension_read + configuration_extension_read.publisher = AAZStrType( + flags={"read_only": True}, + ) + configuration_extension_read.type = AAZStrType( + flags={"read_only": True}, + ) + + _schema.publisher = cls._schema_configuration_extension_read.publisher + _schema.type = cls._schema_configuration_extension_read.type + + _schema_error_detail_read = None + + @classmethod + def _build_schema_error_detail_read(cls, _schema): + if cls._schema_error_detail_read is not None: + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + return + + cls._schema_error_detail_read = _schema_error_detail_read = AAZObjectType() + + error_detail_read = _schema_error_detail_read + error_detail_read.additional_info = AAZListType( + serialized_name="additionalInfo", + flags={"read_only": True}, + ) + error_detail_read.code = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.details = AAZListType( + flags={"read_only": True}, + ) + error_detail_read.message = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.target = AAZStrType( + flags={"read_only": True}, + ) + + additional_info = _schema_error_detail_read.additional_info + additional_info.Element = AAZObjectType() + + _element = _schema_error_detail_read.additional_info.Element + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + details = _schema_error_detail_read.details + details.Element = AAZObjectType() + cls._build_schema_error_detail_read(details.Element) + + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + + _schema_machine_extension_instance_view_read = None + + @classmethod + def _build_schema_machine_extension_instance_view_read(cls, _schema): + if cls._schema_machine_extension_instance_view_read is not None: + _schema.name = cls._schema_machine_extension_instance_view_read.name + _schema.status = cls._schema_machine_extension_instance_view_read.status + _schema.type = cls._schema_machine_extension_instance_view_read.type + _schema.type_handler_version = cls._schema_machine_extension_instance_view_read.type_handler_version + return + + cls._schema_machine_extension_instance_view_read = _schema_machine_extension_instance_view_read = AAZObjectType() + + machine_extension_instance_view_read = _schema_machine_extension_instance_view_read + machine_extension_instance_view_read.name = AAZStrType() + machine_extension_instance_view_read.status = AAZObjectType() + machine_extension_instance_view_read.type = AAZStrType() + machine_extension_instance_view_read.type_handler_version = AAZStrType( + serialized_name="typeHandlerVersion", + ) + + status = _schema_machine_extension_instance_view_read.status + status.code = AAZStrType() + status.display_status = AAZStrType( + serialized_name="displayStatus", + ) + status.level = AAZStrType() + status.message = AAZStrType() + status.time = AAZStrType() + + _schema.name = cls._schema_machine_extension_instance_view_read.name + _schema.status = cls._schema_machine_extension_instance_view_read.status + _schema.type = cls._schema_machine_extension_instance_view_read.type + _schema.type_handler_version = cls._schema_machine_extension_instance_view_read.type_handler_version + + _schema_patch_settings_read = None + + @classmethod + def _build_schema_patch_settings_read(cls, _schema): + if cls._schema_patch_settings_read is not None: + _schema.assessment_mode = cls._schema_patch_settings_read.assessment_mode + _schema.patch_mode = cls._schema_patch_settings_read.patch_mode + return + + cls._schema_patch_settings_read = _schema_patch_settings_read = AAZObjectType() + + patch_settings_read = _schema_patch_settings_read + patch_settings_read.assessment_mode = AAZStrType( + serialized_name="assessmentMode", + ) + patch_settings_read.patch_mode = AAZStrType( + serialized_name="patchMode", + ) + + _schema.assessment_mode = cls._schema_patch_settings_read.assessment_mode + _schema.patch_mode = cls._schema_patch_settings_read.patch_mode + + _schema_service_status_read = None + + @classmethod + def _build_schema_service_status_read(cls, _schema): + if cls._schema_service_status_read is not None: + _schema.startup_type = cls._schema_service_status_read.startup_type + _schema.status = cls._schema_service_status_read.status + return + + cls._schema_service_status_read = _schema_service_status_read = AAZObjectType() + + service_status_read = _schema_service_status_read + service_status_read.startup_type = AAZStrType( + serialized_name="startupType", + ) + service_status_read.status = AAZStrType() + + _schema.startup_type = cls._schema_service_status_read.startup_type + _schema.status = cls._schema_service_status_read.status + + _schema_system_data_read = None + + @classmethod + def _build_schema_system_data_read(cls, _schema): + if cls._schema_system_data_read is not None: + _schema.created_at = cls._schema_system_data_read.created_at + _schema.created_by = cls._schema_system_data_read.created_by + _schema.created_by_type = cls._schema_system_data_read.created_by_type + _schema.last_modified_at = cls._schema_system_data_read.last_modified_at + _schema.last_modified_by = cls._schema_system_data_read.last_modified_by + _schema.last_modified_by_type = cls._schema_system_data_read.last_modified_by_type + return + + cls._schema_system_data_read = _schema_system_data_read = AAZObjectType( + flags={"read_only": True} + ) + + system_data_read = _schema_system_data_read + system_data_read.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data_read.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data_read.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data_read.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data_read.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data_read.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.created_at = cls._schema_system_data_read.created_at + _schema.created_by = cls._schema_system_data_read.created_by + _schema.created_by_type = cls._schema_system_data_read.created_by_type + _schema.last_modified_at = cls._schema_system_data_read.last_modified_at + _schema.last_modified_by = cls._schema_system_data_read.last_modified_by + _schema.last_modified_by_type = cls._schema_system_data_read.last_modified_by_type + + +__all__ = ["Show"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__cmd_group.py new file mode 100644 index 00000000000..a06e5bb800c --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Hybrid Connectivity Resources + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/__init__.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__cmd_group.py new file mode 100644 index 00000000000..d7402a39ff2 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Hybrid Connectivity Endpoints + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py new file mode 100644 index 00000000000..3427b0d8b94 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.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. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._list_credential import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_create.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_create.py new file mode 100644 index 00000000000..5d6717c321a --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_create.py @@ -0,0 +1,237 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Create(AAZCommand): + """Create the endpoint to the target resource. + """ + + _aaz_info = { + "version": "2023-03-15", + "resources": [ + ["mgmt-plane", "/{resourceuri}/providers/microsoft.hybridconnectivity/endpoints/{}", "2023-03-15"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["--endpoint-name"], + help="The endpoint name.", + required=True, + ) + _args_schema.resource_uri = AAZStrArg( + options=["--resource-uri"], + help="The fully qualified Azure Resource manager identifier of the resource to be connected.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.resource_id = AAZStrArg( + options=["--resource-id"], + arg_group="Properties", + help="The resource Id of the connectivity endpoint (optional).", + ) + _args_schema.type = AAZStrArg( + options=["--type"], + arg_group="Properties", + help="The type of endpoint.", + enum={"custom": "custom", "default": "default"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "resourceUri", self.ctx.args.resource_uri, + skip_quote=True, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-15", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("resourceId", AAZStrType, ".resource_id") + properties.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType() + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"client_flatten": True, "read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.resource_id = AAZStrType( + serialized_name="resourceId", + ) + properties.type = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_list_credential.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_list_credential.py new file mode 100644 index 00000000000..03d0f1348f3 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_list_credential.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. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class ListCredential(AAZCommand): + """Gets the endpoint access credentials to the resource. + """ + + _aaz_info = { + "version": "2023-03-15", + "resources": [ + ["mgmt-plane", "/{resourceuri}/providers/microsoft.hybridconnectivity/endpoints/{}/listcredentials", "2023-03-15"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["--endpoint-name"], + help="The endpoint name.", + required=True, + ) + _args_schema.resource_uri = AAZStrArg( + options=["--resource-uri"], + help="The fully qualified Azure Resource manager identifier of the resource to be connected.", + required=True, + ) + _args_schema.expiresin = AAZIntArg( + options=["--expiresin"], + help="The is how long the endpoint access token is valid (in seconds).", + default=10800, + fmt=AAZIntArgFormat( + maximum=10800, + minimum=600, + ), + ) + + # define Arg Group "ListCredentialsRequest" + + _args_schema = cls._args_schema + _args_schema.service_name = AAZStrArg( + options=["--service-name"], + arg_group="ListCredentialsRequest", + help="The name of the service. If not provided, the request will by pass the generation of service configuration token ", + enum={"SSH": "SSH", "WAC": "WAC"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsListCredentials(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsListCredentials(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/listCredentials", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "resourceUri", self.ctx.args.resource_uri, + skip_quote=True, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "expiresin", self.ctx.args.expiresin, + ), + **self.serialize_query_param( + "api-version", "2023-03-15", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"client_flatten": True}} + ) + _builder.set_prop("serviceName", AAZStrType, ".service_name") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.relay = AAZObjectType( + flags={"client_flatten": True}, + ) + + relay = cls._schema_on_200.relay + relay.access_key = AAZStrType( + serialized_name="accessKey", + flags={"read_only": True}, + ) + relay.expires_on = AAZIntType( + serialized_name="expiresOn", + ) + relay.hybrid_connection_name = AAZStrType( + serialized_name="hybridConnectionName", + flags={"required": True}, + ) + relay.namespace_name = AAZStrType( + serialized_name="namespaceName", + flags={"required": True}, + ) + relay.namespace_name_suffix = AAZStrType( + serialized_name="namespaceNameSuffix", + flags={"required": True}, + ) + relay.service_configuration_token = AAZStrType( + serialized_name="serviceConfigurationToken", + ) + + return cls._schema_on_200 + + +class _ListCredentialHelper: + """Helper class for ListCredential""" + + +__all__ = ["ListCredential"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__cmd_group.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__cmd_group.py new file mode 100644 index 00000000000..87916916409 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__cmd_group.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class __CMDGroup(AAZCommandGroup): + """Manage Service Configuration for Endpoints + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__init__.py new file mode 100644 index 00000000000..4fbda4a6e7a --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/__init__.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. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._show import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_create.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_create.py new file mode 100644 index 00000000000..3ab6d9b921e --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_create.py @@ -0,0 +1,257 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Create(AAZCommand): + """Create a service in serviceConfiguration for the endpoint resource. + """ + + _aaz_info = { + "version": "2023-03-15", + "resources": [ + ["mgmt-plane", "/{resourceuri}/providers/microsoft.hybridconnectivity/endpoints/{}/serviceconfigurations/{}", "2023-03-15"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["--endpoint-name"], + help="The endpoint name.", + required=True, + ) + _args_schema.resource_uri = AAZStrArg( + options=["--resource-uri"], + help="The fully qualified Azure Resource manager identifier of the resource to be connected.", + required=True, + ) + _args_schema.service_configuration_name = AAZStrArg( + options=["--service-configuration-name"], + help="The service name.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.port = AAZIntArg( + options=["--port"], + arg_group="Properties", + help="The port on which service is enabled.", + ) + _args_schema.resource_id = AAZStrArg( + options=["--resource-id"], + arg_group="Properties", + help="The resource Id of the connectivity endpoint (optional).", + ) + _args_schema.service_name = AAZStrArg( + options=["--service-name"], + arg_group="Properties", + help="Name of the service.", + enum={"SSH": "SSH", "WAC": "WAC"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ServiceConfigurationsCreateOrupdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ServiceConfigurationsCreateOrupdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/serviceConfigurations/{serviceConfigurationName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "resourceUri", self.ctx.args.resource_uri, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "serviceConfigurationName", self.ctx.args.service_configuration_name, + skip_quote=True, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-15", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("port", AAZIntType, ".port") + properties.set_prop("resourceId", AAZStrType, ".resource_id") + properties.set_prop("serviceName", AAZStrType, ".service_name", typ_kwargs={"flags": {"required": True}}) + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"client_flatten": True, "read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.port = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.resource_id = AAZStrType( + serialized_name="resourceId", + ) + properties.service_name = AAZStrType( + serialized_name="serviceName", + flags={"required": True}, + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_show.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_show.py new file mode 100644 index 00000000000..0b711f3219c --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/service_configuration/_show.py @@ -0,0 +1,217 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Show(AAZCommand): + """Get the details about the service to the resource. + """ + + _aaz_info = { + "version": "2023-03-15", + "resources": [ + ["mgmt-plane", "/{resourceuri}/providers/microsoft.hybridconnectivity/endpoints/{}/serviceconfigurations/{}", "2023-03-15"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["--endpoint-name"], + help="The endpoint name.", + required=True, + ) + _args_schema.resource_uri = AAZStrArg( + options=["--resource-uri"], + help="The fully qualified Azure Resource manager identifier of the resource to be connected.", + required=True, + ) + _args_schema.service_configuration_name = AAZStrArg( + options=["--service-configuration-name"], + help="The service name.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ServiceConfigurationsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ServiceConfigurationsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/serviceConfigurations/{serviceConfigurationName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "resourceUri", self.ctx.args.resource_uri, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "serviceConfigurationName", self.ctx.args.service_configuration_name, + skip_quote=True, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-15", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"client_flatten": True, "read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.port = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.resource_id = AAZStrType( + serialized_name="resourceId", + ) + properties.service_name = AAZStrType( + serialized_name="serviceName", + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/ssh/azext_ssh/connectivity_utils.py b/src/ssh/azext_ssh/connectivity_utils.py index 9e99a026f46..66c5680ef94 100644 --- a/src/ssh/azext_ssh/connectivity_utils.py +++ b/src/ssh/azext_ssh/connectivity_utils.py @@ -28,29 +28,37 @@ # Get the Access Details to connect to Arc Connectivity platform from the HybridConnectivity RP -def get_relay_information(cmd, resource_group, vm_name, resource_type, certificate_validity_in_seconds): - from azext_ssh._client_factory import cf_endpoint - client = cf_endpoint(cmd.cli_ctx) - +def get_relay_information(cmd, resource_group, vm_name, resource_type, certificate_validity_in_seconds, port): + from .aaz.latest.hybrid_connectivity.endpoint import ListCredential + if not certificate_validity_in_seconds or \ certificate_validity_in_seconds > consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS: certificate_validity_in_seconds = consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS + namespace = resource_type.split('/', 1)[0] + arc_type = resource_type.split('/', 1)[1] + resource_uri = resource_id(subscription=get_subscription_id(cmd.cli_ctx), resource_group=resource_group, + namespace=namespace, type=arc_type, name=vm_name) + + list_cred_args = { + 'endpoint_name': 'default', + 'resource_uri': resource_uri, + 'expiresin': certificate_validity_in_seconds, + 'service_name': 'SSH' + } + try: t0 = time.time() - result = client.list_credentials(resource_group_name=resource_group, machine_name=vm_name, - resource_type=resource_type, endpoint_name="default", - expiresin=certificate_validity_in_seconds) + result = ListCredential(cli_ctx=cmd.cli_ctx)(command_args=list_cred_args) time_elapsed = time.time() - t0 telemetry.add_extension_event('ssh', {'Context.Default.AzureCLI.SSHListCredentialsTime': time_elapsed}) + except ResourceNotFoundError: logger.debug("Default Endpoint couldn't be found. Trying to create Default Endpoint.") - _create_default_endpoint(cmd, resource_group, vm_name, resource_type, client) + _create_default_endpoint(cmd, resource_group, vm_name, resource_uri, port) try: t0 = time.time() - result = client.list_credentials(resource_group_name=resource_group, machine_name=vm_name, - resource_type=resource_type, endpoint_name="default", - expiresin=certificate_validity_in_seconds) + result = ListCredential(cli_ctx=cmd.cli_ctx)(command_args=list_cred_args) time_elapsed = time.time() - t0 telemetry.add_extension_event('ssh', {'Context.Default.AzureCLI.SSHListCredentialsTime': time_elapsed}) except Exception as e: @@ -60,14 +68,27 @@ def get_relay_information(cmd, resource_group, vm_name, resource_type, certifica return result -def _create_default_endpoint(cmd, resource_group, vm_name, resource_type, client): - namespace = resource_type.split('/', 1)[0] - arc_type = resource_type.split('/', 1)[1] - az_resource_id = resource_id(subscription=get_subscription_id(cmd.cli_ctx), resource_group=resource_group, - namespace=namespace, type=arc_type, name=vm_name) - endpoint_resource = {"id": az_resource_id, "type_properties_type": "default"} +def _create_default_endpoint(cmd, resource_group, vm_name, resource_uri, port): + from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Create as CreateServiceConfig + from .aaz.latest.hybrid_connectivity.endpoint import Create as CreateHybridConnectivityEndpoint + + create_endpoint_args = { + 'endpoint_name': 'default', + 'resource_uri': resource_uri, + 'type': 'default' + } + + create_service_conf_args = { + 'endpoint_name': 'default', + 'resource_uri': resource_uri, + 'service_configuration_name': 'SSH', + 'Properties': { + 'port': port, + 'service_name': 'SSH' + } + } try: - client.create_or_update(resource_group, vm_name, resource_type, "default", endpoint_resource) + CreateHybridConnectivityEndpoint(cli_ctx=cmd.cli_ctx)(command_args=create_endpoint_args) except Exception as e: colorama.init() raise azclierror.UnauthorizedError(f"Unable to create Default Endpoint for {vm_name} in {resource_group}." @@ -75,6 +96,10 @@ def _create_default_endpoint(cmd, resource_group, vm_name, resource_type, client colorama.Fore.YELLOW + "Contact Owner/Contributor of the resource." + colorama.Style.RESET_ALL) + try: + CreateServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=create_service_conf_args) + except Exception as e: + raise azclierror.ClientRequestError({str(e)}) # Downloads client side proxy to connect to Arc Connectivity Platform def get_client_side_proxy(arc_proxy_folder): diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index 81a2333fce8..eabaff2c84d 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -11,7 +11,6 @@ logger = log.get_logger(__name__) - # Send target OS type telemetry and check if authentication options are valid for that OS. def handle_target_os_type(cmd, op_info): @@ -55,30 +54,36 @@ def _get_azure_vm_os(cmd, resource_group_name, vm_name): def _get_arc_server_os(cmd, resource_group_name, vm_name): - from azext_ssh._client_factory import cf_machine - client = cf_machine(cmd.cli_ctx) - arc = None + from .aaz.latest.hybrid_compute.machine import Show as ArcServerShow + arc_server = None os_type = None + get_args = { + 'resource_group': resource_group_name, + 'machine_name': vm_name + } # pylint: disable=broad-except try: - arc = client.get(resource_group_name=resource_group_name, machine_name=vm_name) + arc_server = ArcServerShow(cli_ctx=cmd.cli_ctx)(command_args=get_args) except Exception: return None - if arc and arc.properties and arc.properties and arc.properties.os_name: - os_type = arc.properties.os_name + if arc_server and arc_server.properties and arc_server.properties and arc_server.properties.os_name: + os_type = arc_server.properties.os_name return os_type def _get_connected_vmware_os(cmd, resource_group_name, vm_name): - from azext_ssh._client_factory import cf_vmware - client = cf_vmware(cmd.cli_ctx) + from .aaz.latest.connected_v_mwarev_sphere.virtual_machine import Show as VMwarevSphereShow vmware = None os_type = None + get_args = { + 'resource_group': resource_group_name, + 'virtual_machine_name': vm_name + } # pylint: disable=broad-except try: - vmware = client.get(resource_group_name=resource_group_name, virtual_machine_name=vm_name) + vmware = VMwarevSphereShow(cli_ctx=cmd.cli_ctx)(command_args=get_args) except Exception: return None diff --git a/src/ssh/azext_ssh/vendored_sdks/__init__.py b/src/ssh/azext_ssh/vendored_sdks/__init__.py deleted file mode 100644 index c9cfdc73e77..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/__init__.py +++ /dev/null @@ -1,12 +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. -# -------------------------------------------------------------------------- - -__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/__init__.py deleted file mode 100644 index 9a8a1b4dcf8..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/__init__.py +++ /dev/null @@ -1,19 +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 ._connected_machine import ConnectedMachine -from ._version import VERSION - -__version__ = VERSION -__all__ = ['ConnectedMachine'] - -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_configuration.py deleted file mode 100644 index 102684e1826..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_configuration.py +++ /dev/null @@ -1,71 +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.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 ConnectedMachineConfiguration(Configuration): - """Configuration for ConnectedMachine. - - 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(ConnectedMachineConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2021-05-20" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-hybridcompute/{}'.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/ssh/azext_ssh/vendored_sdks/connectedmachine/_connected_machine.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_connected_machine.py deleted file mode 100644 index 75b9809af78..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/_connected_machine.py +++ /dev/null @@ -1,96 +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 ConnectedMachineConfiguration -from .operations import MachinesOperations -from .operations import MachineExtensionsOperations -from .operations import ConnectedMachineOperationsMixin -from .operations import Operations -from .operations import PrivateLinkScopesOperations -from .operations import PrivateLinkResourcesOperations -from .operations import PrivateEndpointConnectionsOperations -from . import models - - -class ConnectedMachine(ConnectedMachineOperationsMixin): - """The Hybrid Compute Management Client. - - :ivar machines: MachinesOperations operations - :vartype machines: azure.mgmt.hybridcompute.operations.MachinesOperations - :ivar machine_extensions: MachineExtensionsOperations operations - :vartype machine_extensions: azure.mgmt.hybridcompute.operations.MachineExtensionsOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.hybridcompute.operations.Operations - :ivar private_link_scopes: PrivateLinkScopesOperations operations - :vartype private_link_scopes: azure.mgmt.hybridcompute.operations.PrivateLinkScopesOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.hybridcompute.operations.PrivateLinkResourcesOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.hybridcompute.operations.PrivateEndpointConnectionsOperations - :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 = ConnectedMachineConfiguration(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.machines = MachinesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.machine_extensions = MachineExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.private_link_scopes = PrivateLinkScopesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.private_link_resources = PrivateLinkResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - - def close(self): - # type: () -> None - self._client.close() - - def __enter__(self): - # type: () -> ConnectedMachine - self._client.__enter__() - return self - - def __exit__(self, *exc_details): - # type: (Any) -> None - self._client.__exit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_configuration.py deleted file mode 100644 index 04e5e5f423c..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_configuration.py +++ /dev/null @@ -1,67 +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, 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 ConnectedMachineConfiguration(Configuration): - """Configuration for ConnectedMachine. - - 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(ConnectedMachineConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2021-05-20" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-hybridcompute/{}'.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/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_connected_machine.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_connected_machine.py deleted file mode 100644 index e5dbf9451bd..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/_connected_machine.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 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 ConnectedMachineConfiguration -from .operations import MachinesOperations -from .operations import MachineExtensionsOperations -from .operations import ConnectedMachineOperationsMixin -from .operations import Operations -from .operations import PrivateLinkScopesOperations -from .operations import PrivateLinkResourcesOperations -from .operations import PrivateEndpointConnectionsOperations -from .. import models - - -class ConnectedMachine(ConnectedMachineOperationsMixin): - """The Hybrid Compute Management Client. - - :ivar machines: MachinesOperations operations - :vartype machines: azure.mgmt.hybridcompute.aio.operations.MachinesOperations - :ivar machine_extensions: MachineExtensionsOperations operations - :vartype machine_extensions: azure.mgmt.hybridcompute.aio.operations.MachineExtensionsOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.hybridcompute.aio.operations.Operations - :ivar private_link_scopes: PrivateLinkScopesOperations operations - :vartype private_link_scopes: azure.mgmt.hybridcompute.aio.operations.PrivateLinkScopesOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.hybridcompute.aio.operations.PrivateLinkResourcesOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.hybridcompute.aio.operations.PrivateEndpointConnectionsOperations - :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 = ConnectedMachineConfiguration(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.machines = MachinesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.machine_extensions = MachineExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.private_link_scopes = PrivateLinkScopesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.private_link_resources = PrivateLinkResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "ConnectedMachine": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/__init__.py deleted file mode 100644 index 641a5a8b66c..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/__init__.py +++ /dev/null @@ -1,25 +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 ._machines_operations import MachinesOperations -from ._machine_extensions_operations import MachineExtensionsOperations -from ._connected_machine_operations import ConnectedMachineOperationsMixin -from ._operations import Operations -from ._private_link_scopes_operations import PrivateLinkScopesOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations - -__all__ = [ - 'MachinesOperations', - 'MachineExtensionsOperations', - 'ConnectedMachineOperationsMixin', - 'Operations', - 'PrivateLinkScopesOperations', - 'PrivateLinkResourcesOperations', - 'PrivateEndpointConnectionsOperations', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_connected_machine_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_connected_machine_operations.py deleted file mode 100644 index b05efa22595..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_connected_machine_operations.py +++ /dev/null @@ -1,142 +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, 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 ConnectedMachineOperationsMixin: - - async def _upgrade_extensions_initial( - self, - resource_group_name: str, - machine_name: str, - extension_upgrade_parameters: "models.MachineExtensionUpgrade", - **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-20" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._upgrade_extensions_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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_upgrade_parameters, 'MachineExtensionUpgrade') - 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 [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, {}) - - _upgrade_extensions_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions'} # type: ignore - - async def begin_upgrade_extensions( - self, - resource_group_name: str, - machine_name: str, - extension_upgrade_parameters: "models.MachineExtensionUpgrade", - **kwargs - ) -> AsyncLROPoller[None]: - """The operation to Upgrade Machine Extensions. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_name: str - :param extension_upgrade_parameters: Parameters supplied to the Upgrade Extensions operation. - :type extension_upgrade_parameters: ~azure.mgmt.hybridcompute.models.MachineExtensionUpgrade - :keyword callable cls: A custom type or function 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._upgrade_extensions_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_upgrade_parameters=extension_upgrade_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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_upgrade_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machine_extensions_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machine_extensions_operations.py deleted file mode 100644 index b9868deb183..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machine_extensions_operations.py +++ /dev/null @@ -1,571 +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, 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 MachineExtensionsOperations: - """MachineExtensionsOperations async operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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, - machine_name: str, - extension_name: str, - extension_parameters: "models.MachineExtension", - **kwargs - ) -> Optional["models.MachineExtension"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MachineExtension"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_parameters, 'MachineExtension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def begin_create_or_update( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - extension_parameters: "models.MachineExtension", - **kwargs - ) -> AsyncLROPoller["models.MachineExtension"]: - """The operation to create or update the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be created or updated. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :param extension_parameters: Parameters supplied to the Create Machine Extension operation. - :type extension_parameters: ~azure.mgmt.hybridcompute.models.MachineExtension - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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 MachineExtension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.hybridcompute.models.MachineExtension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_name=extension_name, - extension_parameters=extension_parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - '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) - 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.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def _update_initial( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - extension_parameters: "models.MachineExtensionUpdate", - **kwargs - ) -> Optional["models.MachineExtension"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MachineExtension"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_parameters, 'MachineExtensionUpdate') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def begin_update( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - extension_parameters: "models.MachineExtensionUpdate", - **kwargs - ) -> AsyncLROPoller["models.MachineExtension"]: - """The operation to create or update the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be created or updated. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :param extension_parameters: Parameters supplied to the Create Machine Extension operation. - :type extension_parameters: ~azure.mgmt.hybridcompute.models.MachineExtensionUpdate - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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 MachineExtension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.hybridcompute.models.MachineExtension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._update_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_name=extension_name, - extension_parameters=extension_parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - '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) - 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.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - **kwargs - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['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.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - **kwargs - ) -> AsyncLROPoller[None]: - """The operation to delete the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be deleted. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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, - machine_name=machine_name, - extension_name=extension_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - '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) - 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.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - machine_name: str, - extension_name: str, - **kwargs - ) -> "models.MachineExtension": - """The operation to get the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine containing the extension. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MachineExtension, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.MachineExtension - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def list( - self, - resource_group_name: str, - machine_name: str, - expand: Optional[str] = None, - **kwargs - ) -> AsyncIterable["models.MachineExtensionsListResult"]: - """The operation to get all extensions of a non-Azure machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine containing the extension. - :type machine_name: str - :param expand: The expand expression to apply on the operation. - :type expand: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MachineExtensionsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.hybridcompute.models.MachineExtensionsListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtensionsListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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), - 'machineName': self._serialize.url("machine_name", machine_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] - 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('MachineExtensionsListResult', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - error = self._deserialize(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.HybridCompute/machines/{machineName}/extensions'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machines_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machines_operations.py deleted file mode 100644 index c066f92566e..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_machines_operations.py +++ /dev/null @@ -1,302 +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, 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 MachinesOperations: - """MachinesOperations 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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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 delete( - self, - resource_group_name: str, - machine_name: str, - **kwargs - ) -> None: - """The operation to remove a hybrid machine identity in Azure. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_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-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.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) - 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.HybridCompute/machines/{machineName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - machine_name: str, - expand: Optional[Union[str, "models.InstanceViewTypes"]] = None, - **kwargs - ) -> "models.Machine": - """Retrieves information about the model view or the instance view of a hybrid machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_name: str - :param expand: The expand expression to apply on the operation. - :type expand: str or ~azure.mgmt.hybridcompute.models.InstanceViewTypes - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Machine, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.Machine - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Machine"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if 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('Machine', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs - ) -> AsyncIterable["models.MachineListResult"]: - """Lists all the hybrid machines in the specified resource group. Use the nextLink property in the - response to get the next page of hybrid machines. - - :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 MachineListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.hybridcompute.models.MachineListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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) - 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('MachineListResult', 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.HybridCompute/machines'} # type: ignore - - def list_by_subscription( - self, - **kwargs - ) -> AsyncIterable["models.MachineListResult"]: - """Lists all the hybrid machines in the specified subscription. Use the nextLink property in the - response to get the next page of hybrid machines. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MachineListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.hybridcompute.models.MachineListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('MachineListResult', 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.HybridCompute/machines'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_operations.py deleted file mode 100644 index 581f88b893a..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_operations.py +++ /dev/null @@ -1,105 +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 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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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.OperationListResult"]: - """Gets a list of hybrid compute 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.hybridcompute.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-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('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]: - 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.HybridCompute/operations'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_endpoint_connections_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 29a4616941d..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,432 +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, 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 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.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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, - scope_name: str, - private_endpoint_connection_name: str, - **kwargs - ) -> "models.PrivateEndpointConnection": - """Gets a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.hybridcompute.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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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(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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def _update_initial( - self, - resource_group_name: str, - scope_name: str, - private_endpoint_connection_name: str, - parameters: "models.PrivateEndpointConnection", - **kwargs - ) -> 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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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(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(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def begin_update( - self, - resource_group_name: str, - scope_name: str, - private_endpoint_connection_name: str, - parameters: "models.PrivateEndpointConnection", - **kwargs - ) -> AsyncLROPoller["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. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :param parameters: - :type parameters: ~azure.mgmt.hybridcompute.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: 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 PrivateEndpointConnection or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.hybridcompute.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._update_initial( - resource_group_name=resource_group_name, - scope_name=scope_name, - private_endpoint_connection_name=private_endpoint_connection_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('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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - scope_name: str, - private_endpoint_connection_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-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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(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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - scope_name: str, - private_endpoint_connection_name: str, - **kwargs - ) -> AsyncLROPoller[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. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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: 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, - scope_name=scope_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 = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, '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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def list_by_private_link_scope( - self, - resource_group_name: str, - scope_name: str, - **kwargs - ) -> AsyncIterable["models.PrivateEndpointConnectionListResult"]: - """Gets all private endpoint connections on a private link scope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.hybridcompute.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 = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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_private_link_scope.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **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('PrivateEndpointConnectionListResult', 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_private_link_scope.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_resources_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_resources_operations.py deleted file mode 100644 index 59d91002542..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_resources_operations.py +++ /dev/null @@ -1,180 +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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.mgmt.core.exceptions import ARMErrorFormat - -from ... import models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class PrivateLinkResourcesOperations: - """PrivateLinkResourcesOperations async operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def list_by_private_link_scope( - self, - resource_group_name: str, - scope_name: str, - **kwargs - ) -> AsyncIterable["models.PrivateLinkResourceListResult"]: - """Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.hybridcompute.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', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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_private_link_scope.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **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('PrivateLinkResourceListResult', 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_private_link_scope.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources'} # type: ignore - - async def get( - self, - resource_group_name: str, - scope_name: str, - group_name: str, - **kwargs - ) -> "models.PrivateLinkResource": - """Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param group_name: The name of the private link resource. - :type group_name: str - :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.hybridcompute.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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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') - - # 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('PrivateLinkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_scopes_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_scopes_operations.py deleted file mode 100644 index dcc71ced523..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/aio/operations/_private_link_scopes_operations.py +++ /dev/null @@ -1,611 +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, 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 PrivateLinkScopesOperations: - """PrivateLinkScopesOperations 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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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.HybridComputePrivateLinkScopeListResult"]: - """Gets a list of all Azure Arc PrivateLinkScopes 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 HybridComputePrivateLinkScopeListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScopeListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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 - - async def extract_data(pipeline_response): - deserialized = self._deserialize('HybridComputePrivateLinkScopeListResult', 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.HybridCompute/privateLinkScopes'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs - ) -> AsyncIterable["models.HybridComputePrivateLinkScopeListResult"]: - """Gets a list of Azure Arc PrivateLinkScopes within a resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either HybridComputePrivateLinkScopeListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScopeListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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) - 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('HybridComputePrivateLinkScopeListResult', 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.HybridCompute/privateLinkScopes'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - scope_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-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_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.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - scope_name: str, - **kwargs - ) -> AsyncLROPoller[None]: - """Deletes a Azure Arc PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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, - scope_name=scope_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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_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.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - scope_name: str, - **kwargs - ) -> "models.HybridComputePrivateLinkScope": - """Returns a Azure Arc PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_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('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - scope_name: str, - parameters: "models.HybridComputePrivateLinkScope", - **kwargs - ) -> "models.HybridComputePrivateLinkScope": - """Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value - for InstrumentationKey nor AppId in the Put operation. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param parameters: Properties that need to be specified to create or update a Azure Arc for - Servers and Clusters PrivateLinkScope. - :type parameters: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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, 'HybridComputePrivateLinkScope') - 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) - - if response.status_code == 200: - deserialized = self._deserialize('HybridComputePrivateLinkScope', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - async def update_tags( - self, - resource_group_name: str, - scope_name: str, - private_link_scope_tags: "models.TagsResource", - **kwargs - ) -> "models.HybridComputePrivateLinkScope": - """Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate - method. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param private_link_scope_tags: Updated tag information to set into the PrivateLinkScope - instance. - :type private_link_scope_tags: ~azure.mgmt.hybridcompute.models.TagsResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update_tags.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), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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_link_scope_tags, 'TagsResource') - 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) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - async def get_validation_details( - self, - location: str, - private_link_scope_id: str, - **kwargs - ) -> "models.PrivateLinkScopeValidationDetails": - """Returns a Azure Arc PrivateLinkScope's validation details. - - :param location: The location of the target resource. - :type location: str - :param private_link_scope_id: The id (Guid) of the Azure Arc PrivateLinkScope resource. - :type private_link_scope_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkScopeValidationDetails, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.PrivateLinkScopeValidationDetails - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkScopeValidationDetails"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - # Construct URL - url = self.get_validation_details.metadata['url'] # type: ignore - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str', min_length=1), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'privateLinkScopeId': self._serialize.url("private_link_scope_id", private_link_scope_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(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateLinkScopeValidationDetails', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_validation_details.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/privateLinkScopes/{privateLinkScopeId}'} # type: ignore - - async def get_validation_details_for_machine( - self, - resource_group_name: str, - machine_name: str, - **kwargs - ) -> "models.PrivateLinkScopeValidationDetails": - """Returns a Azure Arc PrivateLinkScope's validation details for a given machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the target machine to get the private link scope validation - details for. - :type machine_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkScopeValidationDetails, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.PrivateLinkScopeValidationDetails - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkScopeValidationDetails"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - # Construct URL - url = self.get_validation_details_for_machine.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_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') - - # 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('PrivateLinkScopeValidationDetails', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_validation_details_for_machine.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/privateLinkScopes/current'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/__init__.py deleted file mode 100644 index 1046533c5d8..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/__init__.py +++ /dev/null @@ -1,155 +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 ConnectionDetail - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import ExtensionTargetProperties - from ._models_py3 import HybridComputePrivateLinkScope - from ._models_py3 import HybridComputePrivateLinkScopeListResult - from ._models_py3 import HybridComputePrivateLinkScopeProperties - from ._models_py3 import Identity - from ._models_py3 import LocationData - from ._models_py3 import Machine - from ._models_py3 import MachineExtension - from ._models_py3 import MachineExtensionInstanceView - from ._models_py3 import MachineExtensionInstanceViewStatus - from ._models_py3 import MachineExtensionProperties - from ._models_py3 import MachineExtensionUpdate - from ._models_py3 import MachineExtensionUpdateProperties - from ._models_py3 import MachineExtensionUpgrade - from ._models_py3 import MachineExtensionsListResult - from ._models_py3 import MachineListResult - from ._models_py3 import MachineProperties - from ._models_py3 import MachineUpdate - from ._models_py3 import MachineUpdateProperties - from ._models_py3 import OperationListResult - from ._models_py3 import OperationValue - from ._models_py3 import OperationValueDisplay - from ._models_py3 import OsProfile - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateEndpointConnectionProperties - from ._models_py3 import PrivateEndpointProperty - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourceListResult - from ._models_py3 import PrivateLinkResourceProperties - from ._models_py3 import PrivateLinkScopeValidationDetails - from ._models_py3 import PrivateLinkScopesResource - from ._models_py3 import PrivateLinkServiceConnectionStateProperty - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceUpdate - from ._models_py3 import SystemData - from ._models_py3 import TagsResource - from ._models_py3 import TrackedResource -except (SyntaxError, ImportError): - from ._models import ConnectionDetail # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import ExtensionTargetProperties # type: ignore - from ._models import HybridComputePrivateLinkScope # type: ignore - from ._models import HybridComputePrivateLinkScopeListResult # type: ignore - from ._models import HybridComputePrivateLinkScopeProperties # type: ignore - from ._models import Identity # type: ignore - from ._models import LocationData # type: ignore - from ._models import Machine # type: ignore - from ._models import MachineExtension # type: ignore - from ._models import MachineExtensionInstanceView # type: ignore - from ._models import MachineExtensionInstanceViewStatus # type: ignore - from ._models import MachineExtensionProperties # type: ignore - from ._models import MachineExtensionUpdate # type: ignore - from ._models import MachineExtensionUpdateProperties # type: ignore - from ._models import MachineExtensionUpgrade # type: ignore - from ._models import MachineExtensionsListResult # type: ignore - from ._models import MachineListResult # type: ignore - from ._models import MachineProperties # type: ignore - from ._models import MachineUpdate # type: ignore - from ._models import MachineUpdateProperties # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import OperationValue # type: ignore - from ._models import OperationValueDisplay # type: ignore - from ._models import OsProfile # type: ignore - from ._models import PrivateEndpointConnection # type: ignore - from ._models import PrivateEndpointConnectionListResult # type: ignore - from ._models import PrivateEndpointConnectionProperties # type: ignore - from ._models import PrivateEndpointProperty # type: ignore - from ._models import PrivateLinkResource # type: ignore - from ._models import PrivateLinkResourceListResult # type: ignore - from ._models import PrivateLinkResourceProperties # type: ignore - from ._models import PrivateLinkScopeValidationDetails # type: ignore - from ._models import PrivateLinkScopesResource # type: ignore - from ._models import PrivateLinkServiceConnectionStateProperty # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceUpdate # type: ignore - from ._models import SystemData # type: ignore - from ._models import TagsResource # type: ignore - from ._models import TrackedResource # type: ignore - -from ._connected_machine_enums import ( - CreatedByType, - InstanceViewTypes, - PublicNetworkAccessType, - StatusLevelTypes, - StatusTypes, -) - -__all__ = [ - 'ConnectionDetail', - 'ErrorAdditionalInfo', - 'ErrorDetail', - 'ErrorResponse', - 'ExtensionTargetProperties', - 'HybridComputePrivateLinkScope', - 'HybridComputePrivateLinkScopeListResult', - 'HybridComputePrivateLinkScopeProperties', - 'Identity', - 'LocationData', - 'Machine', - 'MachineExtension', - 'MachineExtensionInstanceView', - 'MachineExtensionInstanceViewStatus', - 'MachineExtensionProperties', - 'MachineExtensionUpdate', - 'MachineExtensionUpdateProperties', - 'MachineExtensionUpgrade', - 'MachineExtensionsListResult', - 'MachineListResult', - 'MachineProperties', - 'MachineUpdate', - 'MachineUpdateProperties', - 'OperationListResult', - 'OperationValue', - 'OperationValueDisplay', - 'OsProfile', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateEndpointConnectionProperties', - 'PrivateEndpointProperty', - 'PrivateLinkResource', - 'PrivateLinkResourceListResult', - 'PrivateLinkResourceProperties', - 'PrivateLinkScopeValidationDetails', - 'PrivateLinkScopesResource', - 'PrivateLinkServiceConnectionStateProperty', - 'ProxyResource', - 'Resource', - 'ResourceUpdate', - 'SystemData', - 'TagsResource', - 'TrackedResource', - 'CreatedByType', - 'InstanceViewTypes', - 'PublicNetworkAccessType', - 'StatusLevelTypes', - 'StatusTypes', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_connected_machine_enums.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_connected_machine_enums.py deleted file mode 100644 index dec09de8f57..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_connected_machine_enums.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum, EnumMeta -from six import with_metaclass - -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The type of identity that created the resource. - """ - - USER = "User" - APPLICATION = "Application" - MANAGED_IDENTITY = "ManagedIdentity" - KEY = "Key" - -class InstanceViewTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - - INSTANCE_VIEW = "instanceView" - -class PublicNetworkAccessType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The network access policy to determine if Azure Arc agents can use public Azure Arc service - endpoints. Defaults to disabled (access to Azure Arc services only via private link). - """ - - ENABLED = "Enabled" #: Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints. - DISABLED = "Disabled" #: Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link. - -class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The level code. - """ - - INFO = "Info" - WARNING = "Warning" - ERROR = "Error" - -class StatusTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The status of the hybrid machine agent. - """ - - CONNECTED = "Connected" - DISCONNECTED = "Disconnected" - ERROR = "Error" diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models.py deleted file mode 100644 index c430690dd8d..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models.py +++ /dev/null @@ -1,1601 +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 ConnectionDetail(msrest.serialization.Model): - """ConnectionDetail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Azure resource Id. - :vartype id: str - :ivar private_ip_address: The private endpoint connection private ip address. - :vartype private_ip_address: str - :ivar link_identifier: The private endpoint connection link identifier. - :vartype link_identifier: str - :ivar group_id: The private endpoint connection group id. - :vartype group_id: str - :ivar member_name: The private endpoint connection member name. - :vartype member_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'link_identifier': {'readonly': True}, - 'group_id': {'readonly': True}, - 'member_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'link_identifier': {'key': 'linkIdentifier', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'member_name': {'key': 'memberName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectionDetail, self).__init__(**kwargs) - self.id = None - self.private_ip_address = None - self.link_identifier = None - self.group_id = None - self.member_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: 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.hybridcompute.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.hybridcompute.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.hybridcompute.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 ExtensionTargetProperties(msrest.serialization.Model): - """Describes the Machine Extension Target Version Properties. - - :param target_version: Properties for the specified Extension to Upgrade. - :type target_version: str - """ - - _attribute_map = { - 'target_version': {'key': 'targetVersion', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionTargetProperties, self).__init__(**kwargs) - self.target_version = kwargs.get('target_version', None) - - -class PrivateLinkScopesResource(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, - **kwargs - ): - super(PrivateLinkScopesResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs['location'] - self.tags = kwargs.get('tags', None) - - -class HybridComputePrivateLinkScope(PrivateLinkScopesResource): - """An Azure Arc PrivateLinkScope 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 properties: Properties that define a Azure Arc PrivateLinkScope resource. - :type properties: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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}'}, - 'properties': {'key': 'properties', 'type': 'HybridComputePrivateLinkScopeProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(HybridComputePrivateLinkScope, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - self.system_data = None - - -class HybridComputePrivateLinkScopeListResult(msrest.serialization.Model): - """Describes the list of Azure Arc PrivateLinkScope resources. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. List of Azure Arc PrivateLinkScope definitions. - :type value: list[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope] - :param next_link: The URI to get the next set of Azure Arc PrivateLinkScope definitions if too - many PrivateLinkScopes where returned in the result set. - :type next_link: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[HybridComputePrivateLinkScope]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HybridComputePrivateLinkScopeListResult, self).__init__(**kwargs) - self.value = kwargs['value'] - self.next_link = kwargs.get('next_link', None) - - -class HybridComputePrivateLinkScopeProperties(msrest.serialization.Model): - """Properties that define a Azure Arc PrivateLinkScope resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param public_network_access: Indicates whether machines associated with the private link scope - can also use public Azure Arc service endpoints. Possible values include: "Enabled", - "Disabled". Default value: "Disabled". - :type public_network_access: str or ~azure.mgmt.hybridcompute.models.PublicNetworkAccessType - :ivar provisioning_state: Current state of this PrivateLinkScope: 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 Provisioning ,Succeeded, Canceled and Failed. - :vartype provisioning_state: str - :ivar private_link_scope_id: The Guid id of the private link scope. - :vartype private_link_scope_id: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'private_link_scope_id': {'readonly': True}, - } - - _attribute_map = { - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'private_link_scope_id': {'key': 'privateLinkScopeId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HybridComputePrivateLinkScopeProperties, self).__init__(**kwargs) - self.public_network_access = kwargs.get('public_network_access', "Disabled") - self.provisioning_state = None - self.private_link_scope_id = 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 - :ivar type: The identity type. Default value: "SystemAssigned". - :vartype type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'type': {'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 LocationData(msrest.serialization.Model): - """Metadata pertaining to the geographic location of the resource. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. A canonical name for the geographic or physical location. - :type name: str - :param city: The city or locality where the resource is located. - :type city: str - :param district: The district, state, or province where the resource is located. - :type district: str - :param country_or_region: The country or region where the resource is located. - :type country_or_region: str - """ - - _validation = { - 'name': {'required': True, 'max_length': 256, 'min_length': 0}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - 'district': {'key': 'district', 'type': 'str'}, - 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(LocationData, self).__init__(**kwargs) - self.name = kwargs['name'] - self.city = kwargs.get('city', None) - self.district = kwargs.get('district', None) - self.country_or_region = kwargs.get('country_or_region', 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 Machine(TrackedResource): - """Describes a hybrid 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. - - :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 - :param properties: Hybrid Compute Machine properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineProperties - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.hybridcompute.models.Identity - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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'}, - 'properties': {'key': 'properties', 'type': 'MachineProperties'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(Machine, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - self.identity = kwargs.get('identity', None) - self.system_data = None - - -class MachineExtension(TrackedResource): - """Describes a Machine Extension. - - Variables are only populated 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 - :param properties: Describes Machine Extension Properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineExtensionProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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'}, - 'properties': {'key': 'properties', 'type': 'MachineExtensionProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtension, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - self.system_data = None - - -class MachineExtensionInstanceView(msrest.serialization.Model): - """Describes the Machine Extension Instance View. - - :param name: The machine extension name. - :type name: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param status: Instance view status. - :type status: ~azure.mgmt.hybridcompute.models.MachineExtensionInstanceViewStatus - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionInstanceView, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.type_handler_version = kwargs.get('type_handler_version', None) - self.status = kwargs.get('status', None) - - -class MachineExtensionInstanceViewStatus(msrest.serialization.Model): - """Instance view status. - - :param code: The status code. - :type code: str - :param level: The level code. Possible values include: "Info", "Warning", "Error". - :type level: str or ~azure.mgmt.hybridcompute.models.StatusLevelTypes - :param display_status: The short localizable label for the status. - :type display_status: str - :param message: The detailed status message, including for alerts and error messages. - :type message: str - :param time: The time of the status. - :type time: ~datetime.datetime - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.level = kwargs.get('level', None) - self.display_status = kwargs.get('display_status', None) - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class MachineExtensionProperties(msrest.serialization.Model): - """Describes the properties of a Machine Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :type force_update_tag: str - :param publisher: The name of the extension handler publisher. - :type publisher: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param enable_auto_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :type enable_auto_upgrade: bool - :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :type auto_upgrade_minor_version: bool - :param settings: Json formatted public settings for the extension. - :type settings: object - :param protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :type protected_settings: object - :ivar provisioning_state: The provisioning state, which only appears in the response. - :vartype provisioning_state: str - :param instance_view: The machine extension instance view. - :type instance_view: ~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'enable_auto_upgrade': {'key': 'enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'settings', 'type': 'object'}, - 'protected_settings': {'key': 'protectedSettings', 'type': 'object'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'instance_view': {'key': 'instanceView', 'type': 'MachineExtensionInstanceView'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionProperties, self).__init__(**kwargs) - self.force_update_tag = kwargs.get('force_update_tag', None) - self.publisher = kwargs.get('publisher', None) - self.type = kwargs.get('type', None) - self.type_handler_version = kwargs.get('type_handler_version', None) - self.enable_auto_upgrade = kwargs.get('enable_auto_upgrade', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) - self.settings = kwargs.get('settings', None) - self.protected_settings = kwargs.get('protected_settings', None) - self.provisioning_state = None - self.instance_view = kwargs.get('instance_view', None) - - -class MachineExtensionsListResult(msrest.serialization.Model): - """Describes the Machine Extensions List Result. - - :param value: The list of extensions. - :type value: list[~azure.mgmt.hybridcompute.models.MachineExtension] - :param next_link: The uri to fetch the next page of machine extensions. Call ListNext() with - this to fetch the next page of extensions. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MachineExtension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionsListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ResourceUpdate(msrest.serialization.Model): - """The Update Resource model definition. - - :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(ResourceUpdate, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class MachineExtensionUpdate(ResourceUpdate): - """Describes a Machine Extension Update. - - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :param properties: Describes Machine Extension Update Properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineExtensionUpdateProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'properties': {'key': 'properties', 'type': 'MachineExtensionUpdateProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionUpdate, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class MachineExtensionUpdateProperties(msrest.serialization.Model): - """Describes the properties of a Machine Extension. - - :param force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :type force_update_tag: str - :param publisher: The name of the extension handler publisher. - :type publisher: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param enable_auto_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :type enable_auto_upgrade: bool - :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :type auto_upgrade_minor_version: bool - :param settings: Json formatted public settings for the extension. - :type settings: object - :param protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :type protected_settings: object - """ - - _attribute_map = { - 'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'enable_auto_upgrade': {'key': 'enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'settings', 'type': 'object'}, - 'protected_settings': {'key': 'protectedSettings', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionUpdateProperties, self).__init__(**kwargs) - self.force_update_tag = kwargs.get('force_update_tag', None) - self.publisher = kwargs.get('publisher', None) - self.type = kwargs.get('type', None) - self.type_handler_version = kwargs.get('type_handler_version', None) - self.enable_auto_upgrade = kwargs.get('enable_auto_upgrade', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) - self.settings = kwargs.get('settings', None) - self.protected_settings = kwargs.get('protected_settings', None) - - -class MachineExtensionUpgrade(msrest.serialization.Model): - """Describes the Machine Extension Upgrade Properties. - - :param extension_targets: Describes the Extension Target Properties. - :type extension_targets: dict[str, ~azure.mgmt.hybridcompute.models.ExtensionTargetProperties] - """ - - _attribute_map = { - 'extension_targets': {'key': 'extensionTargets', 'type': '{ExtensionTargetProperties}'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineExtensionUpgrade, self).__init__(**kwargs) - self.extension_targets = kwargs.get('extension_targets', None) - - -class MachineListResult(msrest.serialization.Model): - """The List hybrid machine operation response. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. The list of hybrid machines. - :type value: list[~azure.mgmt.hybridcompute.models.Machine] - :param next_link: The URI to fetch the next page of Machines. Call ListNext() with this URI to - fetch the next page of hybrid machines. - :type next_link: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Machine]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineListResult, self).__init__(**kwargs) - self.value = kwargs['value'] - self.next_link = kwargs.get('next_link', None) - - -class MachineProperties(msrest.serialization.Model): - """Describes the properties of a hybrid machine. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param location_data: Metadata pertaining to the geographic location of the resource. - :type location_data: ~azure.mgmt.hybridcompute.models.LocationData - :ivar os_profile: Specifies the operating system settings for the hybrid machine. - :vartype os_profile: ~azure.mgmt.hybridcompute.models.OsProfile - :ivar provisioning_state: The provisioning state, which only appears in the response. - :vartype provisioning_state: str - :ivar status: The status of the hybrid machine agent. Possible values include: "Connected", - "Disconnected", "Error". - :vartype status: str or ~azure.mgmt.hybridcompute.models.StatusTypes - :ivar last_status_change: The time of the last status change. - :vartype last_status_change: ~datetime.datetime - :ivar error_details: Details about the error state. - :vartype error_details: list[~azure.mgmt.hybridcompute.models.ErrorDetail] - :ivar agent_version: The hybrid machine agent full version. - :vartype agent_version: str - :param vm_id: Specifies the hybrid machine unique ID. - :type vm_id: str - :ivar display_name: Specifies the hybrid machine display name. - :vartype display_name: str - :ivar machine_fqdn: Specifies the hybrid machine FQDN. - :vartype machine_fqdn: str - :param client_public_key: Public Key that the client provides to be used during initial - resource onboarding. - :type client_public_key: str - :ivar os_name: The Operating System running on the hybrid machine. - :vartype os_name: str - :ivar os_version: The version of Operating System running on the hybrid machine. - :vartype os_version: str - :ivar vm_uuid: Specifies the Arc Machine's unique SMBIOS ID. - :vartype vm_uuid: str - :param extensions: Machine Extensions information. - :type extensions: list[~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView] - :ivar os_sku: Specifies the Operating System product SKU. - :vartype os_sku: str - :ivar domain_name: Specifies the Windows domain name. - :vartype domain_name: str - :ivar ad_fqdn: Specifies the AD fully qualified display name. - :vartype ad_fqdn: str - :ivar dns_fqdn: Specifies the DNS fully qualified display name. - :vartype dns_fqdn: str - :param private_link_scope_resource_id: The resource id of the private link scope this machine - is assigned to, if any. - :type private_link_scope_resource_id: str - :param parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this - machine is assigned to, if any. - :type parent_cluster_resource_id: str - :ivar detected_properties: Detected properties from the machine. - :vartype detected_properties: dict[str, str] - """ - - _validation = { - 'os_profile': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'last_status_change': {'readonly': True}, - 'error_details': {'readonly': True}, - 'agent_version': {'readonly': True}, - 'display_name': {'readonly': True}, - 'machine_fqdn': {'readonly': True}, - 'os_name': {'readonly': True}, - 'os_version': {'readonly': True}, - 'vm_uuid': {'readonly': True}, - 'os_sku': {'readonly': True}, - 'domain_name': {'readonly': True}, - 'ad_fqdn': {'readonly': True}, - 'dns_fqdn': {'readonly': True}, - 'detected_properties': {'readonly': True}, - } - - _attribute_map = { - 'location_data': {'key': 'locationData', 'type': 'LocationData'}, - 'os_profile': {'key': 'osProfile', 'type': 'OsProfile'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'last_status_change': {'key': 'lastStatusChange', 'type': 'iso-8601'}, - 'error_details': {'key': 'errorDetails', 'type': '[ErrorDetail]'}, - 'agent_version': {'key': 'agentVersion', 'type': 'str'}, - 'vm_id': {'key': 'vmId', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'machine_fqdn': {'key': 'machineFqdn', 'type': 'str'}, - 'client_public_key': {'key': 'clientPublicKey', 'type': 'str'}, - 'os_name': {'key': 'osName', 'type': 'str'}, - 'os_version': {'key': 'osVersion', 'type': 'str'}, - 'vm_uuid': {'key': 'vmUuid', 'type': 'str'}, - 'extensions': {'key': 'extensions', 'type': '[MachineExtensionInstanceView]'}, - 'os_sku': {'key': 'osSku', 'type': 'str'}, - 'domain_name': {'key': 'domainName', 'type': 'str'}, - 'ad_fqdn': {'key': 'adFqdn', 'type': 'str'}, - 'dns_fqdn': {'key': 'dnsFqdn', 'type': 'str'}, - 'private_link_scope_resource_id': {'key': 'privateLinkScopeResourceId', 'type': 'str'}, - 'parent_cluster_resource_id': {'key': 'parentClusterResourceId', 'type': 'str'}, - 'detected_properties': {'key': 'detectedProperties', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineProperties, self).__init__(**kwargs) - self.location_data = kwargs.get('location_data', None) - self.os_profile = None - self.provisioning_state = None - self.status = None - self.last_status_change = None - self.error_details = None - self.agent_version = None - self.vm_id = kwargs.get('vm_id', None) - self.display_name = None - self.machine_fqdn = None - self.client_public_key = kwargs.get('client_public_key', None) - self.os_name = None - self.os_version = None - self.vm_uuid = None - self.extensions = kwargs.get('extensions', None) - self.os_sku = None - self.domain_name = None - self.ad_fqdn = None - self.dns_fqdn = None - self.private_link_scope_resource_id = kwargs.get('private_link_scope_resource_id', None) - self.parent_cluster_resource_id = kwargs.get('parent_cluster_resource_id', None) - self.detected_properties = None - - -class MachineUpdate(ResourceUpdate): - """Describes a hybrid machine Update. - - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.hybridcompute.models.Identity - :param properties: Hybrid Compute Machine properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineUpdateProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'properties': {'key': 'properties', 'type': 'MachineUpdateProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineUpdate, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.properties = kwargs.get('properties', None) - - -class MachineUpdateProperties(msrest.serialization.Model): - """Describes the ARM updatable properties of a hybrid machine. - - :param location_data: Metadata pertaining to the geographic location of the resource. - :type location_data: ~azure.mgmt.hybridcompute.models.LocationData - :param parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this - machine is assigned to, if any. - :type parent_cluster_resource_id: str - :param private_link_scope_resource_id: The resource id of the private link scope this machine - is assigned to, if any. - :type private_link_scope_resource_id: str - """ - - _attribute_map = { - 'location_data': {'key': 'locationData', 'type': 'LocationData'}, - 'parent_cluster_resource_id': {'key': 'parentClusterResourceId', 'type': 'str'}, - 'private_link_scope_resource_id': {'key': 'privateLinkScopeResourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MachineUpdateProperties, self).__init__(**kwargs) - self.location_data = kwargs.get('location_data', None) - self.parent_cluster_resource_id = kwargs.get('parent_cluster_resource_id', None) - self.private_link_scope_resource_id = kwargs.get('private_link_scope_resource_id', None) - - -class OperationListResult(msrest.serialization.Model): - """The List Compute Operation operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of compute operations. - :vartype value: list[~azure.mgmt.hybridcompute.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 Compute Operation value. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar origin: The origin of the compute operation. - :vartype origin: str - :ivar name: The name of the compute operation. - :vartype name: str - :param display: Display properties. - :type display: ~azure.mgmt.hybridcompute.models.OperationValueDisplay - """ - - _validation = { - 'origin': {'readonly': True}, - 'name': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationValueDisplay'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationValue, self).__init__(**kwargs) - self.origin = None - self.name = None - self.display = kwargs.get('display', None) - - -class OperationValueDisplay(msrest.serialization.Model): - """Describes the properties of a Hybrid Compute Operation Value Display. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar operation: The display name of the compute operation. - :vartype operation: str - :ivar resource: The display name of the resource the operation applies to. - :vartype resource: str - :ivar description: The description of the operation. - :vartype description: str - :ivar provider: The resource provider for the operation. - :vartype provider: str - """ - - _validation = { - 'operation': {'readonly': True}, - 'resource': {'readonly': True}, - 'description': {'readonly': True}, - 'provider': {'readonly': True}, - } - - _attribute_map = { - 'operation': {'key': 'operation', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'provider': {'key': 'provider', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationValueDisplay, self).__init__(**kwargs) - self.operation = None - self.resource = None - self.description = None - self.provider = None - - -class OsProfile(msrest.serialization.Model): - """Specifies the operating system settings for the hybrid machine. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar computer_name: Specifies the host OS name of the hybrid machine. - :vartype computer_name: str - """ - - _validation = { - 'computer_name': {'readonly': True}, - } - - _attribute_map = { - 'computer_name': {'key': 'computerName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OsProfile, self).__init__(**kwargs) - self.computer_name = None - - -class PrivateEndpointConnection(Resource): - """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}. - :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 properties: Resource properties. - :type properties: ~azure.mgmt.hybridcompute.models.PrivateEndpointConnectionProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.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': 'PrivateEndpointConnectionProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - self.system_data = None - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """A list of private endpoint connections. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.hybridcompute.models.PrivateEndpointConnection] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class PrivateEndpointConnectionProperties(msrest.serialization.Model): - """Properties of a private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: ~azure.mgmt.hybridcompute.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection state of the private endpoint - connection. - :type private_link_service_connection_state: - ~azure.mgmt.hybridcompute.models.PrivateLinkServiceConnectionStateProperty - :ivar provisioning_state: State of the private endpoint connection. - :vartype provisioning_state: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpointProperty'}, - 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, - '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.get('private_link_service_connection_state', None) - self.provisioning_state = None - - -class PrivateEndpointProperty(msrest.serialization.Model): - """Private endpoint which the connection belongs to. - - :param id: Resource id of the private endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointProperty, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -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 - :param properties: Resource properties. - :type properties: ~azure.mgmt.hybridcompute.models.PrivateLinkResourceProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.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': 'PrivateLinkResourceProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - self.system_data = None - - -class PrivateLinkResourceListResult(msrest.serialization.Model): - """A list of private link resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.hybridcompute.models.PrivateLinkResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourceListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class PrivateLinkResourceProperties(msrest.serialization.Model): - """Properties of a private link resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar group_id: 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: Required DNS zone names of the the private link resource. - :vartype required_zone_names: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_members': {'readonly': True}, - 'required_zone_names': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourceProperties, self).__init__(**kwargs) - self.group_id = None - self.required_members = None - self.required_zone_names = None - - -class PrivateLinkScopeValidationDetails(msrest.serialization.Model): - """PrivateLinkScopeValidationDetails. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Azure resource Id. - :vartype id: str - :param public_network_access: Indicates whether machines associated with the private link scope - can also use public Azure Arc service endpoints. Possible values include: "Enabled", - "Disabled". Default value: "Disabled". - :type public_network_access: str or ~azure.mgmt.hybridcompute.models.PublicNetworkAccessType - :param connection_details: List of Private Endpoint Connection details. - :type connection_details: list[~azure.mgmt.hybridcompute.models.ConnectionDetail] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'connection_details': {'key': 'connectionDetails', 'type': '[ConnectionDetail]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkScopeValidationDetails, self).__init__(**kwargs) - self.id = None - self.public_network_access = kwargs.get('public_network_access', "Disabled") - self.connection_details = kwargs.get('connection_details', None) - - -class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): - """State of the 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 status: Required. The private link service connection status. - :type status: str - :param description: Required. The private link service connection description. - :type description: str - :ivar actions_required: The actions required for private link service connection. - :vartype actions_required: str - """ - - _validation = { - 'status': {'required': True}, - 'description': {'required': 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(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) - self.status = kwargs['status'] - self.description = kwargs['description'] - self.actions_required = 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 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.hybridcompute.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.hybridcompute.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 TagsResource(msrest.serialization.Model): - """A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance. - - :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(TagsResource, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models_py3.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models_py3.py deleted file mode 100644 index 53262b0d285..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/models/_models_py3.py +++ /dev/null @@ -1,1723 +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 ._connected_machine_enums import * - - -class ConnectionDetail(msrest.serialization.Model): - """ConnectionDetail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Azure resource Id. - :vartype id: str - :ivar private_ip_address: The private endpoint connection private ip address. - :vartype private_ip_address: str - :ivar link_identifier: The private endpoint connection link identifier. - :vartype link_identifier: str - :ivar group_id: The private endpoint connection group id. - :vartype group_id: str - :ivar member_name: The private endpoint connection member name. - :vartype member_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'private_ip_address': {'readonly': True}, - 'link_identifier': {'readonly': True}, - 'group_id': {'readonly': True}, - 'member_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, - 'link_identifier': {'key': 'linkIdentifier', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'member_name': {'key': 'memberName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectionDetail, self).__init__(**kwargs) - self.id = None - self.private_ip_address = None - self.link_identifier = None - self.group_id = None - self.member_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: 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.hybridcompute.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.hybridcompute.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.hybridcompute.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 ExtensionTargetProperties(msrest.serialization.Model): - """Describes the Machine Extension Target Version Properties. - - :param target_version: Properties for the specified Extension to Upgrade. - :type target_version: str - """ - - _attribute_map = { - 'target_version': {'key': 'targetVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - target_version: Optional[str] = None, - **kwargs - ): - super(ExtensionTargetProperties, self).__init__(**kwargs) - self.target_version = target_version - - -class PrivateLinkScopesResource(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(PrivateLinkScopesResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags - - -class HybridComputePrivateLinkScope(PrivateLinkScopesResource): - """An Azure Arc PrivateLinkScope 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 properties: Properties that define a Azure Arc PrivateLinkScope resource. - :type properties: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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}'}, - 'properties': {'key': 'properties', 'type': 'HybridComputePrivateLinkScopeProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - properties: Optional["HybridComputePrivateLinkScopeProperties"] = None, - **kwargs - ): - super(HybridComputePrivateLinkScope, self).__init__(location=location, tags=tags, **kwargs) - self.properties = properties - self.system_data = None - - -class HybridComputePrivateLinkScopeListResult(msrest.serialization.Model): - """Describes the list of Azure Arc PrivateLinkScope resources. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. List of Azure Arc PrivateLinkScope definitions. - :type value: list[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope] - :param next_link: The URI to get the next set of Azure Arc PrivateLinkScope definitions if too - many PrivateLinkScopes where returned in the result set. - :type next_link: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[HybridComputePrivateLinkScope]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: List["HybridComputePrivateLinkScope"], - next_link: Optional[str] = None, - **kwargs - ): - super(HybridComputePrivateLinkScopeListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class HybridComputePrivateLinkScopeProperties(msrest.serialization.Model): - """Properties that define a Azure Arc PrivateLinkScope resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param public_network_access: Indicates whether machines associated with the private link scope - can also use public Azure Arc service endpoints. Possible values include: "Enabled", - "Disabled". Default value: "Disabled". - :type public_network_access: str or ~azure.mgmt.hybridcompute.models.PublicNetworkAccessType - :ivar provisioning_state: Current state of this PrivateLinkScope: 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 Provisioning ,Succeeded, Canceled and Failed. - :vartype provisioning_state: str - :ivar private_link_scope_id: The Guid id of the private link scope. - :vartype private_link_scope_id: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'private_link_scope_id': {'readonly': True}, - } - - _attribute_map = { - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'private_link_scope_id': {'key': 'privateLinkScopeId', 'type': 'str'}, - } - - def __init__( - self, - *, - public_network_access: Optional[Union[str, "PublicNetworkAccessType"]] = "Disabled", - **kwargs - ): - super(HybridComputePrivateLinkScopeProperties, self).__init__(**kwargs) - self.public_network_access = public_network_access - self.provisioning_state = None - self.private_link_scope_id = 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 - :ivar type: The identity type. Default value: "SystemAssigned". - :vartype type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'type': {'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 LocationData(msrest.serialization.Model): - """Metadata pertaining to the geographic location of the resource. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. A canonical name for the geographic or physical location. - :type name: str - :param city: The city or locality where the resource is located. - :type city: str - :param district: The district, state, or province where the resource is located. - :type district: str - :param country_or_region: The country or region where the resource is located. - :type country_or_region: str - """ - - _validation = { - 'name': {'required': True, 'max_length': 256, 'min_length': 0}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - 'district': {'key': 'district', 'type': 'str'}, - 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - city: Optional[str] = None, - district: Optional[str] = None, - country_or_region: Optional[str] = None, - **kwargs - ): - super(LocationData, self).__init__(**kwargs) - self.name = name - self.city = city - self.district = district - self.country_or_region = country_or_region - - -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 Machine(TrackedResource): - """Describes a hybrid 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. - - :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 - :param properties: Hybrid Compute Machine properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineProperties - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.hybridcompute.models.Identity - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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'}, - 'properties': {'key': 'properties', 'type': 'MachineProperties'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - properties: Optional["MachineProperties"] = None, - identity: Optional["Identity"] = None, - **kwargs - ): - super(Machine, self).__init__(tags=tags, location=location, **kwargs) - self.properties = properties - self.identity = identity - self.system_data = None - - -class MachineExtension(TrackedResource): - """Describes a Machine Extension. - - Variables are only populated 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 - :param properties: Describes Machine Extension Properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineExtensionProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'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'}, - 'properties': {'key': 'properties', 'type': 'MachineExtensionProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - properties: Optional["MachineExtensionProperties"] = None, - **kwargs - ): - super(MachineExtension, self).__init__(tags=tags, location=location, **kwargs) - self.properties = properties - self.system_data = None - - -class MachineExtensionInstanceView(msrest.serialization.Model): - """Describes the Machine Extension Instance View. - - :param name: The machine extension name. - :type name: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param status: Instance view status. - :type status: ~azure.mgmt.hybridcompute.models.MachineExtensionInstanceViewStatus - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[str] = None, - type_handler_version: Optional[str] = None, - status: Optional["MachineExtensionInstanceViewStatus"] = None, - **kwargs - ): - super(MachineExtensionInstanceView, self).__init__(**kwargs) - self.name = name - self.type = type - self.type_handler_version = type_handler_version - self.status = status - - -class MachineExtensionInstanceViewStatus(msrest.serialization.Model): - """Instance view status. - - :param code: The status code. - :type code: str - :param level: The level code. Possible values include: "Info", "Warning", "Error". - :type level: str or ~azure.mgmt.hybridcompute.models.StatusLevelTypes - :param display_status: The short localizable label for the status. - :type display_status: str - :param message: The detailed status message, including for alerts and error messages. - :type message: str - :param time: The time of the status. - :type time: ~datetime.datetime - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - code: Optional[str] = None, - level: Optional[Union[str, "StatusLevelTypes"]] = None, - display_status: Optional[str] = None, - message: Optional[str] = None, - time: Optional[datetime.datetime] = None, - **kwargs - ): - super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs) - self.code = code - self.level = level - self.display_status = display_status - self.message = message - self.time = time - - -class MachineExtensionProperties(msrest.serialization.Model): - """Describes the properties of a Machine Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :type force_update_tag: str - :param publisher: The name of the extension handler publisher. - :type publisher: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param enable_auto_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :type enable_auto_upgrade: bool - :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :type auto_upgrade_minor_version: bool - :param settings: Json formatted public settings for the extension. - :type settings: object - :param protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :type protected_settings: object - :ivar provisioning_state: The provisioning state, which only appears in the response. - :vartype provisioning_state: str - :param instance_view: The machine extension instance view. - :type instance_view: ~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'enable_auto_upgrade': {'key': 'enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'settings', 'type': 'object'}, - 'protected_settings': {'key': 'protectedSettings', 'type': 'object'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'instance_view': {'key': 'instanceView', 'type': 'MachineExtensionInstanceView'}, - } - - def __init__( - self, - *, - force_update_tag: Optional[str] = None, - publisher: Optional[str] = None, - type: Optional[str] = None, - type_handler_version: Optional[str] = None, - enable_auto_upgrade: Optional[bool] = None, - auto_upgrade_minor_version: Optional[bool] = None, - settings: Optional[object] = None, - protected_settings: Optional[object] = None, - instance_view: Optional["MachineExtensionInstanceView"] = None, - **kwargs - ): - super(MachineExtensionProperties, self).__init__(**kwargs) - self.force_update_tag = force_update_tag - self.publisher = publisher - self.type = type - self.type_handler_version = type_handler_version - self.enable_auto_upgrade = enable_auto_upgrade - self.auto_upgrade_minor_version = auto_upgrade_minor_version - self.settings = settings - self.protected_settings = protected_settings - self.provisioning_state = None - self.instance_view = instance_view - - -class MachineExtensionsListResult(msrest.serialization.Model): - """Describes the Machine Extensions List Result. - - :param value: The list of extensions. - :type value: list[~azure.mgmt.hybridcompute.models.MachineExtension] - :param next_link: The uri to fetch the next page of machine extensions. Call ListNext() with - this to fetch the next page of extensions. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MachineExtension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["MachineExtension"]] = None, - next_link: Optional[str] = None, - **kwargs - ): - super(MachineExtensionsListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ResourceUpdate(msrest.serialization.Model): - """The Update Resource model definition. - - :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(ResourceUpdate, self).__init__(**kwargs) - self.tags = tags - - -class MachineExtensionUpdate(ResourceUpdate): - """Describes a Machine Extension Update. - - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :param properties: Describes Machine Extension Update Properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineExtensionUpdateProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'properties': {'key': 'properties', 'type': 'MachineExtensionUpdateProperties'}, - } - - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - properties: Optional["MachineExtensionUpdateProperties"] = None, - **kwargs - ): - super(MachineExtensionUpdate, self).__init__(tags=tags, **kwargs) - self.properties = properties - - -class MachineExtensionUpdateProperties(msrest.serialization.Model): - """Describes the properties of a Machine Extension. - - :param force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :type force_update_tag: str - :param publisher: The name of the extension handler publisher. - :type publisher: str - :param type: Specifies the type of the extension; an example is "CustomScriptExtension". - :type type: str - :param type_handler_version: Specifies the version of the script handler. - :type type_handler_version: str - :param enable_auto_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :type enable_auto_upgrade: bool - :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :type auto_upgrade_minor_version: bool - :param settings: Json formatted public settings for the extension. - :type settings: object - :param protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :type protected_settings: object - """ - - _attribute_map = { - 'force_update_tag': {'key': 'forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'enable_auto_upgrade': {'key': 'enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'settings', 'type': 'object'}, - 'protected_settings': {'key': 'protectedSettings', 'type': 'object'}, - } - - def __init__( - self, - *, - force_update_tag: Optional[str] = None, - publisher: Optional[str] = None, - type: Optional[str] = None, - type_handler_version: Optional[str] = None, - enable_auto_upgrade: Optional[bool] = None, - auto_upgrade_minor_version: Optional[bool] = None, - settings: Optional[object] = None, - protected_settings: Optional[object] = None, - **kwargs - ): - super(MachineExtensionUpdateProperties, self).__init__(**kwargs) - self.force_update_tag = force_update_tag - self.publisher = publisher - self.type = type - self.type_handler_version = type_handler_version - self.enable_auto_upgrade = enable_auto_upgrade - self.auto_upgrade_minor_version = auto_upgrade_minor_version - self.settings = settings - self.protected_settings = protected_settings - - -class MachineExtensionUpgrade(msrest.serialization.Model): - """Describes the Machine Extension Upgrade Properties. - - :param extension_targets: Describes the Extension Target Properties. - :type extension_targets: dict[str, ~azure.mgmt.hybridcompute.models.ExtensionTargetProperties] - """ - - _attribute_map = { - 'extension_targets': {'key': 'extensionTargets', 'type': '{ExtensionTargetProperties}'}, - } - - def __init__( - self, - *, - extension_targets: Optional[Dict[str, "ExtensionTargetProperties"]] = None, - **kwargs - ): - super(MachineExtensionUpgrade, self).__init__(**kwargs) - self.extension_targets = extension_targets - - -class MachineListResult(msrest.serialization.Model): - """The List hybrid machine operation response. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. The list of hybrid machines. - :type value: list[~azure.mgmt.hybridcompute.models.Machine] - :param next_link: The URI to fetch the next page of Machines. Call ListNext() with this URI to - fetch the next page of hybrid machines. - :type next_link: str - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Machine]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: List["Machine"], - next_link: Optional[str] = None, - **kwargs - ): - super(MachineListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class MachineProperties(msrest.serialization.Model): - """Describes the properties of a hybrid machine. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param location_data: Metadata pertaining to the geographic location of the resource. - :type location_data: ~azure.mgmt.hybridcompute.models.LocationData - :ivar os_profile: Specifies the operating system settings for the hybrid machine. - :vartype os_profile: ~azure.mgmt.hybridcompute.models.OsProfile - :ivar provisioning_state: The provisioning state, which only appears in the response. - :vartype provisioning_state: str - :ivar status: The status of the hybrid machine agent. Possible values include: "Connected", - "Disconnected", "Error". - :vartype status: str or ~azure.mgmt.hybridcompute.models.StatusTypes - :ivar last_status_change: The time of the last status change. - :vartype last_status_change: ~datetime.datetime - :ivar error_details: Details about the error state. - :vartype error_details: list[~azure.mgmt.hybridcompute.models.ErrorDetail] - :ivar agent_version: The hybrid machine agent full version. - :vartype agent_version: str - :param vm_id: Specifies the hybrid machine unique ID. - :type vm_id: str - :ivar display_name: Specifies the hybrid machine display name. - :vartype display_name: str - :ivar machine_fqdn: Specifies the hybrid machine FQDN. - :vartype machine_fqdn: str - :param client_public_key: Public Key that the client provides to be used during initial - resource onboarding. - :type client_public_key: str - :ivar os_name: The Operating System running on the hybrid machine. - :vartype os_name: str - :ivar os_version: The version of Operating System running on the hybrid machine. - :vartype os_version: str - :ivar vm_uuid: Specifies the Arc Machine's unique SMBIOS ID. - :vartype vm_uuid: str - :param extensions: Machine Extensions information. - :type extensions: list[~azure.mgmt.hybridcompute.models.MachineExtensionInstanceView] - :ivar os_sku: Specifies the Operating System product SKU. - :vartype os_sku: str - :ivar domain_name: Specifies the Windows domain name. - :vartype domain_name: str - :ivar ad_fqdn: Specifies the AD fully qualified display name. - :vartype ad_fqdn: str - :ivar dns_fqdn: Specifies the DNS fully qualified display name. - :vartype dns_fqdn: str - :param private_link_scope_resource_id: The resource id of the private link scope this machine - is assigned to, if any. - :type private_link_scope_resource_id: str - :param parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this - machine is assigned to, if any. - :type parent_cluster_resource_id: str - :ivar detected_properties: Detected properties from the machine. - :vartype detected_properties: dict[str, str] - """ - - _validation = { - 'os_profile': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'last_status_change': {'readonly': True}, - 'error_details': {'readonly': True}, - 'agent_version': {'readonly': True}, - 'display_name': {'readonly': True}, - 'machine_fqdn': {'readonly': True}, - 'os_name': {'readonly': True}, - 'os_version': {'readonly': True}, - 'vm_uuid': {'readonly': True}, - 'os_sku': {'readonly': True}, - 'domain_name': {'readonly': True}, - 'ad_fqdn': {'readonly': True}, - 'dns_fqdn': {'readonly': True}, - 'detected_properties': {'readonly': True}, - } - - _attribute_map = { - 'location_data': {'key': 'locationData', 'type': 'LocationData'}, - 'os_profile': {'key': 'osProfile', 'type': 'OsProfile'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'last_status_change': {'key': 'lastStatusChange', 'type': 'iso-8601'}, - 'error_details': {'key': 'errorDetails', 'type': '[ErrorDetail]'}, - 'agent_version': {'key': 'agentVersion', 'type': 'str'}, - 'vm_id': {'key': 'vmId', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'machine_fqdn': {'key': 'machineFqdn', 'type': 'str'}, - 'client_public_key': {'key': 'clientPublicKey', 'type': 'str'}, - 'os_name': {'key': 'osName', 'type': 'str'}, - 'os_version': {'key': 'osVersion', 'type': 'str'}, - 'vm_uuid': {'key': 'vmUuid', 'type': 'str'}, - 'extensions': {'key': 'extensions', 'type': '[MachineExtensionInstanceView]'}, - 'os_sku': {'key': 'osSku', 'type': 'str'}, - 'domain_name': {'key': 'domainName', 'type': 'str'}, - 'ad_fqdn': {'key': 'adFqdn', 'type': 'str'}, - 'dns_fqdn': {'key': 'dnsFqdn', 'type': 'str'}, - 'private_link_scope_resource_id': {'key': 'privateLinkScopeResourceId', 'type': 'str'}, - 'parent_cluster_resource_id': {'key': 'parentClusterResourceId', 'type': 'str'}, - 'detected_properties': {'key': 'detectedProperties', 'type': '{str}'}, - } - - def __init__( - self, - *, - location_data: Optional["LocationData"] = None, - vm_id: Optional[str] = None, - client_public_key: Optional[str] = None, - extensions: Optional[List["MachineExtensionInstanceView"]] = None, - private_link_scope_resource_id: Optional[str] = None, - parent_cluster_resource_id: Optional[str] = None, - **kwargs - ): - super(MachineProperties, self).__init__(**kwargs) - self.location_data = location_data - self.os_profile = None - self.provisioning_state = None - self.status = None - self.last_status_change = None - self.error_details = None - self.agent_version = None - self.vm_id = vm_id - self.display_name = None - self.machine_fqdn = None - self.client_public_key = client_public_key - self.os_name = None - self.os_version = None - self.vm_uuid = None - self.extensions = extensions - self.os_sku = None - self.domain_name = None - self.ad_fqdn = None - self.dns_fqdn = None - self.private_link_scope_resource_id = private_link_scope_resource_id - self.parent_cluster_resource_id = parent_cluster_resource_id - self.detected_properties = None - - -class MachineUpdate(ResourceUpdate): - """Describes a hybrid machine Update. - - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.hybridcompute.models.Identity - :param properties: Hybrid Compute Machine properties. - :type properties: ~azure.mgmt.hybridcompute.models.MachineUpdateProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'properties': {'key': 'properties', 'type': 'MachineUpdateProperties'}, - } - - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - identity: Optional["Identity"] = None, - properties: Optional["MachineUpdateProperties"] = None, - **kwargs - ): - super(MachineUpdate, self).__init__(tags=tags, **kwargs) - self.identity = identity - self.properties = properties - - -class MachineUpdateProperties(msrest.serialization.Model): - """Describes the ARM updatable properties of a hybrid machine. - - :param location_data: Metadata pertaining to the geographic location of the resource. - :type location_data: ~azure.mgmt.hybridcompute.models.LocationData - :param parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this - machine is assigned to, if any. - :type parent_cluster_resource_id: str - :param private_link_scope_resource_id: The resource id of the private link scope this machine - is assigned to, if any. - :type private_link_scope_resource_id: str - """ - - _attribute_map = { - 'location_data': {'key': 'locationData', 'type': 'LocationData'}, - 'parent_cluster_resource_id': {'key': 'parentClusterResourceId', 'type': 'str'}, - 'private_link_scope_resource_id': {'key': 'privateLinkScopeResourceId', 'type': 'str'}, - } - - def __init__( - self, - *, - location_data: Optional["LocationData"] = None, - parent_cluster_resource_id: Optional[str] = None, - private_link_scope_resource_id: Optional[str] = None, - **kwargs - ): - super(MachineUpdateProperties, self).__init__(**kwargs) - self.location_data = location_data - self.parent_cluster_resource_id = parent_cluster_resource_id - self.private_link_scope_resource_id = private_link_scope_resource_id - - -class OperationListResult(msrest.serialization.Model): - """The List Compute Operation operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of compute operations. - :vartype value: list[~azure.mgmt.hybridcompute.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 Compute Operation value. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar origin: The origin of the compute operation. - :vartype origin: str - :ivar name: The name of the compute operation. - :vartype name: str - :param display: Display properties. - :type display: ~azure.mgmt.hybridcompute.models.OperationValueDisplay - """ - - _validation = { - 'origin': {'readonly': True}, - 'name': {'readonly': True}, - } - - _attribute_map = { - 'origin': {'key': 'origin', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationValueDisplay'}, - } - - def __init__( - self, - *, - display: Optional["OperationValueDisplay"] = None, - **kwargs - ): - super(OperationValue, self).__init__(**kwargs) - self.origin = None - self.name = None - self.display = display - - -class OperationValueDisplay(msrest.serialization.Model): - """Describes the properties of a Hybrid Compute Operation Value Display. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar operation: The display name of the compute operation. - :vartype operation: str - :ivar resource: The display name of the resource the operation applies to. - :vartype resource: str - :ivar description: The description of the operation. - :vartype description: str - :ivar provider: The resource provider for the operation. - :vartype provider: str - """ - - _validation = { - 'operation': {'readonly': True}, - 'resource': {'readonly': True}, - 'description': {'readonly': True}, - 'provider': {'readonly': True}, - } - - _attribute_map = { - 'operation': {'key': 'operation', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'provider': {'key': 'provider', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationValueDisplay, self).__init__(**kwargs) - self.operation = None - self.resource = None - self.description = None - self.provider = None - - -class OsProfile(msrest.serialization.Model): - """Specifies the operating system settings for the hybrid machine. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar computer_name: Specifies the host OS name of the hybrid machine. - :vartype computer_name: str - """ - - _validation = { - 'computer_name': {'readonly': True}, - } - - _attribute_map = { - 'computer_name': {'key': 'computerName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OsProfile, self).__init__(**kwargs) - self.computer_name = None - - -class PrivateEndpointConnection(Resource): - """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}. - :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 properties: Resource properties. - :type properties: ~azure.mgmt.hybridcompute.models.PrivateEndpointConnectionProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.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': 'PrivateEndpointConnectionProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - *, - properties: Optional["PrivateEndpointConnectionProperties"] = None, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.properties = properties - self.system_data = None - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """A list of private endpoint connections. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.hybridcompute.models.PrivateEndpointConnection] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class PrivateEndpointConnectionProperties(msrest.serialization.Model): - """Properties of a private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: ~azure.mgmt.hybridcompute.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection state of the private endpoint - connection. - :type private_link_service_connection_state: - ~azure.mgmt.hybridcompute.models.PrivateLinkServiceConnectionStateProperty - :ivar provisioning_state: State of the private endpoint connection. - :vartype provisioning_state: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpointProperty'}, - 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - private_endpoint: Optional["PrivateEndpointProperty"] = None, - private_link_service_connection_state: Optional["PrivateLinkServiceConnectionStateProperty"] = 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 PrivateEndpointProperty(msrest.serialization.Model): - """Private endpoint which the connection belongs to. - - :param id: 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(PrivateEndpointProperty, self).__init__(**kwargs) - self.id = id - - -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 - :param properties: Resource properties. - :type properties: ~azure.mgmt.hybridcompute.models.PrivateLinkResourceProperties - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.hybridcompute.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': 'PrivateLinkResourceProperties'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - *, - properties: Optional["PrivateLinkResourceProperties"] = None, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.properties = properties - self.system_data = None - - -class PrivateLinkResourceListResult(msrest.serialization.Model): - """A list of private link resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.hybridcompute.models.PrivateLinkResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourceListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class PrivateLinkResourceProperties(msrest.serialization.Model): - """Properties of a private link resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar group_id: 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: Required DNS zone names of the the private link resource. - :vartype required_zone_names: list[str] - """ - - _validation = { - 'group_id': {'readonly': True}, - 'required_members': {'readonly': True}, - 'required_zone_names': {'readonly': True}, - } - - _attribute_map = { - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourceProperties, self).__init__(**kwargs) - self.group_id = None - self.required_members = None - self.required_zone_names = None - - -class PrivateLinkScopeValidationDetails(msrest.serialization.Model): - """PrivateLinkScopeValidationDetails. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Azure resource Id. - :vartype id: str - :param public_network_access: Indicates whether machines associated with the private link scope - can also use public Azure Arc service endpoints. Possible values include: "Enabled", - "Disabled". Default value: "Disabled". - :type public_network_access: str or ~azure.mgmt.hybridcompute.models.PublicNetworkAccessType - :param connection_details: List of Private Endpoint Connection details. - :type connection_details: list[~azure.mgmt.hybridcompute.models.ConnectionDetail] - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'connection_details': {'key': 'connectionDetails', 'type': '[ConnectionDetail]'}, - } - - def __init__( - self, - *, - public_network_access: Optional[Union[str, "PublicNetworkAccessType"]] = "Disabled", - connection_details: Optional[List["ConnectionDetail"]] = None, - **kwargs - ): - super(PrivateLinkScopeValidationDetails, self).__init__(**kwargs) - self.id = None - self.public_network_access = public_network_access - self.connection_details = connection_details - - -class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): - """State of the 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 status: Required. The private link service connection status. - :type status: str - :param description: Required. The private link service connection description. - :type description: str - :ivar actions_required: The actions required for private link service connection. - :vartype actions_required: str - """ - - _validation = { - 'status': {'required': True}, - 'description': {'required': 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, - *, - status: str, - description: str, - **kwargs - ): - super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) - self.status = status - self.description = description - self.actions_required = 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 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.hybridcompute.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.hybridcompute.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 TagsResource(msrest.serialization.Model): - """A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance. - - :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(TagsResource, self).__init__(**kwargs) - self.tags = tags diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/__init__.py deleted file mode 100644 index 641a5a8b66c..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/__init__.py +++ /dev/null @@ -1,25 +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 ._machines_operations import MachinesOperations -from ._machine_extensions_operations import MachineExtensionsOperations -from ._connected_machine_operations import ConnectedMachineOperationsMixin -from ._operations import Operations -from ._private_link_scopes_operations import PrivateLinkScopesOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations - -__all__ = [ - 'MachinesOperations', - 'MachineExtensionsOperations', - 'ConnectedMachineOperationsMixin', - 'Operations', - 'PrivateLinkScopesOperations', - 'PrivateLinkResourcesOperations', - 'PrivateEndpointConnectionsOperations', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_connected_machine_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_connected_machine_operations.py deleted file mode 100644 index a3ba7e9ea79..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_connected_machine_operations.py +++ /dev/null @@ -1,148 +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.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 ConnectedMachineOperationsMixin(object): - - def _upgrade_extensions_initial( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_upgrade_parameters, # type: "models.MachineExtensionUpgrade" - **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-20" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._upgrade_extensions_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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_upgrade_parameters, 'MachineExtensionUpgrade') - 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]: - 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, {}) - - _upgrade_extensions_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions'} # type: ignore - - def begin_upgrade_extensions( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_upgrade_parameters, # type: "models.MachineExtensionUpgrade" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """The operation to Upgrade Machine Extensions. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_name: str - :param extension_upgrade_parameters: Parameters supplied to the Upgrade Extensions operation. - :type extension_upgrade_parameters: ~azure.mgmt.hybridcompute.models.MachineExtensionUpgrade - :keyword callable cls: A custom type or function 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._upgrade_extensions_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_upgrade_parameters=extension_upgrade_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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_upgrade_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machine_extensions_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machine_extensions_operations.py deleted file mode 100644 index 63bc7c881c3..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machine_extensions_operations.py +++ /dev/null @@ -1,583 +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.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 MachineExtensionsOperations(object): - """MachineExtensionsOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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 - machine_name, # type: str - extension_name, # type: str - extension_parameters, # type: "models.MachineExtension" - **kwargs # type: Any - ): - # type: (...) -> Optional["models.MachineExtension"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MachineExtension"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_parameters, 'MachineExtension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def begin_create_or_update( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - extension_parameters, # type: "models.MachineExtension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.MachineExtension"] - """The operation to create or update the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be created or updated. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :param extension_parameters: Parameters supplied to the Create Machine Extension operation. - :type extension_parameters: ~azure.mgmt.hybridcompute.models.MachineExtension - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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 MachineExtension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hybridcompute.models.MachineExtension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_name=extension_name, - extension_parameters=extension_parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def _update_initial( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - extension_parameters, # type: "models.MachineExtensionUpdate" - **kwargs # type: Any - ): - # type: (...) -> Optional["models.MachineExtension"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MachineExtension"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_parameters, 'MachineExtensionUpdate') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def begin_update( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - extension_parameters, # type: "models.MachineExtensionUpdate" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.MachineExtension"] - """The operation to create or update the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be created or updated. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :param extension_parameters: Parameters supplied to the Create Machine Extension operation. - :type extension_parameters: ~azure.mgmt.hybridcompute.models.MachineExtensionUpdate - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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 MachineExtension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hybridcompute.models.MachineExtension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._update_initial( - resource_group_name=resource_group_name, - machine_name=machine_name, - extension_name=extension_name, - extension_parameters=extension_parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['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.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """The operation to delete the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine where the extension should be deleted. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: 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, - machine_name=machine_name, - extension_name=extension_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - machine_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.MachineExtension" - """The operation to get the extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine containing the extension. - :type machine_name: str - :param extension_name: The name of the machine extension. - :type extension_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MachineExtension, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.MachineExtension - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtension"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_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['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('MachineExtension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}'} # type: ignore - - def list( - self, - resource_group_name, # type: str - machine_name, # type: str - expand=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.MachineExtensionsListResult"] - """The operation to get all extensions of a non-Azure machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the machine containing the extension. - :type machine_name: str - :param expand: The expand expression to apply on the operation. - :type expand: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MachineExtensionsListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.hybridcompute.models.MachineExtensionsListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineExtensionsListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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), - 'machineName': self._serialize.url("machine_name", machine_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] - 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('MachineExtensionsListResult', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - error = self._deserialize(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.HybridCompute/machines/{machineName}/extensions'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machines_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machines_operations.py deleted file mode 100644 index 2c809786d69..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_machines_operations.py +++ /dev/null @@ -1,310 +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 - -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 MachinesOperations(object): - """MachinesOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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 delete( - self, - resource_group_name, # type: str - machine_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """The operation to remove a hybrid machine identity in Azure. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_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-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.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.HybridCompute/machines/{machineName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - machine_name, # type: str - expand=None, # type: Optional[Union[str, "models.InstanceViewTypes"]] - **kwargs # type: Any - ): - # type: (...) -> "models.Machine" - """Retrieves information about the model view or the instance view of a hybrid machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the hybrid machine. - :type machine_name: str - :param expand: The expand expression to apply on the operation. - :type expand: str or ~azure.mgmt.hybridcompute.models.InstanceViewTypes - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Machine, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.Machine - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Machine"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if 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('Machine', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.MachineListResult"] - """Lists all the hybrid machines in the specified resource group. Use the nextLink property in the - response to get the next page of hybrid machines. - - :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 MachineListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.hybridcompute.models.MachineListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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) - 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('MachineListResult', 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.HybridCompute/machines'} # type: ignore - - def list_by_subscription( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.MachineListResult"] - """Lists all the hybrid machines in the specified subscription. Use the nextLink property in the - response to get the next page of hybrid machines. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MachineListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.hybridcompute.models.MachineListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MachineListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('MachineListResult', 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.HybridCompute/machines'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_operations.py deleted file mode 100644 index d5605a36454..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_operations.py +++ /dev/null @@ -1,110 +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 - -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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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.OperationListResult"] - """Gets a list of hybrid compute 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.hybridcompute.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-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('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]: - 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.HybridCompute/operations'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_endpoint_connections_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 48c2e530400..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,442 +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.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 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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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 - scope_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PrivateEndpointConnection" - """Gets a private endpoint connection. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.hybridcompute.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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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 = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def _update_initial( - self, - resource_group_name, # type: str - scope_name, # type: str - private_endpoint_connection_name, # type: str - parameters, # type: "models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> 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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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(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(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def begin_update( - self, - resource_group_name, # type: str - scope_name, # type: str - private_endpoint_connection_name, # type: str - parameters, # type: "models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> 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. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :param parameters: - :type parameters: ~azure.mgmt.hybridcompute.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: 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 PrivateEndpointConnection or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.hybridcompute.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._update_initial( - resource_group_name=resource_group_name, - scope_name=scope_name, - private_endpoint_connection_name=private_endpoint_connection_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('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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - scope_name, # type: str - private_endpoint_connection_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-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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 = 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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - scope_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> 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. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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: 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, - scope_name=scope_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 = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, '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_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def list_by_private_link_scope( - self, - resource_group_name, # type: str - scope_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.PrivateEndpointConnectionListResult"] - """Gets all private endpoint connections on a private link scope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.hybridcompute.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 = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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_private_link_scope.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **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 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_private_link_scope.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_resources_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_resources_operations.py deleted file mode 100644 index 07efc46cf79..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_resources_operations.py +++ /dev/null @@ -1,186 +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 - -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 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.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def list_by_private_link_scope( - self, - resource_group_name, # type: str - scope_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.PrivateLinkResourceListResult"] - """Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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.paging.ItemPaged[~azure.mgmt.hybridcompute.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', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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_private_link_scope.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **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('PrivateLinkResourceListResult', 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_private_link_scope.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources'} # type: ignore - - def get( - self, - resource_group_name, # type: str - scope_name, # type: str - group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PrivateLinkResource" - """Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param group_name: The name of the private link resource. - :type group_name: str - :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.hybridcompute.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-05-20" - 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), - 'scopeName': self._serialize.url("scope_name", scope_name, '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') - - # 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('PrivateLinkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_scopes_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_scopes_operations.py deleted file mode 100644 index 547e69394c8..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/operations/_private_link_scopes_operations.py +++ /dev/null @@ -1,624 +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.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 PrivateLinkScopesOperations(object): - """PrivateLinkScopesOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.hybridcompute.models - :param client: Client for service requests. - :param config: Configuration 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.HybridComputePrivateLinkScopeListResult"] - """Gets a list of all Azure Arc PrivateLinkScopes 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 HybridComputePrivateLinkScopeListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScopeListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('HybridComputePrivateLinkScopeListResult', 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.HybridCompute/privateLinkScopes'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.HybridComputePrivateLinkScopeListResult"] - """Gets a list of Azure Arc PrivateLinkScopes within a resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either HybridComputePrivateLinkScopeListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScopeListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScopeListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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) - 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('HybridComputePrivateLinkScopeListResult', 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.HybridCompute/privateLinkScopes'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - scope_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-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_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.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - scope_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Deletes a Azure Arc PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_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, - scope_name=scope_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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_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.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - scope_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.HybridComputePrivateLinkScope" - """Returns a Azure Arc PrivateLinkScope. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_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('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - scope_name, # type: str - parameters, # type: "models.HybridComputePrivateLinkScope" - **kwargs # type: Any - ): - # type: (...) -> "models.HybridComputePrivateLinkScope" - """Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value - for InstrumentationKey nor AppId in the Put operation. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param parameters: Properties that need to be specified to create or update a Azure Arc for - Servers and Clusters PrivateLinkScope. - :type parameters: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - 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), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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, 'HybridComputePrivateLinkScope') - 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('HybridComputePrivateLinkScope', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - def update_tags( - self, - resource_group_name, # type: str - scope_name, # type: str - private_link_scope_tags, # type: "models.TagsResource" - **kwargs # type: Any - ): - # type: (...) -> "models.HybridComputePrivateLinkScope" - """Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate - method. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param scope_name: The name of the Azure Arc PrivateLinkScope resource. - :type scope_name: str - :param private_link_scope_tags: Updated tag information to set into the PrivateLinkScope - instance. - :type private_link_scope_tags: ~azure.mgmt.hybridcompute.models.TagsResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: HybridComputePrivateLinkScope, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.HybridComputePrivateLinkScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.HybridComputePrivateLinkScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update_tags.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), - 'scopeName': self._serialize.url("scope_name", scope_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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_link_scope_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) - response = pipeline_response.http_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('HybridComputePrivateLinkScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}'} # type: ignore - - def get_validation_details( - self, - location, # type: str - private_link_scope_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PrivateLinkScopeValidationDetails" - """Returns a Azure Arc PrivateLinkScope's validation details. - - :param location: The location of the target resource. - :type location: str - :param private_link_scope_id: The id (Guid) of the Azure Arc PrivateLinkScope resource. - :type private_link_scope_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkScopeValidationDetails, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.PrivateLinkScopeValidationDetails - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkScopeValidationDetails"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - # Construct URL - url = self.get_validation_details.metadata['url'] # type: ignore - path_format_arguments = { - 'location': self._serialize.url("location", location, 'str', min_length=1), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'privateLinkScopeId': self._serialize.url("private_link_scope_id", private_link_scope_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(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateLinkScopeValidationDetails', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_validation_details.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/privateLinkScopes/{privateLinkScopeId}'} # type: ignore - - def get_validation_details_for_machine( - self, - resource_group_name, # type: str - machine_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PrivateLinkScopeValidationDetails" - """Returns a Azure Arc PrivateLinkScope's validation details for a given machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param machine_name: The name of the target machine to get the private link scope validation - details for. - :type machine_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkScopeValidationDetails, or the result of cls(response) - :rtype: ~azure.mgmt.hybridcompute.models.PrivateLinkScopeValidationDetails - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkScopeValidationDetails"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-20" - accept = "application/json" - - # Construct URL - url = self.get_validation_details_for_machine.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_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') - - # 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('PrivateLinkScopeValidationDetails', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_validation_details_for_machine.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/privateLinkScopes/current'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/py.typed b/src/ssh/azext_ssh/vendored_sdks/connectedmachine/py.typed deleted file mode 100644 index e5aff4f83af..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedmachine/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/__init__.py deleted file mode 100644 index 7b5c68dfb4d..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from ._azure_arc_vmware_management_service_api import AzureArcVMwareManagementServiceAPI -from ._version import VERSION - -__version__ = VERSION - -try: - from ._patch import __all__ as _patch_all - from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -except ImportError: - _patch_all = [] -from ._patch import patch_sdk as _patch_sdk -__all__ = ['AzureArcVMwareManagementServiceAPI'] -__all__.extend([p for p in _patch_all if p not in __all__]) - -_patch_sdk() diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_azure_arc_vmware_management_service_api.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_azure_arc_vmware_management_service_api.py deleted file mode 100644 index 8b1d12bc337..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_azure_arc_vmware_management_service_api.py +++ /dev/null @@ -1,127 +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 copy import deepcopy -from typing import Any, TYPE_CHECKING - -from msrest import Deserializer, Serializer - -from azure.core.rest import HttpRequest, HttpResponse -from azure.mgmt.core import ARMPipelineClient - -from . import models -from ._configuration import AzureArcVMwareManagementServiceAPIConfiguration -from .operations import Operations, VirtualMachinesOperations - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials import TokenCredential - -class AzureArcVMwareManagementServiceAPI: # pylint: disable=too-many-instance-attributes - """Self service experience for VMware. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.connectedvmware.operations.Operations - :ivar virtual_machines: VirtualMachinesOperations operations - :vartype virtual_machines: azure.mgmt.connectedvmware.operations.VirtualMachinesOperations - :ivar resource_pools: ResourcePoolsOperations operations - :vartype resource_pools: azure.mgmt.connectedvmware.operations.ResourcePoolsOperations - :ivar clusters: ClustersOperations operations - :vartype clusters: azure.mgmt.connectedvmware.operations.ClustersOperations - :ivar hosts: HostsOperations operations - :vartype hosts: azure.mgmt.connectedvmware.operations.HostsOperations - :ivar datastores: DatastoresOperations operations - :vartype datastores: azure.mgmt.connectedvmware.operations.DatastoresOperations - :ivar vcenters: VCentersOperations operations - :vartype vcenters: azure.mgmt.connectedvmware.operations.VCentersOperations - :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations - :vartype virtual_machine_templates: - azure.mgmt.connectedvmware.operations.VirtualMachineTemplatesOperations - :ivar virtual_networks: VirtualNetworksOperations operations - :vartype virtual_networks: azure.mgmt.connectedvmware.operations.VirtualNetworksOperations - :ivar inventory_items: InventoryItemsOperations operations - :vartype inventory_items: azure.mgmt.connectedvmware.operations.InventoryItemsOperations - :ivar hybrid_identity_metadata: HybridIdentityMetadataOperations operations - :vartype hybrid_identity_metadata: - azure.mgmt.connectedvmware.operations.HybridIdentityMetadataOperations - :ivar machine_extensions: MachineExtensionsOperations operations - :vartype machine_extensions: azure.mgmt.connectedvmware.operations.MachineExtensionsOperations - :ivar guest_agents: GuestAgentsOperations operations - :vartype guest_agents: azure.mgmt.connectedvmware.operations.GuestAgentsOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Subscription ID. - :type subscription_id: str - :param base_url: Service URL. Default value is "https://management.azure.com". - :type base_url: str - :keyword api_version: Api Version. Default value is "2022-01-10-preview". Note that overriding - this default value may result in unsupported behavior. - :paramtype api_version: 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 = AzureArcVMwareManagementServiceAPIConfiguration(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.virtual_machines = VirtualMachinesOperations( - self._client, self._config, self._serialize, self._deserialize - ) - - def _send_request( - self, - request: 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: () -> AzureArcVMwareManagementServiceAPI - self._client.__enter__() - return self - - def __exit__(self, *exc_details): - # type: (Any) -> None - self._client.__exit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_configuration.py deleted file mode 100644 index 8a8e8f9b946..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_configuration.py +++ /dev/null @@ -1,73 +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, 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 AzureArcVMwareManagementServiceAPIConfiguration(Configuration): # pylint: disable=too-many-instance-attributes - """Configuration for AzureArcVMwareManagementServiceAPI. - - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Subscription ID. - :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-01-10-preview". Note that overriding - this default value may result in unsupported behavior. - :paramtype api_version: str - """ - - def __init__( - self, - credential: "TokenCredential", - subscription_id: str, - **kwargs: Any - ) -> None: - super(AzureArcVMwareManagementServiceAPIConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2022-01-10-preview") # type: str - - 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 = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-connectedvmware/{}'.format(VERSION)) - self._configure(**kwargs) - - def _configure( - self, - **kwargs # type: Any - ): - # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') - if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_patch.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_patch.py deleted file mode 100644 index 0ad201a8c58..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_patch.py +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import List - -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_vendor.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_vendor.py deleted file mode 100644 index 138f663c53a..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/_vendor.py +++ /dev/null @@ -1,27 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -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/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/__init__.py deleted file mode 100644 index 93ed9911373..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/__init__.py +++ /dev/null @@ -1,20 +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_arc_vmware_management_service_api import AzureArcVMwareManagementServiceAPI - -try: - from ._patch import __all__ as _patch_all - from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -except ImportError: - _patch_all = [] -from ._patch import patch_sdk as _patch_sdk -__all__ = ['AzureArcVMwareManagementServiceAPI'] -__all__.extend([p for p in _patch_all if p not in __all__]) - -_patch_sdk() diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_azure_arc_vmware_management_service_api.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_azure_arc_vmware_management_service_api.py deleted file mode 100644 index c959f20fc28..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_azure_arc_vmware_management_service_api.py +++ /dev/null @@ -1,125 +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 copy import deepcopy -from typing import Any, Awaitable, TYPE_CHECKING - -from msrest import Deserializer, Serializer - -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.mgmt.core import AsyncARMPipelineClient - -from .. import models -from ._configuration import AzureArcVMwareManagementServiceAPIConfiguration -from .operations import VirtualMachinesOperations, Operations - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials_async import AsyncTokenCredential - -class AzureArcVMwareManagementServiceAPI: # pylint: disable=too-many-instance-attributes - """Self service experience for VMware. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.connectedvmware.aio.operations.Operations - :ivar virtual_machines: VirtualMachinesOperations operations - :vartype virtual_machines: azure.mgmt.connectedvmware.aio.operations.VirtualMachinesOperations - :ivar resource_pools: ResourcePoolsOperations operations - :vartype resource_pools: azure.mgmt.connectedvmware.aio.operations.ResourcePoolsOperations - :ivar clusters: ClustersOperations operations - :vartype clusters: azure.mgmt.connectedvmware.aio.operations.ClustersOperations - :ivar hosts: HostsOperations operations - :vartype hosts: azure.mgmt.connectedvmware.aio.operations.HostsOperations - :ivar datastores: DatastoresOperations operations - :vartype datastores: azure.mgmt.connectedvmware.aio.operations.DatastoresOperations - :ivar vcenters: VCentersOperations operations - :vartype vcenters: azure.mgmt.connectedvmware.aio.operations.VCentersOperations - :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations - :vartype virtual_machine_templates: - azure.mgmt.connectedvmware.aio.operations.VirtualMachineTemplatesOperations - :ivar virtual_networks: VirtualNetworksOperations operations - :vartype virtual_networks: azure.mgmt.connectedvmware.aio.operations.VirtualNetworksOperations - :ivar inventory_items: InventoryItemsOperations operations - :vartype inventory_items: azure.mgmt.connectedvmware.aio.operations.InventoryItemsOperations - :ivar hybrid_identity_metadata: HybridIdentityMetadataOperations operations - :vartype hybrid_identity_metadata: - azure.mgmt.connectedvmware.aio.operations.HybridIdentityMetadataOperations - :ivar machine_extensions: MachineExtensionsOperations operations - :vartype machine_extensions: - azure.mgmt.connectedvmware.aio.operations.MachineExtensionsOperations - :ivar guest_agents: GuestAgentsOperations operations - :vartype guest_agents: azure.mgmt.connectedvmware.aio.operations.GuestAgentsOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Subscription ID. - :type subscription_id: str - :param base_url: Service URL. Default value is "https://management.azure.com". - :type base_url: str - :keyword api_version: Api Version. Default value is "2022-01-10-preview". Note that overriding - this default value may result in unsupported behavior. - :paramtype api_version: 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 = AzureArcVMwareManagementServiceAPIConfiguration(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.virtual_machines = VirtualMachinesOperations( - 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) -> "AzureArcVMwareManagementServiceAPI": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_configuration.py deleted file mode 100644 index a3e014206f2..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_configuration.py +++ /dev/null @@ -1,72 +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, 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 AzureArcVMwareManagementServiceAPIConfiguration(Configuration): # pylint: disable=too-many-instance-attributes - """Configuration for AzureArcVMwareManagementServiceAPI. - - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Subscription ID. - :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-01-10-preview". Note that overriding - this default value may result in unsupported behavior. - :paramtype api_version: str - """ - - def __init__( - self, - credential: "AsyncTokenCredential", - subscription_id: str, - **kwargs: Any - ) -> None: - super(AzureArcVMwareManagementServiceAPIConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2022-01-10-preview") # type: str - - 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 = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-connectedvmware/{}'.format(VERSION)) - self._configure(**kwargs) - - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') - if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_patch.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_patch.py deleted file mode 100644 index 0ad201a8c58..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/_patch.py +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import List - -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/__init__.py deleted file mode 100644 index 295107adb1c..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/__init__.py +++ /dev/null @@ -1,20 +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 ._operations import Operations -from ._virtual_machines_operations import VirtualMachinesOperations - -from ._patch import __all__ as _patch_all -from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -from ._patch import patch_sdk as _patch_sdk -__all__ = [ - 'Operations', - 'VirtualMachinesOperations', -] -__all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_operations.py deleted file mode 100644 index 93099c75710..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_operations.py +++ /dev/null @@ -1,122 +0,0 @@ -# pylint: disable=too-many-lines -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code 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, Optional, TypeVar - -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.utils import case_insensitive_dict -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: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.connectedvmware.aio.AzureArcVMwareManagementServiceAPI`'s - :attr:`operations` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client = input_args.pop(0) if input_args else kwargs.pop("client") - self._config = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - - @distributed_trace - def list( - self, - **kwargs: Any - ) -> AsyncIterable[_models.OperationsList]: - """Returns list of all operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationsList or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.connectedvmware.models.OperationsList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.OperationsList] - - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) - def prepare_request(next_link=None): - if not next_link: - - request = build_list_request( - api_version=api_version, - template_url=self.list.metadata['url'], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - - else: - - request = build_list_request( - api_version=api_version, - template_url=next_link, - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - request.method = "GET" - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("OperationsList", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access - request, - stream=False, - **kwargs - ) - response = pipeline_response.http_response - - if response.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.ConnectedVMwarevSphere/operations"} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_patch.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_patch.py deleted file mode 100644 index 0ad201a8c58..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_patch.py +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import List - -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_virtual_machines_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_virtual_machines_operations.py deleted file mode 100644 index 9316d03f374..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/aio/operations/_virtual_machines_operations.py +++ /dev/null @@ -1,111 +0,0 @@ -# pylint: disable=too-many-lines -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code 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, Optional, TypeVar, Union, cast - -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.core.utils import case_insensitive_dict -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._virtual_machines_operations import build_get_request -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class VirtualMachinesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.connectedvmware.aio.AzureArcVMwareManagementServiceAPI`'s - :attr:`virtual_machines` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client = input_args.pop(0) if input_args else kwargs.pop("client") - self._config = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get( - self, - resource_group_name: str, - virtual_machine_name: str, - **kwargs: Any - ) -> _models.VirtualMachine: - """Gets a virtual machine. - - Implements virtual machine GET method. - - :param resource_group_name: The Resource Group Name. - :type resource_group_name: str - :param virtual_machine_name: Name of the virtual machine resource. - :type virtual_machine_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: VirtualMachine, or the result of cls(response) - :rtype: ~azure.mgmt.connectedvmware.models.VirtualMachine - :raises: ~azure.core.exceptions.HttpResponseError - """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.VirtualMachine] - - - request = build_get_request( - subscription_id=self._config.subscription_id, - resource_group_name=resource_group_name, - virtual_machine_name=virtual_machine_name, - api_version=api_version, - template_url=self.get.metadata['url'], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - - pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs - ) - response = pipeline_response.http_response - - if response.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('VirtualMachine', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - - get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}"} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/__init__.py deleted file mode 100644 index 89491cbd810..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/__init__.py +++ /dev/null @@ -1,235 +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 ._models_py3 import AvailablePatchCountByClassification -from ._models_py3 import Cluster -from ._models_py3 import ClusterInventoryItem -from ._models_py3 import ClustersList -from ._models_py3 import Condition -from ._models_py3 import Datastore -from ._models_py3 import DatastoreInventoryItem -from ._models_py3 import DatastoresList -from ._models_py3 import ErrorDefinition -from ._models_py3 import ErrorDetail -from ._models_py3 import ErrorResponse -from ._models_py3 import ExtendedLocation -from ._models_py3 import GuestAgent -from ._models_py3 import GuestAgentList -from ._models_py3 import GuestAgentProfile -from ._models_py3 import GuestCredential -from ._models_py3 import HardwareProfile -from ._models_py3 import Host -from ._models_py3 import HostInventoryItem -from ._models_py3 import HostsList -from ._models_py3 import HttpProxyConfiguration -from ._models_py3 import HybridIdentityMetadata -from ._models_py3 import HybridIdentityMetadataList -from ._models_py3 import Identity -from ._models_py3 import InventoryItem -from ._models_py3 import InventoryItemDetails -from ._models_py3 import InventoryItemProperties -from ._models_py3 import InventoryItemsList -from ._models_py3 import LinuxParameters -from ._models_py3 import MachineExtension -from ._models_py3 import MachineExtensionInstanceView -from ._models_py3 import MachineExtensionInstanceViewStatus -from ._models_py3 import MachineExtensionPropertiesInstanceView -from ._models_py3 import MachineExtensionUpdate -from ._models_py3 import MachineExtensionsListResult -from ._models_py3 import NetworkInterface -from ._models_py3 import NetworkInterfaceUpdate -from ._models_py3 import NetworkProfile -from ._models_py3 import NetworkProfileUpdate -from ._models_py3 import NicIPAddressSettings -from ._models_py3 import NicIPSettings -from ._models_py3 import Operation -from ._models_py3 import OperationDisplay -from ._models_py3 import OperationsList -from ._models_py3 import OsProfile -from ._models_py3 import OsProfileLinuxConfiguration -from ._models_py3 import OsProfileUpdate -from ._models_py3 import OsProfileUpdateLinuxConfiguration -from ._models_py3 import OsProfileUpdateWindowsConfiguration -from ._models_py3 import OsProfileWindowsConfiguration -from ._models_py3 import PlacementProfile -from ._models_py3 import ProxyResource -from ._models_py3 import Resource -from ._models_py3 import ResourcePatch -from ._models_py3 import ResourcePool -from ._models_py3 import ResourcePoolInventoryItem -from ._models_py3 import ResourcePoolsList -from ._models_py3 import ResourceStatus -from ._models_py3 import SecurityProfile -from ._models_py3 import StopVirtualMachineOptions -from ._models_py3 import StorageProfile -from ._models_py3 import StorageProfileUpdate -from ._models_py3 import SystemData -from ._models_py3 import UefiSettings -from ._models_py3 import VCenter -from ._models_py3 import VCentersList -from ._models_py3 import VICredential -from ._models_py3 import VirtualDisk -from ._models_py3 import VirtualDiskUpdate -from ._models_py3 import VirtualMachine -from ._models_py3 import VirtualMachineAssessPatchesResult -from ._models_py3 import VirtualMachineInstallPatchesParameters -from ._models_py3 import VirtualMachineInstallPatchesResult -from ._models_py3 import VirtualMachineInventoryItem -from ._models_py3 import VirtualMachineTemplate -from ._models_py3 import VirtualMachineTemplateInventoryItem -from ._models_py3 import VirtualMachineTemplatesList -from ._models_py3 import VirtualMachineUpdate -from ._models_py3 import VirtualMachinesList -from ._models_py3 import VirtualNetwork -from ._models_py3 import VirtualNetworkInventoryItem -from ._models_py3 import VirtualNetworksList -from ._models_py3 import VirtualSCSIController -from ._models_py3 import WindowsParameters - - -from ._azure_arc_vmware_management_service_api_enums import ( - CreatedByType, - DiskMode, - DiskType, - FirmwareType, - IPAddressAllocationMethod, - IdentityType, - InventoryType, - NICType, - OsType, - OsTypeUM, - PatchOperationStartedBy, - PatchOperationStatus, - PatchServiceUsed, - PowerOnBootOption, - ProvisioningAction, - ProvisioningState, - SCSIControllerType, - StatusLevelTypes, - StatusTypes, - VMGuestPatchClassificationLinux, - VMGuestPatchClassificationWindows, - VMGuestPatchRebootSetting, - VMGuestPatchRebootStatus, - VirtualSCSISharing, -) -from ._patch import __all__ as _patch_all -from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -from ._patch import patch_sdk as _patch_sdk -__all__ = [ - 'AvailablePatchCountByClassification', - 'Cluster', - 'ClusterInventoryItem', - 'ClustersList', - 'Condition', - 'Datastore', - 'DatastoreInventoryItem', - 'DatastoresList', - 'ErrorDefinition', - 'ErrorDetail', - 'ErrorResponse', - 'ExtendedLocation', - 'GuestAgent', - 'GuestAgentList', - 'GuestAgentProfile', - 'GuestCredential', - 'HardwareProfile', - 'Host', - 'HostInventoryItem', - 'HostsList', - 'HttpProxyConfiguration', - 'HybridIdentityMetadata', - 'HybridIdentityMetadataList', - 'Identity', - 'InventoryItem', - 'InventoryItemDetails', - 'InventoryItemProperties', - 'InventoryItemsList', - 'LinuxParameters', - 'MachineExtension', - 'MachineExtensionInstanceView', - 'MachineExtensionInstanceViewStatus', - 'MachineExtensionPropertiesInstanceView', - 'MachineExtensionUpdate', - 'MachineExtensionsListResult', - 'NetworkInterface', - 'NetworkInterfaceUpdate', - 'NetworkProfile', - 'NetworkProfileUpdate', - 'NicIPAddressSettings', - 'NicIPSettings', - 'Operation', - 'OperationDisplay', - 'OperationsList', - 'OsProfile', - 'OsProfileLinuxConfiguration', - 'OsProfileUpdate', - 'OsProfileUpdateLinuxConfiguration', - 'OsProfileUpdateWindowsConfiguration', - 'OsProfileWindowsConfiguration', - 'PlacementProfile', - 'ProxyResource', - 'Resource', - 'ResourcePatch', - 'ResourcePool', - 'ResourcePoolInventoryItem', - 'ResourcePoolsList', - 'ResourceStatus', - 'SecurityProfile', - 'StopVirtualMachineOptions', - 'StorageProfile', - 'StorageProfileUpdate', - 'SystemData', - 'UefiSettings', - 'VCenter', - 'VCentersList', - 'VICredential', - 'VirtualDisk', - 'VirtualDiskUpdate', - 'VirtualMachine', - 'VirtualMachineAssessPatchesResult', - 'VirtualMachineInstallPatchesParameters', - 'VirtualMachineInstallPatchesResult', - 'VirtualMachineInventoryItem', - 'VirtualMachineTemplate', - 'VirtualMachineTemplateInventoryItem', - 'VirtualMachineTemplatesList', - 'VirtualMachineUpdate', - 'VirtualMachinesList', - 'VirtualNetwork', - 'VirtualNetworkInventoryItem', - 'VirtualNetworksList', - 'VirtualSCSIController', - 'WindowsParameters', - 'CreatedByType', - 'DiskMode', - 'DiskType', - 'FirmwareType', - 'IPAddressAllocationMethod', - 'IdentityType', - 'InventoryType', - 'NICType', - 'OsType', - 'OsTypeUM', - 'PatchOperationStartedBy', - 'PatchOperationStatus', - 'PatchServiceUsed', - 'PowerOnBootOption', - 'ProvisioningAction', - 'ProvisioningState', - 'SCSIControllerType', - 'StatusLevelTypes', - 'StatusTypes', - 'VMGuestPatchClassificationLinux', - 'VMGuestPatchClassificationWindows', - 'VMGuestPatchRebootSetting', - 'VMGuestPatchRebootStatus', - 'VirtualSCSISharing', -] -__all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_azure_arc_vmware_management_service_api_enums.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_azure_arc_vmware_management_service_api_enums.py deleted file mode 100644 index 56ca49a3352..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_azure_arc_vmware_management_service_api_enums.py +++ /dev/null @@ -1,230 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum -from azure.core import CaseInsensitiveEnumMeta - - -class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of identity that created the resource. - """ - - USER = "User" - APPLICATION = "Application" - MANAGED_IDENTITY = "ManagedIdentity" - KEY = "Key" - -class DiskMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the different types of disk modes. - """ - - PERSISTENT = "persistent" - INDEPENDENT_PERSISTENT = "independent_persistent" - INDEPENDENT_NONPERSISTENT = "independent_nonpersistent" - -class DiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the different types of disks. - """ - - FLAT = "flat" - PMEM = "pmem" - RAWPHYSICAL = "rawphysical" - RAWVIRTUAL = "rawvirtual" - SPARSE = "sparse" - SESPARSE = "sesparse" - UNKNOWN = "unknown" - -class FirmwareType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Firmware type - """ - - BIOS = "bios" - EFI = "efi" - -class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of managed service identity. - """ - - NONE = "None" - SYSTEM_ASSIGNED = "SystemAssigned" - -class InventoryType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The inventory type. - """ - - RESOURCE_POOL = "ResourcePool" - VIRTUAL_MACHINE = "VirtualMachine" - VIRTUAL_MACHINE_TEMPLATE = "VirtualMachineTemplate" - VIRTUAL_NETWORK = "VirtualNetwork" - CLUSTER = "Cluster" - DATASTORE = "Datastore" - HOST = "Host" - -class IPAddressAllocationMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """IP address allocation method. - """ - - UNSET = "unset" - DYNAMIC = "dynamic" - STATIC = "static" - LINKLAYER = "linklayer" - RANDOM = "random" - OTHER = "other" - -class NICType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """NIC type - """ - - VMXNET3 = "vmxnet3" - VMXNET2 = "vmxnet2" - VMXNET = "vmxnet" - E1000 = "e1000" - E1000_E = "e1000e" - PCNET32 = "pcnet32" - -class OsType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the different types of VM guest operating systems. - """ - - WINDOWS = "Windows" - LINUX = "Linux" - OTHER = "Other" - -class OsTypeUM(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The operating system type of the machine. - """ - - WINDOWS = "Windows" - LINUX = "Linux" - -class PatchOperationStartedBy(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Indicates if operation was triggered by user or by platform. - """ - - USER = "User" - PLATFORM = "Platform" - -class PatchOperationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The overall success or failure status of the operation. It remains "InProgress" until the - operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or - "CompletedWithWarnings." - """ - - UNKNOWN = "Unknown" - IN_PROGRESS = "InProgress" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - COMPLETED_WITH_WARNINGS = "CompletedWithWarnings" - -class PatchServiceUsed(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Specifies the patch service used for the operation. - """ - - UNKNOWN = "Unknown" - WU = "WU" - WU_WSUS = "WU_WSUS" - YUM = "YUM" - APT = "APT" - ZYPPER = "Zypper" - -class PowerOnBootOption(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the options for power on boot. - """ - - ENABLED = "enabled" - DISABLED = "disabled" - -class ProvisioningAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the different types of operations for guest agent. - """ - - INSTALL = "install" - UNINSTALL = "uninstall" - REPAIR = "repair" - -class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The current deployment state of resource. - """ - - SUCCEEDED = "Succeeded" - FAILED = "Failed" - CANCELED = "Canceled" - PROVISIONING = "Provisioning" - UPDATING = "Updating" - DELETING = "Deleting" - ACCEPTED = "Accepted" - CREATED = "Created" - -class SCSIControllerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the different types of SCSI controllers. - """ - - LSILOGIC = "lsilogic" - BUSLOGIC = "buslogic" - PVSCSI = "pvscsi" - LSILOGICSAS = "lsilogicsas" - -class StatusLevelTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The level code. - """ - - INFO = "Info" - WARNING = "Warning" - ERROR = "Error" - -class StatusTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The status of the hybrid machine agent. - """ - - CONNECTED = "Connected" - DISCONNECTED = "Disconnected" - ERROR = "Error" - -class VirtualSCSISharing(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines the sharing mode for sharing the SCSI bus. - """ - - NO_SHARING = "noSharing" - PHYSICAL_SHARING = "physicalSharing" - VIRTUAL_SHARING = "virtualSharing" - -class VMGuestPatchClassificationLinux(str, Enum, metaclass=CaseInsensitiveEnumMeta): - - CRITICAL = "Critical" - SECURITY = "Security" - OTHER = "Other" - -class VMGuestPatchClassificationWindows(str, Enum, metaclass=CaseInsensitiveEnumMeta): - - CRITICAL = "Critical" - SECURITY = "Security" - UPDATE_ROLL_UP = "UpdateRollUp" - FEATURE_PACK = "FeaturePack" - SERVICE_PACK = "ServicePack" - DEFINITION = "Definition" - TOOLS = "Tools" - UPDATES = "Updates" - -class VMGuestPatchRebootSetting(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Defines when it is acceptable to reboot a VM during a software update operation. - """ - - IF_REQUIRED = "IfRequired" - NEVER = "Never" - ALWAYS = "Always" - -class VMGuestPatchRebootStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The reboot state of the VM following completion of the operation. - """ - - UNKNOWN = "Unknown" - NOT_NEEDED = "NotNeeded" - REQUIRED = "Required" - STARTED = "Started" - FAILED = "Failed" - COMPLETED = "Completed" diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_models_py3.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_models_py3.py deleted file mode 100644 index ef58bbce0cc..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_models_py3.py +++ /dev/null @@ -1,5263 +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 Any, Dict, List, Optional, TYPE_CHECKING, Union - -from azure.core.exceptions import HttpResponseError -import msrest.serialization - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - import __init__ as _models - - -class AvailablePatchCountByClassification(msrest.serialization.Model): - """Summarization of patches available for installation on the machine by classification. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar security: Number of security patches available for installation. - :vartype security: int - :ivar critical: Number of critical patches available for installation. - :vartype critical: int - :ivar definition: Number of definition patches available for installation. - :vartype definition: int - :ivar update_rollup: Number of update Rollup patches available for installation. - :vartype update_rollup: int - :ivar feature_pack: Number of feature pack patches available for installation. - :vartype feature_pack: int - :ivar service_pack: Number of service pack patches available for installation. - :vartype service_pack: int - :ivar tools: Number of tools patches available for installation. - :vartype tools: int - :ivar updates: Number of updates category patches available for installation. - :vartype updates: int - :ivar other: Number of other patches available for installation. - :vartype other: int - """ - - _validation = { - 'security': {'readonly': True}, - 'critical': {'readonly': True}, - 'definition': {'readonly': True}, - 'update_rollup': {'readonly': True}, - 'feature_pack': {'readonly': True}, - 'service_pack': {'readonly': True}, - 'tools': {'readonly': True}, - 'updates': {'readonly': True}, - 'other': {'readonly': True}, - } - - _attribute_map = { - 'security': {'key': 'security', 'type': 'int'}, - 'critical': {'key': 'critical', 'type': 'int'}, - 'definition': {'key': 'definition', 'type': 'int'}, - 'update_rollup': {'key': 'updateRollup', 'type': 'int'}, - 'feature_pack': {'key': 'featurePack', 'type': 'int'}, - 'service_pack': {'key': 'servicePack', 'type': 'int'}, - 'tools': {'key': 'tools', 'type': 'int'}, - 'updates': {'key': 'updates', 'type': 'int'}, - 'other': {'key': 'other', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(AvailablePatchCountByClassification, self).__init__(**kwargs) - self.security = None - self.critical = None - self.definition = None - self.update_rollup = None - self.feature_pack = None - self.service_pack = None - self.tools = None - self.updates = None - self.other = None - - -class Cluster(msrest.serialization.Model): - """Define the 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 location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this cluster - resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the cluster. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the cluster. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the cluster. - :vartype mo_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar datastore_ids: Gets or sets the datastore ARM ids. - :vartype datastore_ids: list[str] - :ivar network_ids: Gets or sets the network ARM ids. - :vartype network_ids: list[str] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'datastore_ids': {'readonly': True}, - 'network_ids': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'datastore_ids': {'key': 'properties.datastoreIds', 'type': '[str]'}, - 'network_ids': {'key': 'properties.networkIds', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this cluster - resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - cluster. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the cluster. - :paramtype inventory_item_id: str - """ - super(Cluster, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.statuses = None - self.custom_resource_name = None - self.datastore_ids = None - self.network_ids = None - self.provisioning_state = None - - -class InventoryItemProperties(msrest.serialization.Model): - """Defines the resource properties. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ClusterInventoryItem, DatastoreInventoryItem, HostInventoryItem, ResourcePoolInventoryItem, VirtualMachineInventoryItem, VirtualMachineTemplateInventoryItem, VirtualNetworkInventoryItem. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - _subtype_map = { - 'inventory_type': {'Cluster': 'ClusterInventoryItem', 'Datastore': 'DatastoreInventoryItem', 'Host': 'HostInventoryItem', 'ResourcePool': 'ResourcePoolInventoryItem', 'VirtualMachine': 'VirtualMachineInventoryItem', 'VirtualMachineTemplate': 'VirtualMachineTemplateInventoryItem', 'VirtualNetwork': 'VirtualNetworkInventoryItem'} - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - """ - super(InventoryItemProperties, self).__init__(**kwargs) - self.inventory_type = None # type: Optional[str] - self.managed_resource_id = managed_resource_id - self.mo_ref_id = mo_ref_id - self.mo_name = mo_name - self.provisioning_state = None - - -class ClusterInventoryItem(InventoryItemProperties): - """The cluster inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - """ - super(ClusterInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'Cluster' # type: str - - -class ClustersList(msrest.serialization.Model): - """List of Clusters. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of Clusters. - :vartype next_link: str - :ivar value: Required. Array of Clusters. - :vartype value: list[~azure.mgmt.connectedvmware.models.Cluster] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[Cluster]'}, - } - - def __init__( - self, - *, - value: List["_models.Cluster"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of Clusters. - :paramtype next_link: str - :keyword value: Required. Array of Clusters. - :paramtype value: list[~azure.mgmt.connectedvmware.models.Cluster] - """ - super(ClustersList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class Condition(msrest.serialization.Model): - """Condition defines an extension to status. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar status: Status of the condition. - :vartype status: str - :ivar reason: The reason for the condition's status. - :vartype reason: str - :ivar message: A human readable message indicating details about the status. - :vartype message: str - :ivar severity: Severity with which to treat failures of this type of condition. - :vartype severity: str - """ - - _validation = { - 'status': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - 'severity': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(Condition, self).__init__(**kwargs) - self.status = None - self.reason = None - self.message = None - self.severity = None - - -class Datastore(msrest.serialization.Model): - """Define the datastore. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this datastore - resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - datastore. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the datastore. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the datastore. - :vartype mo_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar provisioning_state: Provisioning state of the resource. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", "Created". - :vartype provisioning_state: str or ~azure.mgmt.connectedvmware.models.ProvisioningState - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this datastore - resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - datastore. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the datastore. - :paramtype inventory_item_id: str - """ - super(Datastore, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.statuses = None - self.custom_resource_name = None - self.provisioning_state = None - - -class DatastoreInventoryItem(InventoryItemProperties): - """The datastore inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar capacity_gb: Gets or sets Maximum capacity of this datastore, in GBs. - :vartype capacity_gb: long - :ivar free_space_gb: Gets or sets Available space of this datastore, in GBs. - :vartype free_space_gb: long - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'capacity_gb': {'key': 'capacityGB', 'type': 'long'}, - 'free_space_gb': {'key': 'freeSpaceGB', 'type': 'long'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - capacity_gb: Optional[int] = None, - free_space_gb: Optional[int] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - :keyword capacity_gb: Gets or sets Maximum capacity of this datastore, in GBs. - :paramtype capacity_gb: long - :keyword free_space_gb: Gets or sets Available space of this datastore, in GBs. - :paramtype free_space_gb: long - """ - super(DatastoreInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'Datastore' # type: str - self.capacity_gb = capacity_gb - self.free_space_gb = free_space_gb - - -class DatastoresList(msrest.serialization.Model): - """List of Datastores. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of Datastores. - :vartype next_link: str - :ivar value: Required. Array of Datastores. - :vartype value: list[~azure.mgmt.connectedvmware.models.Datastore] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[Datastore]'}, - } - - def __init__( - self, - *, - value: List["_models.Datastore"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of Datastores. - :paramtype next_link: str - :keyword value: Required. Array of Datastores. - :paramtype value: list[~azure.mgmt.connectedvmware.models.Datastore] - """ - super(DatastoresList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class ErrorDefinition(msrest.serialization.Model): - """Error definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: Service specific error code which serves as the substatus for the HTTP error code. - :vartype code: str - :ivar message: Description of the error. - :vartype message: str - :ivar details: Internal error details. - :vartype details: list[~azure.mgmt.connectedvmware.models.ErrorDefinition] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'details': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(ErrorDefinition, self).__init__(**kwargs) - self.code = None - self.message = None - self.details = None - - -class ErrorDetail(msrest.serialization.Model): - """Error details. - - All required parameters must be populated in order to send to Azure. - - :ivar code: Required. The error's code. - :vartype code: str - :ivar message: Required. A human readable error message. - :vartype message: str - :ivar target: Indicates which property in the request is responsible for the error. - :vartype target: str - :ivar details: Additional error details. - :vartype details: list[~azure.mgmt.connectedvmware.models.ErrorDetail] - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - } - - def __init__( - self, - *, - code: str, - message: str, - target: Optional[str] = None, - details: Optional[List["_models.ErrorDetail"]] = None, - **kwargs - ): - """ - :keyword code: Required. The error's code. - :paramtype code: str - :keyword message: Required. A human readable error message. - :paramtype message: str - :keyword target: Indicates which property in the request is responsible for the error. - :paramtype target: str - :keyword details: Additional error details. - :paramtype details: list[~azure.mgmt.connectedvmware.models.ErrorDetail] - """ - super(ErrorDetail, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class ErrorResponse(msrest.serialization.Model): - """Error response. - - :ivar error: The error details. - :vartype error: ~azure.mgmt.connectedvmware.models.ErrorDefinition - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__( - self, - *, - error: Optional["_models.ErrorDefinition"] = None, - **kwargs - ): - """ - :keyword error: The error details. - :paramtype error: ~azure.mgmt.connectedvmware.models.ErrorDefinition - """ - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ExtendedLocation(msrest.serialization.Model): - """The extended location. - - :ivar type: The extended location type. - :vartype type: str - :ivar name: The extended location name. - :vartype name: str - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - *, - type: Optional[str] = None, - name: Optional[str] = None, - **kwargs - ): - """ - :keyword type: The extended location type. - :paramtype type: str - :keyword name: The extended location name. - :paramtype name: str - """ - super(ExtendedLocation, self).__init__(**kwargs) - self.type = type - self.name = name - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for 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 GuestAgent(ProxyResource): - """Defines the GuestAgent. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar credentials: Username / Password Credentials to provision guest agent. - :vartype credentials: ~azure.mgmt.connectedvmware.models.GuestCredential - :ivar http_proxy_config: HTTP Proxy configuration for the VM. - :vartype http_proxy_config: ~azure.mgmt.connectedvmware.models.HttpProxyConfiguration - :ivar provisioning_action: Gets or sets the guest agent provisioning action. Known values are: - "install", "uninstall", "repair". - :vartype provisioning_action: str or ~azure.mgmt.connectedvmware.models.ProvisioningAction - :ivar status: Gets or sets the guest agent status. - :vartype status: str - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'uuid': {'readonly': True}, - 'status': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'credentials': {'key': 'properties.credentials', 'type': 'GuestCredential'}, - 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'HttpProxyConfiguration'}, - 'provisioning_action': {'key': 'properties.provisioningAction', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'str'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - credentials: Optional["_models.GuestCredential"] = None, - http_proxy_config: Optional["_models.HttpProxyConfiguration"] = None, - provisioning_action: Optional[Union[str, "_models.ProvisioningAction"]] = None, - **kwargs - ): - """ - :keyword credentials: Username / Password Credentials to provision guest agent. - :paramtype credentials: ~azure.mgmt.connectedvmware.models.GuestCredential - :keyword http_proxy_config: HTTP Proxy configuration for the VM. - :paramtype http_proxy_config: ~azure.mgmt.connectedvmware.models.HttpProxyConfiguration - :keyword provisioning_action: Gets or sets the guest agent provisioning action. Known values - are: "install", "uninstall", "repair". - :paramtype provisioning_action: str or ~azure.mgmt.connectedvmware.models.ProvisioningAction - """ - super(GuestAgent, self).__init__(**kwargs) - self.system_data = None - self.uuid = None - self.credentials = credentials - self.http_proxy_config = http_proxy_config - self.provisioning_action = provisioning_action - self.status = None - self.custom_resource_name = None - self.statuses = None - self.provisioning_state = None - - -class GuestAgentList(msrest.serialization.Model): - """List of GuestAgent. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of GuestAgent. - :vartype next_link: str - :ivar value: Required. Array of GuestAgent. - :vartype value: list[~azure.mgmt.connectedvmware.models.GuestAgent] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[GuestAgent]'}, - } - - def __init__( - self, - *, - value: List["_models.GuestAgent"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of GuestAgent. - :paramtype next_link: str - :keyword value: Required. Array of GuestAgent. - :paramtype value: list[~azure.mgmt.connectedvmware.models.GuestAgent] - """ - super(GuestAgentList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class GuestAgentProfile(msrest.serialization.Model): - """Defines the resource properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar vm_uuid: Specifies the VM's unique SMBIOS ID. - :vartype vm_uuid: str - :ivar status: The status of the hybrid machine agent. Known values are: "Connected", - "Disconnected", "Error". - :vartype status: str or ~azure.mgmt.connectedvmware.models.StatusTypes - :ivar last_status_change: The time of the last status change. - :vartype last_status_change: ~datetime.datetime - :ivar agent_version: The hybrid machine agent full version. - :vartype agent_version: str - :ivar error_details: Details about the error state. - :vartype error_details: list[~azure.mgmt.connectedvmware.models.ErrorDetail] - """ - - _validation = { - 'vm_uuid': {'readonly': True}, - 'status': {'readonly': True}, - 'last_status_change': {'readonly': True}, - 'agent_version': {'readonly': True}, - 'error_details': {'readonly': True}, - } - - _attribute_map = { - 'vm_uuid': {'key': 'vmUuid', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'last_status_change': {'key': 'lastStatusChange', 'type': 'iso-8601'}, - 'agent_version': {'key': 'agentVersion', 'type': 'str'}, - 'error_details': {'key': 'errorDetails', 'type': '[ErrorDetail]'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(GuestAgentProfile, self).__init__(**kwargs) - self.vm_uuid = None - self.status = None - self.last_status_change = None - self.agent_version = None - self.error_details = None - - -class GuestCredential(msrest.serialization.Model): - """Username / Password Credentials to connect to guest. - - :ivar username: Gets or sets username to connect with the guest. - :vartype username: str - :ivar password: Gets or sets the password to connect with the guest. - :vartype 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 - ): - """ - :keyword username: Gets or sets username to connect with the guest. - :paramtype username: str - :keyword password: Gets or sets the password to connect with the guest. - :paramtype password: str - """ - super(GuestCredential, self).__init__(**kwargs) - self.username = username - self.password = password - - -class HardwareProfile(msrest.serialization.Model): - """Defines the resource properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar memory_size_mb: Gets or sets memory size in MBs for the vm. - :vartype memory_size_mb: int - :ivar num_cp_us: Gets or sets the number of vCPUs for the vm. - :vartype num_cp_us: int - :ivar num_cores_per_socket: Gets or sets the number of cores per socket for the vm. Defaults to - 1 if unspecified. - :vartype num_cores_per_socket: int - :ivar cpu_hot_add_enabled: Gets or sets a value indicating whether virtual processors can be - added while this virtual machine is running. - :vartype cpu_hot_add_enabled: bool - :ivar cpu_hot_remove_enabled: Gets or sets a value indicating whether virtual processors can be - removed while this virtual machine is running. - :vartype cpu_hot_remove_enabled: bool - :ivar memory_hot_add_enabled: Gets or sets a value indicating whether memory can be added while - this virtual machine is running. - :vartype memory_hot_add_enabled: bool - """ - - _validation = { - 'cpu_hot_add_enabled': {'readonly': True}, - 'cpu_hot_remove_enabled': {'readonly': True}, - 'memory_hot_add_enabled': {'readonly': True}, - } - - _attribute_map = { - 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, - 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, - 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, - 'cpu_hot_add_enabled': {'key': 'cpuHotAddEnabled', 'type': 'bool'}, - 'cpu_hot_remove_enabled': {'key': 'cpuHotRemoveEnabled', 'type': 'bool'}, - 'memory_hot_add_enabled': {'key': 'memoryHotAddEnabled', 'type': 'bool'}, - } - - def __init__( - self, - *, - memory_size_mb: Optional[int] = None, - num_cp_us: Optional[int] = None, - num_cores_per_socket: Optional[int] = None, - **kwargs - ): - """ - :keyword memory_size_mb: Gets or sets memory size in MBs for the vm. - :paramtype memory_size_mb: int - :keyword num_cp_us: Gets or sets the number of vCPUs for the vm. - :paramtype num_cp_us: int - :keyword num_cores_per_socket: Gets or sets the number of cores per socket for the vm. Defaults - to 1 if unspecified. - :paramtype num_cores_per_socket: int - """ - super(HardwareProfile, self).__init__(**kwargs) - self.memory_size_mb = memory_size_mb - self.num_cp_us = num_cp_us - self.num_cores_per_socket = num_cores_per_socket - self.cpu_hot_add_enabled = None - self.cpu_hot_remove_enabled = None - self.memory_hot_add_enabled = None - - -class Host(msrest.serialization.Model): - """Define the host. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this host resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the host. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the host. - :vartype mo_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this host - resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the host. - :paramtype inventory_item_id: str - """ - super(Host, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.statuses = None - self.custom_resource_name = None - self.provisioning_state = None - - -class HostInventoryItem(InventoryItemProperties): - """The host inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar parent: Parent host inventory resource details. - :vartype parent: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'parent': {'key': 'parent', 'type': 'InventoryItemDetails'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - parent: Optional["_models.InventoryItemDetails"] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - :keyword parent: Parent host inventory resource details. - :paramtype parent: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - """ - super(HostInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'Host' # type: str - self.parent = parent - - -class HostsList(msrest.serialization.Model): - """List of Hosts. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of Hosts. - :vartype next_link: str - :ivar value: Required. Array of Hosts. - :vartype value: list[~azure.mgmt.connectedvmware.models.Host] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[Host]'}, - } - - def __init__( - self, - *, - value: List["_models.Host"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of Hosts. - :paramtype next_link: str - :keyword value: Required. Array of Hosts. - :paramtype value: list[~azure.mgmt.connectedvmware.models.Host] - """ - super(HostsList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class HttpProxyConfiguration(msrest.serialization.Model): - """HTTP Proxy configuration for the VM. - - :ivar https_proxy: Gets or sets httpsProxy url. - :vartype https_proxy: str - """ - - _attribute_map = { - 'https_proxy': {'key': 'httpsProxy', 'type': 'str'}, - } - - def __init__( - self, - *, - https_proxy: Optional[str] = None, - **kwargs - ): - """ - :keyword https_proxy: Gets or sets httpsProxy url. - :paramtype https_proxy: str - """ - super(HttpProxyConfiguration, self).__init__(**kwargs) - self.https_proxy = https_proxy - - -class HybridIdentityMetadata(ProxyResource): - """Defines the HybridIdentityMetadata. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar vm_id: Gets or sets the Vm Id. - :vartype vm_id: str - :ivar public_key: Gets or sets the Public Key. - :vartype public_key: str - :ivar identity: The identity of the resource. - :vartype identity: ~azure.mgmt.connectedvmware.models.Identity - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'identity': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, - 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, - 'identity': {'key': 'properties.identity', 'type': 'Identity'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - vm_id: Optional[str] = None, - public_key: Optional[str] = None, - **kwargs - ): - """ - :keyword vm_id: Gets or sets the Vm Id. - :paramtype vm_id: str - :keyword public_key: Gets or sets the Public Key. - :paramtype public_key: str - """ - super(HybridIdentityMetadata, self).__init__(**kwargs) - self.system_data = None - self.vm_id = vm_id - self.public_key = public_key - self.identity = None - self.provisioning_state = None - - -class HybridIdentityMetadataList(msrest.serialization.Model): - """List of HybridIdentityMetadata. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of HybridIdentityMetadata. - :vartype next_link: str - :ivar value: Required. Array of HybridIdentityMetadata. - :vartype value: list[~azure.mgmt.connectedvmware.models.HybridIdentityMetadata] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[HybridIdentityMetadata]'}, - } - - def __init__( - self, - *, - value: List["_models.HybridIdentityMetadata"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of HybridIdentityMetadata. - :paramtype next_link: str - :keyword value: Required. Array of HybridIdentityMetadata. - :paramtype value: list[~azure.mgmt.connectedvmware.models.HybridIdentityMetadata] - """ - super(HybridIdentityMetadataList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class Identity(msrest.serialization.Model): - """Managed service identity. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar principal_id: The principal id of managed service identity. - :vartype principal_id: str - :ivar tenant_id: The tenant of managed service identity. - :vartype tenant_id: str - :ivar type: Required. The type of managed service identity. Known values are: "None", - "SystemAssigned". - :vartype type: str or ~azure.mgmt.connectedvmware.models.IdentityType - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - *, - type: Union[str, "_models.IdentityType"], - **kwargs - ): - """ - :keyword type: Required. The type of managed service identity. Known values are: "None", - "SystemAssigned". - :paramtype type: str or ~azure.mgmt.connectedvmware.models.IdentityType - """ - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - - -class InventoryItem(ProxyResource): - """Defines the inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'inventory_type': {'key': 'properties.inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'properties.managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - kind: Optional[str] = None, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - **kwargs - ): - """ - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - """ - super(InventoryItem, self).__init__(**kwargs) - self.system_data = None - self.kind = kind - self.inventory_type = None # type: Optional[str] - self.managed_resource_id = managed_resource_id - self.mo_ref_id = mo_ref_id - self.mo_name = mo_name - self.provisioning_state = None - - -class InventoryItemDetails(msrest.serialization.Model): - """Defines the resource properties. - - :ivar inventory_item_id: Gets or sets the inventory Item ID for the resource. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the resource. - :vartype mo_name: str - """ - - _attribute_map = { - 'inventory_item_id': {'key': 'inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - } - - def __init__( - self, - *, - inventory_item_id: Optional[str] = None, - mo_name: Optional[str] = None, - **kwargs - ): - """ - :keyword inventory_item_id: Gets or sets the inventory Item ID for the resource. - :paramtype inventory_item_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the resource. - :paramtype mo_name: str - """ - super(InventoryItemDetails, self).__init__(**kwargs) - self.inventory_item_id = inventory_item_id - self.mo_name = mo_name - - -class InventoryItemsList(msrest.serialization.Model): - """List of InventoryItems. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of InventoryItems. - :vartype next_link: str - :ivar value: Required. Array of InventoryItems. - :vartype value: list[~azure.mgmt.connectedvmware.models.InventoryItem] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[InventoryItem]'}, - } - - def __init__( - self, - *, - value: List["_models.InventoryItem"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of InventoryItems. - :paramtype next_link: str - :keyword value: Required. Array of InventoryItems. - :paramtype value: list[~azure.mgmt.connectedvmware.models.InventoryItem] - """ - super(InventoryItemsList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class LinuxParameters(msrest.serialization.Model): - """Input for InstallPatches on a Linux VM, as directly received by the API. - - :ivar classifications_to_include: The update classifications to select when installing patches - for Linux. - :vartype classifications_to_include: list[str or - ~azure.mgmt.connectedvmware.models.VMGuestPatchClassificationLinux] - :ivar package_name_masks_to_include: packages to include in the patch operation. Format: - packageName_packageVersion. - :vartype package_name_masks_to_include: list[str] - :ivar package_name_masks_to_exclude: packages to exclude in the patch operation. Format: - packageName_packageVersion. - :vartype package_name_masks_to_exclude: list[str] - """ - - _attribute_map = { - 'classifications_to_include': {'key': 'classificationsToInclude', 'type': '[str]'}, - 'package_name_masks_to_include': {'key': 'packageNameMasksToInclude', 'type': '[str]'}, - 'package_name_masks_to_exclude': {'key': 'packageNameMasksToExclude', 'type': '[str]'}, - } - - def __init__( - self, - *, - classifications_to_include: Optional[List[Union[str, "_models.VMGuestPatchClassificationLinux"]]] = None, - package_name_masks_to_include: Optional[List[str]] = None, - package_name_masks_to_exclude: Optional[List[str]] = None, - **kwargs - ): - """ - :keyword classifications_to_include: The update classifications to select when installing - patches for Linux. - :paramtype classifications_to_include: list[str or - ~azure.mgmt.connectedvmware.models.VMGuestPatchClassificationLinux] - :keyword package_name_masks_to_include: packages to include in the patch operation. Format: - packageName_packageVersion. - :paramtype package_name_masks_to_include: list[str] - :keyword package_name_masks_to_exclude: packages to exclude in the patch operation. Format: - packageName_packageVersion. - :paramtype package_name_masks_to_exclude: list[str] - """ - super(LinuxParameters, self).__init__(**kwargs) - self.classifications_to_include = classifications_to_include - self.package_name_masks_to_include = package_name_masks_to_include - self.package_name_masks_to_exclude = package_name_masks_to_exclude - - -class MachineExtension(msrest.serialization.Model): - """Describes a Machine Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar location: Gets or sets the location. - :vartype location: str - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :vartype force_update_tag: str - :ivar publisher: The name of the extension handler publisher. - :vartype publisher: str - :ivar type_properties_type: Specifies the type of the extension; an example is - "CustomScriptExtension". - :vartype type_properties_type: str - :ivar type_handler_version: Specifies the version of the script handler. - :vartype type_handler_version: str - :ivar enable_automatic_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :vartype enable_automatic_upgrade: bool - :ivar auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :vartype auto_upgrade_minor_version: bool - :ivar settings: Json formatted public settings for the extension. - :vartype settings: any - :ivar protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :vartype protected_settings: any - :ivar provisioning_state: The provisioning state, which only appears in the response. - :vartype provisioning_state: str - :ivar instance_view: The machine extension instance view. - :vartype instance_view: - ~azure.mgmt.connectedvmware.models.MachineExtensionPropertiesInstanceView - """ - - _validation = { - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'properties.publisher', 'type': 'str'}, - 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, - 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, - 'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': 'object'}, - 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'instance_view': {'key': 'properties.instanceView', 'type': 'MachineExtensionPropertiesInstanceView'}, - } - - def __init__( - self, - *, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, - force_update_tag: Optional[str] = None, - publisher: Optional[str] = None, - type_properties_type: Optional[str] = None, - type_handler_version: Optional[str] = None, - enable_automatic_upgrade: Optional[bool] = None, - auto_upgrade_minor_version: Optional[bool] = None, - settings: Optional[Any] = None, - protected_settings: Optional[Any] = None, - instance_view: Optional["_models.MachineExtensionPropertiesInstanceView"] = None, - **kwargs - ): - """ - :keyword location: Gets or sets the location. - :paramtype location: str - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :paramtype force_update_tag: str - :keyword publisher: The name of the extension handler publisher. - :paramtype publisher: str - :keyword type_properties_type: Specifies the type of the extension; an example is - "CustomScriptExtension". - :paramtype type_properties_type: str - :keyword type_handler_version: Specifies the version of the script handler. - :paramtype type_handler_version: str - :keyword enable_automatic_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :paramtype enable_automatic_upgrade: bool - :keyword auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :paramtype auto_upgrade_minor_version: bool - :keyword settings: Json formatted public settings for the extension. - :paramtype settings: any - :keyword protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :paramtype protected_settings: any - :keyword instance_view: The machine extension instance view. - :paramtype instance_view: - ~azure.mgmt.connectedvmware.models.MachineExtensionPropertiesInstanceView - """ - super(MachineExtension, self).__init__(**kwargs) - self.location = location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.force_update_tag = force_update_tag - self.publisher = publisher - self.type_properties_type = type_properties_type - self.type_handler_version = type_handler_version - self.enable_automatic_upgrade = enable_automatic_upgrade - self.auto_upgrade_minor_version = auto_upgrade_minor_version - self.settings = settings - self.protected_settings = protected_settings - self.provisioning_state = None - self.instance_view = instance_view - - -class MachineExtensionInstanceView(msrest.serialization.Model): - """Describes the Machine Extension Instance View. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The machine extension name. - :vartype name: str - :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". - :vartype type: str - :ivar type_handler_version: Specifies the version of the script handler. - :vartype type_handler_version: str - :ivar status: Instance view status. - :vartype status: ~azure.mgmt.connectedvmware.models.MachineExtensionInstanceViewStatus - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'type_handler_version': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, - } - - def __init__( - self, - *, - status: Optional["_models.MachineExtensionInstanceViewStatus"] = None, - **kwargs - ): - """ - :keyword status: Instance view status. - :paramtype status: ~azure.mgmt.connectedvmware.models.MachineExtensionInstanceViewStatus - """ - super(MachineExtensionInstanceView, self).__init__(**kwargs) - self.name = None - self.type = None - self.type_handler_version = None - self.status = status - - -class MachineExtensionInstanceViewStatus(msrest.serialization.Model): - """Instance view status. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The status code. - :vartype code: str - :ivar level: The level code. Known values are: "Info", "Warning", "Error". - :vartype level: str or ~azure.mgmt.connectedvmware.models.StatusLevelTypes - :ivar display_status: The short localizable label for the status. - :vartype display_status: str - :ivar message: The detailed status message, including for alerts and error messages. - :vartype message: str - :ivar time: The time of the status. - :vartype time: ~datetime.datetime - """ - - _validation = { - 'code': {'readonly': True}, - 'level': {'readonly': True}, - 'display_status': {'readonly': True}, - 'message': {'readonly': True}, - 'time': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs) - self.code = None - self.level = None - self.display_status = None - self.message = None - self.time = None - - -class MachineExtensionPropertiesInstanceView(MachineExtensionInstanceView): - """The machine extension instance view. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The machine extension name. - :vartype name: str - :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". - :vartype type: str - :ivar type_handler_version: Specifies the version of the script handler. - :vartype type_handler_version: str - :ivar status: Instance view status. - :vartype status: ~azure.mgmt.connectedvmware.models.MachineExtensionInstanceViewStatus - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'type_handler_version': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, - } - - def __init__( - self, - *, - status: Optional["_models.MachineExtensionInstanceViewStatus"] = None, - **kwargs - ): - """ - :keyword status: Instance view status. - :paramtype status: ~azure.mgmt.connectedvmware.models.MachineExtensionInstanceViewStatus - """ - super(MachineExtensionPropertiesInstanceView, self).__init__(status=status, **kwargs) - - -class MachineExtensionsListResult(msrest.serialization.Model): - """Describes the Machine Extensions List Result. - - :ivar value: The list of extensions. - :vartype value: list[~azure.mgmt.connectedvmware.models.MachineExtension] - :ivar next_link: The uri to fetch the next page of machine extensions. Call ListNext() with - this to fetch the next page of extensions. - :vartype next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MachineExtension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["_models.MachineExtension"]] = None, - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword value: The list of extensions. - :paramtype value: list[~azure.mgmt.connectedvmware.models.MachineExtension] - :keyword next_link: The uri to fetch the next page of machine extensions. Call ListNext() with - this to fetch the next page of extensions. - :paramtype next_link: str - """ - super(MachineExtensionsListResult, self).__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class ResourcePatch(msrest.serialization.Model): - """Object containing updates 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(ResourcePatch, self).__init__(**kwargs) - self.tags = tags - - -class MachineExtensionUpdate(ResourcePatch): - """Describes a Machine Extension Update. - - :ivar tags: A set of tags. Resource tags. - :vartype tags: dict[str, str] - :ivar force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :vartype force_update_tag: str - :ivar publisher: The name of the extension handler publisher. - :vartype publisher: str - :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". - :vartype type: str - :ivar type_handler_version: Specifies the version of the script handler. - :vartype type_handler_version: str - :ivar enable_automatic_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :vartype enable_automatic_upgrade: bool - :ivar auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :vartype auto_upgrade_minor_version: bool - :ivar settings: Json formatted public settings for the extension. - :vartype settings: any - :ivar protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :vartype protected_settings: any - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, - 'publisher': {'key': 'properties.publisher', 'type': 'str'}, - 'type': {'key': 'properties.type', 'type': 'str'}, - 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, - 'enable_automatic_upgrade': {'key': 'properties.enableAutomaticUpgrade', 'type': 'bool'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': 'object'}, - 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, - } - - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - force_update_tag: Optional[str] = None, - publisher: Optional[str] = None, - type: Optional[str] = None, - type_handler_version: Optional[str] = None, - enable_automatic_upgrade: Optional[bool] = None, - auto_upgrade_minor_version: Optional[bool] = None, - settings: Optional[Any] = None, - protected_settings: Optional[Any] = None, - **kwargs - ): - """ - :keyword tags: A set of tags. Resource tags. - :paramtype tags: dict[str, str] - :keyword force_update_tag: How the extension handler should be forced to update even if the - extension configuration has not changed. - :paramtype force_update_tag: str - :keyword publisher: The name of the extension handler publisher. - :paramtype publisher: str - :keyword type: Specifies the type of the extension; an example is "CustomScriptExtension". - :paramtype type: str - :keyword type_handler_version: Specifies the version of the script handler. - :paramtype type_handler_version: str - :keyword enable_automatic_upgrade: Indicates whether the extension should be automatically - upgraded by the platform if there is a newer version available. - :paramtype enable_automatic_upgrade: bool - :keyword auto_upgrade_minor_version: Indicates whether the extension should use a newer minor - version if one is available at deployment time. Once deployed, however, the extension will not - upgrade minor versions unless redeployed, even with this property set to true. - :paramtype auto_upgrade_minor_version: bool - :keyword settings: Json formatted public settings for the extension. - :paramtype settings: any - :keyword protected_settings: The extension can contain either protectedSettings or - protectedSettingsFromKeyVault or no protected settings at all. - :paramtype protected_settings: any - """ - super(MachineExtensionUpdate, self).__init__(tags=tags, **kwargs) - self.force_update_tag = force_update_tag - self.publisher = publisher - self.type = type - self.type_handler_version = type_handler_version - self.enable_automatic_upgrade = enable_automatic_upgrade - self.auto_upgrade_minor_version = auto_upgrade_minor_version - self.settings = settings - self.protected_settings = protected_settings - - -class NetworkInterface(msrest.serialization.Model): - """Network Interface model. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: Gets or sets the name of the network interface. - :vartype name: str - :ivar label: Gets or sets the label of the virtual network in vCenter that the nic is connected - to. - :vartype label: str - :ivar ip_addresses: Gets or sets the nic ip addresses. - :vartype ip_addresses: list[str] - :ivar mac_address: Gets or sets the NIC MAC address. - :vartype mac_address: str - :ivar network_id: Gets or sets the ARM Id of the network resource to connect the virtual - machine. - :vartype network_id: str - :ivar nic_type: NIC type. Known values are: "vmxnet3", "vmxnet2", "vmxnet", "e1000", "e1000e", - "pcnet32". - :vartype nic_type: str or ~azure.mgmt.connectedvmware.models.NICType - :ivar power_on_boot: Gets or sets the power on boot. Known values are: "enabled", "disabled". - :vartype power_on_boot: str or ~azure.mgmt.connectedvmware.models.PowerOnBootOption - :ivar network_mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID of the - virtual network - that the nic is connected to. - :vartype network_mo_ref_id: str - :ivar network_mo_name: Gets or sets the name of the virtual network in vCenter that the nic is - connected to. - :vartype network_mo_name: str - :ivar device_key: Gets or sets the device key value. - :vartype device_key: int - :ivar ip_settings: Gets or sets the ipsettings. - :vartype ip_settings: ~azure.mgmt.connectedvmware.models.NicIPSettings - """ - - _validation = { - 'label': {'readonly': True}, - 'ip_addresses': {'readonly': True}, - 'mac_address': {'readonly': True}, - 'network_mo_ref_id': {'readonly': True}, - 'network_mo_name': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, - 'mac_address': {'key': 'macAddress', 'type': 'str'}, - 'network_id': {'key': 'networkId', 'type': 'str'}, - 'nic_type': {'key': 'nicType', 'type': 'str'}, - 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, - 'network_mo_ref_id': {'key': 'networkMoRefId', 'type': 'str'}, - 'network_mo_name': {'key': 'networkMoName', 'type': 'str'}, - 'device_key': {'key': 'deviceKey', 'type': 'int'}, - 'ip_settings': {'key': 'ipSettings', 'type': 'NicIPSettings'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - network_id: Optional[str] = None, - nic_type: Optional[Union[str, "_models.NICType"]] = None, - power_on_boot: Optional[Union[str, "_models.PowerOnBootOption"]] = None, - device_key: Optional[int] = None, - ip_settings: Optional["_models.NicIPSettings"] = None, - **kwargs - ): - """ - :keyword name: Gets or sets the name of the network interface. - :paramtype name: str - :keyword network_id: Gets or sets the ARM Id of the network resource to connect the virtual - machine. - :paramtype network_id: str - :keyword nic_type: NIC type. Known values are: "vmxnet3", "vmxnet2", "vmxnet", "e1000", - "e1000e", "pcnet32". - :paramtype nic_type: str or ~azure.mgmt.connectedvmware.models.NICType - :keyword power_on_boot: Gets or sets the power on boot. Known values are: "enabled", - "disabled". - :paramtype power_on_boot: str or ~azure.mgmt.connectedvmware.models.PowerOnBootOption - :keyword device_key: Gets or sets the device key value. - :paramtype device_key: int - :keyword ip_settings: Gets or sets the ipsettings. - :paramtype ip_settings: ~azure.mgmt.connectedvmware.models.NicIPSettings - """ - super(NetworkInterface, self).__init__(**kwargs) - self.name = name - self.label = None - self.ip_addresses = None - self.mac_address = None - self.network_id = network_id - self.nic_type = nic_type - self.power_on_boot = power_on_boot - self.network_mo_ref_id = None - self.network_mo_name = None - self.device_key = device_key - self.ip_settings = ip_settings - - -class NetworkInterfaceUpdate(msrest.serialization.Model): - """Defines the network interface update. - - :ivar name: Gets or sets the name of the network interface. - :vartype name: str - :ivar network_id: Gets or sets the ARM Id of the network resource to connect the virtual - machine. - :vartype network_id: str - :ivar nic_type: NIC type. Known values are: "vmxnet3", "vmxnet2", "vmxnet", "e1000", "e1000e", - "pcnet32". - :vartype nic_type: str or ~azure.mgmt.connectedvmware.models.NICType - :ivar power_on_boot: Gets or sets the power on boot. Known values are: "enabled", "disabled". - :vartype power_on_boot: str or ~azure.mgmt.connectedvmware.models.PowerOnBootOption - :ivar device_key: Gets or sets the device key value. - :vartype device_key: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'network_id': {'key': 'networkId', 'type': 'str'}, - 'nic_type': {'key': 'nicType', 'type': 'str'}, - 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, - 'device_key': {'key': 'deviceKey', 'type': 'int'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - network_id: Optional[str] = None, - nic_type: Optional[Union[str, "_models.NICType"]] = None, - power_on_boot: Optional[Union[str, "_models.PowerOnBootOption"]] = None, - device_key: Optional[int] = None, - **kwargs - ): - """ - :keyword name: Gets or sets the name of the network interface. - :paramtype name: str - :keyword network_id: Gets or sets the ARM Id of the network resource to connect the virtual - machine. - :paramtype network_id: str - :keyword nic_type: NIC type. Known values are: "vmxnet3", "vmxnet2", "vmxnet", "e1000", - "e1000e", "pcnet32". - :paramtype nic_type: str or ~azure.mgmt.connectedvmware.models.NICType - :keyword power_on_boot: Gets or sets the power on boot. Known values are: "enabled", - "disabled". - :paramtype power_on_boot: str or ~azure.mgmt.connectedvmware.models.PowerOnBootOption - :keyword device_key: Gets or sets the device key value. - :paramtype device_key: int - """ - super(NetworkInterfaceUpdate, self).__init__(**kwargs) - self.name = name - self.network_id = network_id - self.nic_type = nic_type - self.power_on_boot = power_on_boot - self.device_key = device_key - - -class NetworkProfile(msrest.serialization.Model): - """Defines the resource properties. - - :ivar network_interfaces: Gets or sets the list of network interfaces associated with the - virtual machine. - :vartype network_interfaces: list[~azure.mgmt.connectedvmware.models.NetworkInterface] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterface]'}, - } - - def __init__( - self, - *, - network_interfaces: Optional[List["_models.NetworkInterface"]] = None, - **kwargs - ): - """ - :keyword network_interfaces: Gets or sets the list of network interfaces associated with the - virtual machine. - :paramtype network_interfaces: list[~azure.mgmt.connectedvmware.models.NetworkInterface] - """ - super(NetworkProfile, self).__init__(**kwargs) - self.network_interfaces = network_interfaces - - -class NetworkProfileUpdate(msrest.serialization.Model): - """Defines the update resource properties. - - :ivar network_interfaces: Gets or sets the list of network interfaces associated with the - virtual machine. - :vartype network_interfaces: list[~azure.mgmt.connectedvmware.models.NetworkInterfaceUpdate] - """ - - _attribute_map = { - 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceUpdate]'}, - } - - def __init__( - self, - *, - network_interfaces: Optional[List["_models.NetworkInterfaceUpdate"]] = None, - **kwargs - ): - """ - :keyword network_interfaces: Gets or sets the list of network interfaces associated with the - virtual machine. - :paramtype network_interfaces: list[~azure.mgmt.connectedvmware.models.NetworkInterfaceUpdate] - """ - super(NetworkProfileUpdate, self).__init__(**kwargs) - self.network_interfaces = network_interfaces - - -class NicIPAddressSettings(msrest.serialization.Model): - """IP address information for a virtual network adapter reported by the fabric. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar allocation_method: Gets the ip address allocation method. - :vartype allocation_method: str - :ivar ip_address: Gets the ip address for the nic. - :vartype ip_address: str - :ivar subnet_mask: Gets the mask. - :vartype subnet_mask: str - """ - - _validation = { - 'allocation_method': {'readonly': True}, - 'ip_address': {'readonly': True}, - 'subnet_mask': {'readonly': True}, - } - - _attribute_map = { - 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(NicIPAddressSettings, self).__init__(**kwargs) - self.allocation_method = None - self.ip_address = None - self.subnet_mask = None - - -class NicIPSettings(msrest.serialization.Model): - """Defines the network interface ip settings. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar allocation_method: Gets or sets the nic allocation method. Known values are: "unset", - "dynamic", "static", "linklayer", "random", "other". - :vartype allocation_method: str or ~azure.mgmt.connectedvmware.models.IPAddressAllocationMethod - :ivar dns_servers: Gets or sets the dns servers. - :vartype dns_servers: list[str] - :ivar gateway: Gets or sets the gateway. - :vartype gateway: list[str] - :ivar ip_address: Gets or sets the ip address for the nic. - :vartype ip_address: str - :ivar subnet_mask: Gets or sets the mask. - :vartype subnet_mask: str - :ivar primary_wins_server: Gets or sets the primary server. - :vartype primary_wins_server: str - :ivar secondary_wins_server: Gets or sets the secondary server. - :vartype secondary_wins_server: str - :ivar ip_address_info: Gets or sets the IP address information being reported for this NIC. - This contains the same IPv4 information above plus IPV6 information. - :vartype ip_address_info: list[~azure.mgmt.connectedvmware.models.NicIPAddressSettings] - """ - - _validation = { - 'primary_wins_server': {'readonly': True}, - 'secondary_wins_server': {'readonly': True}, - 'ip_address_info': {'readonly': True}, - } - - _attribute_map = { - 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, - 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, - 'gateway': {'key': 'gateway', 'type': '[str]'}, - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, - 'primary_wins_server': {'key': 'primaryWinsServer', 'type': 'str'}, - 'secondary_wins_server': {'key': 'secondaryWinsServer', 'type': 'str'}, - 'ip_address_info': {'key': 'ipAddressInfo', 'type': '[NicIPAddressSettings]'}, - } - - def __init__( - self, - *, - allocation_method: Optional[Union[str, "_models.IPAddressAllocationMethod"]] = None, - dns_servers: Optional[List[str]] = None, - gateway: Optional[List[str]] = None, - ip_address: Optional[str] = None, - subnet_mask: Optional[str] = None, - **kwargs - ): - """ - :keyword allocation_method: Gets or sets the nic allocation method. Known values are: "unset", - "dynamic", "static", "linklayer", "random", "other". - :paramtype allocation_method: str or - ~azure.mgmt.connectedvmware.models.IPAddressAllocationMethod - :keyword dns_servers: Gets or sets the dns servers. - :paramtype dns_servers: list[str] - :keyword gateway: Gets or sets the gateway. - :paramtype gateway: list[str] - :keyword ip_address: Gets or sets the ip address for the nic. - :paramtype ip_address: str - :keyword subnet_mask: Gets or sets the mask. - :paramtype subnet_mask: str - """ - super(NicIPSettings, self).__init__(**kwargs) - self.allocation_method = allocation_method - self.dns_servers = dns_servers - self.gateway = gateway - self.ip_address = ip_address - self.subnet_mask = subnet_mask - self.primary_wins_server = None - self.secondary_wins_server = None - self.ip_address_info = None - - -class Operation(msrest.serialization.Model): - """Operation provided by provider. - - :ivar name: Name of the operation. - :vartype name: str - :ivar is_data_action: Indicates whether the operation is data action or not. - :vartype is_data_action: bool - :ivar display: Properties of the operation. - :vartype display: ~azure.mgmt.connectedvmware.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - is_data_action: Optional[bool] = None, - display: Optional["_models.OperationDisplay"] = None, - **kwargs - ): - """ - :keyword name: Name of the operation. - :paramtype name: str - :keyword is_data_action: Indicates whether the operation is data action or not. - :paramtype is_data_action: bool - :keyword display: Properties of the operation. - :paramtype display: ~azure.mgmt.connectedvmware.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): - """Properties of the operation. - - :ivar provider: Provider name. - :vartype provider: str - :ivar resource: Resource name. - :vartype resource: str - :ivar operation: Operation name. - :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: Provider name. - :paramtype provider: str - :keyword resource: Resource name. - :paramtype resource: str - :keyword operation: Operation name. - :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 OperationsList(msrest.serialization.Model): - """Lists the operations available. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of operations. - :vartype next_link: str - :ivar value: Required. Array of operations. - :vartype value: list[~azure.mgmt.connectedvmware.models.Operation] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[Operation]'}, - } - - def __init__( - self, - *, - value: List["_models.Operation"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of operations. - :paramtype next_link: str - :keyword value: Required. Array of operations. - :paramtype value: list[~azure.mgmt.connectedvmware.models.Operation] - """ - super(OperationsList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class OsProfile(msrest.serialization.Model): - """Defines the resource properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar computer_name: Gets or sets computer name. - :vartype computer_name: str - :ivar admin_username: Gets or sets administrator username. - :vartype admin_username: str - :ivar admin_password: Gets or sets administrator password. - :vartype admin_password: str - :ivar guest_id: Gets or sets the guestId. - :vartype guest_id: str - :ivar allow_extension_operations: Gets or sets a value indicating whether the VM is ready for - extension operations. - :vartype allow_extension_operations: bool - :ivar os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", "Other". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :ivar os_name: Gets or sets os name. - :vartype os_name: str - :ivar tools_running_status: Gets or sets the current running status of VMware Tools running in - the guest operating system. - :vartype tools_running_status: str - :ivar tools_version_status: Gets or sets the current version status of VMware Tools installed - in the guest operating system. - :vartype tools_version_status: str - :ivar tools_version: Gets or sets the current version of VMware Tools. - :vartype tools_version: str - :ivar windows_configuration: Specifies the windows configuration for update management. - :vartype windows_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileWindowsConfiguration - :ivar linux_configuration: Specifies the linux configuration for update management. - :vartype linux_configuration: ~azure.mgmt.connectedvmware.models.OsProfileLinuxConfiguration - """ - - _validation = { - 'allow_extension_operations': {'readonly': True}, - 'os_name': {'readonly': True}, - 'tools_running_status': {'readonly': True}, - 'tools_version_status': {'readonly': True}, - 'tools_version': {'readonly': True}, - } - - _attribute_map = { - 'computer_name': {'key': 'computerName', 'type': 'str'}, - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'guest_id': {'key': 'guestId', 'type': 'str'}, - 'allow_extension_operations': {'key': 'allowExtensionOperations', 'type': 'bool'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_name': {'key': 'osName', 'type': 'str'}, - 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, - 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, - 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, - 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'OsProfileWindowsConfiguration'}, - 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'OsProfileLinuxConfiguration'}, - } - - def __init__( - self, - *, - computer_name: Optional[str] = None, - admin_username: Optional[str] = None, - admin_password: Optional[str] = None, - guest_id: Optional[str] = None, - os_type: Optional[Union[str, "_models.OsType"]] = None, - windows_configuration: Optional["_models.OsProfileWindowsConfiguration"] = None, - linux_configuration: Optional["_models.OsProfileLinuxConfiguration"] = None, - **kwargs - ): - """ - :keyword computer_name: Gets or sets computer name. - :paramtype computer_name: str - :keyword admin_username: Gets or sets administrator username. - :paramtype admin_username: str - :keyword admin_password: Gets or sets administrator password. - :paramtype admin_password: str - :keyword guest_id: Gets or sets the guestId. - :paramtype guest_id: str - :keyword os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", - "Other". - :paramtype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :keyword windows_configuration: Specifies the windows configuration for update management. - :paramtype windows_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileWindowsConfiguration - :keyword linux_configuration: Specifies the linux configuration for update management. - :paramtype linux_configuration: ~azure.mgmt.connectedvmware.models.OsProfileLinuxConfiguration - """ - super(OsProfile, self).__init__(**kwargs) - self.computer_name = computer_name - self.admin_username = admin_username - self.admin_password = admin_password - self.guest_id = guest_id - self.allow_extension_operations = None - self.os_type = os_type - self.os_name = None - self.tools_running_status = None - self.tools_version_status = None - self.tools_version = None - self.windows_configuration = windows_configuration - self.linux_configuration = linux_configuration - - -class OsProfileLinuxConfiguration(msrest.serialization.Model): - """Specifies the linux configuration for update management. - - :ivar assessment_mode: Specifies the assessment mode. - :vartype assessment_mode: str - :ivar patch_mode: Specifies the patch mode. - :vartype patch_mode: str - """ - - _attribute_map = { - 'assessment_mode': {'key': 'patchSettings.assessmentMode', 'type': 'str'}, - 'patch_mode': {'key': 'patchSettings.patchMode', 'type': 'str'}, - } - - def __init__( - self, - *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None, - **kwargs - ): - """ - :keyword assessment_mode: Specifies the assessment mode. - :paramtype assessment_mode: str - :keyword patch_mode: Specifies the patch mode. - :paramtype patch_mode: str - """ - super(OsProfileLinuxConfiguration, self).__init__(**kwargs) - self.assessment_mode = assessment_mode - self.patch_mode = patch_mode - - -class OsProfileUpdate(msrest.serialization.Model): - """Defines the os update properties. - - :ivar windows_configuration: Specifies the windows configuration for update management. - :vartype windows_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileUpdateWindowsConfiguration - :ivar linux_configuration: Specifies the linux configuration for update management. - :vartype linux_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileUpdateLinuxConfiguration - """ - - _attribute_map = { - 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'OsProfileUpdateWindowsConfiguration'}, - 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'OsProfileUpdateLinuxConfiguration'}, - } - - def __init__( - self, - *, - windows_configuration: Optional["_models.OsProfileUpdateWindowsConfiguration"] = None, - linux_configuration: Optional["_models.OsProfileUpdateLinuxConfiguration"] = None, - **kwargs - ): - """ - :keyword windows_configuration: Specifies the windows configuration for update management. - :paramtype windows_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileUpdateWindowsConfiguration - :keyword linux_configuration: Specifies the linux configuration for update management. - :paramtype linux_configuration: - ~azure.mgmt.connectedvmware.models.OsProfileUpdateLinuxConfiguration - """ - super(OsProfileUpdate, self).__init__(**kwargs) - self.windows_configuration = windows_configuration - self.linux_configuration = linux_configuration - - -class OsProfileUpdateLinuxConfiguration(msrest.serialization.Model): - """Specifies the linux configuration for update management. - - :ivar assessment_mode: Specifies the assessment mode. - :vartype assessment_mode: str - :ivar patch_mode: Specifies the patch mode. - :vartype patch_mode: str - """ - - _attribute_map = { - 'assessment_mode': {'key': 'patchSettings.assessmentMode', 'type': 'str'}, - 'patch_mode': {'key': 'patchSettings.patchMode', 'type': 'str'}, - } - - def __init__( - self, - *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None, - **kwargs - ): - """ - :keyword assessment_mode: Specifies the assessment mode. - :paramtype assessment_mode: str - :keyword patch_mode: Specifies the patch mode. - :paramtype patch_mode: str - """ - super(OsProfileUpdateLinuxConfiguration, self).__init__(**kwargs) - self.assessment_mode = assessment_mode - self.patch_mode = patch_mode - - -class OsProfileUpdateWindowsConfiguration(msrest.serialization.Model): - """Specifies the windows configuration for update management. - - :ivar assessment_mode: Specifies the assessment mode. - :vartype assessment_mode: str - :ivar patch_mode: Specifies the patch mode. - :vartype patch_mode: str - """ - - _attribute_map = { - 'assessment_mode': {'key': 'patchSettings.assessmentMode', 'type': 'str'}, - 'patch_mode': {'key': 'patchSettings.patchMode', 'type': 'str'}, - } - - def __init__( - self, - *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None, - **kwargs - ): - """ - :keyword assessment_mode: Specifies the assessment mode. - :paramtype assessment_mode: str - :keyword patch_mode: Specifies the patch mode. - :paramtype patch_mode: str - """ - super(OsProfileUpdateWindowsConfiguration, self).__init__(**kwargs) - self.assessment_mode = assessment_mode - self.patch_mode = patch_mode - - -class OsProfileWindowsConfiguration(msrest.serialization.Model): - """Specifies the windows configuration for update management. - - :ivar assessment_mode: Specifies the assessment mode. - :vartype assessment_mode: str - :ivar patch_mode: Specifies the patch mode. - :vartype patch_mode: str - """ - - _attribute_map = { - 'assessment_mode': {'key': 'patchSettings.assessmentMode', 'type': 'str'}, - 'patch_mode': {'key': 'patchSettings.patchMode', 'type': 'str'}, - } - - def __init__( - self, - *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None, - **kwargs - ): - """ - :keyword assessment_mode: Specifies the assessment mode. - :paramtype assessment_mode: str - :keyword patch_mode: Specifies the patch mode. - :paramtype patch_mode: str - """ - super(OsProfileWindowsConfiguration, self).__init__(**kwargs) - self.assessment_mode = assessment_mode - self.patch_mode = patch_mode - - -class PlacementProfile(msrest.serialization.Model): - """Defines the resource properties. - - :ivar resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this - virtual machine will deploy. - :vartype resource_pool_id: str - :ivar cluster_id: Gets or sets the ARM Id of the cluster resource on which this virtual machine - will deploy. - :vartype cluster_id: str - :ivar host_id: Gets or sets the ARM Id of the host resource on which this virtual machine will - deploy. - :vartype host_id: str - :ivar datastore_id: Gets or sets the ARM Id of the datastore resource on which the data for the - virtual machine will be kept. - :vartype datastore_id: str - """ - - _attribute_map = { - 'resource_pool_id': {'key': 'resourcePoolId', 'type': 'str'}, - 'cluster_id': {'key': 'clusterId', 'type': 'str'}, - 'host_id': {'key': 'hostId', 'type': 'str'}, - 'datastore_id': {'key': 'datastoreId', 'type': 'str'}, - } - - def __init__( - self, - *, - resource_pool_id: Optional[str] = None, - cluster_id: Optional[str] = None, - host_id: Optional[str] = None, - datastore_id: Optional[str] = None, - **kwargs - ): - """ - :keyword resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this - virtual machine will deploy. - :paramtype resource_pool_id: str - :keyword cluster_id: Gets or sets the ARM Id of the cluster resource on which this virtual - machine will deploy. - :paramtype cluster_id: str - :keyword host_id: Gets or sets the ARM Id of the host resource on which this virtual machine - will deploy. - :paramtype host_id: str - :keyword datastore_id: Gets or sets the ARM Id of the datastore resource on which the data for - the virtual machine will be kept. - :paramtype datastore_id: str - """ - super(PlacementProfile, self).__init__(**kwargs) - self.resource_pool_id = resource_pool_id - self.cluster_id = cluster_id - self.host_id = host_id - self.datastore_id = datastore_id - - -class ResourcePool(msrest.serialization.Model): - """Define the resourcePool. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool - resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource - pool. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the resource pool. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the resource pool. - :vartype mo_name: str - :ivar cpu_shares_level: Gets or sets CPUSharesLevel which specifies the CPU allocation level - for this pool. - This property is used in relative allocation between resource consumers. - :vartype cpu_shares_level: str - :ivar cpu_reservation_m_hz: Gets or sets CPUReservationMHz which specifies the CPU size in MHz - that is guaranteed - to be available. - :vartype cpu_reservation_m_hz: long - :ivar cpu_limit_m_hz: Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz. - Utilization will not exceed this limit even if there are available resources. - :vartype cpu_limit_m_hz: long - :ivar mem_shares_level: Gets or sets CPUSharesLevel which specifies the memory allocation level - for this pool. - This property is used in relative allocation between resource consumers. - :vartype mem_shares_level: str - :ivar mem_reservation_mb: Gets or sets MemReservationMB which specifies the guaranteed - available memory in - megabytes. - :vartype mem_reservation_mb: long - :ivar mem_limit_mb: Gets or sets MemLimitMB specifies a memory usage limit in megabytes. - Utilization will not exceed the specified limit even if there are available resources. - :vartype mem_limit_mb: long - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'cpu_shares_level': {'readonly': True}, - 'cpu_reservation_m_hz': {'readonly': True}, - 'cpu_limit_m_hz': {'readonly': True}, - 'mem_shares_level': {'readonly': True}, - 'mem_reservation_mb': {'readonly': True}, - 'mem_limit_mb': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'cpu_shares_level': {'key': 'properties.cpuSharesLevel', 'type': 'str'}, - 'cpu_reservation_m_hz': {'key': 'properties.cpuReservationMHz', 'type': 'long'}, - 'cpu_limit_m_hz': {'key': 'properties.cpuLimitMHz', 'type': 'long'}, - 'mem_shares_level': {'key': 'properties.memSharesLevel', 'type': 'str'}, - 'mem_reservation_mb': {'key': 'properties.memReservationMB', 'type': 'long'}, - 'mem_limit_mb': {'key': 'properties.memLimitMB', 'type': 'long'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource - pool resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - resource pool. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the resource pool. - :paramtype inventory_item_id: str - """ - super(ResourcePool, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.cpu_shares_level = None - self.cpu_reservation_m_hz = None - self.cpu_limit_m_hz = None - self.mem_shares_level = None - self.mem_reservation_mb = None - self.mem_limit_mb = None - self.custom_resource_name = None - self.statuses = None - self.provisioning_state = None - - -class ResourcePoolInventoryItem(InventoryItemProperties): - """The resource pool inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar parent: Parent resourcePool inventory resource details. - :vartype parent: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'parent': {'key': 'parent', 'type': 'InventoryItemDetails'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - parent: Optional["_models.InventoryItemDetails"] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - :keyword parent: Parent resourcePool inventory resource details. - :paramtype parent: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - """ - super(ResourcePoolInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'ResourcePool' # type: str - self.parent = parent - - -class ResourcePoolsList(msrest.serialization.Model): - """List of ResourcePools. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of ResourcePools. - :vartype next_link: str - :ivar value: Required. Array of ResourcePools. - :vartype value: list[~azure.mgmt.connectedvmware.models.ResourcePool] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[ResourcePool]'}, - } - - def __init__( - self, - *, - value: List["_models.ResourcePool"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of ResourcePools. - :paramtype next_link: str - :keyword value: Required. Array of ResourcePools. - :paramtype value: list[~azure.mgmt.connectedvmware.models.ResourcePool] - """ - super(ResourcePoolsList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class ResourceStatus(msrest.serialization.Model): - """The resource status information. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The type of the condition. - :vartype type: str - :ivar status: Status of the condition. - :vartype status: str - :ivar reason: The reason for the condition's status. - :vartype reason: str - :ivar message: A human readable message indicating details about the status. - :vartype message: str - :ivar severity: Severity with which to treat failures of this type of condition. - :vartype severity: str - :ivar last_updated_at: The last update time for this condition. - :vartype last_updated_at: ~datetime.datetime - """ - - _validation = { - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - 'severity': {'readonly': True}, - 'last_updated_at': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'severity': {'key': 'severity', 'type': 'str'}, - 'last_updated_at': {'key': 'lastUpdatedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(ResourceStatus, self).__init__(**kwargs) - self.type = None - self.status = None - self.reason = None - self.message = None - self.severity = None - self.last_updated_at = None - - -class SecurityProfile(msrest.serialization.Model): - """Specifies the Security profile settings for the virtual machine. - - :ivar uefi_settings: Specifies the security settings like secure boot used while creating the - virtual machine. - :vartype uefi_settings: ~azure.mgmt.connectedvmware.models.UefiSettings - """ - - _attribute_map = { - 'uefi_settings': {'key': 'uefiSettings', 'type': 'UefiSettings'}, - } - - def __init__( - self, - *, - uefi_settings: Optional["_models.UefiSettings"] = None, - **kwargs - ): - """ - :keyword uefi_settings: Specifies the security settings like secure boot used while creating - the virtual machine. - :paramtype uefi_settings: ~azure.mgmt.connectedvmware.models.UefiSettings - """ - super(SecurityProfile, self).__init__(**kwargs) - self.uefi_settings = uefi_settings - - -class StopVirtualMachineOptions(msrest.serialization.Model): - """Defines the stop action properties. - - :ivar skip_shutdown: Gets or sets a value indicating whether to request non-graceful VM - shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates - otherwise. Defaults to false. - :vartype skip_shutdown: bool - """ - - _attribute_map = { - 'skip_shutdown': {'key': 'skipShutdown', 'type': 'bool'}, - } - - def __init__( - self, - *, - skip_shutdown: Optional[bool] = False, - **kwargs - ): - """ - :keyword skip_shutdown: Gets or sets a value indicating whether to request non-graceful VM - shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates - otherwise. Defaults to false. - :paramtype skip_shutdown: bool - """ - super(StopVirtualMachineOptions, self).__init__(**kwargs) - self.skip_shutdown = skip_shutdown - - -class StorageProfile(msrest.serialization.Model): - """Defines the resource properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar disks: Gets or sets the list of virtual disks associated with the virtual machine. - :vartype disks: list[~azure.mgmt.connectedvmware.models.VirtualDisk] - :ivar scsi_controllers: Gets or sets the list of virtual SCSI controllers associated with the - virtual machine. - :vartype scsi_controllers: list[~azure.mgmt.connectedvmware.models.VirtualSCSIController] - """ - - _validation = { - 'scsi_controllers': {'readonly': True}, - } - - _attribute_map = { - 'disks': {'key': 'disks', 'type': '[VirtualDisk]'}, - 'scsi_controllers': {'key': 'scsiControllers', 'type': '[VirtualSCSIController]'}, - } - - def __init__( - self, - *, - disks: Optional[List["_models.VirtualDisk"]] = None, - **kwargs - ): - """ - :keyword disks: Gets or sets the list of virtual disks associated with the virtual machine. - :paramtype disks: list[~azure.mgmt.connectedvmware.models.VirtualDisk] - """ - super(StorageProfile, self).__init__(**kwargs) - self.disks = disks - self.scsi_controllers = None - - -class StorageProfileUpdate(msrest.serialization.Model): - """Defines the resource update properties. - - :ivar disks: Gets or sets the list of virtual disks associated with the virtual machine. - :vartype disks: list[~azure.mgmt.connectedvmware.models.VirtualDiskUpdate] - """ - - _attribute_map = { - 'disks': {'key': 'disks', 'type': '[VirtualDiskUpdate]'}, - } - - def __init__( - self, - *, - disks: Optional[List["_models.VirtualDiskUpdate"]] = None, - **kwargs - ): - """ - :keyword disks: Gets or sets the list of virtual disks associated with the virtual machine. - :paramtype disks: list[~azure.mgmt.connectedvmware.models.VirtualDiskUpdate] - """ - super(StorageProfileUpdate, self).__init__(**kwargs) - self.disks = disks - - -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. Known values are: - "User", "Application", "ManagedIdentity", "Key". - :vartype created_by_type: str or ~azure.mgmt.connectedvmware.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. Known values - are: "User", "Application", "ManagedIdentity", "Key". - :vartype last_modified_by_type: str or ~azure.mgmt.connectedvmware.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, "_models.CreatedByType"]] = None, - created_at: Optional[datetime.datetime] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[Union[str, "_models.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. Known values are: - "User", "Application", "ManagedIdentity", "Key". - :paramtype created_by_type: str or ~azure.mgmt.connectedvmware.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. Known - values are: "User", "Application", "ManagedIdentity", "Key". - :paramtype last_modified_by_type: str or ~azure.mgmt.connectedvmware.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 UefiSettings(msrest.serialization.Model): - """Specifies the security settings like secure boot used while creating the virtual machine. - - :ivar secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual - machine. - :vartype secure_boot_enabled: bool - """ - - _attribute_map = { - 'secure_boot_enabled': {'key': 'secureBootEnabled', 'type': 'bool'}, - } - - def __init__( - self, - *, - secure_boot_enabled: Optional[bool] = None, - **kwargs - ): - """ - :keyword secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual - machine. - :paramtype secure_boot_enabled: bool - """ - super(UefiSettings, self).__init__(**kwargs) - self.secure_boot_enabled = secure_boot_enabled - - -class VCenter(msrest.serialization.Model): - """Defines the vCenter. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. - :vartype fqdn: str - :ivar port: Gets or sets the port of the vCenter. - :vartype port: int - :ivar version: Gets or sets the version of the vCenter. - :vartype version: str - :ivar instance_uuid: Gets or sets the instance UUID of the vCenter. - :vartype instance_uuid: str - :ivar connection_status: Gets or sets the connection status to the vCenter. - :vartype connection_status: str - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar credentials: Username / Password Credentials to connect to vcenter. - :vartype credentials: ~azure.mgmt.connectedvmware.models.VICredential - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'fqdn': {'required': True}, - 'port': {'maximum': 65535, 'minimum': 1}, - 'version': {'readonly': True}, - 'instance_uuid': {'readonly': True}, - 'connection_status': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, - 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'credentials': {'key': 'properties.credentials', 'type': 'VICredential'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - fqdn: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - port: Optional[int] = None, - credentials: Optional["_models.VICredential"] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. - :paramtype fqdn: str - :keyword port: Gets or sets the port of the vCenter. - :paramtype port: int - :keyword credentials: Username / Password Credentials to connect to vcenter. - :paramtype credentials: ~azure.mgmt.connectedvmware.models.VICredential - """ - super(VCenter, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.fqdn = fqdn - self.port = port - self.version = None - self.instance_uuid = None - self.connection_status = None - self.custom_resource_name = None - self.credentials = credentials - self.statuses = None - self.provisioning_state = None - - -class VCentersList(msrest.serialization.Model): - """List of VCenters. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of VCenters. - :vartype next_link: str - :ivar value: Required. Array of VCenters. - :vartype value: list[~azure.mgmt.connectedvmware.models.VCenter] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[VCenter]'}, - } - - def __init__( - self, - *, - value: List["_models.VCenter"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of VCenters. - :paramtype next_link: str - :keyword value: Required. Array of VCenters. - :paramtype value: list[~azure.mgmt.connectedvmware.models.VCenter] - """ - super(VCentersList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class VICredential(msrest.serialization.Model): - """Username / Password Credentials to connect to vcenter. - - :ivar username: Gets or sets username to connect with the vCenter. - :vartype username: str - :ivar password: Gets or sets the password to connect with the vCenter. - :vartype 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 - ): - """ - :keyword username: Gets or sets username to connect with the vCenter. - :paramtype username: str - :keyword password: Gets or sets the password to connect with the vCenter. - :paramtype password: str - """ - super(VICredential, self).__init__(**kwargs) - self.username = username - self.password = password - - -class VirtualDisk(msrest.serialization.Model): - """Virtual disk model. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: Gets or sets the name of the virtual disk. - :vartype name: str - :ivar label: Gets or sets the label of the virtual disk in vCenter. - :vartype label: str - :ivar disk_object_id: Gets or sets the disk object id. - :vartype disk_object_id: str - :ivar disk_size_gb: Gets or sets the disk total size. - :vartype disk_size_gb: int - :ivar device_key: Gets or sets the device key value. - :vartype device_key: int - :ivar disk_mode: Gets or sets the disk mode. Known values are: "persistent", - "independent_persistent", "independent_nonpersistent". - :vartype disk_mode: str or ~azure.mgmt.connectedvmware.models.DiskMode - :ivar controller_key: Gets or sets the controller id. - :vartype controller_key: int - :ivar unit_number: Gets or sets the unit number of the disk on the controller. - :vartype unit_number: int - :ivar device_name: Gets or sets the device name. - :vartype device_name: str - :ivar disk_type: Gets or sets the disk backing type. Known values are: "flat", "pmem", - "rawphysical", "rawvirtual", "sparse", "sesparse", "unknown". - :vartype disk_type: str or ~azure.mgmt.connectedvmware.models.DiskType - """ - - _validation = { - 'label': {'readonly': True}, - 'disk_object_id': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'label': {'key': 'label', 'type': 'str'}, - 'disk_object_id': {'key': 'diskObjectId', 'type': 'str'}, - 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, - 'device_key': {'key': 'deviceKey', 'type': 'int'}, - 'disk_mode': {'key': 'diskMode', 'type': 'str'}, - 'controller_key': {'key': 'controllerKey', 'type': 'int'}, - 'unit_number': {'key': 'unitNumber', 'type': 'int'}, - 'device_name': {'key': 'deviceName', 'type': 'str'}, - 'disk_type': {'key': 'diskType', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - disk_size_gb: Optional[int] = None, - device_key: Optional[int] = None, - disk_mode: Optional[Union[str, "_models.DiskMode"]] = None, - controller_key: Optional[int] = None, - unit_number: Optional[int] = None, - device_name: Optional[str] = None, - disk_type: Optional[Union[str, "_models.DiskType"]] = None, - **kwargs - ): - """ - :keyword name: Gets or sets the name of the virtual disk. - :paramtype name: str - :keyword disk_size_gb: Gets or sets the disk total size. - :paramtype disk_size_gb: int - :keyword device_key: Gets or sets the device key value. - :paramtype device_key: int - :keyword disk_mode: Gets or sets the disk mode. Known values are: "persistent", - "independent_persistent", "independent_nonpersistent". - :paramtype disk_mode: str or ~azure.mgmt.connectedvmware.models.DiskMode - :keyword controller_key: Gets or sets the controller id. - :paramtype controller_key: int - :keyword unit_number: Gets or sets the unit number of the disk on the controller. - :paramtype unit_number: int - :keyword device_name: Gets or sets the device name. - :paramtype device_name: str - :keyword disk_type: Gets or sets the disk backing type. Known values are: "flat", "pmem", - "rawphysical", "rawvirtual", "sparse", "sesparse", "unknown". - :paramtype disk_type: str or ~azure.mgmt.connectedvmware.models.DiskType - """ - super(VirtualDisk, self).__init__(**kwargs) - self.name = name - self.label = None - self.disk_object_id = None - self.disk_size_gb = disk_size_gb - self.device_key = device_key - self.disk_mode = disk_mode - self.controller_key = controller_key - self.unit_number = unit_number - self.device_name = device_name - self.disk_type = disk_type - - -class VirtualDiskUpdate(msrest.serialization.Model): - """Defines the virtual disk update. - - :ivar name: Gets or sets the name of the virtual disk. - :vartype name: str - :ivar disk_size_gb: Gets or sets the disk total size. - :vartype disk_size_gb: int - :ivar device_key: Gets or sets the device key value. - :vartype device_key: int - :ivar disk_mode: Gets or sets the disk mode. Known values are: "persistent", - "independent_persistent", "independent_nonpersistent". - :vartype disk_mode: str or ~azure.mgmt.connectedvmware.models.DiskMode - :ivar controller_key: Gets or sets the controller id. - :vartype controller_key: int - :ivar unit_number: Gets or sets the unit number of the disk on the controller. - :vartype unit_number: int - :ivar device_name: Gets or sets the device name. - :vartype device_name: str - :ivar disk_type: Gets or sets the disk backing type. Known values are: "flat", "pmem", - "rawphysical", "rawvirtual", "sparse", "sesparse", "unknown". - :vartype disk_type: str or ~azure.mgmt.connectedvmware.models.DiskType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, - 'device_key': {'key': 'deviceKey', 'type': 'int'}, - 'disk_mode': {'key': 'diskMode', 'type': 'str'}, - 'controller_key': {'key': 'controllerKey', 'type': 'int'}, - 'unit_number': {'key': 'unitNumber', 'type': 'int'}, - 'device_name': {'key': 'deviceName', 'type': 'str'}, - 'disk_type': {'key': 'diskType', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - disk_size_gb: Optional[int] = None, - device_key: Optional[int] = None, - disk_mode: Optional[Union[str, "_models.DiskMode"]] = None, - controller_key: Optional[int] = None, - unit_number: Optional[int] = None, - device_name: Optional[str] = None, - disk_type: Optional[Union[str, "_models.DiskType"]] = None, - **kwargs - ): - """ - :keyword name: Gets or sets the name of the virtual disk. - :paramtype name: str - :keyword disk_size_gb: Gets or sets the disk total size. - :paramtype disk_size_gb: int - :keyword device_key: Gets or sets the device key value. - :paramtype device_key: int - :keyword disk_mode: Gets or sets the disk mode. Known values are: "persistent", - "independent_persistent", "independent_nonpersistent". - :paramtype disk_mode: str or ~azure.mgmt.connectedvmware.models.DiskMode - :keyword controller_key: Gets or sets the controller id. - :paramtype controller_key: int - :keyword unit_number: Gets or sets the unit number of the disk on the controller. - :paramtype unit_number: int - :keyword device_name: Gets or sets the device name. - :paramtype device_name: str - :keyword disk_type: Gets or sets the disk backing type. Known values are: "flat", "pmem", - "rawphysical", "rawvirtual", "sparse", "sesparse", "unknown". - :paramtype disk_type: str or ~azure.mgmt.connectedvmware.models.DiskType - """ - super(VirtualDiskUpdate, self).__init__(**kwargs) - self.name = name - self.disk_size_gb = disk_size_gb - self.device_key = device_key - self.disk_mode = disk_mode - self.controller_key = controller_key - self.unit_number = unit_number - self.device_name = device_name - self.disk_type = disk_type - - -class VirtualMachine(msrest.serialization.Model): - """Define the virtualMachine. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar identity: The identity of the resource. - :vartype identity: ~azure.mgmt.connectedvmware.models.Identity - :ivar resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this - virtual machine will - deploy. - :vartype resource_pool_id: str - :ivar template_id: Gets or sets the ARM Id of the template resource to deploy the virtual - machine. - :vartype template_id: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool - resides. - :vartype v_center_id: str - :ivar placement_profile: Placement properties. - :vartype placement_profile: ~azure.mgmt.connectedvmware.models.PlacementProfile - :ivar os_profile: OS properties. - :vartype os_profile: ~azure.mgmt.connectedvmware.models.OsProfile - :ivar hardware_profile: Hardware properties. - :vartype hardware_profile: ~azure.mgmt.connectedvmware.models.HardwareProfile - :ivar network_profile: Network properties. - :vartype network_profile: ~azure.mgmt.connectedvmware.models.NetworkProfile - :ivar storage_profile: Storage properties. - :vartype storage_profile: ~azure.mgmt.connectedvmware.models.StorageProfile - :ivar guest_agent_profile: Guest agent status properties. - :vartype guest_agent_profile: ~azure.mgmt.connectedvmware.models.GuestAgentProfile - :ivar security_profile: Gets the security profile. - :vartype security_profile: ~azure.mgmt.connectedvmware.models.SecurityProfile - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual - machine. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the virtual machine. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine. - :vartype mo_name: str - :ivar folder_path: Gets or sets the folder path of the vm. - :vartype folder_path: str - :ivar instance_uuid: Gets or sets the instance uuid of the vm. - :vartype instance_uuid: str - :ivar smbios_uuid: Gets or sets the SMBIOS UUID of the vm. - :vartype smbios_uuid: str - :ivar firmware_type: Firmware type. Known values are: "bios", "efi". - :vartype firmware_type: str or ~azure.mgmt.connectedvmware.models.FirmwareType - :ivar power_state: Gets the power state of the virtual machine. - :vartype power_state: str - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar vm_id: Gets or sets a unique identifier for the vm resource. - :vartype vm_id: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'folder_path': {'readonly': True}, - 'instance_uuid': {'readonly': True}, - 'power_state': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'uuid': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'vm_id': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'resource_pool_id': {'key': 'properties.resourcePoolId', 'type': 'str'}, - 'template_id': {'key': 'properties.templateId', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'placement_profile': {'key': 'properties.placementProfile', 'type': 'PlacementProfile'}, - 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfile'}, - 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, - 'guest_agent_profile': {'key': 'properties.guestAgentProfile', 'type': 'GuestAgentProfile'}, - 'security_profile': {'key': 'properties.securityProfile', 'type': 'SecurityProfile'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, - 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, - 'smbios_uuid': {'key': 'properties.smbiosUuid', 'type': 'str'}, - 'firmware_type': {'key': 'properties.firmwareType', 'type': 'str'}, - 'power_state': {'key': 'properties.powerState', 'type': 'str'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - identity: Optional["_models.Identity"] = None, - resource_pool_id: Optional[str] = None, - template_id: Optional[str] = None, - v_center_id: Optional[str] = None, - placement_profile: Optional["_models.PlacementProfile"] = None, - os_profile: Optional["_models.OsProfile"] = None, - hardware_profile: Optional["_models.HardwareProfile"] = None, - network_profile: Optional["_models.NetworkProfile"] = None, - storage_profile: Optional["_models.StorageProfile"] = None, - guest_agent_profile: Optional["_models.GuestAgentProfile"] = None, - security_profile: Optional["_models.SecurityProfile"] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - smbios_uuid: Optional[str] = None, - firmware_type: Optional[Union[str, "_models.FirmwareType"]] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword identity: The identity of the resource. - :paramtype identity: ~azure.mgmt.connectedvmware.models.Identity - :keyword resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this - virtual machine will - deploy. - :paramtype resource_pool_id: str - :keyword template_id: Gets or sets the ARM Id of the template resource to deploy the virtual - machine. - :paramtype template_id: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource - pool resides. - :paramtype v_center_id: str - :keyword placement_profile: Placement properties. - :paramtype placement_profile: ~azure.mgmt.connectedvmware.models.PlacementProfile - :keyword os_profile: OS properties. - :paramtype os_profile: ~azure.mgmt.connectedvmware.models.OsProfile - :keyword hardware_profile: Hardware properties. - :paramtype hardware_profile: ~azure.mgmt.connectedvmware.models.HardwareProfile - :keyword network_profile: Network properties. - :paramtype network_profile: ~azure.mgmt.connectedvmware.models.NetworkProfile - :keyword storage_profile: Storage properties. - :paramtype storage_profile: ~azure.mgmt.connectedvmware.models.StorageProfile - :keyword guest_agent_profile: Guest agent status properties. - :paramtype guest_agent_profile: ~azure.mgmt.connectedvmware.models.GuestAgentProfile - :keyword security_profile: Gets the security profile. - :paramtype security_profile: ~azure.mgmt.connectedvmware.models.SecurityProfile - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - virtual machine. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the virtual machine. - :paramtype inventory_item_id: str - :keyword smbios_uuid: Gets or sets the SMBIOS UUID of the vm. - :paramtype smbios_uuid: str - :keyword firmware_type: Firmware type. Known values are: "bios", "efi". - :paramtype firmware_type: str or ~azure.mgmt.connectedvmware.models.FirmwareType - """ - super(VirtualMachine, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.identity = identity - self.resource_pool_id = resource_pool_id - self.template_id = template_id - self.v_center_id = v_center_id - self.placement_profile = placement_profile - self.os_profile = os_profile - self.hardware_profile = hardware_profile - self.network_profile = network_profile - self.storage_profile = storage_profile - self.guest_agent_profile = guest_agent_profile - self.security_profile = security_profile - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.folder_path = None - self.instance_uuid = None - self.smbios_uuid = smbios_uuid - self.firmware_type = firmware_type - self.power_state = None - self.custom_resource_name = None - self.uuid = None - self.statuses = None - self.provisioning_state = None - self.vm_id = None - - -class VirtualMachineAssessPatchesResult(msrest.serialization.Model): - """Describes the properties of an AssessPatches result. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar status: The overall success or failure status of the operation. It remains "InProgress" - until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", - or "CompletedWithWarnings.". Known values are: "Unknown", "InProgress", "Failed", "Succeeded", - "CompletedWithWarnings". - :vartype status: str or ~azure.mgmt.connectedvmware.models.PatchOperationStatus - :ivar assessment_activity_id: The activity ID of the operation that produced this result. - :vartype assessment_activity_id: str - :ivar reboot_pending: The overall reboot status of the VM. It will be true when partially - installed patches require a reboot to complete installation but the reboot has not yet - occurred. - :vartype reboot_pending: bool - :ivar available_patch_count_by_classification: Summarization of patches available for - installation on the machine by classification. - :vartype available_patch_count_by_classification: - ~azure.mgmt.connectedvmware.models.AvailablePatchCountByClassification - :ivar start_date_time: The UTC timestamp when the operation began. - :vartype start_date_time: ~datetime.datetime - :ivar last_modified_date_time: The UTC timestamp when the operation finished. - :vartype last_modified_date_time: ~datetime.datetime - :ivar started_by: Indicates if operation was triggered by user or by platform. Known values - are: "User", "Platform". - :vartype started_by: str or ~azure.mgmt.connectedvmware.models.PatchOperationStartedBy - :ivar patch_service_used: Specifies the patch service used for the operation. Known values are: - "Unknown", "WU", "WU_WSUS", "YUM", "APT", "Zypper". - :vartype patch_service_used: str or ~azure.mgmt.connectedvmware.models.PatchServiceUsed - :ivar os_type: The operating system type of the machine. Known values are: "Windows", "Linux". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsTypeUM - :ivar error_details: The errors that were encountered during execution of the operation. The - details array contains the list of them. - :vartype error_details: ~azure.mgmt.connectedvmware.models.ErrorDetail - """ - - _validation = { - 'status': {'readonly': True}, - 'assessment_activity_id': {'readonly': True}, - 'reboot_pending': {'readonly': True}, - 'start_date_time': {'readonly': True}, - 'last_modified_date_time': {'readonly': True}, - 'started_by': {'readonly': True}, - 'patch_service_used': {'readonly': True}, - 'os_type': {'readonly': True}, - 'error_details': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'assessment_activity_id': {'key': 'assessmentActivityId', 'type': 'str'}, - 'reboot_pending': {'key': 'rebootPending', 'type': 'bool'}, - 'available_patch_count_by_classification': {'key': 'availablePatchCountByClassification', 'type': 'AvailablePatchCountByClassification'}, - 'start_date_time': {'key': 'startDateTime', 'type': 'iso-8601'}, - 'last_modified_date_time': {'key': 'lastModifiedDateTime', 'type': 'iso-8601'}, - 'started_by': {'key': 'startedBy', 'type': 'str'}, - 'patch_service_used': {'key': 'patchServiceUsed', 'type': 'str'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'error_details': {'key': 'errorDetails', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - *, - available_patch_count_by_classification: Optional["_models.AvailablePatchCountByClassification"] = None, - **kwargs - ): - """ - :keyword available_patch_count_by_classification: Summarization of patches available for - installation on the machine by classification. - :paramtype available_patch_count_by_classification: - ~azure.mgmt.connectedvmware.models.AvailablePatchCountByClassification - """ - super(VirtualMachineAssessPatchesResult, self).__init__(**kwargs) - self.status = None - self.assessment_activity_id = None - self.reboot_pending = None - self.available_patch_count_by_classification = available_patch_count_by_classification - self.start_date_time = None - self.last_modified_date_time = None - self.started_by = None - self.patch_service_used = None - self.os_type = None - self.error_details = None - - -class VirtualMachineInstallPatchesParameters(msrest.serialization.Model): - """Input for InstallPatches as directly received by the API. - - All required parameters must be populated in order to send to Azure. - - :ivar maximum_duration: Required. Specifies the maximum amount of time that the operation will - run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours). - :vartype maximum_duration: str - :ivar reboot_setting: Required. Defines when it is acceptable to reboot a VM during a software - update operation. Known values are: "IfRequired", "Never", "Always". - :vartype reboot_setting: str or ~azure.mgmt.connectedvmware.models.VMGuestPatchRebootSetting - :ivar windows_parameters: Input for InstallPatches on a Windows VM, as directly received by the - API. - :vartype windows_parameters: ~azure.mgmt.connectedvmware.models.WindowsParameters - :ivar linux_parameters: Input for InstallPatches on a Linux VM, as directly received by the - API. - :vartype linux_parameters: ~azure.mgmt.connectedvmware.models.LinuxParameters - """ - - _validation = { - 'maximum_duration': {'required': True}, - 'reboot_setting': {'required': True}, - } - - _attribute_map = { - 'maximum_duration': {'key': 'maximumDuration', 'type': 'str'}, - 'reboot_setting': {'key': 'rebootSetting', 'type': 'str'}, - 'windows_parameters': {'key': 'windowsParameters', 'type': 'WindowsParameters'}, - 'linux_parameters': {'key': 'linuxParameters', 'type': 'LinuxParameters'}, - } - - def __init__( - self, - *, - maximum_duration: str, - reboot_setting: Union[str, "_models.VMGuestPatchRebootSetting"], - windows_parameters: Optional["_models.WindowsParameters"] = None, - linux_parameters: Optional["_models.LinuxParameters"] = None, - **kwargs - ): - """ - :keyword maximum_duration: Required. Specifies the maximum amount of time that the operation - will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours). - :paramtype maximum_duration: str - :keyword reboot_setting: Required. Defines when it is acceptable to reboot a VM during a - software update operation. Known values are: "IfRequired", "Never", "Always". - :paramtype reboot_setting: str or ~azure.mgmt.connectedvmware.models.VMGuestPatchRebootSetting - :keyword windows_parameters: Input for InstallPatches on a Windows VM, as directly received by - the API. - :paramtype windows_parameters: ~azure.mgmt.connectedvmware.models.WindowsParameters - :keyword linux_parameters: Input for InstallPatches on a Linux VM, as directly received by the - API. - :paramtype linux_parameters: ~azure.mgmt.connectedvmware.models.LinuxParameters - """ - super(VirtualMachineInstallPatchesParameters, self).__init__(**kwargs) - self.maximum_duration = maximum_duration - self.reboot_setting = reboot_setting - self.windows_parameters = windows_parameters - self.linux_parameters = linux_parameters - - -class VirtualMachineInstallPatchesResult(msrest.serialization.Model): - """The result summary of an installation operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar status: The overall success or failure status of the operation. It remains "InProgress" - until the operation completes. At that point it will become "Failed", "Succeeded", "Unknown" or - "CompletedWithWarnings.". Known values are: "Unknown", "InProgress", "Failed", "Succeeded", - "CompletedWithWarnings". - :vartype status: str or ~azure.mgmt.connectedvmware.models.PatchOperationStatus - :ivar installation_activity_id: The activity ID of the operation that produced this result. - :vartype installation_activity_id: str - :ivar reboot_status: The reboot state of the VM following completion of the operation. Known - values are: "Unknown", "NotNeeded", "Required", "Started", "Failed", "Completed". - :vartype reboot_status: str or ~azure.mgmt.connectedvmware.models.VMGuestPatchRebootStatus - :ivar maintenance_window_exceeded: Whether the operation ran out of time before it completed - all its intended actions. - :vartype maintenance_window_exceeded: bool - :ivar excluded_patch_count: The number of patches that were not installed due to the user - blocking their installation. - :vartype excluded_patch_count: int - :ivar not_selected_patch_count: The number of patches that were detected as available for - install, but did not meet the operation's criteria. - :vartype not_selected_patch_count: int - :ivar pending_patch_count: The number of patches that were identified as meeting the - installation criteria, but were not able to be installed. Typically this happens when - maintenanceWindowExceeded == true. - :vartype pending_patch_count: int - :ivar installed_patch_count: The number of patches successfully installed. - :vartype installed_patch_count: int - :ivar failed_patch_count: The number of patches that could not be installed due to some issue. - See errors for details. - :vartype failed_patch_count: int - :ivar start_date_time: The UTC timestamp when the operation began. - :vartype start_date_time: ~datetime.datetime - :ivar last_modified_date_time: The UTC timestamp when the operation finished. - :vartype last_modified_date_time: ~datetime.datetime - :ivar started_by: Indicates if operation was triggered by user or by platform. Known values - are: "User", "Platform". - :vartype started_by: str or ~azure.mgmt.connectedvmware.models.PatchOperationStartedBy - :ivar patch_service_used: Specifies the patch service used for the operation. Known values are: - "Unknown", "WU", "WU_WSUS", "YUM", "APT", "Zypper". - :vartype patch_service_used: str or ~azure.mgmt.connectedvmware.models.PatchServiceUsed - :ivar os_type: The operating system type of the machine. Known values are: "Windows", "Linux". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsTypeUM - :ivar error_details: The errors that were encountered during execution of the operation. The - details array contains the list of them. - :vartype error_details: ~azure.mgmt.connectedvmware.models.ErrorDetail - """ - - _validation = { - 'status': {'readonly': True}, - 'installation_activity_id': {'readonly': True}, - 'reboot_status': {'readonly': True}, - 'maintenance_window_exceeded': {'readonly': True}, - 'excluded_patch_count': {'readonly': True}, - 'not_selected_patch_count': {'readonly': True}, - 'pending_patch_count': {'readonly': True}, - 'installed_patch_count': {'readonly': True}, - 'failed_patch_count': {'readonly': True}, - 'start_date_time': {'readonly': True}, - 'last_modified_date_time': {'readonly': True}, - 'started_by': {'readonly': True}, - 'patch_service_used': {'readonly': True}, - 'os_type': {'readonly': True}, - 'error_details': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'installation_activity_id': {'key': 'installationActivityId', 'type': 'str'}, - 'reboot_status': {'key': 'rebootStatus', 'type': 'str'}, - 'maintenance_window_exceeded': {'key': 'maintenanceWindowExceeded', 'type': 'bool'}, - 'excluded_patch_count': {'key': 'excludedPatchCount', 'type': 'int'}, - 'not_selected_patch_count': {'key': 'notSelectedPatchCount', 'type': 'int'}, - 'pending_patch_count': {'key': 'pendingPatchCount', 'type': 'int'}, - 'installed_patch_count': {'key': 'installedPatchCount', 'type': 'int'}, - 'failed_patch_count': {'key': 'failedPatchCount', 'type': 'int'}, - 'start_date_time': {'key': 'startDateTime', 'type': 'iso-8601'}, - 'last_modified_date_time': {'key': 'lastModifiedDateTime', 'type': 'iso-8601'}, - 'started_by': {'key': 'startedBy', 'type': 'str'}, - 'patch_service_used': {'key': 'patchServiceUsed', 'type': 'str'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'error_details': {'key': 'errorDetails', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - """ - """ - super(VirtualMachineInstallPatchesResult, self).__init__(**kwargs) - self.status = None - self.installation_activity_id = None - self.reboot_status = None - self.maintenance_window_exceeded = None - self.excluded_patch_count = None - self.not_selected_patch_count = None - self.pending_patch_count = None - self.installed_patch_count = None - self.failed_patch_count = None - self.start_date_time = None - self.last_modified_date_time = None - self.started_by = None - self.patch_service_used = None - self.os_type = None - self.error_details = None - - -class VirtualMachineInventoryItem(InventoryItemProperties): - """The VM inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", "Other". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :ivar os_name: Gets or sets os name. - :vartype os_name: str - :ivar ip_addresses: Gets or sets the nic ip addresses. - :vartype ip_addresses: list[str] - :ivar folder_path: Gets or sets the folder path of the vm. - :vartype folder_path: str - :ivar host: Host inventory resource details. - :vartype host: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - :ivar resource_pool: ResourcePool inventory resource details. - :vartype resource_pool: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - :ivar instance_uuid: Gets or sets the instance uuid of the vm. - :vartype instance_uuid: str - :ivar smbios_uuid: Gets or sets the SMBIOS UUID of the vm. - :vartype smbios_uuid: str - :ivar power_state: Gets the power state of the virtual machine. - :vartype power_state: str - :ivar tools_running_status: Gets or sets the current running status of VMware Tools running in - the guest operating system. - :vartype tools_running_status: str - :ivar tools_version_status: Gets or sets the current version status of VMware Tools installed - in the guest operating system. - :vartype tools_version_status: str - :ivar tools_version: Gets or sets the current version of VMware Tools. - :vartype tools_version: str - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'tools_running_status': {'readonly': True}, - 'tools_version_status': {'readonly': True}, - 'tools_version': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_name': {'key': 'osName', 'type': 'str'}, - 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, - 'folder_path': {'key': 'folderPath', 'type': 'str'}, - 'host': {'key': 'host', 'type': 'InventoryItemDetails'}, - 'resource_pool': {'key': 'resourcePool', 'type': 'InventoryItemDetails'}, - 'instance_uuid': {'key': 'instanceUuid', 'type': 'str'}, - 'smbios_uuid': {'key': 'smbiosUuid', 'type': 'str'}, - 'power_state': {'key': 'powerState', 'type': 'str'}, - 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, - 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, - 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - os_type: Optional[Union[str, "_models.OsType"]] = None, - os_name: Optional[str] = None, - ip_addresses: Optional[List[str]] = None, - folder_path: Optional[str] = None, - host: Optional["_models.InventoryItemDetails"] = None, - resource_pool: Optional["_models.InventoryItemDetails"] = None, - instance_uuid: Optional[str] = None, - smbios_uuid: Optional[str] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - :keyword os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", - "Other". - :paramtype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :keyword os_name: Gets or sets os name. - :paramtype os_name: str - :keyword ip_addresses: Gets or sets the nic ip addresses. - :paramtype ip_addresses: list[str] - :keyword folder_path: Gets or sets the folder path of the vm. - :paramtype folder_path: str - :keyword host: Host inventory resource details. - :paramtype host: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - :keyword resource_pool: ResourcePool inventory resource details. - :paramtype resource_pool: ~azure.mgmt.connectedvmware.models.InventoryItemDetails - :keyword instance_uuid: Gets or sets the instance uuid of the vm. - :paramtype instance_uuid: str - :keyword smbios_uuid: Gets or sets the SMBIOS UUID of the vm. - :paramtype smbios_uuid: str - """ - super(VirtualMachineInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'VirtualMachine' # type: str - self.os_type = os_type - self.os_name = os_name - self.ip_addresses = ip_addresses - self.folder_path = folder_path - self.host = host - self.resource_pool = resource_pool - self.instance_uuid = instance_uuid - self.smbios_uuid = smbios_uuid - self.power_state = None - self.tools_running_status = None - self.tools_version_status = None - self.tools_version = None - - -class VirtualMachinesList(msrest.serialization.Model): - """List of VirtualMachines. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of VirtualMachines. - :vartype next_link: str - :ivar value: Required. Array of VirtualMachines. - :vartype value: list[~azure.mgmt.connectedvmware.models.VirtualMachine] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[VirtualMachine]'}, - } - - def __init__( - self, - *, - value: List["_models.VirtualMachine"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of VirtualMachines. - :paramtype next_link: str - :keyword value: Required. Array of VirtualMachines. - :paramtype value: list[~azure.mgmt.connectedvmware.models.VirtualMachine] - """ - super(VirtualMachinesList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class VirtualMachineTemplate(msrest.serialization.Model): - """Define the virtualMachineTemplate. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template - resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual - machine - template. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the virtual machine template. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine template. - :vartype mo_name: str - :ivar memory_size_mb: Gets or sets memory size in MBs for the template. - :vartype memory_size_mb: int - :ivar num_cp_us: Gets or sets the number of vCPUs for the template. - :vartype num_cp_us: int - :ivar num_cores_per_socket: Gets or sets the number of cores per socket for the template. - Defaults to 1 if unspecified. - :vartype num_cores_per_socket: int - :ivar os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", "Other". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :ivar os_name: Gets or sets os name. - :vartype os_name: str - :ivar folder_path: Gets or sets the folder path of the template. - :vartype folder_path: str - :ivar network_interfaces: Gets or sets the network interfaces of the template. - :vartype network_interfaces: list[~azure.mgmt.connectedvmware.models.NetworkInterface] - :ivar disks: Gets or sets the disks the template. - :vartype disks: list[~azure.mgmt.connectedvmware.models.VirtualDisk] - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar tools_version_status: Gets or sets the current version status of VMware Tools installed - in the guest operating system. - :vartype tools_version_status: str - :ivar tools_version: Gets or sets the current version of VMware Tools. - :vartype tools_version: str - :ivar firmware_type: Firmware type. Known values are: "bios", "efi". - :vartype firmware_type: str or ~azure.mgmt.connectedvmware.models.FirmwareType - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'memory_size_mb': {'readonly': True}, - 'num_cp_us': {'readonly': True}, - 'num_cores_per_socket': {'readonly': True}, - 'os_type': {'readonly': True}, - 'os_name': {'readonly': True}, - 'folder_path': {'readonly': True}, - 'network_interfaces': {'readonly': True}, - 'disks': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'tools_version_status': {'readonly': True}, - 'tools_version': {'readonly': True}, - 'firmware_type': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'memory_size_mb': {'key': 'properties.memorySizeMB', 'type': 'int'}, - 'num_cp_us': {'key': 'properties.numCPUs', 'type': 'int'}, - 'num_cores_per_socket': {'key': 'properties.numCoresPerSocket', 'type': 'int'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - 'os_name': {'key': 'properties.osName', 'type': 'str'}, - 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, - 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, - 'disks': {'key': 'properties.disks', 'type': '[VirtualDisk]'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'tools_version_status': {'key': 'properties.toolsVersionStatus', 'type': 'str'}, - 'tools_version': {'key': 'properties.toolsVersion', 'type': 'str'}, - 'firmware_type': {'key': 'properties.firmwareType', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template - resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - virtual machine - template. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the virtual machine - template. - :paramtype inventory_item_id: str - """ - super(VirtualMachineTemplate, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.memory_size_mb = None - self.num_cp_us = None - self.num_cores_per_socket = None - self.os_type = None - self.os_name = None - self.folder_path = None - self.network_interfaces = None - self.disks = None - self.custom_resource_name = None - self.tools_version_status = None - self.tools_version = None - self.firmware_type = None - self.statuses = None - self.provisioning_state = None - - -class VirtualMachineTemplateInventoryItem(InventoryItemProperties): - """The VM Template inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - :ivar memory_size_mb: Gets or sets memory size in MBs for the template. - :vartype memory_size_mb: int - :ivar num_cp_us: Gets or sets the number of vCPUs for the template. - :vartype num_cp_us: int - :ivar num_cores_per_socket: Gets or sets the number of cores per socket for the template. - Defaults to 1 if unspecified. - :vartype num_cores_per_socket: int - :ivar os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", "Other". - :vartype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :ivar os_name: Gets or sets os name. - :vartype os_name: str - :ivar folder_path: Gets or sets the folder path of the template. - :vartype folder_path: str - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, - 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, - 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_name': {'key': 'osName', 'type': 'str'}, - 'folder_path': {'key': 'folderPath', 'type': 'str'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - memory_size_mb: Optional[int] = None, - num_cp_us: Optional[int] = None, - num_cores_per_socket: Optional[int] = None, - os_type: Optional[Union[str, "_models.OsType"]] = None, - os_name: Optional[str] = None, - folder_path: Optional[str] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - :keyword memory_size_mb: Gets or sets memory size in MBs for the template. - :paramtype memory_size_mb: int - :keyword num_cp_us: Gets or sets the number of vCPUs for the template. - :paramtype num_cp_us: int - :keyword num_cores_per_socket: Gets or sets the number of cores per socket for the template. - Defaults to 1 if unspecified. - :paramtype num_cores_per_socket: int - :keyword os_type: Gets or sets the type of the os. Known values are: "Windows", "Linux", - "Other". - :paramtype os_type: str or ~azure.mgmt.connectedvmware.models.OsType - :keyword os_name: Gets or sets os name. - :paramtype os_name: str - :keyword folder_path: Gets or sets the folder path of the template. - :paramtype folder_path: str - """ - super(VirtualMachineTemplateInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'VirtualMachineTemplate' # type: str - self.memory_size_mb = memory_size_mb - self.num_cp_us = num_cp_us - self.num_cores_per_socket = num_cores_per_socket - self.os_type = os_type - self.os_name = os_name - self.folder_path = folder_path - - -class VirtualMachineTemplatesList(msrest.serialization.Model): - """List of VirtualMachineTemplates. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of VirtualMachineTemplates. - :vartype next_link: str - :ivar value: Required. Array of VirtualMachineTemplates. - :vartype value: list[~azure.mgmt.connectedvmware.models.VirtualMachineTemplate] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[VirtualMachineTemplate]'}, - } - - def __init__( - self, - *, - value: List["_models.VirtualMachineTemplate"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of VirtualMachineTemplates. - :paramtype next_link: str - :keyword value: Required. Array of VirtualMachineTemplates. - :paramtype value: list[~azure.mgmt.connectedvmware.models.VirtualMachineTemplate] - """ - super(VirtualMachineTemplatesList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class VirtualMachineUpdate(msrest.serialization.Model): - """Defines the virtualMachineUpdate. - - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar identity: The identity of the resource. - :vartype identity: ~azure.mgmt.connectedvmware.models.Identity - :ivar hardware_profile: Defines the resource properties. - :vartype hardware_profile: ~azure.mgmt.connectedvmware.models.HardwareProfile - :ivar os_profile: OS properties. - :vartype os_profile: ~azure.mgmt.connectedvmware.models.OsProfileUpdate - :ivar storage_profile: Defines the resource update properties. - :vartype storage_profile: ~azure.mgmt.connectedvmware.models.StorageProfileUpdate - :ivar network_profile: Defines the update resource properties. - :vartype network_profile: ~azure.mgmt.connectedvmware.models.NetworkProfileUpdate - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, - 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfileUpdate'}, - 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfileUpdate'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfileUpdate'}, - } - - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - identity: Optional["_models.Identity"] = None, - hardware_profile: Optional["_models.HardwareProfile"] = None, - os_profile: Optional["_models.OsProfileUpdate"] = None, - storage_profile: Optional["_models.StorageProfileUpdate"] = None, - network_profile: Optional["_models.NetworkProfileUpdate"] = None, - **kwargs - ): - """ - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword identity: The identity of the resource. - :paramtype identity: ~azure.mgmt.connectedvmware.models.Identity - :keyword hardware_profile: Defines the resource properties. - :paramtype hardware_profile: ~azure.mgmt.connectedvmware.models.HardwareProfile - :keyword os_profile: OS properties. - :paramtype os_profile: ~azure.mgmt.connectedvmware.models.OsProfileUpdate - :keyword storage_profile: Defines the resource update properties. - :paramtype storage_profile: ~azure.mgmt.connectedvmware.models.StorageProfileUpdate - :keyword network_profile: Defines the update resource properties. - :paramtype network_profile: ~azure.mgmt.connectedvmware.models.NetworkProfileUpdate - """ - super(VirtualMachineUpdate, self).__init__(**kwargs) - self.tags = tags - self.identity = identity - self.hardware_profile = hardware_profile - self.os_profile = os_profile - self.storage_profile = storage_profile - self.network_profile = network_profile - - -class VirtualNetwork(msrest.serialization.Model): - """Define the virtualNetwork. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar location: Required. Gets or sets the location. - :vartype location: str - :ivar extended_location: Gets or sets the extended location. - :vartype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :ivar system_data: The system data. - :vartype system_data: ~azure.mgmt.connectedvmware.models.SystemData - :ivar tags: A set of tags. Gets or sets the Resource tags. - :vartype tags: dict[str, str] - :ivar name: Gets or sets the name. - :vartype name: str - :ivar id: Gets or sets the Id. - :vartype id: str - :ivar type: Gets or sets the type of the resource. - :vartype type: str - :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :vartype kind: str - :ivar uuid: Gets or sets a unique identifier for this resource. - :vartype uuid: str - :ivar v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template - resides. - :vartype v_center_id: str - :ivar mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual - network. - :vartype mo_ref_id: str - :ivar inventory_item_id: Gets or sets the inventory Item ID for the virtual network. - :vartype inventory_item_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual network. - :vartype mo_name: str - :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. - :vartype custom_resource_name: str - :ivar statuses: The resource status information. - :vartype statuses: list[~azure.mgmt.connectedvmware.models.ResourceStatus] - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'uuid': {'readonly': True}, - 'mo_name': {'readonly': True}, - 'custom_resource_name': {'readonly': True}, - 'statuses': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'uuid': {'key': 'properties.uuid', 'type': 'str'}, - 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, - 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, - 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, - 'mo_name': {'key': 'properties.moName', 'type': 'str'}, - 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ResourceStatus]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - extended_location: Optional["_models.ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - kind: Optional[str] = None, - v_center_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - inventory_item_id: Optional[str] = None, - **kwargs - ): - """ - :keyword location: Required. Gets or sets the location. - :paramtype location: str - :keyword extended_location: Gets or sets the extended location. - :paramtype extended_location: ~azure.mgmt.connectedvmware.models.ExtendedLocation - :keyword tags: A set of tags. Gets or sets the Resource tags. - :paramtype tags: dict[str, str] - :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for - resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, - the resource provider must validate and persist this value. - :paramtype kind: str - :keyword v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template - resides. - :paramtype v_center_id: str - :keyword mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the - virtual network. - :paramtype mo_ref_id: str - :keyword inventory_item_id: Gets or sets the inventory Item ID for the virtual network. - :paramtype inventory_item_id: str - """ - super(VirtualNetwork, self).__init__(**kwargs) - self.location = location - self.extended_location = extended_location - self.system_data = None - self.tags = tags - self.name = None - self.id = None - self.type = None - self.kind = kind - self.uuid = None - self.v_center_id = v_center_id - self.mo_ref_id = mo_ref_id - self.inventory_item_id = inventory_item_id - self.mo_name = None - self.custom_resource_name = None - self.statuses = None - self.provisioning_state = None - - -class VirtualNetworkInventoryItem(InventoryItemProperties): - """The Virtual network inventory item. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar inventory_type: Required. They inventory type.Constant filled by server. Known values - are: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork", "Cluster", - "Datastore", "Host". - :vartype inventory_type: str or ~azure.mgmt.connectedvmware.models.InventoryType - :ivar managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory - resource. - :vartype managed_resource_id: str - :ivar mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. - :vartype mo_ref_id: str - :ivar mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :vartype mo_name: str - :ivar provisioning_state: Gets or sets the provisioning state. - :vartype provisioning_state: str - """ - - _validation = { - 'inventory_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, - 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, - 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, - 'mo_name': {'key': 'moName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - managed_resource_id: Optional[str] = None, - mo_ref_id: Optional[str] = None, - mo_name: Optional[str] = None, - **kwargs - ): - """ - :keyword managed_resource_id: Gets or sets the tracked resource id corresponding to the - inventory resource. - :paramtype managed_resource_id: str - :keyword mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory - item. - :paramtype mo_ref_id: str - :keyword mo_name: Gets or sets the vCenter Managed Object name for the inventory item. - :paramtype mo_name: str - """ - super(VirtualNetworkInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) - self.inventory_type = 'VirtualNetwork' # type: str - - -class VirtualNetworksList(msrest.serialization.Model): - """List of VirtualNetworks. - - All required parameters must be populated in order to send to Azure. - - :ivar next_link: Url to follow for getting next page of VirtualNetworks. - :vartype next_link: str - :ivar value: Required. Array of VirtualNetworks. - :vartype value: list[~azure.mgmt.connectedvmware.models.VirtualNetwork] - """ - - _validation = { - 'value': {'required': True}, - } - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, - } - - def __init__( - self, - *, - value: List["_models.VirtualNetwork"], - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword next_link: Url to follow for getting next page of VirtualNetworks. - :paramtype next_link: str - :keyword value: Required. Array of VirtualNetworks. - :paramtype value: list[~azure.mgmt.connectedvmware.models.VirtualNetwork] - """ - super(VirtualNetworksList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -class VirtualSCSIController(msrest.serialization.Model): - """This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. - - :ivar type: Gets or sets the controller type. Known values are: "lsilogic", "buslogic", - "pvscsi", "lsilogicsas". - :vartype type: str or ~azure.mgmt.connectedvmware.models.SCSIControllerType - :ivar controller_key: Gets or sets the key of the controller. - :vartype controller_key: int - :ivar bus_number: Gets or sets the bus number of the controller. - :vartype bus_number: int - :ivar scsi_ctlr_unit_number: Gets or sets the SCSI controller unit number. - :vartype scsi_ctlr_unit_number: int - :ivar sharing: Gets or sets the sharing mode. Known values are: "noSharing", "physicalSharing", - "virtualSharing". - :vartype sharing: str or ~azure.mgmt.connectedvmware.models.VirtualSCSISharing - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'controller_key': {'key': 'controllerKey', 'type': 'int'}, - 'bus_number': {'key': 'busNumber', 'type': 'int'}, - 'scsi_ctlr_unit_number': {'key': 'scsiCtlrUnitNumber', 'type': 'int'}, - 'sharing': {'key': 'sharing', 'type': 'str'}, - } - - def __init__( - self, - *, - type: Optional[Union[str, "_models.SCSIControllerType"]] = None, - controller_key: Optional[int] = None, - bus_number: Optional[int] = None, - scsi_ctlr_unit_number: Optional[int] = None, - sharing: Optional[Union[str, "_models.VirtualSCSISharing"]] = None, - **kwargs - ): - """ - :keyword type: Gets or sets the controller type. Known values are: "lsilogic", "buslogic", - "pvscsi", "lsilogicsas". - :paramtype type: str or ~azure.mgmt.connectedvmware.models.SCSIControllerType - :keyword controller_key: Gets or sets the key of the controller. - :paramtype controller_key: int - :keyword bus_number: Gets or sets the bus number of the controller. - :paramtype bus_number: int - :keyword scsi_ctlr_unit_number: Gets or sets the SCSI controller unit number. - :paramtype scsi_ctlr_unit_number: int - :keyword sharing: Gets or sets the sharing mode. Known values are: "noSharing", - "physicalSharing", "virtualSharing". - :paramtype sharing: str or ~azure.mgmt.connectedvmware.models.VirtualSCSISharing - """ - super(VirtualSCSIController, self).__init__(**kwargs) - self.type = type - self.controller_key = controller_key - self.bus_number = bus_number - self.scsi_ctlr_unit_number = scsi_ctlr_unit_number - self.sharing = sharing - - -class WindowsParameters(msrest.serialization.Model): - """Input for InstallPatches on a Windows VM, as directly received by the API. - - :ivar classifications_to_include: The update classifications to select when installing patches - for Windows. - :vartype classifications_to_include: list[str or - ~azure.mgmt.connectedvmware.models.VMGuestPatchClassificationWindows] - :ivar kb_numbers_to_include: Kbs to include in the patch operation. - :vartype kb_numbers_to_include: list[str] - :ivar kb_numbers_to_exclude: Kbs to exclude in the patch operation. - :vartype kb_numbers_to_exclude: list[str] - :ivar exclude_kbs_requiring_reboot: Filters out Kbs that don't have an - InstallationRebootBehavior of 'NeverReboots' when this is set to true. - :vartype exclude_kbs_requiring_reboot: bool - :ivar max_patch_publish_date: This is used to install patches that were published on or before - this given max published date. - :vartype max_patch_publish_date: ~datetime.datetime - """ - - _attribute_map = { - 'classifications_to_include': {'key': 'classificationsToInclude', 'type': '[str]'}, - 'kb_numbers_to_include': {'key': 'kbNumbersToInclude', 'type': '[str]'}, - 'kb_numbers_to_exclude': {'key': 'kbNumbersToExclude', 'type': '[str]'}, - 'exclude_kbs_requiring_reboot': {'key': 'excludeKbsRequiringReboot', 'type': 'bool'}, - 'max_patch_publish_date': {'key': 'maxPatchPublishDate', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - classifications_to_include: Optional[List[Union[str, "_models.VMGuestPatchClassificationWindows"]]] = None, - kb_numbers_to_include: Optional[List[str]] = None, - kb_numbers_to_exclude: Optional[List[str]] = None, - exclude_kbs_requiring_reboot: Optional[bool] = None, - max_patch_publish_date: Optional[datetime.datetime] = None, - **kwargs - ): - """ - :keyword classifications_to_include: The update classifications to select when installing - patches for Windows. - :paramtype classifications_to_include: list[str or - ~azure.mgmt.connectedvmware.models.VMGuestPatchClassificationWindows] - :keyword kb_numbers_to_include: Kbs to include in the patch operation. - :paramtype kb_numbers_to_include: list[str] - :keyword kb_numbers_to_exclude: Kbs to exclude in the patch operation. - :paramtype kb_numbers_to_exclude: list[str] - :keyword exclude_kbs_requiring_reboot: Filters out Kbs that don't have an - InstallationRebootBehavior of 'NeverReboots' when this is set to true. - :paramtype exclude_kbs_requiring_reboot: bool - :keyword max_patch_publish_date: This is used to install patches that were published on or - before this given max published date. - :paramtype max_patch_publish_date: ~datetime.datetime - """ - super(WindowsParameters, self).__init__(**kwargs) - self.classifications_to_include = classifications_to_include - self.kb_numbers_to_include = kb_numbers_to_include - self.kb_numbers_to_exclude = kb_numbers_to_exclude - self.exclude_kbs_requiring_reboot = exclude_kbs_requiring_reboot - self.max_patch_publish_date = max_patch_publish_date diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_patch.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_patch.py deleted file mode 100644 index 0ad201a8c58..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/models/_patch.py +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import List - -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/__init__.py deleted file mode 100644 index 295107adb1c..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/__init__.py +++ /dev/null @@ -1,20 +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 ._operations import Operations -from ._virtual_machines_operations import VirtualMachinesOperations - -from ._patch import __all__ as _patch_all -from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -from ._patch import patch_sdk as _patch_sdk -__all__ = [ - 'Operations', - 'VirtualMachinesOperations', -] -__all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_operations.py deleted file mode 100644 index 2f6f2cb3cb7..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_operations.py +++ /dev/null @@ -1,151 +0,0 @@ -# pylint: disable=too-many-lines -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code 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, Iterable, Optional, TypeVar - -from msrest import Serializer - -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.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat - -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: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - accept = _headers.pop('Accept', "application/json") - - # Construct URL - _url = kwargs.pop("template_url", "/providers/Microsoft.ConnectedVMwarevSphere/operations") - - # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') - - # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') - - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) - -class Operations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.connectedvmware.AzureArcVMwareManagementServiceAPI`'s - :attr:`operations` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs): - input_args = list(args) - self._client = input_args.pop(0) if input_args else kwargs.pop("client") - self._config = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - - @distributed_trace - def list( - self, - **kwargs: Any - ) -> Iterable[_models.OperationsList]: - """Returns list of all operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.connectedvmware.models.OperationsList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.OperationsList] - - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) - def prepare_request(next_link=None): - if not next_link: - - request = build_list_request( - api_version=api_version, - template_url=self.list.metadata['url'], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - - else: - - request = build_list_request( - api_version=api_version, - template_url=next_link, - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - request.method = "GET" - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize("OperationsList", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access - request, - stream=False, - **kwargs - ) - response = pipeline_response.http_response - - if response.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.ConnectedVMwarevSphere/operations"} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_patch.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_patch.py deleted file mode 100644 index 0ad201a8c58..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_patch.py +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import List - -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_virtual_machines_operations.py b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_virtual_machines_operations.py deleted file mode 100644 index 4a13f663fe6..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/operations/_virtual_machines_operations.py +++ /dev/null @@ -1,154 +0,0 @@ -# pylint: disable=too-many-lines -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code 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, Iterable, Optional, TypeVar, Union, cast - -from msrest import Serializer - -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.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -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, - virtual_machine_name: str, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - accept = _headers.pop('Accept', "application/json") - - # Construct URL - _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}") # pylint: disable=line-too-long - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), - "virtualMachineName": _SERIALIZER.url("virtual_machine_name", virtual_machine_name, 'str'), - } - - _url = _format_url_section(_url, **path_format_arguments) - - # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') - - # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') - - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) - - -class VirtualMachinesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.connectedvmware.AzureArcVMwareManagementServiceAPI`'s - :attr:`virtual_machines` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs): - input_args = list(args) - self._client = input_args.pop(0) if input_args else kwargs.pop("client") - self._config = input_args.pop(0) if input_args else kwargs.pop("config") - self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - - @distributed_trace - def get( - self, - resource_group_name: str, - virtual_machine_name: str, - **kwargs: Any - ) -> _models.VirtualMachine: - """Gets a virtual machine. - - Implements virtual machine GET method. - - :param resource_group_name: The Resource Group Name. - :type resource_group_name: str - :param virtual_machine_name: Name of the virtual machine resource. - :type virtual_machine_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: VirtualMachine, or the result of cls(response) - :rtype: ~azure.mgmt.connectedvmware.models.VirtualMachine - :raises: ~azure.core.exceptions.HttpResponseError - """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version = kwargs.pop('api_version', _params.pop('api-version', "2022-01-10-preview")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.VirtualMachine] - - - request = build_get_request( - subscription_id=self._config.subscription_id, - resource_group_name=resource_group_name, - virtual_machine_name=virtual_machine_name, - api_version=api_version, - template_url=self.get.metadata['url'], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore - - pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs - ) - response = pipeline_response.http_response - - if response.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('VirtualMachine', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - - get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}"} # type: ignore - - diff --git a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/py.typed b/src/ssh/azext_ssh/vendored_sdks/connectedvmware/py.typed deleted file mode 100644 index e5aff4f83af..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/connectedvmware/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/__init__.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/__init__.py deleted file mode 100644 index 9d5f8048ff1..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/__init__.py +++ /dev/null @@ -1,16 +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 ._hybrid_connectivity_management_api import HybridConnectivityManagementAPI -__all__ = ['HybridConnectivityManagementAPI'] - -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_configuration.py deleted file mode 100644 index 3d6b6c94096..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_configuration.py +++ /dev/null @@ -1,68 +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.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 HybridConnectivityManagementAPIConfiguration(Configuration): - """Configuration for HybridConnectivityManagementAPI. - - 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" - 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(HybridConnectivityManagementAPIConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2021-10-06-preview" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'hybridconnectivitymanagementapi/{}'.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/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_hybrid_connectivity_management_api.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_hybrid_connectivity_management_api.py deleted file mode 100644 index 7b1c37cd7ea..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/_hybrid_connectivity_management_api.py +++ /dev/null @@ -1,71 +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 HybridConnectivityManagementAPIConfiguration -from .operations import Operations -from .operations import EndpointsOperations -from . import models - - -class HybridConnectivityManagementAPI(object): - """REST API for Hybrid Connectivity. - - :ivar operations: Operations operations - :vartype operations: hybrid_connectivity_management_api.operations.Operations - :ivar endpoints: EndpointsOperations operations - :vartype endpoints: hybrid_connectivity_management_api.operations.EndpointsOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials.TokenCredential - :param str base_url: Service URL - """ - - def __init__( - self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = HybridConnectivityManagementAPIConfiguration(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.endpoints = EndpointsOperations( - self._client, self._config, self._serialize, self._deserialize) - - def close(self): - # type: () -> None - self._client.close() - - def __enter__(self): - # type: () -> HybridConnectivityManagementAPI - self._client.__enter__() - return self - - def __exit__(self, *exc_details): - # type: (Any) -> None - self._client.__exit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/__init__.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/__init__.py deleted file mode 100644 index 785b5445cc3..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/__init__.py +++ /dev/null @@ -1,10 +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 ._hybrid_connectivity_management_api import HybridConnectivityManagementAPI -__all__ = ['HybridConnectivityManagementAPI'] diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_configuration.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_configuration.py deleted file mode 100644 index 41f28de96ba..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_configuration.py +++ /dev/null @@ -1,60 +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, 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 HybridConnectivityManagementAPIConfiguration(Configuration): - """Configuration for HybridConnectivityManagementAPI. - - 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(HybridConnectivityManagementAPIConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.api_version = "2021-10-06-preview" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'hybridconnectivitymanagementapi/{}'.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/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_hybrid_connectivity_management_api.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_hybrid_connectivity_management_api.py deleted file mode 100644 index 837237055a5..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/_hybrid_connectivity_management_api.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from 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 HybridConnectivityManagementAPIConfiguration -from .operations import Operations -from .operations import EndpointsOperations -from .. import models - - -class HybridConnectivityManagementAPI(object): - """REST API for Hybrid Connectivity. - - :ivar operations: Operations operations - :vartype operations: hybrid_connectivity_management_api.aio.operations.Operations - :ivar endpoints: EndpointsOperations operations - :vartype endpoints: hybrid_connectivity_management_api.aio.operations.EndpointsOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param str base_url: Service URL - """ - - 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 = HybridConnectivityManagementAPIConfiguration(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.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.endpoints = EndpointsOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "HybridConnectivityManagementAPI": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/__init__.py deleted file mode 100644 index d9149323f40..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/__init__.py +++ /dev/null @@ -1,15 +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 ._operations import Operations -from ._endpoints_operations import EndpointsOperations - -__all__ = [ - 'Operations', - 'EndpointsOperations', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_endpoints_operations.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_endpoints_operations.py deleted file mode 100644 index 16f77d06ff6..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_endpoints_operations.py +++ /dev/null @@ -1,426 +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 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 EndpointsOperations: - """EndpointsOperations 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: ~hybrid_connectivity_management_api.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def list( - self, - resource_uri: str, - **kwargs - ) -> AsyncIterable["models.EndpointsList"]: - """List of endpoints to the target resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either EndpointsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~hybrid_connectivity_management_api.models.EndpointsList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointsList"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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 = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, '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('EndpointsList', 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': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints'} # type: ignore - - async def get( - self, - resource_uri: str, - endpoint_name: str, - **kwargs - ) -> "models.EndpointResource": - """Gets the endpoint to the resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, 'str', skip_quote=True), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}'} # type: ignore - - async def create_or_update( - self, - resource_uri: str, - endpoint_name: str, - endpoint_resource: "models.EndpointResource", - **kwargs - ) -> "models.EndpointResource": - """Create or update the endpoint to the target resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :param endpoint_resource: Endpoint details. - :type endpoint_resource: ~hybrid_connectivity_management_api.models.EndpointResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-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 = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, 'str', skip_quote=True), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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(endpoint_resource, 'EndpointResource') - 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) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}'} # type: ignore - - async def update( - self, - resource_uri: str, - endpoint_name: str, - endpoint_resource: "models.EndpointResource", - **kwargs - ) -> "models.EndpointResource": - """Update the endpoint to the target resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :param endpoint_resource: Endpoint details. - :type endpoint_resource: ~hybrid_connectivity_management_api.models.EndpointResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, 'str', skip_quote=True), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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(endpoint_resource, 'EndpointResource') - 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) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}'} # type: ignore - - async def delete( - self, - resource_uri: str, - endpoint_name: str, - **kwargs - ) -> None: - """Deletes the endpoint access to the target resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None, or the result of cls(response) - :rtype: None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, 'str', skip_quote=True), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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.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) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) - - delete.metadata = {'url': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}'} # type: ignore - - async def list_credentials( - self, - resource_uri: str, - endpoint_name: str, - expiresin: Optional[int] = 10800, - **kwargs - ) -> "models.EndpointAccessResource": - """Gets the endpoint access credentials to the resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :param expiresin: The is how long the endpoint access token is valid (in seconds). - :type expiresin: long - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointAccessResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointAccessResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointAccessResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - accept = "application/json" - - # Construct URL - url = self.list_credentials.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceUri': self._serialize.url("resource_uri", resource_uri, 'str', skip_quote=True), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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 expiresin is not None: - query_parameters['expiresin'] = self._serialize.query("expiresin", expiresin, 'long', maximum=10800, minimum=600) - - # 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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EndpointAccessResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_credentials.metadata = {'url': '/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/listCredentials'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_operations.py deleted file mode 100644 index e06178d99d0..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/aio/operations/_operations.py +++ /dev/null @@ -1,105 +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 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: ~hybrid_connectivity_management_api.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def list( - self, - **kwargs - ) -> AsyncIterable["models.OperationListResult"]: - """Lists the available Hybrid Connectivity 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[~hybrid_connectivity_management_api.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-10-06-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('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.metadata = {'url': '/providers/Microsoft.HybridConnectivity/operations'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/__init__.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/__init__.py deleted file mode 100644 index a60914d57d3..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/__init__.py +++ /dev/null @@ -1,57 +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 EndpointAccessResource - from ._models_py3 import EndpointResource - from ._models_py3 import EndpointsList - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationListResult - from ._models_py3 import ProxyResource - from ._models_py3 import Resource -except (SyntaxError, ImportError): - from ._models import EndpointAccessResource # type: ignore - from ._models import EndpointResource # type: ignore - from ._models import EndpointsList # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Operation # type: ignore - from ._models import OperationDisplay # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - -from ._hybrid_connectivity_management_api_enums import ( - ActionType, - CreatedByType, - Origin, - Type, -) - -__all__ = [ - 'EndpointAccessResource', - 'EndpointResource', - 'EndpointsList', - 'ErrorAdditionalInfo', - 'ErrorDetail', - 'ErrorResponse', - 'Operation', - 'OperationDisplay', - 'OperationListResult', - 'ProxyResource', - 'Resource', - 'ActionType', - 'CreatedByType', - 'Origin', - 'Type', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_hybrid_connectivity_management_api_enums.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_hybrid_connectivity_management_api_enums.py deleted file mode 100644 index fa857d49db8..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_hybrid_connectivity_management_api_enums.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from 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)): - """Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. - """ - - INTERNAL = "Internal" - -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 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 Type(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The type of endpoint. - """ - - DEFAULT = "default" - CUSTOM = "custom" diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models.py deleted file mode 100644 index 1dd6479ee07..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models.py +++ /dev/null @@ -1,438 +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 EndpointAccessResource(msrest.serialization.Model): - """The endpoint access for the target resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param namespace_name: The namespace name. - :type namespace_name: str - :param namespace_name_suffix: The suffix domain name of relay namespace. - :type namespace_name_suffix: str - :param hybrid_connection_name: Azure Relay hybrid connection name for the resource. - :type hybrid_connection_name: str - :ivar access_key: Access key for hybrid connection. - :vartype access_key: str - :param expires_on: The expiration of access key in unix time. - :type expires_on: long - """ - - _validation = { - 'namespace_name': {'max_length': 200, 'min_length': 1}, - 'namespace_name_suffix': {'max_length': 100, 'min_length': 1}, - 'access_key': {'readonly': True}, - } - - _attribute_map = { - 'namespace_name': {'key': 'relay.namespaceName', 'type': 'str'}, - 'namespace_name_suffix': {'key': 'relay.namespaceNameSuffix', 'type': 'str'}, - 'hybrid_connection_name': {'key': 'relay.hybridConnectionName', 'type': 'str'}, - 'access_key': {'key': 'relay.accessKey', 'type': 'str'}, - 'expires_on': {'key': 'relay.expiresOn', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(EndpointAccessResource, self).__init__(**kwargs) - self.namespace_name = kwargs.get('namespace_name', None) - self.namespace_name_suffix = kwargs.get('namespace_name_suffix', None) - self.hybrid_connection_name = kwargs.get('hybrid_connection_name', None) - self.access_key = None - self.expires_on = kwargs.get('expires_on', 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 EndpointResource(Resource): - """The endpoint for the target 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 type_properties_type: The type of endpoint. Possible values include: "default", - "custom". - :type type_properties_type: str or ~hybrid_connectivity_management_api.models.Type - :param resource_id: The resource Id of the connectivity endpoint (optional). - :type resource_id: str - :ivar provisioning_state: - :vartype provisioning_state: str - :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 ~hybrid_connectivity_management_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 ~hybrid_connectivity_management_api.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _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'}, - 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, - 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'created_by': {'key': 'systemData.createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'systemData.createdByType', 'type': 'str'}, - 'created_at': {'key': 'systemData.createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'systemData.lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'systemData.lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'systemData.lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(EndpointResource, self).__init__(**kwargs) - self.type_properties_type = kwargs.get('type_properties_type', None) - self.resource_id = kwargs.get('resource_id', None) - self.provisioning_state = None - 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 EndpointsList(msrest.serialization.Model): - """The list of endpoints. - - :param next_link: The link used to get the next page of endpoints list. - :type next_link: str - :param value: The list of endpoint. - :type value: list[~hybrid_connectivity_management_api.models.EndpointResource] - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[EndpointResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(EndpointsList, self).__init__(**kwargs) - self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', 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[~hybrid_connectivity_management_api.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~hybrid_connectivity_management_api.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: ~hybrid_connectivity_management_api.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 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: ~hybrid_connectivity_management_api.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 ~hybrid_connectivity_management_api.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 ~hybrid_connectivity_management_api.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[~hybrid_connectivity_management_api.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 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) diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models_py3.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models_py3.py deleted file mode 100644 index 97400905724..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/models/_models_py3.py +++ /dev/null @@ -1,464 +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 List, Optional, Union - -from azure.core.exceptions import HttpResponseError -import msrest.serialization - -from ._hybrid_connectivity_management_api_enums import * - - -class EndpointAccessResource(msrest.serialization.Model): - """The endpoint access for the target resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param namespace_name: The namespace name. - :type namespace_name: str - :param namespace_name_suffix: The suffix domain name of relay namespace. - :type namespace_name_suffix: str - :param hybrid_connection_name: Azure Relay hybrid connection name for the resource. - :type hybrid_connection_name: str - :ivar access_key: Access key for hybrid connection. - :vartype access_key: str - :param expires_on: The expiration of access key in unix time. - :type expires_on: long - """ - - _validation = { - 'namespace_name': {'max_length': 200, 'min_length': 1}, - 'namespace_name_suffix': {'max_length': 100, 'min_length': 1}, - 'access_key': {'readonly': True}, - } - - _attribute_map = { - 'namespace_name': {'key': 'relay.namespaceName', 'type': 'str'}, - 'namespace_name_suffix': {'key': 'relay.namespaceNameSuffix', 'type': 'str'}, - 'hybrid_connection_name': {'key': 'relay.hybridConnectionName', 'type': 'str'}, - 'access_key': {'key': 'relay.accessKey', 'type': 'str'}, - 'expires_on': {'key': 'relay.expiresOn', 'type': 'long'}, - } - - def __init__( - self, - *, - namespace_name: Optional[str] = None, - namespace_name_suffix: Optional[str] = None, - hybrid_connection_name: Optional[str] = None, - expires_on: Optional[int] = None, - **kwargs - ): - super(EndpointAccessResource, self).__init__(**kwargs) - self.namespace_name = namespace_name - self.namespace_name_suffix = namespace_name_suffix - self.hybrid_connection_name = hybrid_connection_name - self.access_key = None - self.expires_on = expires_on - - -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 EndpointResource(Resource): - """The endpoint for the target 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 type_properties_type: The type of endpoint. Possible values include: "default", - "custom". - :type type_properties_type: str or ~hybrid_connectivity_management_api.models.Type - :param resource_id: The resource Id of the connectivity endpoint (optional). - :type resource_id: str - :ivar provisioning_state: - :vartype provisioning_state: str - :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 ~hybrid_connectivity_management_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 ~hybrid_connectivity_management_api.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _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'}, - 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, - 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'created_by': {'key': 'systemData.createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'systemData.createdByType', 'type': 'str'}, - 'created_at': {'key': 'systemData.createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'systemData.lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'systemData.lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'systemData.lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - type_properties_type: Optional[Union[str, "Type"]] = None, - resource_id: Optional[str] = None, - 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(EndpointResource, self).__init__(**kwargs) - self.type_properties_type = type_properties_type - self.resource_id = resource_id - self.provisioning_state = None - 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 EndpointsList(msrest.serialization.Model): - """The list of endpoints. - - :param next_link: The link used to get the next page of endpoints list. - :type next_link: str - :param value: The list of endpoint. - :type value: list[~hybrid_connectivity_management_api.models.EndpointResource] - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'value': {'key': 'value', 'type': '[EndpointResource]'}, - } - - def __init__( - self, - *, - next_link: Optional[str] = None, - value: Optional[List["EndpointResource"]] = None, - **kwargs - ): - super(EndpointsList, self).__init__(**kwargs) - self.next_link = next_link - self.value = value - - -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[~hybrid_connectivity_management_api.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~hybrid_connectivity_management_api.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: ~hybrid_connectivity_management_api.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 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: ~hybrid_connectivity_management_api.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 ~hybrid_connectivity_management_api.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 ~hybrid_connectivity_management_api.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[~hybrid_connectivity_management_api.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 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) diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/__init__.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/__init__.py deleted file mode 100644 index d9149323f40..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/__init__.py +++ /dev/null @@ -1,15 +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 ._operations import Operations -from ._endpoints_operations import EndpointsOperations - -__all__ = [ - 'Operations', - 'EndpointsOperations', -] diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_endpoints_operations.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_endpoints_operations.py deleted file mode 100644 index e49a08fe5a9..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_endpoints_operations.py +++ /dev/null @@ -1,189 +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 - -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 EndpointsOperations(object): - """EndpointsOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~hybrid_connectivity_management_api.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def create_or_update( - self, - resource_group_name, # type: str - machine_name, # type: str - resource_type, #type: str - endpoint_name, # type: str - endpoint_resource, # type: "models.EndpointResource" - **kwargs # type: Any - ): - # type: (...) -> "models.EndpointResource" - """Create or update the endpoint to the target resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :param endpoint_resource: Endpoint details. - :type endpoint_resource: ~hybrid_connectivity_management_api.models.EndpointResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-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), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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(endpoint_resource, 'EndpointResource') - 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('EndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceType}/{machineName}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}'} # type: ignore - - def list_credentials( - self, - resource_group_name, # type: str - machine_name, # type: str - resource_type, # type: str - endpoint_name, # type: str - expiresin=10800, # type: Optional[int] - **kwargs # type: Any - ): - # type: (...) -> "models.EndpointAccessResource" - """Gets the endpoint access credentials to the resource. - - :param resource_uri: The fully qualified Azure Resource manager identifier of the resource to - be connected. - :type resource_uri: str - :param endpoint_name: The endpoint name. - :type endpoint_name: str - :param expiresin: The is how long the endpoint access token is valid (in seconds). - :type expiresin: long - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EndpointAccessResource, or the result of cls(response) - :rtype: ~hybrid_connectivity_management_api.models.EndpointAccessResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EndpointAccessResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-10-06-preview" - accept = "application/json" - - # Construct URL - url = self.list_credentials.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'machineName': self._serialize.url("machine_name", machine_name, 'str'), - 'resourceType': self._serialize.url("resource_type", resource_type, 'str', min_length=1), - 'endpointName': self._serialize.url("endpoint_name", endpoint_name, '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 expiresin is not None: - query_parameters['expiresin'] = self._serialize.query("expiresin", expiresin, 'long', maximum=10800, minimum=600) - - # 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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EndpointAccessResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceType}/{machineName}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/listCredentials'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_operations.py b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_operations.py deleted file mode 100644 index 02d52e6a4f6..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/operations/_operations.py +++ /dev/null @@ -1,110 +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 - -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: ~hybrid_connectivity_management_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.OperationListResult"] - """Lists the available Hybrid Connectivity 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[~hybrid_connectivity_management_api.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-10-06-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - 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('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.metadata = {'url': '/providers/Microsoft.HybridConnectivity/operations'} # type: ignore diff --git a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/py.typed b/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/py.typed deleted file mode 100644 index e5aff4f83af..00000000000 --- a/src/ssh/azext_ssh/vendored_sdks/hybridconnectivity/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file From 05163eba863e6048c77cc1fb75d617558521cfe3 Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Wed, 12 Apr 2023 13:07:46 -0400 Subject: [PATCH 2/7] Start working on new logic for retrieving service config --- .../hybrid_connectivity/endpoint/__init__.py | 1 + .../hybrid_connectivity/endpoint/_show.py | 203 ++++++++++++++++++ src/ssh/azext_ssh/connectivity_utils.py | 104 +++++---- src/ssh/azext_ssh/constants.py | 3 + src/ssh/azext_ssh/custom.py | 2 +- src/ssh/azext_ssh/target_os_utils.py | 4 +- 6 files changed, 277 insertions(+), 40 deletions(-) create mode 100644 src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_show.py diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py index 3427b0d8b94..149dbfb9a5f 100644 --- a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/__init__.py @@ -11,3 +11,4 @@ from .__cmd_group import * from ._create import * from ._list_credential import * +from ._show import * diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_show.py b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_show.py new file mode 100644 index 00000000000..49dbe718a61 --- /dev/null +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_connectivity/endpoint/_show.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. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Show(AAZCommand): + """Get the endpoint to the resource. + """ + + _aaz_info = { + "version": "2023-03-15", + "resources": [ + ["mgmt-plane", "/{resourceuri}/providers/microsoft.hybridconnectivity/endpoints/{}", "2023-03-15"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["--endpoint-name"], + help="The endpoint name.", + required=True, + ) + _args_schema.resource_uri = AAZStrArg( + options=["--resource-uri"], + help="The fully qualified Azure Resource manager identifier of the resource to be connected.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + skip_quote=True, + required=True, + ), + **self.serialize_url_param( + "resourceUri", self.ctx.args.resource_uri, + skip_quote=True, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-15", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType() + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"client_flatten": True, "read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.resource_id = AAZStrType( + serialized_name="resourceId", + ) + properties.type = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/ssh/azext_ssh/connectivity_utils.py b/src/ssh/azext_ssh/connectivity_utils.py index 66c5680ef94..5fe98f7c274 100644 --- a/src/ssh/azext_ssh/connectivity_utils.py +++ b/src/ssh/azext_ssh/connectivity_utils.py @@ -14,12 +14,13 @@ import colorama from azure.cli.core.style import Style, print_styled_text -from azure.core.exceptions import ResourceNotFoundError +from azure.core.exceptions import ResourceNotFoundError, HttpResponseError from azure.cli.core import telemetry from azure.cli.core import azclierror -from azure.mgmt.core.tools import resource_id +from azure.mgmt.core.tools import resource_id, parse_resource_id from azure.cli.core.commands.client_factory import get_subscription_id from knack import log +from knack.prompting import prompt_y_n from . import file_utils from . import constants as consts @@ -30,7 +31,7 @@ # Get the Access Details to connect to Arc Connectivity platform from the HybridConnectivity RP def get_relay_information(cmd, resource_group, vm_name, resource_type, certificate_validity_in_seconds, port): from .aaz.latest.hybrid_connectivity.endpoint import ListCredential - + print("GET RELAY INFORMATION") if not certificate_validity_in_seconds or \ certificate_validity_in_seconds > consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS: certificate_validity_in_seconds = consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS @@ -40,67 +41,96 @@ def get_relay_information(cmd, resource_group, vm_name, resource_type, certifica resource_uri = resource_id(subscription=get_subscription_id(cmd.cli_ctx), resource_group=resource_group, namespace=namespace, type=arc_type, name=vm_name) - list_cred_args = { + _check_and_fix_service_configuration(cmd, resource_uri, port) + + +def _check_and_fix_service_configuration(cmd, resource_uri, port): + from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Show as ShowServiceConfig + show_service_config_args = { 'endpoint_name': 'default', 'resource_uri': resource_uri, - 'expiresin': certificate_validity_in_seconds, - 'service_name': 'SSH' + 'service_configuration_name': 'SSH' } - + serviceConfig = None try: - t0 = time.time() - result = ListCredential(cli_ctx=cmd.cli_ctx)(command_args=list_cred_args) - time_elapsed = time.time() - t0 - telemetry.add_extension_event('ssh', {'Context.Default.AzureCLI.SSHListCredentialsTime': time_elapsed}) + serviceConfig = ShowServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=show_service_config_args) + except ResourceNotFoundError: + endpoint = _get_or_create_endpoint(cmd, resource_uri) + serviceConfig = _create_service_configuration(cmd, resource_uri, port) + #check if SSH configuration matches port + #if it doesn't match port, offer to fix it + + +def _get_or_create_endpoint(cmd, resource_uri): + from .aaz.latest.hybrid_connectivity.endpoint import Show as ShowEndpoint + show_endpoint_args = { + 'endpoint_name': 'default', + 'resource_uri': resource_uri, + } + try: + endpoint = ShowEndpoint(cli_ctx=cmd.cli_ctx)(command_args=show_endpoint_args) except ResourceNotFoundError: - logger.debug("Default Endpoint couldn't be found. Trying to create Default Endpoint.") - _create_default_endpoint(cmd, resource_group, vm_name, resource_uri, port) - try: - t0 = time.time() - result = ListCredential(cli_ctx=cmd.cli_ctx)(command_args=list_cred_args) - time_elapsed = time.time() - t0 - telemetry.add_extension_event('ssh', {'Context.Default.AzureCLI.SSHListCredentialsTime': time_elapsed}) - except Exception as e: - raise azclierror.ClientRequestError(f"Request for Azure Relay Information Failed:\n{str(e)}") - except Exception as e: - raise azclierror.ClientRequestError(f"Request for Azure Relay Information Failed:\n{str(e)}") - return result + endpoint = _create_default_endpoint(cmd, resource_uri) + return endpoint -def _create_default_endpoint(cmd, resource_group, vm_name, resource_uri, port): - from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Create as CreateServiceConfig - from .aaz.latest.hybrid_connectivity.endpoint import Create as CreateHybridConnectivityEndpoint +def _create_default_endpoint(cmd, resource_uri): + from .aaz.latest.hybrid_connectivity.endpoint import Create as CreateHybridConnectivityEndpoint + vm_name = parse_resource_id(resource_uri)["name"] + resource_group = parse_resource_id(resource_uri)["resource_group"] create_endpoint_args = { 'endpoint_name': 'default', 'resource_uri': resource_uri, 'type': 'default' } + try: + endpoint = CreateHybridConnectivityEndpoint(cli_ctx=cmd.cli_ctx)(command_args=create_endpoint_args) + except HttpResponseError as e: + if e.reason == "Forbidden": + raise azclierror.UnauthorizedError("Client is not authorized to create the default connectivity " + + f"endpoint for \'{vm_name}\' in Resource Group \'{resource_group}\'. " + + "This is a one-time operation that must be performed by someone with " + + "Owner or Contributor role to allow connections to the target resource.", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) + raise azclierror.UnclassifiedUserFault(f"Unable to create Default Endpoint for {vm_name} in {resource_group}." + f"\nError: {str(e)}", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) + except Exception as e: + colorama.init() + raise azclierror.UnclassifiedUserFault(f"Unable to create Default Endpoint for {vm_name} in {resource_group}." + f"\nError: {str(e)}", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) + + return endpoint + +def _create_service_configuration(cmd, resource_uri, port): + from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Create as CreateServiceConfig + if not port: + port = '22' + if port != '22' and not prompt_y_n(f"Current service configuration doesn't allow SSH connection to port {port}. Would you like to add it?"): + raise azclierror.ClientRequestError(f"No ssh permission for port {port}. If you want to connect to this port follow intructions on this doc: aka.ms/ssharc.") + create_service_conf_args = { 'endpoint_name': 'default', 'resource_uri': resource_uri, 'service_configuration_name': 'SSH', 'Properties': { - 'port': port, + 'port': int(port), 'service_name': 'SSH' } } try: - CreateHybridConnectivityEndpoint(cli_ctx=cmd.cli_ctx)(command_args=create_endpoint_args) - except Exception as e: - colorama.init() - raise azclierror.UnauthorizedError(f"Unable to create Default Endpoint for {vm_name} in {resource_group}." - f"\nError: {str(e)}", - colorama.Fore.YELLOW + "Contact Owner/Contributor of the resource." - + colorama.Style.RESET_ALL) - - try: - CreateServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=create_service_conf_args) + serviceConfig = CreateServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=create_service_conf_args) except Exception as e: raise azclierror.ClientRequestError({str(e)}) + return serviceConfig + + + # Downloads client side proxy to connect to Arc Connectivity Platform def get_client_side_proxy(arc_proxy_folder): diff --git a/src/ssh/azext_ssh/constants.py b/src/ssh/azext_ssh/constants.py index 62a6575f2df..82833997268 100644 --- a/src/ssh/azext_ssh/constants.py +++ b/src/ssh/azext_ssh/constants.py @@ -17,6 +17,9 @@ "--ssh-client-folder to provide OpenSSH folder path." + Style.RESET_ALL) RECOMMENDATION_RESOURCE_NOT_FOUND = (Fore.YELLOW + "Please ensure the active subscription is set properly " "and resource exists." + Style.RESET_ALL) +RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT = (Fore.YELLOW + "Contact Owner/Contributor of the resource. " + + "For more information, see: https://aka.ms/ssharc/create-default-endpoint" + + Style.RESET_ALL) RDP_TERMINATE_SSH_WAIT_TIME_IN_SECONDS = 30 ARC_RESOURCE_TYPE_PLACEHOLDER = "arc_resource_type_placeholder" diff --git a/src/ssh/azext_ssh/custom.py b/src/ssh/azext_ssh/custom.py index 678a32ac9ff..8e20feb274d 100644 --- a/src/ssh/azext_ssh/custom.py +++ b/src/ssh/azext_ssh/custom.py @@ -189,7 +189,7 @@ def _do_ssh_op(cmd, op_info, op_call): op_info.proxy_path = connectivity_utils.get_client_side_proxy(op_info.ssh_proxy_folder) op_info.relay_info = connectivity_utils.get_relay_information(cmd, op_info.resource_group_name, op_info.vm_name, op_info.resource_type, - cert_lifetime) + cert_lifetime, op_info.port) except Exception as e: if delete_keys or delete_cert: logger.debug("An error occured before operation concluded. Deleting generated keys: %s %s %s", diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index eabaff2c84d..9e55fbd34d5 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -67,8 +67,8 @@ def _get_arc_server_os(cmd, resource_group_name, vm_name): except Exception: return None - if arc_server and arc_server.properties and arc_server.properties and arc_server.properties.os_name: - os_type = arc_server.properties.os_name + if arc_server and arc_server.get('osName', None): + os_type = arc_server['osName'] return os_type From 63a63528d1b7a60916d769b835e30421507e57e2 Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Thu, 13 Apr 2023 16:05:53 -0400 Subject: [PATCH 3/7] Fix logic for retriving ostype for vmware --- src/ssh/azext_ssh/target_os_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index 9e55fbd34d5..aaedeaa398e 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -87,7 +87,7 @@ def _get_connected_vmware_os(cmd, resource_group_name, vm_name): except Exception: return None - if vmware and vmware.os_profile and vmware.os_profile.os_type: - os_type = vmware.os_profile.os_type + if vmware and vmware.get("osProfile") and vmware.get("osProfile").get("osType"): + os_type = vmware.get("osProfile").get("osType") return os_type From de7b9d7ce29acf28116638de35a1c328dd5af914 Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Thu, 27 Apr 2023 11:35:33 -0400 Subject: [PATCH 4/7] Change the hybridcompute output to not be flatten and cause error. Add comments to connectivity utils --- .../latest/hybrid_compute/machine/_show.py | 2 +- src/ssh/azext_ssh/connectivity_utils.py | 86 +++++++++++++++---- src/ssh/azext_ssh/target_os_utils.py | 27 ++++-- 3 files changed, 93 insertions(+), 22 deletions(-) diff --git a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py index 37a7ec87649..e826e75a72c 100644 --- a/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py +++ b/src/ssh/azext_ssh/aaz/latest/hybrid_compute/machine/_show.py @@ -68,7 +68,7 @@ def post_operations(self): pass def _output(self, *args, **kwargs): - result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) return result class MachinesGet(AAZHttpOperation): diff --git a/src/ssh/azext_ssh/connectivity_utils.py b/src/ssh/azext_ssh/connectivity_utils.py index 5fe98f7c274..027dc622f9f 100644 --- a/src/ssh/azext_ssh/connectivity_utils.py +++ b/src/ssh/azext_ssh/connectivity_utils.py @@ -31,7 +31,7 @@ # Get the Access Details to connect to Arc Connectivity platform from the HybridConnectivity RP def get_relay_information(cmd, resource_group, vm_name, resource_type, certificate_validity_in_seconds, port): from .aaz.latest.hybrid_connectivity.endpoint import ListCredential - print("GET RELAY INFORMATION") + if not certificate_validity_in_seconds or \ certificate_validity_in_seconds > consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS: certificate_validity_in_seconds = consts.RELAY_INFO_MAXIMUM_DURATION_IN_SECONDS @@ -41,8 +41,23 @@ def get_relay_information(cmd, resource_group, vm_name, resource_type, certifica resource_uri = resource_id(subscription=get_subscription_id(cmd.cli_ctx), resource_group=resource_group, namespace=namespace, type=arc_type, name=vm_name) - _check_and_fix_service_configuration(cmd, resource_uri, port) - + # TO DO: + # A lot of the functions for getting the relay information are written down here, + # but we need to make it work. + # What I think it's the best way to handle retrieving the relay information is the following steps: + + # - Call list credential + # - if it throws a resource not found that means the endpoint doesn't exist + # - create endpoint (fail if user is not owner/contributor) + # - create service config (fail is user is not owner/contributor, prompt user for confirmation) + # - call list credential again + # - if it throws a "precondition failed" that means the service config doesn't exist + # - create service config (fail is user is not owner/contributor, prompt user for confirmation) + # - call list credential again + # - list credential call suceeds + # - ensure that the provided port matches the allowed port in service configuration + # - if it doesn't prompt user for confirmation if they want to repair the port + # - if it does, return credential def _check_and_fix_service_configuration(cmd, resource_uri, port): from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Show as ShowServiceConfig @@ -55,9 +70,19 @@ def _check_and_fix_service_configuration(cmd, resource_uri, port): try: serviceConfig = ShowServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=show_service_config_args) except ResourceNotFoundError: - endpoint = _get_or_create_endpoint(cmd, resource_uri) + _get_or_create_endpoint(cmd, resource_uri) serviceConfig = _create_service_configuration(cmd, resource_uri, port) + except Exception: + # If for some reason the request for Service Configuration fails, + # we will still attempt to get relay information and connect. If the service configuration + # is not setup correctly, the connection will fail. + # The more likely scenario is that the request failed with a "Authorization Error", + # in case the user isn't an owner/contributor. + return + #if serviceConfig['port'] != int(port): + # raise azclierror.ForbiddenError(f"The provided port {port} is not configured to allow SSH connections.", + # consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) #check if SSH configuration matches port #if it doesn't match port, offer to fix it @@ -69,11 +94,13 @@ def _get_or_create_endpoint(cmd, resource_uri): 'resource_uri': resource_uri, } try: - endpoint = ShowEndpoint(cli_ctx=cmd.cli_ctx)(command_args=show_endpoint_args) + ShowEndpoint(cli_ctx=cmd.cli_ctx)(command_args=show_endpoint_args) except ResourceNotFoundError: - endpoint = _create_default_endpoint(cmd, resource_uri) - - return endpoint + _create_default_endpoint(cmd, resource_uri) + except Exception as e: + # if for some reason the request for endpoint fails, we will still try to move + # forward. + return def _create_default_endpoint(cmd, resource_uri): @@ -88,6 +115,7 @@ def _create_default_endpoint(cmd, resource_uri): try: endpoint = CreateHybridConnectivityEndpoint(cli_ctx=cmd.cli_ctx)(command_args=create_endpoint_args) except HttpResponseError as e: + colorama.init() if e.reason == "Forbidden": raise azclierror.UnauthorizedError("Client is not authorized to create the default connectivity " + f"endpoint for \'{vm_name}\' in Resource Group \'{resource_group}\'. " + @@ -117,19 +145,47 @@ def _create_service_configuration(cmd, resource_uri, port): 'endpoint_name': 'default', 'resource_uri': resource_uri, 'service_configuration_name': 'SSH', - 'Properties': { - 'port': int(port), - 'service_name': 'SSH' - } + 'port': int(port), + 'service_name': 'SSH' } try: serviceConfig = CreateServiceConfig(cli_ctx=cmd.cli_ctx)(command_args=create_service_conf_args) - except Exception as e: - raise azclierror.ClientRequestError({str(e)}) + except HttpResponseError as e: + colorama.init() + vm_name = parse_resource_id(resource_uri)["name"] + resource_group = parse_resource_id(resource_uri)["resource_group"] + if e.reason == "Forbidden": + raise azclierror.UnauthorizedError("Client is not authorized to create a new service configuration " + + f"to allow SSH connection to port {port} on default endpoint for " + + f"\'{vm_name}\' in Resource Group \'{resource_group}\'. " + + "This is a one-time operation that must be performed by someone " + + "with Owner or Contributor role to allow SSH connections on a " + + "specific port in the target resource.", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) + + raise azclierror.UnclassifiedUserFault(f"Unable to create Service Configuration for " + + f"{vm_name} in {resource_group} to allow SSH connection to port {port}." + f"\nError: {str(e)}", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) + except: + raise azclierror.UnclassifiedUserFault(f"Unable to create Service Configuration for " + + f"{vm_name} in {resource_group} to allow SSH connection to port {port}." + f"\nError: {str(e)}", + consts.RECOMMENDATION_FAILED_TO_CREATE_ENDPOINT) return serviceConfig - +def _list_cretendials(cmd, resource_uri, certificate_validity_in_seconds): + from .aaz.latest.hybrid_connectivity.endpoint import ListCredential + + list_cred_args = { + 'endpoint_name': 'default', + 'resource_uri': resource_uri, + 'expiresin':certificate_validity_in_seconds, + 'service_name': "SSH" + } + + ListCredential(cli_ctx=cmd.cli_ctx)(command_args=list_cred_args) # Downloads client side proxy to connect to Arc Connectivity Platform def get_client_side_proxy(arc_proxy_folder): diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index aaedeaa398e..80f54e3d873 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -13,26 +13,32 @@ # Send target OS type telemetry and check if authentication options are valid for that OS. def handle_target_os_type(cmd, op_info): - os_type = None + agent_version = None if op_info.resource_type.lower() == "microsoft.compute/virtualmachines": os_type = _get_azure_vm_os(cmd, op_info.resource_group_name, op_info.vm_name) elif op_info.resource_type.lower() == "microsoft.hybridcompute/machines": - os_type = _get_arc_server_os(cmd, op_info.resource_group_name, op_info.vm_name) + os_type, agent_version = _get_arc_server_os(cmd, op_info.resource_group_name, op_info.vm_name) elif op_info.resource_type.lower() == "microsoft.connectedvmwarevsphere/virtualmachines": - os_type = _get_connected_vmware_os(cmd, op_info.resource_group_name, op_info.vm_name) + os_type, agent_version = _get_connected_vmware_os(cmd, op_info.resource_group_name, op_info.vm_name) if os_type: logger.debug("Target OS Type: %s", os_type) telemetry.add_extension_event('ssh', {'Context.Default.AzureCLI.TargetOSType': os_type}) - + # Note 2: This is a temporary check while AAD login is not enabled for Windows. if os_type and os_type.lower() == 'windows' and not op_info.local_user: colorama.init() error_message = "SSH Login using AAD credentials is not currently supported for Windows." recommendation = colorama.Fore.YELLOW + "Please provide --local-user." + colorama.Style.RESET_ALL raise azclierror.RequiredArgumentMissingError(error_message, recommendation) + + if agent_version: + major, minor, fix, build = agent_version.Split('.') + if int(major) < 1 or int(minor) < 29: + logger.warning(f"The target machine is using an old version of the agent {agent_version}." + + "Please update to the latest version.") def _get_azure_vm_os(cmd, resource_group_name, vm_name): @@ -57,6 +63,7 @@ def _get_arc_server_os(cmd, resource_group_name, vm_name): from .aaz.latest.hybrid_compute.machine import Show as ArcServerShow arc_server = None os_type = None + agent_version = None get_args = { 'resource_group': resource_group_name, 'machine_name': vm_name @@ -69,14 +76,18 @@ def _get_arc_server_os(cmd, resource_group_name, vm_name): if arc_server and arc_server.get('osName', None): os_type = arc_server['osName'] + + if arc_server and arc_server.get('properties'): + agent_version = arc_server.get('properties').get('agentVersion') - return os_type + return os_type, agent_version def _get_connected_vmware_os(cmd, resource_group_name, vm_name): from .aaz.latest.connected_v_mwarev_sphere.virtual_machine import Show as VMwarevSphereShow vmware = None os_type = None + agent_version = None get_args = { 'resource_group': resource_group_name, 'virtual_machine_name': vm_name @@ -89,5 +100,9 @@ def _get_connected_vmware_os(cmd, resource_group_name, vm_name): if vmware and vmware.get("osProfile") and vmware.get("osProfile").get("osType"): os_type = vmware.get("osProfile").get("osType") + + if vmware and vmware.get("properties") and vmware.get("properties").get('guestAgentProfile') and\ + vmware.get("properties").get('guestAgentProfile').get('agentVersion'): + agent_version = vmware.get("properties").get('guestAgentProfile').get('agentVersion') - return os_type + return os_type, agent_version From 42ef5852f0a3b99d37c954252f5f6a78c3c1510d Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Thu, 27 Apr 2023 13:17:27 -0400 Subject: [PATCH 5/7] update proxy --- src/ssh/azext_ssh/constants.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ssh/azext_ssh/constants.py b/src/ssh/azext_ssh/constants.py index 82833997268..2ce56225a4e 100644 --- a/src/ssh/azext_ssh/constants.py +++ b/src/ssh/azext_ssh/constants.py @@ -5,8 +5,8 @@ from colorama import Fore from colorama import Style -CLIENT_PROXY_VERSION = "1.3.017634" -CLIENT_PROXY_RELEASE = "release01-11-21" +CLIENT_PROXY_VERSION = "1.3.022941" +CLIENT_PROXY_RELEASE = "release21-04-23" CLIENT_PROXY_STORAGE_URL = "https://sshproxysa.blob.core.windows.net" CLEANUP_TOTAL_TIME_LIMIT_IN_SECONDS = 120 CLEANUP_TIME_INTERVAL_IN_SECONDS = 10 From 2d015cf95e58a101d0f627d542fa4a03cabfa8fe Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Thu, 27 Apr 2023 14:33:08 -0400 Subject: [PATCH 6/7] fix for checking agent version --- src/ssh/azext_ssh/connectivity_utils.py | 4 ++++ src/ssh/azext_ssh/target_os_utils.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ssh/azext_ssh/connectivity_utils.py b/src/ssh/azext_ssh/connectivity_utils.py index 027dc622f9f..aea4ad5304a 100644 --- a/src/ssh/azext_ssh/connectivity_utils.py +++ b/src/ssh/azext_ssh/connectivity_utils.py @@ -59,6 +59,9 @@ def get_relay_information(cmd, resource_group, vm_name, resource_type, certifica # - if it doesn't prompt user for confirmation if they want to repair the port # - if it does, return credential + # This is just how I think it's the best way to do this. I've been trying to figure out the best way to + # minimize calls to the ACRP. If you think of a better way to do this feel free to try it. + def _check_and_fix_service_configuration(cmd, resource_uri, port): from .aaz.latest.hybrid_connectivity.endpoint.service_configuration import Show as ShowServiceConfig show_service_config_args = { @@ -271,6 +274,7 @@ def _get_proxy_filename_and_url(arc_proxy_folder): def format_relay_info_string(relay_info): + # Add service config token to formated string relay_info_string = json.dumps( { "relay": { diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index 80f54e3d873..ef0bd63166f 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -34,12 +34,13 @@ def handle_target_os_type(cmd, op_info): recommendation = colorama.Fore.YELLOW + "Please provide --local-user." + colorama.Style.RESET_ALL raise azclierror.RequiredArgumentMissingError(error_message, recommendation) + ''' if agent_version: major, minor, fix, build = agent_version.Split('.') if int(major) < 1 or int(minor) < 29: logger.warning(f"The target machine is using an old version of the agent {agent_version}." + "Please update to the latest version.") - + ''' def _get_azure_vm_os(cmd, resource_group_name, vm_name): from azure.cli.core.commands import client_factory From db8812cba2a911a504f82c9d9305f60582acc82f Mon Sep 17 00:00:00 2001 From: Vivian Thiebaut Date: Thu, 27 Apr 2023 14:46:31 -0400 Subject: [PATCH 7/7] Fix check for agent version --- src/ssh/azext_ssh/target_os_utils.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/ssh/azext_ssh/target_os_utils.py b/src/ssh/azext_ssh/target_os_utils.py index ef0bd63166f..c691efd2bde 100644 --- a/src/ssh/azext_ssh/target_os_utils.py +++ b/src/ssh/azext_ssh/target_os_utils.py @@ -34,13 +34,16 @@ def handle_target_os_type(cmd, op_info): recommendation = colorama.Fore.YELLOW + "Please provide --local-user." + colorama.Style.RESET_ALL raise azclierror.RequiredArgumentMissingError(error_message, recommendation) - ''' + if agent_version: - major, minor, fix, build = agent_version.Split('.') - if int(major) < 1 or int(minor) < 29: - logger.warning(f"The target machine is using an old version of the agent {agent_version}." + - "Please update to the latest version.") - ''' + try: + major, minor, fix, build = agent_version.split('.') + if int(major) < 1 or int(minor) < 29: + logger.warning(f"The Arc Agent running in the target machine version {agent_version} is an old version. Please update to the latest version. For instructions see: http://aka.ms/update-ssharc-agent.") + except(Exception): + # if there is some problem with the string handling of this check we don't want the execution to fail + return + def _get_azure_vm_os(cmd, resource_group_name, vm_name): from azure.cli.core.commands import client_factory