diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/operations/virtual_machines_operations.py b/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/operations/virtual_machines_operations.py index 0e91caa6f3e5..e34fd57b062c 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/operations/virtual_machines_operations.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2017_03_30/operations/virtual_machines_operations.py @@ -108,6 +108,75 @@ def get_extensions( return deserialized get_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions'} + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all the virtual machines under the specified subscription for the + specified location. + + :param location: The location for which virtual machines under the + subscription are queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualMachine + :rtype: + ~azure.mgmt.compute.v2017_03_30.models.VirtualMachinePaged[~azure.mgmt.compute.v2017_03_30.models.VirtualMachine] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines'} + def _capture_initial( self, resource_group_name, vm_name, parameters, custom_headers=None, raw=False, **operation_config): diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/operations/virtual_machines_operations.py b/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/operations/virtual_machines_operations.py index fafb141bd641..ae6d1fdd2e94 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/operations/virtual_machines_operations.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2017_12_01/operations/virtual_machines_operations.py @@ -108,6 +108,75 @@ def get_extensions( return deserialized get_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions'} + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all the virtual machines under the specified subscription for the + specified location. + + :param location: The location for which virtual machines under the + subscription are queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualMachine + :rtype: + ~azure.mgmt.compute.v2017_12_01.models.VirtualMachinePaged[~azure.mgmt.compute.v2017_12_01.models.VirtualMachine] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines'} + def _capture_initial( self, resource_group_name, vm_name, parameters, custom_headers=None, raw=False, **operation_config): diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/compute_management_client.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/compute_management_client.py index 63b1db3da61a..92f3f44f9013 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/compute_management_client.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/compute_management_client.py @@ -19,9 +19,9 @@ from .operations.virtual_machine_extensions_operations import VirtualMachineExtensionsOperations from .operations.virtual_machine_images_operations import VirtualMachineImagesOperations from .operations.usage_operations import UsageOperations +from .operations.virtual_machines_operations import VirtualMachinesOperations from .operations.virtual_machine_sizes_operations import VirtualMachineSizesOperations from .operations.images_operations import ImagesOperations -from .operations.virtual_machines_operations import VirtualMachinesOperations from .operations.virtual_machine_scale_sets_operations import VirtualMachineScaleSetsOperations from .operations.virtual_machine_scale_set_extensions_operations import VirtualMachineScaleSetExtensionsOperations from .operations.virtual_machine_scale_set_rolling_upgrades_operations import VirtualMachineScaleSetRollingUpgradesOperations @@ -85,12 +85,12 @@ class ComputeManagementClient(SDKClient): :vartype virtual_machine_images: azure.mgmt.compute.v2018_04_01.operations.VirtualMachineImagesOperations :ivar usage: Usage operations :vartype usage: azure.mgmt.compute.v2018_04_01.operations.UsageOperations + :ivar virtual_machines: VirtualMachines operations + :vartype virtual_machines: azure.mgmt.compute.v2018_04_01.operations.VirtualMachinesOperations :ivar virtual_machine_sizes: VirtualMachineSizes operations :vartype virtual_machine_sizes: azure.mgmt.compute.v2018_04_01.operations.VirtualMachineSizesOperations :ivar images: Images operations :vartype images: azure.mgmt.compute.v2018_04_01.operations.ImagesOperations - :ivar virtual_machines: VirtualMachines operations - :vartype virtual_machines: azure.mgmt.compute.v2018_04_01.operations.VirtualMachinesOperations :ivar virtual_machine_scale_sets: VirtualMachineScaleSets operations :vartype virtual_machine_scale_sets: azure.mgmt.compute.v2018_04_01.operations.VirtualMachineScaleSetsOperations :ivar virtual_machine_scale_set_extensions: VirtualMachineScaleSetExtensions operations @@ -141,12 +141,12 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.usage = UsageOperations( self._client, self.config, self._serialize, self._deserialize) + self.virtual_machines = VirtualMachinesOperations( + self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_sizes = VirtualMachineSizesOperations( self._client, self.config, self._serialize, self._deserialize) self.images = ImagesOperations( self._client, self.config, self._serialize, self._deserialize) - self.virtual_machines = VirtualMachinesOperations( - self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_scale_sets = VirtualMachineScaleSetsOperations( self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_scale_set_extensions = VirtualMachineScaleSetExtensionsOperations( diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/__init__.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/__init__.py index c88cde3dde9f..abdeb024d053 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/__init__.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/models/__init__.py @@ -295,8 +295,8 @@ from .availability_set_paged import AvailabilitySetPaged from .virtual_machine_size_paged import VirtualMachineSizePaged from .usage_paged import UsagePaged -from .image_paged import ImagePaged from .virtual_machine_paged import VirtualMachinePaged +from .image_paged import ImagePaged from .virtual_machine_scale_set_paged import VirtualMachineScaleSetPaged from .virtual_machine_scale_set_sku_paged import VirtualMachineScaleSetSkuPaged from .upgrade_operation_historical_status_info_paged import UpgradeOperationHistoricalStatusInfoPaged @@ -480,8 +480,8 @@ 'AvailabilitySetPaged', 'VirtualMachineSizePaged', 'UsagePaged', - 'ImagePaged', 'VirtualMachinePaged', + 'ImagePaged', 'VirtualMachineScaleSetPaged', 'VirtualMachineScaleSetSkuPaged', 'UpgradeOperationHistoricalStatusInfoPaged', diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/__init__.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/__init__.py index 48abff4beece..e20e3c655aae 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/__init__.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/__init__.py @@ -15,9 +15,9 @@ from .virtual_machine_extensions_operations import VirtualMachineExtensionsOperations from .virtual_machine_images_operations import VirtualMachineImagesOperations from .usage_operations import UsageOperations +from .virtual_machines_operations import VirtualMachinesOperations from .virtual_machine_sizes_operations import VirtualMachineSizesOperations from .images_operations import ImagesOperations -from .virtual_machines_operations import VirtualMachinesOperations from .virtual_machine_scale_sets_operations import VirtualMachineScaleSetsOperations from .virtual_machine_scale_set_extensions_operations import VirtualMachineScaleSetExtensionsOperations from .virtual_machine_scale_set_rolling_upgrades_operations import VirtualMachineScaleSetRollingUpgradesOperations @@ -34,9 +34,9 @@ 'VirtualMachineExtensionsOperations', 'VirtualMachineImagesOperations', 'UsageOperations', + 'VirtualMachinesOperations', 'VirtualMachineSizesOperations', 'ImagesOperations', - 'VirtualMachinesOperations', 'VirtualMachineScaleSetsOperations', 'VirtualMachineScaleSetExtensionsOperations', 'VirtualMachineScaleSetRollingUpgradesOperations', diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/virtual_machines_operations.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/virtual_machines_operations.py index eacf80e3186d..2b9af6befaba 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/virtual_machines_operations.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_04_01/operations/virtual_machines_operations.py @@ -39,6 +39,75 @@ def __init__(self, client, config, serializer, deserializer): self.config = config + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all the virtual machines under the specified subscription for the + specified location. + + :param location: The location for which virtual machines under the + subscription are queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualMachine + :rtype: + ~azure.mgmt.compute.v2018_04_01.models.VirtualMachinePaged[~azure.mgmt.compute.v2018_04_01.models.VirtualMachine] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines'} + def _capture_initial( self, resource_group_name, vm_name, parameters, custom_headers=None, raw=False, **operation_config): diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/compute_management_client.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/compute_management_client.py index b46dc8415314..5d5681a27a79 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/compute_management_client.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/compute_management_client.py @@ -19,9 +19,9 @@ from .operations.virtual_machine_extensions_operations import VirtualMachineExtensionsOperations from .operations.virtual_machine_images_operations import VirtualMachineImagesOperations from .operations.usage_operations import UsageOperations +from .operations.virtual_machines_operations import VirtualMachinesOperations from .operations.virtual_machine_sizes_operations import VirtualMachineSizesOperations from .operations.images_operations import ImagesOperations -from .operations.virtual_machines_operations import VirtualMachinesOperations from .operations.virtual_machine_scale_sets_operations import VirtualMachineScaleSetsOperations from .operations.virtual_machine_scale_set_extensions_operations import VirtualMachineScaleSetExtensionsOperations from .operations.virtual_machine_scale_set_rolling_upgrades_operations import VirtualMachineScaleSetRollingUpgradesOperations @@ -88,12 +88,12 @@ class ComputeManagementClient(SDKClient): :vartype virtual_machine_images: azure.mgmt.compute.v2018_06_01.operations.VirtualMachineImagesOperations :ivar usage: Usage operations :vartype usage: azure.mgmt.compute.v2018_06_01.operations.UsageOperations + :ivar virtual_machines: VirtualMachines operations + :vartype virtual_machines: azure.mgmt.compute.v2018_06_01.operations.VirtualMachinesOperations :ivar virtual_machine_sizes: VirtualMachineSizes operations :vartype virtual_machine_sizes: azure.mgmt.compute.v2018_06_01.operations.VirtualMachineSizesOperations :ivar images: Images operations :vartype images: azure.mgmt.compute.v2018_06_01.operations.ImagesOperations - :ivar virtual_machines: VirtualMachines operations - :vartype virtual_machines: azure.mgmt.compute.v2018_06_01.operations.VirtualMachinesOperations :ivar virtual_machine_scale_sets: VirtualMachineScaleSets operations :vartype virtual_machine_scale_sets: azure.mgmt.compute.v2018_06_01.operations.VirtualMachineScaleSetsOperations :ivar virtual_machine_scale_set_extensions: VirtualMachineScaleSetExtensions operations @@ -150,12 +150,12 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.usage = UsageOperations( self._client, self.config, self._serialize, self._deserialize) + self.virtual_machines = VirtualMachinesOperations( + self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_sizes = VirtualMachineSizesOperations( self._client, self.config, self._serialize, self._deserialize) self.images = ImagesOperations( self._client, self.config, self._serialize, self._deserialize) - self.virtual_machines = VirtualMachinesOperations( - self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_scale_sets = VirtualMachineScaleSetsOperations( self._client, self.config, self._serialize, self._deserialize) self.virtual_machine_scale_set_extensions = VirtualMachineScaleSetExtensionsOperations( diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/__init__.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/__init__.py index 4b2f4169e001..18c28168320c 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/__init__.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/__init__.py @@ -38,6 +38,7 @@ from .key_vault_key_reference_py3 import KeyVaultKeyReference from .disk_encryption_settings_py3 import DiskEncryptionSettings from .virtual_hard_disk_py3 import VirtualHardDisk + from .diff_disk_settings_py3 import DiffDiskSettings from .managed_disk_parameters_py3 import ManagedDiskParameters from .os_disk_py3 import OSDisk from .data_disk_py3 import DataDisk @@ -202,6 +203,7 @@ from .key_vault_key_reference import KeyVaultKeyReference from .disk_encryption_settings import DiskEncryptionSettings from .virtual_hard_disk import VirtualHardDisk + from .diff_disk_settings import DiffDiskSettings from .managed_disk_parameters import ManagedDiskParameters from .os_disk import OSDisk from .data_disk import DataDisk @@ -341,8 +343,8 @@ from .availability_set_paged import AvailabilitySetPaged from .virtual_machine_size_paged import VirtualMachineSizePaged from .usage_paged import UsagePaged -from .image_paged import ImagePaged from .virtual_machine_paged import VirtualMachinePaged +from .image_paged import ImagePaged from .virtual_machine_scale_set_paged import VirtualMachineScaleSetPaged from .virtual_machine_scale_set_sku_paged import VirtualMachineScaleSetSkuPaged from .upgrade_operation_historical_status_info_paged import UpgradeOperationHistoricalStatusInfoPaged @@ -362,6 +364,7 @@ CachingTypes, DiskCreateOptionTypes, StorageAccountTypes, + DiffDiskOptions, PassNames, ComponentNames, SettingNames, @@ -419,6 +422,7 @@ 'KeyVaultKeyReference', 'DiskEncryptionSettings', 'VirtualHardDisk', + 'DiffDiskSettings', 'ManagedDiskParameters', 'OSDisk', 'DataDisk', @@ -558,8 +562,8 @@ 'AvailabilitySetPaged', 'VirtualMachineSizePaged', 'UsagePaged', - 'ImagePaged', 'VirtualMachinePaged', + 'ImagePaged', 'VirtualMachineScaleSetPaged', 'VirtualMachineScaleSetSkuPaged', 'UpgradeOperationHistoricalStatusInfoPaged', @@ -578,6 +582,7 @@ 'CachingTypes', 'DiskCreateOptionTypes', 'StorageAccountTypes', + 'DiffDiskOptions', 'PassNames', 'ComponentNames', 'SettingNames', diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/compute_management_client_enums.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/compute_management_client_enums.py index e01c884bfff3..9c58eaa0f157 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/compute_management_client_enums.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/compute_management_client_enums.py @@ -223,6 +223,11 @@ class StorageAccountTypes(str, Enum): ultra_ssd_lrs = "UltraSSD_LRS" +class DiffDiskOptions(str, Enum): + + local = "Local" + + class PassNames(str, Enum): oobe_system = "OobeSystem" diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings.py new file mode 100644 index 000000000000..028ade1b9cb8 --- /dev/null +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DiffDiskSettings(Model): + """Describes the parameters of differencing disk settings that can be be + specified for operating system disk.

NOTE: The differencing disk + settings can only be specified for managed disk. + + :param option: Specifies the differencing disk settings for operating + system disk. Possible values include: 'Local' + :type option: str or + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskOptions + """ + + _attribute_map = { + 'option': {'key': 'option', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DiffDiskSettings, self).__init__(**kwargs) + self.option = kwargs.get('option', None) diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings_py3.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings_py3.py new file mode 100644 index 000000000000..25c1bfa697fa --- /dev/null +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/diff_disk_settings_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DiffDiskSettings(Model): + """Describes the parameters of differencing disk settings that can be be + specified for operating system disk.

NOTE: The differencing disk + settings can only be specified for managed disk. + + :param option: Specifies the differencing disk settings for operating + system disk. Possible values include: 'Local' + :type option: str or + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskOptions + """ + + _attribute_map = { + 'option': {'key': 'option', 'type': 'str'}, + } + + def __init__(self, *, option=None, **kwargs) -> None: + super(DiffDiskSettings, self).__init__(**kwargs) + self.option = option diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk.py index b4fed8c2c1cd..4914868b54df 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk.py @@ -47,6 +47,10 @@ class OSDisk(Model): :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. :type write_accelerator_enabled: bool + :param diff_disk_settings: Specifies the differencing Disk Settings for + the operating system disk used by the virtual machine. + :type diff_disk_settings: + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskSettings :param create_option: Required. Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual @@ -78,6 +82,7 @@ class OSDisk(Model): 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 'caching': {'key': 'caching', 'type': 'CachingTypes'}, 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, + 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 'create_option': {'key': 'createOption', 'type': 'str'}, 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, @@ -92,6 +97,7 @@ def __init__(self, **kwargs): self.image = kwargs.get('image', None) self.caching = kwargs.get('caching', None) self.write_accelerator_enabled = kwargs.get('write_accelerator_enabled', None) + self.diff_disk_settings = kwargs.get('diff_disk_settings', None) self.create_option = kwargs.get('create_option', None) self.disk_size_gb = kwargs.get('disk_size_gb', None) self.managed_disk = kwargs.get('managed_disk', None) diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk_py3.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk_py3.py index 7dc498d4d7d0..b3514b43e170 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk_py3.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/os_disk_py3.py @@ -47,6 +47,10 @@ class OSDisk(Model): :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. :type write_accelerator_enabled: bool + :param diff_disk_settings: Specifies the differencing Disk Settings for + the operating system disk used by the virtual machine. + :type diff_disk_settings: + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskSettings :param create_option: Required. Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual @@ -78,12 +82,13 @@ class OSDisk(Model): 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 'caching': {'key': 'caching', 'type': 'CachingTypes'}, 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, + 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 'create_option': {'key': 'createOption', 'type': 'str'}, 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, } - def __init__(self, *, create_option, os_type=None, encryption_settings=None, name: str=None, vhd=None, image=None, caching=None, write_accelerator_enabled: bool=None, disk_size_gb: int=None, managed_disk=None, **kwargs) -> None: + def __init__(self, *, create_option, os_type=None, encryption_settings=None, name: str=None, vhd=None, image=None, caching=None, write_accelerator_enabled: bool=None, diff_disk_settings=None, disk_size_gb: int=None, managed_disk=None, **kwargs) -> None: super(OSDisk, self).__init__(**kwargs) self.os_type = os_type self.encryption_settings = encryption_settings @@ -92,6 +97,7 @@ def __init__(self, *, create_option, os_type=None, encryption_settings=None, nam self.image = image self.caching = caching self.write_accelerator_enabled = write_accelerator_enabled + self.diff_disk_settings = diff_disk_settings self.create_option = create_option self.disk_size_gb = disk_size_gb self.managed_disk = managed_disk diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk.py index 7a1676cfe1e3..ac8de50ead86 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk.py @@ -36,6 +36,10 @@ class VirtualMachineScaleSetOSDisk(Model): Possible values include: 'FromImage', 'Empty', 'Attach' :type create_option: str or ~azure.mgmt.compute.v2018_06_01.models.DiskCreateOptionTypes + :param diff_disk_settings: Specifies the differencing Disk Settings for + the operating system disk used by the virtual machine scale set. + :type diff_disk_settings: + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskSettings :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB @@ -66,6 +70,7 @@ class VirtualMachineScaleSetOSDisk(Model): 'caching': {'key': 'caching', 'type': 'CachingTypes'}, 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 'create_option': {'key': 'createOption', 'type': 'str'}, + 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 'os_type': {'key': 'osType', 'type': 'OperatingSystemTypes'}, 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, @@ -79,6 +84,7 @@ def __init__(self, **kwargs): self.caching = kwargs.get('caching', None) self.write_accelerator_enabled = kwargs.get('write_accelerator_enabled', None) self.create_option = kwargs.get('create_option', None) + self.diff_disk_settings = kwargs.get('diff_disk_settings', None) self.disk_size_gb = kwargs.get('disk_size_gb', None) self.os_type = kwargs.get('os_type', None) self.image = kwargs.get('image', None) diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk_py3.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk_py3.py index 5b44c8e2e8f9..eafdd640f3a2 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk_py3.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/models/virtual_machine_scale_set_os_disk_py3.py @@ -36,6 +36,10 @@ class VirtualMachineScaleSetOSDisk(Model): Possible values include: 'FromImage', 'Empty', 'Attach' :type create_option: str or ~azure.mgmt.compute.v2018_06_01.models.DiskCreateOptionTypes + :param diff_disk_settings: Specifies the differencing Disk Settings for + the operating system disk used by the virtual machine scale set. + :type diff_disk_settings: + ~azure.mgmt.compute.v2018_06_01.models.DiffDiskSettings :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB @@ -66,6 +70,7 @@ class VirtualMachineScaleSetOSDisk(Model): 'caching': {'key': 'caching', 'type': 'CachingTypes'}, 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 'create_option': {'key': 'createOption', 'type': 'str'}, + 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 'os_type': {'key': 'osType', 'type': 'OperatingSystemTypes'}, 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, @@ -73,12 +78,13 @@ class VirtualMachineScaleSetOSDisk(Model): 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, } - def __init__(self, *, create_option, name: str=None, caching=None, write_accelerator_enabled: bool=None, disk_size_gb: int=None, os_type=None, image=None, vhd_containers=None, managed_disk=None, **kwargs) -> None: + def __init__(self, *, create_option, name: str=None, caching=None, write_accelerator_enabled: bool=None, diff_disk_settings=None, disk_size_gb: int=None, os_type=None, image=None, vhd_containers=None, managed_disk=None, **kwargs) -> None: super(VirtualMachineScaleSetOSDisk, self).__init__(**kwargs) self.name = name self.caching = caching self.write_accelerator_enabled = write_accelerator_enabled self.create_option = create_option + self.diff_disk_settings = diff_disk_settings self.disk_size_gb = disk_size_gb self.os_type = os_type self.image = image diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/__init__.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/__init__.py index 662b518ecea8..73c6833c6f71 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/__init__.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/__init__.py @@ -15,9 +15,9 @@ from .virtual_machine_extensions_operations import VirtualMachineExtensionsOperations from .virtual_machine_images_operations import VirtualMachineImagesOperations from .usage_operations import UsageOperations +from .virtual_machines_operations import VirtualMachinesOperations from .virtual_machine_sizes_operations import VirtualMachineSizesOperations from .images_operations import ImagesOperations -from .virtual_machines_operations import VirtualMachinesOperations from .virtual_machine_scale_sets_operations import VirtualMachineScaleSetsOperations from .virtual_machine_scale_set_extensions_operations import VirtualMachineScaleSetExtensionsOperations from .virtual_machine_scale_set_rolling_upgrades_operations import VirtualMachineScaleSetRollingUpgradesOperations @@ -37,9 +37,9 @@ 'VirtualMachineExtensionsOperations', 'VirtualMachineImagesOperations', 'UsageOperations', + 'VirtualMachinesOperations', 'VirtualMachineSizesOperations', 'ImagesOperations', - 'VirtualMachinesOperations', 'VirtualMachineScaleSetsOperations', 'VirtualMachineScaleSetExtensionsOperations', 'VirtualMachineScaleSetRollingUpgradesOperations', diff --git a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/virtual_machines_operations.py b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/virtual_machines_operations.py index 6550e47a4fe0..fe68c6d10da4 100644 --- a/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/virtual_machines_operations.py +++ b/azure-mgmt-compute/azure/mgmt/compute/v2018_06_01/operations/virtual_machines_operations.py @@ -39,6 +39,75 @@ def __init__(self, client, config, serializer, deserializer): self.config = config + def list_by_location( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all the virtual machines under the specified subscription for the + specified location. + + :param location: The location for which virtual machines under the + subscription are queried. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of VirtualMachine + :rtype: + ~azure.mgmt.compute.v2018_06_01.models.VirtualMachinePaged[~azure.mgmt.compute.v2018_06_01.models.VirtualMachine] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines'} + def _capture_initial( self, resource_group_name, vm_name, parameters, custom_headers=None, raw=False, **operation_config):