1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Any, Dict, List, Optional, Union 11 12import msrest.serialization 13 14from ._compute_management_client_enums import * 15 16 17class AccessUri(msrest.serialization.Model): 18 """A disk access SAS uri. 19 20 Variables are only populated by the server, and will be ignored when sending a request. 21 22 :ivar access_sas: A SAS uri for accessing a disk. 23 :vartype access_sas: str 24 """ 25 26 _validation = { 27 'access_sas': {'readonly': True}, 28 } 29 30 _attribute_map = { 31 'access_sas': {'key': 'accessSAS', 'type': 'str'}, 32 } 33 34 def __init__( 35 self, 36 **kwargs 37 ): 38 super(AccessUri, self).__init__(**kwargs) 39 self.access_sas = None 40 41 42class AdditionalCapabilities(msrest.serialization.Model): 43 """Enables or disables a capability on the virtual machine or virtual machine scale set. 44 45 :param ultra_ssd_enabled: The flag that enables or disables a capability to have one or more 46 managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with 47 storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale 48 set only if this property is enabled. 49 :type ultra_ssd_enabled: bool 50 """ 51 52 _attribute_map = { 53 'ultra_ssd_enabled': {'key': 'ultraSSDEnabled', 'type': 'bool'}, 54 } 55 56 def __init__( 57 self, 58 *, 59 ultra_ssd_enabled: Optional[bool] = None, 60 **kwargs 61 ): 62 super(AdditionalCapabilities, self).__init__(**kwargs) 63 self.ultra_ssd_enabled = ultra_ssd_enabled 64 65 66class AdditionalUnattendContent(msrest.serialization.Model): 67 """Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. 68 69 :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only 70 acceptable values to pass in are None and "OobeSystem". The default value is None. 71 :type pass_name: str 72 :param component_name: The component name. Currently, the only allowable value is 73 Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and 74 "Microsoft-Windows-Shell-Setup". The default value is None. 75 :type component_name: str 76 :param setting_name: Specifies the name of the setting to which the content applies. Possible 77 values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", 78 "FirstLogonCommands". 79 :type setting_name: str or ~azure.mgmt.compute.v2019_07_01.models.SettingNames 80 :param content: Specifies the XML formatted content that is added to the unattend.xml file for 81 the specified path and component. The XML must be less than 4KB and must include the root 82 element for the setting or feature that is being inserted. 83 :type content: str 84 """ 85 86 _attribute_map = { 87 'pass_name': {'key': 'passName', 'type': 'str'}, 88 'component_name': {'key': 'componentName', 'type': 'str'}, 89 'setting_name': {'key': 'settingName', 'type': 'str'}, 90 'content': {'key': 'content', 'type': 'str'}, 91 } 92 93 def __init__( 94 self, 95 *, 96 pass_name: Optional[str] = None, 97 component_name: Optional[str] = None, 98 setting_name: Optional[Union[str, "SettingNames"]] = None, 99 content: Optional[str] = None, 100 **kwargs 101 ): 102 super(AdditionalUnattendContent, self).__init__(**kwargs) 103 self.pass_name = pass_name 104 self.component_name = component_name 105 self.setting_name = setting_name 106 self.content = content 107 108 109class ApiEntityReference(msrest.serialization.Model): 110 """The API entity reference. 111 112 :param id: The ARM resource id in the form of 113 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 114 :type id: str 115 """ 116 117 _attribute_map = { 118 'id': {'key': 'id', 'type': 'str'}, 119 } 120 121 def __init__( 122 self, 123 *, 124 id: Optional[str] = None, 125 **kwargs 126 ): 127 super(ApiEntityReference, self).__init__(**kwargs) 128 self.id = id 129 130 131class ApiError(msrest.serialization.Model): 132 """Api error. 133 134 :param details: The Api error details. 135 :type details: list[~azure.mgmt.compute.v2019_07_01.models.ApiErrorBase] 136 :param innererror: The Api inner error. 137 :type innererror: ~azure.mgmt.compute.v2019_07_01.models.InnerError 138 :param code: The error code. 139 :type code: str 140 :param target: The target of the particular error. 141 :type target: str 142 :param message: The error message. 143 :type message: str 144 """ 145 146 _attribute_map = { 147 'details': {'key': 'details', 'type': '[ApiErrorBase]'}, 148 'innererror': {'key': 'innererror', 'type': 'InnerError'}, 149 'code': {'key': 'code', 'type': 'str'}, 150 'target': {'key': 'target', 'type': 'str'}, 151 'message': {'key': 'message', 'type': 'str'}, 152 } 153 154 def __init__( 155 self, 156 *, 157 details: Optional[List["ApiErrorBase"]] = None, 158 innererror: Optional["InnerError"] = None, 159 code: Optional[str] = None, 160 target: Optional[str] = None, 161 message: Optional[str] = None, 162 **kwargs 163 ): 164 super(ApiError, self).__init__(**kwargs) 165 self.details = details 166 self.innererror = innererror 167 self.code = code 168 self.target = target 169 self.message = message 170 171 172class ApiErrorBase(msrest.serialization.Model): 173 """Api error base. 174 175 :param code: The error code. 176 :type code: str 177 :param target: The target of the particular error. 178 :type target: str 179 :param message: The error message. 180 :type message: str 181 """ 182 183 _attribute_map = { 184 'code': {'key': 'code', 'type': 'str'}, 185 'target': {'key': 'target', 'type': 'str'}, 186 'message': {'key': 'message', 'type': 'str'}, 187 } 188 189 def __init__( 190 self, 191 *, 192 code: Optional[str] = None, 193 target: Optional[str] = None, 194 message: Optional[str] = None, 195 **kwargs 196 ): 197 super(ApiErrorBase, self).__init__(**kwargs) 198 self.code = code 199 self.target = target 200 self.message = message 201 202 203class AutomaticOSUpgradePolicy(msrest.serialization.Model): 204 """The configuration parameters used for performing automatic OS upgrade. 205 206 :param enable_automatic_os_upgrade: Indicates whether OS upgrades should automatically be 207 applied to scale set instances in a rolling fashion when a newer version of the OS image 208 becomes available. Default value is false. :code:`<br>`:code:`<br>` If this is set to true for 209 Windows based scale sets, `enableAutomaticUpdates 210 <https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet>`_ 211 is automatically set to false and cannot be set to true. 212 :type enable_automatic_os_upgrade: bool 213 :param disable_automatic_rollback: Whether OS image rollback feature should be disabled. 214 Default value is false. 215 :type disable_automatic_rollback: bool 216 """ 217 218 _attribute_map = { 219 'enable_automatic_os_upgrade': {'key': 'enableAutomaticOSUpgrade', 'type': 'bool'}, 220 'disable_automatic_rollback': {'key': 'disableAutomaticRollback', 'type': 'bool'}, 221 } 222 223 def __init__( 224 self, 225 *, 226 enable_automatic_os_upgrade: Optional[bool] = None, 227 disable_automatic_rollback: Optional[bool] = None, 228 **kwargs 229 ): 230 super(AutomaticOSUpgradePolicy, self).__init__(**kwargs) 231 self.enable_automatic_os_upgrade = enable_automatic_os_upgrade 232 self.disable_automatic_rollback = disable_automatic_rollback 233 234 235class AutomaticOSUpgradeProperties(msrest.serialization.Model): 236 """Describes automatic OS upgrade properties on the image. 237 238 All required parameters must be populated in order to send to Azure. 239 240 :param automatic_os_upgrade_supported: Required. Specifies whether automatic OS upgrade is 241 supported on the image. 242 :type automatic_os_upgrade_supported: bool 243 """ 244 245 _validation = { 246 'automatic_os_upgrade_supported': {'required': True}, 247 } 248 249 _attribute_map = { 250 'automatic_os_upgrade_supported': {'key': 'automaticOSUpgradeSupported', 'type': 'bool'}, 251 } 252 253 def __init__( 254 self, 255 *, 256 automatic_os_upgrade_supported: bool, 257 **kwargs 258 ): 259 super(AutomaticOSUpgradeProperties, self).__init__(**kwargs) 260 self.automatic_os_upgrade_supported = automatic_os_upgrade_supported 261 262 263class AutomaticRepairsPolicy(msrest.serialization.Model): 264 """Specifies the configuration parameters for automatic repairs on the virtual machine scale set. 265 266 :param enabled: Specifies whether automatic repairs should be enabled on the virtual machine 267 scale set. The default value is false. 268 :type enabled: bool 269 :param grace_period: The amount of time for which automatic repairs are suspended due to a 270 state change on VM. The grace time starts after the state change has completed. This helps 271 avoid premature or accidental repairs. The time duration should be specified in ISO 8601 272 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default 273 value. The maximum allowed grace period is 90 minutes (PT90M). 274 :type grace_period: str 275 """ 276 277 _attribute_map = { 278 'enabled': {'key': 'enabled', 'type': 'bool'}, 279 'grace_period': {'key': 'gracePeriod', 'type': 'str'}, 280 } 281 282 def __init__( 283 self, 284 *, 285 enabled: Optional[bool] = None, 286 grace_period: Optional[str] = None, 287 **kwargs 288 ): 289 super(AutomaticRepairsPolicy, self).__init__(**kwargs) 290 self.enabled = enabled 291 self.grace_period = grace_period 292 293 294class Resource(msrest.serialization.Model): 295 """The Resource model definition. 296 297 Variables are only populated by the server, and will be ignored when sending a request. 298 299 All required parameters must be populated in order to send to Azure. 300 301 :ivar id: Resource Id. 302 :vartype id: str 303 :ivar name: Resource name. 304 :vartype name: str 305 :ivar type: Resource type. 306 :vartype type: str 307 :param location: Required. Resource location. 308 :type location: str 309 :param tags: A set of tags. Resource tags. 310 :type tags: dict[str, str] 311 """ 312 313 _validation = { 314 'id': {'readonly': True}, 315 'name': {'readonly': True}, 316 'type': {'readonly': True}, 317 'location': {'required': True}, 318 } 319 320 _attribute_map = { 321 'id': {'key': 'id', 'type': 'str'}, 322 'name': {'key': 'name', 'type': 'str'}, 323 'type': {'key': 'type', 'type': 'str'}, 324 'location': {'key': 'location', 'type': 'str'}, 325 'tags': {'key': 'tags', 'type': '{str}'}, 326 } 327 328 def __init__( 329 self, 330 *, 331 location: str, 332 tags: Optional[Dict[str, str]] = None, 333 **kwargs 334 ): 335 super(Resource, self).__init__(**kwargs) 336 self.id = None 337 self.name = None 338 self.type = None 339 self.location = location 340 self.tags = tags 341 342 343class AvailabilitySet(Resource): 344 """Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see `Manage the availability of virtual machines <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned maintenance for virtual machines in Azure <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. 345 346 Variables are only populated by the server, and will be ignored when sending a request. 347 348 All required parameters must be populated in order to send to Azure. 349 350 :ivar id: Resource Id. 351 :vartype id: str 352 :ivar name: Resource name. 353 :vartype name: str 354 :ivar type: Resource type. 355 :vartype type: str 356 :param location: Required. Resource location. 357 :type location: str 358 :param tags: A set of tags. Resource tags. 359 :type tags: dict[str, str] 360 :param sku: Sku of the availability set, only name is required to be set. See 361 AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with 362 managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 363 'Classic'. 364 :type sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 365 :param platform_update_domain_count: Update Domain count. 366 :type platform_update_domain_count: int 367 :param platform_fault_domain_count: Fault Domain count. 368 :type platform_fault_domain_count: int 369 :param virtual_machines: A list of references to all virtual machines in the availability set. 370 :type virtual_machines: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 371 :param proximity_placement_group: Specifies information about the proximity placement group 372 that the availability set should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 373 2018-04-01. 374 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 375 :ivar statuses: The resource status information. 376 :vartype statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 377 """ 378 379 _validation = { 380 'id': {'readonly': True}, 381 'name': {'readonly': True}, 382 'type': {'readonly': True}, 383 'location': {'required': True}, 384 'statuses': {'readonly': True}, 385 } 386 387 _attribute_map = { 388 'id': {'key': 'id', 'type': 'str'}, 389 'name': {'key': 'name', 'type': 'str'}, 390 'type': {'key': 'type', 'type': 'str'}, 391 'location': {'key': 'location', 'type': 'str'}, 392 'tags': {'key': 'tags', 'type': '{str}'}, 393 'sku': {'key': 'sku', 'type': 'Sku'}, 394 'platform_update_domain_count': {'key': 'properties.platformUpdateDomainCount', 'type': 'int'}, 395 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 396 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 397 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 398 'statuses': {'key': 'properties.statuses', 'type': '[InstanceViewStatus]'}, 399 } 400 401 def __init__( 402 self, 403 *, 404 location: str, 405 tags: Optional[Dict[str, str]] = None, 406 sku: Optional["Sku"] = None, 407 platform_update_domain_count: Optional[int] = None, 408 platform_fault_domain_count: Optional[int] = None, 409 virtual_machines: Optional[List["SubResource"]] = None, 410 proximity_placement_group: Optional["SubResource"] = None, 411 **kwargs 412 ): 413 super(AvailabilitySet, self).__init__(location=location, tags=tags, **kwargs) 414 self.sku = sku 415 self.platform_update_domain_count = platform_update_domain_count 416 self.platform_fault_domain_count = platform_fault_domain_count 417 self.virtual_machines = virtual_machines 418 self.proximity_placement_group = proximity_placement_group 419 self.statuses = None 420 421 422class AvailabilitySetListResult(msrest.serialization.Model): 423 """The List Availability Set operation response. 424 425 All required parameters must be populated in order to send to Azure. 426 427 :param value: Required. The list of availability sets. 428 :type value: list[~azure.mgmt.compute.v2019_07_01.models.AvailabilitySet] 429 :param next_link: The URI to fetch the next page of AvailabilitySets. Call ListNext() with this 430 URI to fetch the next page of AvailabilitySets. 431 :type next_link: str 432 """ 433 434 _validation = { 435 'value': {'required': True}, 436 } 437 438 _attribute_map = { 439 'value': {'key': 'value', 'type': '[AvailabilitySet]'}, 440 'next_link': {'key': 'nextLink', 'type': 'str'}, 441 } 442 443 def __init__( 444 self, 445 *, 446 value: List["AvailabilitySet"], 447 next_link: Optional[str] = None, 448 **kwargs 449 ): 450 super(AvailabilitySetListResult, self).__init__(**kwargs) 451 self.value = value 452 self.next_link = next_link 453 454 455class UpdateResource(msrest.serialization.Model): 456 """The Update Resource model definition. 457 458 :param tags: A set of tags. Resource tags. 459 :type tags: dict[str, str] 460 """ 461 462 _attribute_map = { 463 'tags': {'key': 'tags', 'type': '{str}'}, 464 } 465 466 def __init__( 467 self, 468 *, 469 tags: Optional[Dict[str, str]] = None, 470 **kwargs 471 ): 472 super(UpdateResource, self).__init__(**kwargs) 473 self.tags = tags 474 475 476class AvailabilitySetUpdate(UpdateResource): 477 """Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated. 478 479 Variables are only populated by the server, and will be ignored when sending a request. 480 481 :param tags: A set of tags. Resource tags. 482 :type tags: dict[str, str] 483 :param sku: Sku of the availability set. 484 :type sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 485 :param platform_update_domain_count: Update Domain count. 486 :type platform_update_domain_count: int 487 :param platform_fault_domain_count: Fault Domain count. 488 :type platform_fault_domain_count: int 489 :param virtual_machines: A list of references to all virtual machines in the availability set. 490 :type virtual_machines: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 491 :param proximity_placement_group: Specifies information about the proximity placement group 492 that the availability set should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 493 2018-04-01. 494 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 495 :ivar statuses: The resource status information. 496 :vartype statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 497 """ 498 499 _validation = { 500 'statuses': {'readonly': True}, 501 } 502 503 _attribute_map = { 504 'tags': {'key': 'tags', 'type': '{str}'}, 505 'sku': {'key': 'sku', 'type': 'Sku'}, 506 'platform_update_domain_count': {'key': 'properties.platformUpdateDomainCount', 'type': 'int'}, 507 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 508 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 509 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 510 'statuses': {'key': 'properties.statuses', 'type': '[InstanceViewStatus]'}, 511 } 512 513 def __init__( 514 self, 515 *, 516 tags: Optional[Dict[str, str]] = None, 517 sku: Optional["Sku"] = None, 518 platform_update_domain_count: Optional[int] = None, 519 platform_fault_domain_count: Optional[int] = None, 520 virtual_machines: Optional[List["SubResource"]] = None, 521 proximity_placement_group: Optional["SubResource"] = None, 522 **kwargs 523 ): 524 super(AvailabilitySetUpdate, self).__init__(tags=tags, **kwargs) 525 self.sku = sku 526 self.platform_update_domain_count = platform_update_domain_count 527 self.platform_fault_domain_count = platform_fault_domain_count 528 self.virtual_machines = virtual_machines 529 self.proximity_placement_group = proximity_placement_group 530 self.statuses = None 531 532 533class BillingProfile(msrest.serialization.Model): 534 """Specifies the billing related details of a Azure Spot VM or VMSS. :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 535 536 :param max_price: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. 537 This price is in US Dollars. :code:`<br>`:code:`<br>` This price will be compared with the 538 current Azure Spot price for the VM size. Also, the prices are compared at the time of 539 create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is 540 greater than the current Azure Spot price. :code:`<br>`:code:`<br>` The maxPrice will also be 541 used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice 542 after creation of VM/VMSS. :code:`<br>`:code:`<br>` Possible values are: 543 :code:`<br>`:code:`<br>` - Any decimal value greater than zero. Example: 0.01538 544 :code:`<br>`:code:`<br>` -1 – indicates default price to be up-to on-demand. 545 :code:`<br>`:code:`<br>` You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS 546 should not be evicted for price reasons. Also, the default max price is -1 if it is not 547 provided by you. :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 548 :type max_price: float 549 """ 550 551 _attribute_map = { 552 'max_price': {'key': 'maxPrice', 'type': 'float'}, 553 } 554 555 def __init__( 556 self, 557 *, 558 max_price: Optional[float] = None, 559 **kwargs 560 ): 561 super(BillingProfile, self).__init__(**kwargs) 562 self.max_price = max_price 563 564 565class BootDiagnostics(msrest.serialization.Model): 566 """Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a screenshot of the VM from the hypervisor. 567 568 :param enabled: Whether boot diagnostics should be enabled on the Virtual Machine. 569 :type enabled: bool 570 :param storage_uri: Uri of the storage account to use for placing the console output and 571 screenshot. 572 :type storage_uri: str 573 """ 574 575 _attribute_map = { 576 'enabled': {'key': 'enabled', 'type': 'bool'}, 577 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 578 } 579 580 def __init__( 581 self, 582 *, 583 enabled: Optional[bool] = None, 584 storage_uri: Optional[str] = None, 585 **kwargs 586 ): 587 super(BootDiagnostics, self).__init__(**kwargs) 588 self.enabled = enabled 589 self.storage_uri = storage_uri 590 591 592class BootDiagnosticsInstanceView(msrest.serialization.Model): 593 """The instance view of a virtual machine boot diagnostics. 594 595 Variables are only populated by the server, and will be ignored when sending a request. 596 597 :ivar console_screenshot_blob_uri: The console screenshot blob URI. 598 :vartype console_screenshot_blob_uri: str 599 :ivar serial_console_log_blob_uri: The Linux serial console log blob Uri. 600 :vartype serial_console_log_blob_uri: str 601 :ivar status: The boot diagnostics status information for the VM. :code:`<br>`:code:`<br>` 602 NOTE: It will be set only if there are errors encountered in enabling boot diagnostics. 603 :vartype status: ~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus 604 """ 605 606 _validation = { 607 'console_screenshot_blob_uri': {'readonly': True}, 608 'serial_console_log_blob_uri': {'readonly': True}, 609 'status': {'readonly': True}, 610 } 611 612 _attribute_map = { 613 'console_screenshot_blob_uri': {'key': 'consoleScreenshotBlobUri', 'type': 'str'}, 614 'serial_console_log_blob_uri': {'key': 'serialConsoleLogBlobUri', 'type': 'str'}, 615 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 616 } 617 618 def __init__( 619 self, 620 **kwargs 621 ): 622 super(BootDiagnosticsInstanceView, self).__init__(**kwargs) 623 self.console_screenshot_blob_uri = None 624 self.serial_console_log_blob_uri = None 625 self.status = None 626 627 628class ComputeOperationListResult(msrest.serialization.Model): 629 """The List Compute Operation operation response. 630 631 Variables are only populated by the server, and will be ignored when sending a request. 632 633 :ivar value: The list of compute operations. 634 :vartype value: list[~azure.mgmt.compute.v2019_07_01.models.ComputeOperationValue] 635 """ 636 637 _validation = { 638 'value': {'readonly': True}, 639 } 640 641 _attribute_map = { 642 'value': {'key': 'value', 'type': '[ComputeOperationValue]'}, 643 } 644 645 def __init__( 646 self, 647 **kwargs 648 ): 649 super(ComputeOperationListResult, self).__init__(**kwargs) 650 self.value = None 651 652 653class ComputeOperationValue(msrest.serialization.Model): 654 """Describes the properties of a Compute Operation value. 655 656 Variables are only populated by the server, and will be ignored when sending a request. 657 658 :ivar origin: The origin of the compute operation. 659 :vartype origin: str 660 :ivar name: The name of the compute operation. 661 :vartype name: str 662 :ivar operation: The display name of the compute operation. 663 :vartype operation: str 664 :ivar resource: The display name of the resource the operation applies to. 665 :vartype resource: str 666 :ivar description: The description of the operation. 667 :vartype description: str 668 :ivar provider: The resource provider for the operation. 669 :vartype provider: str 670 """ 671 672 _validation = { 673 'origin': {'readonly': True}, 674 'name': {'readonly': True}, 675 'operation': {'readonly': True}, 676 'resource': {'readonly': True}, 677 'description': {'readonly': True}, 678 'provider': {'readonly': True}, 679 } 680 681 _attribute_map = { 682 'origin': {'key': 'origin', 'type': 'str'}, 683 'name': {'key': 'name', 'type': 'str'}, 684 'operation': {'key': 'display.operation', 'type': 'str'}, 685 'resource': {'key': 'display.resource', 'type': 'str'}, 686 'description': {'key': 'display.description', 'type': 'str'}, 687 'provider': {'key': 'display.provider', 'type': 'str'}, 688 } 689 690 def __init__( 691 self, 692 **kwargs 693 ): 694 super(ComputeOperationValue, self).__init__(**kwargs) 695 self.origin = None 696 self.name = None 697 self.operation = None 698 self.resource = None 699 self.description = None 700 self.provider = None 701 702 703class CreationData(msrest.serialization.Model): 704 """Data used when creating a disk. 705 706 Variables are only populated by the server, and will be ignored when sending a request. 707 708 All required parameters must be populated in order to send to Azure. 709 710 :param create_option: Required. This enumerates the possible sources of a disk's creation. 711 Possible values include: "Empty", "Attach", "FromImage", "Import", "Copy", "Restore", "Upload". 712 :type create_option: str or ~azure.mgmt.compute.v2019_07_01.models.DiskCreateOption 713 :param storage_account_id: Required if createOption is Import. The Azure Resource Manager 714 identifier of the storage account containing the blob to import as a disk. 715 :type storage_account_id: str 716 :param image_reference: Disk source information. 717 :type image_reference: ~azure.mgmt.compute.v2019_07_01.models.ImageDiskReference 718 :param source_uri: If createOption is Import, this is the URI of a blob to be imported into a 719 managed disk. 720 :type source_uri: str 721 :param source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot 722 or disk. 723 :type source_resource_id: str 724 :ivar source_unique_id: If this field is set, this is the unique id identifying the source of 725 this resource. 726 :vartype source_unique_id: str 727 :param upload_size_bytes: If createOption is Upload, this is the size of the contents of the 728 upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for 729 the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). 730 :type upload_size_bytes: long 731 """ 732 733 _validation = { 734 'create_option': {'required': True}, 735 'source_unique_id': {'readonly': True}, 736 } 737 738 _attribute_map = { 739 'create_option': {'key': 'createOption', 'type': 'str'}, 740 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, 741 'image_reference': {'key': 'imageReference', 'type': 'ImageDiskReference'}, 742 'source_uri': {'key': 'sourceUri', 'type': 'str'}, 743 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 744 'source_unique_id': {'key': 'sourceUniqueId', 'type': 'str'}, 745 'upload_size_bytes': {'key': 'uploadSizeBytes', 'type': 'long'}, 746 } 747 748 def __init__( 749 self, 750 *, 751 create_option: Union[str, "DiskCreateOption"], 752 storage_account_id: Optional[str] = None, 753 image_reference: Optional["ImageDiskReference"] = None, 754 source_uri: Optional[str] = None, 755 source_resource_id: Optional[str] = None, 756 upload_size_bytes: Optional[int] = None, 757 **kwargs 758 ): 759 super(CreationData, self).__init__(**kwargs) 760 self.create_option = create_option 761 self.storage_account_id = storage_account_id 762 self.image_reference = image_reference 763 self.source_uri = source_uri 764 self.source_resource_id = source_resource_id 765 self.source_unique_id = None 766 self.upload_size_bytes = upload_size_bytes 767 768 769class DataDisk(msrest.serialization.Model): 770 """Describes a data disk. 771 772 Variables are only populated by the server, and will be ignored when sending a request. 773 774 All required parameters must be populated in order to send to Azure. 775 776 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 777 identify data disks within the VM and therefore must be unique for each data disk attached to a 778 VM. 779 :type lun: int 780 :param name: The disk name. 781 :type name: str 782 :param vhd: The virtual hard disk. 783 :type vhd: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 784 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 785 before being attached to the virtual machine. If SourceImage is provided, the destination 786 virtual hard drive must not exist. 787 :type image: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 788 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 789 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 790 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 791 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 792 "ReadWrite". 793 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 794 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 795 disabled on the disk. 796 :type write_accelerator_enabled: bool 797 :param create_option: Required. Specifies how the virtual machine should be 798 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 799 This value is used when you are using a specialized disk to create the virtual 800 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 801 image to create the virtual machine. If you are using a platform image, you also use the 802 imageReference element described above. If you are using a marketplace image, you also use the 803 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 804 :type create_option: str or ~azure.mgmt.compute.v2019_07_01.models.DiskCreateOptionTypes 805 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 806 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 807 This value cannot be larger than 1023 GB. 808 :type disk_size_gb: int 809 :param managed_disk: The managed disk parameters. 810 :type managed_disk: ~azure.mgmt.compute.v2019_07_01.models.ManagedDiskParameters 811 :param to_be_detached: Specifies whether the data disk is in process of detachment from the 812 VirtualMachine/VirtualMachineScaleset. 813 :type to_be_detached: bool 814 :ivar disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk when 815 StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be 816 updated only via updates to the VirtualMachine Scale Set. 817 :vartype disk_iops_read_write: long 818 :ivar disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk when 819 StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be 820 updated only via updates to the VirtualMachine Scale Set. 821 :vartype disk_m_bps_read_write: long 822 """ 823 824 _validation = { 825 'lun': {'required': True}, 826 'create_option': {'required': True}, 827 'disk_iops_read_write': {'readonly': True}, 828 'disk_m_bps_read_write': {'readonly': True}, 829 } 830 831 _attribute_map = { 832 'lun': {'key': 'lun', 'type': 'int'}, 833 'name': {'key': 'name', 'type': 'str'}, 834 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 835 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 836 'caching': {'key': 'caching', 'type': 'str'}, 837 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 838 'create_option': {'key': 'createOption', 'type': 'str'}, 839 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 840 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 841 'to_be_detached': {'key': 'toBeDetached', 'type': 'bool'}, 842 'disk_iops_read_write': {'key': 'diskIOPSReadWrite', 'type': 'long'}, 843 'disk_m_bps_read_write': {'key': 'diskMBpsReadWrite', 'type': 'long'}, 844 } 845 846 def __init__( 847 self, 848 *, 849 lun: int, 850 create_option: Union[str, "DiskCreateOptionTypes"], 851 name: Optional[str] = None, 852 vhd: Optional["VirtualHardDisk"] = None, 853 image: Optional["VirtualHardDisk"] = None, 854 caching: Optional[Union[str, "CachingTypes"]] = None, 855 write_accelerator_enabled: Optional[bool] = None, 856 disk_size_gb: Optional[int] = None, 857 managed_disk: Optional["ManagedDiskParameters"] = None, 858 to_be_detached: Optional[bool] = None, 859 **kwargs 860 ): 861 super(DataDisk, self).__init__(**kwargs) 862 self.lun = lun 863 self.name = name 864 self.vhd = vhd 865 self.image = image 866 self.caching = caching 867 self.write_accelerator_enabled = write_accelerator_enabled 868 self.create_option = create_option 869 self.disk_size_gb = disk_size_gb 870 self.managed_disk = managed_disk 871 self.to_be_detached = to_be_detached 872 self.disk_iops_read_write = None 873 self.disk_m_bps_read_write = None 874 875 876class DataDiskImage(msrest.serialization.Model): 877 """Contains the data disk images information. 878 879 Variables are only populated by the server, and will be ignored when sending a request. 880 881 :ivar lun: Specifies the logical unit number of the data disk. This value is used to identify 882 data disks within the VM and therefore must be unique for each data disk attached to a VM. 883 :vartype lun: int 884 """ 885 886 _validation = { 887 'lun': {'readonly': True}, 888 } 889 890 _attribute_map = { 891 'lun': {'key': 'lun', 'type': 'int'}, 892 } 893 894 def __init__( 895 self, 896 **kwargs 897 ): 898 super(DataDiskImage, self).__init__(**kwargs) 899 self.lun = None 900 901 902class DedicatedHost(Resource): 903 """Specifies information about the Dedicated host. 904 905 Variables are only populated by the server, and will be ignored when sending a request. 906 907 All required parameters must be populated in order to send to Azure. 908 909 :ivar id: Resource Id. 910 :vartype id: str 911 :ivar name: Resource name. 912 :vartype name: str 913 :ivar type: Resource type. 914 :vartype type: str 915 :param location: Required. Resource location. 916 :type location: str 917 :param tags: A set of tags. Resource tags. 918 :type tags: dict[str, str] 919 :param sku: Required. SKU of the dedicated host for Hardware Generation and VM family. Only 920 name is required to be set. List Microsoft.Compute SKUs for a list of possible values. 921 :type sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 922 :param platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. 923 :type platform_fault_domain: int 924 :param auto_replace_on_failure: Specifies whether the dedicated host should be replaced 925 automatically in case of a failure. The value is defaulted to 'true' when not provided. 926 :type auto_replace_on_failure: bool 927 :ivar host_id: A unique id generated and assigned to the dedicated host by the platform. 928 :code:`<br>`:code:`<br>` Does not change throughout the lifetime of the host. 929 :vartype host_id: str 930 :ivar virtual_machines: A list of references to all virtual machines in the Dedicated Host. 931 :vartype virtual_machines: list[~azure.mgmt.compute.v2019_07_01.models.SubResourceReadOnly] 932 :param license_type: Specifies the software license type that will be applied to the VMs 933 deployed on the dedicated host. :code:`<br>`:code:`<br>` Possible values are: 934 :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **Windows_Server_Hybrid** 935 :code:`<br>`:code:`<br>` **Windows_Server_Perpetual** :code:`<br>`:code:`<br>` Default: 936 **None**. Possible values include: "None", "Windows_Server_Hybrid", "Windows_Server_Perpetual". 937 :type license_type: str or ~azure.mgmt.compute.v2019_07_01.models.DedicatedHostLicenseTypes 938 :ivar provisioning_time: The date when the host was first provisioned. 939 :vartype provisioning_time: ~datetime.datetime 940 :ivar provisioning_state: The provisioning state, which only appears in the response. 941 :vartype provisioning_state: str 942 :ivar instance_view: The dedicated host instance view. 943 :vartype instance_view: ~azure.mgmt.compute.v2019_07_01.models.DedicatedHostInstanceView 944 """ 945 946 _validation = { 947 'id': {'readonly': True}, 948 'name': {'readonly': True}, 949 'type': {'readonly': True}, 950 'location': {'required': True}, 951 'sku': {'required': True}, 952 'platform_fault_domain': {'maximum': 2, 'minimum': 0}, 953 'host_id': {'readonly': True}, 954 'virtual_machines': {'readonly': True}, 955 'provisioning_time': {'readonly': True}, 956 'provisioning_state': {'readonly': True}, 957 'instance_view': {'readonly': True}, 958 } 959 960 _attribute_map = { 961 'id': {'key': 'id', 'type': 'str'}, 962 'name': {'key': 'name', 'type': 'str'}, 963 'type': {'key': 'type', 'type': 'str'}, 964 'location': {'key': 'location', 'type': 'str'}, 965 'tags': {'key': 'tags', 'type': '{str}'}, 966 'sku': {'key': 'sku', 'type': 'Sku'}, 967 'platform_fault_domain': {'key': 'properties.platformFaultDomain', 'type': 'int'}, 968 'auto_replace_on_failure': {'key': 'properties.autoReplaceOnFailure', 'type': 'bool'}, 969 'host_id': {'key': 'properties.hostId', 'type': 'str'}, 970 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResourceReadOnly]'}, 971 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 972 'provisioning_time': {'key': 'properties.provisioningTime', 'type': 'iso-8601'}, 973 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 974 'instance_view': {'key': 'properties.instanceView', 'type': 'DedicatedHostInstanceView'}, 975 } 976 977 def __init__( 978 self, 979 *, 980 location: str, 981 sku: "Sku", 982 tags: Optional[Dict[str, str]] = None, 983 platform_fault_domain: Optional[int] = None, 984 auto_replace_on_failure: Optional[bool] = None, 985 license_type: Optional[Union[str, "DedicatedHostLicenseTypes"]] = None, 986 **kwargs 987 ): 988 super(DedicatedHost, self).__init__(location=location, tags=tags, **kwargs) 989 self.sku = sku 990 self.platform_fault_domain = platform_fault_domain 991 self.auto_replace_on_failure = auto_replace_on_failure 992 self.host_id = None 993 self.virtual_machines = None 994 self.license_type = license_type 995 self.provisioning_time = None 996 self.provisioning_state = None 997 self.instance_view = None 998 999 1000class DedicatedHostAllocatableVM(msrest.serialization.Model): 1001 """Represents the dedicated host unutilized capacity in terms of a specific VM size. 1002 1003 :param vm_size: VM size in terms of which the unutilized capacity is represented. 1004 :type vm_size: str 1005 :param count: Maximum number of VMs of size vmSize that can fit in the dedicated host's 1006 remaining capacity. 1007 :type count: float 1008 """ 1009 1010 _attribute_map = { 1011 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1012 'count': {'key': 'count', 'type': 'float'}, 1013 } 1014 1015 def __init__( 1016 self, 1017 *, 1018 vm_size: Optional[str] = None, 1019 count: Optional[float] = None, 1020 **kwargs 1021 ): 1022 super(DedicatedHostAllocatableVM, self).__init__(**kwargs) 1023 self.vm_size = vm_size 1024 self.count = count 1025 1026 1027class DedicatedHostAvailableCapacity(msrest.serialization.Model): 1028 """Dedicated host unutilized capacity. 1029 1030 :param allocatable_v_ms: The unutilized capacity of the dedicated host represented in terms of 1031 each VM size that is allowed to be deployed to the dedicated host. 1032 :type allocatable_v_ms: list[~azure.mgmt.compute.v2019_07_01.models.DedicatedHostAllocatableVM] 1033 """ 1034 1035 _attribute_map = { 1036 'allocatable_v_ms': {'key': 'allocatableVMs', 'type': '[DedicatedHostAllocatableVM]'}, 1037 } 1038 1039 def __init__( 1040 self, 1041 *, 1042 allocatable_v_ms: Optional[List["DedicatedHostAllocatableVM"]] = None, 1043 **kwargs 1044 ): 1045 super(DedicatedHostAvailableCapacity, self).__init__(**kwargs) 1046 self.allocatable_v_ms = allocatable_v_ms 1047 1048 1049class DedicatedHostGroup(Resource): 1050 """Specifies information about the dedicated host group that the dedicated hosts should be assigned to. :code:`<br>`:code:`<br>` Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. 1051 1052 Variables are only populated by the server, and will be ignored when sending a request. 1053 1054 All required parameters must be populated in order to send to Azure. 1055 1056 :ivar id: Resource Id. 1057 :vartype id: str 1058 :ivar name: Resource name. 1059 :vartype name: str 1060 :ivar type: Resource type. 1061 :vartype type: str 1062 :param location: Required. Resource location. 1063 :type location: str 1064 :param tags: A set of tags. Resource tags. 1065 :type tags: dict[str, str] 1066 :param zones: Availability Zone to use for this host group. Only single zone is supported. The 1067 zone can be assigned only during creation. If not provided, the group supports all zones in the 1068 region. If provided, enforces each host in the group to be in the same zone. 1069 :type zones: list[str] 1070 :param platform_fault_domain_count: Number of fault domains that the host group can span. 1071 :type platform_fault_domain_count: int 1072 :ivar hosts: A list of references to all dedicated hosts in the dedicated host group. 1073 :vartype hosts: list[~azure.mgmt.compute.v2019_07_01.models.SubResourceReadOnly] 1074 """ 1075 1076 _validation = { 1077 'id': {'readonly': True}, 1078 'name': {'readonly': True}, 1079 'type': {'readonly': True}, 1080 'location': {'required': True}, 1081 'platform_fault_domain_count': {'maximum': 3, 'minimum': 1}, 1082 'hosts': {'readonly': True}, 1083 } 1084 1085 _attribute_map = { 1086 'id': {'key': 'id', 'type': 'str'}, 1087 'name': {'key': 'name', 'type': 'str'}, 1088 'type': {'key': 'type', 'type': 'str'}, 1089 'location': {'key': 'location', 'type': 'str'}, 1090 'tags': {'key': 'tags', 'type': '{str}'}, 1091 'zones': {'key': 'zones', 'type': '[str]'}, 1092 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 1093 'hosts': {'key': 'properties.hosts', 'type': '[SubResourceReadOnly]'}, 1094 } 1095 1096 def __init__( 1097 self, 1098 *, 1099 location: str, 1100 tags: Optional[Dict[str, str]] = None, 1101 zones: Optional[List[str]] = None, 1102 platform_fault_domain_count: Optional[int] = None, 1103 **kwargs 1104 ): 1105 super(DedicatedHostGroup, self).__init__(location=location, tags=tags, **kwargs) 1106 self.zones = zones 1107 self.platform_fault_domain_count = platform_fault_domain_count 1108 self.hosts = None 1109 1110 1111class DedicatedHostGroupListResult(msrest.serialization.Model): 1112 """The List Dedicated Host Group with resource group response. 1113 1114 All required parameters must be populated in order to send to Azure. 1115 1116 :param value: Required. The list of dedicated host groups. 1117 :type value: list[~azure.mgmt.compute.v2019_07_01.models.DedicatedHostGroup] 1118 :param next_link: The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with 1119 this URI to fetch the next page of Dedicated Host Groups. 1120 :type next_link: str 1121 """ 1122 1123 _validation = { 1124 'value': {'required': True}, 1125 } 1126 1127 _attribute_map = { 1128 'value': {'key': 'value', 'type': '[DedicatedHostGroup]'}, 1129 'next_link': {'key': 'nextLink', 'type': 'str'}, 1130 } 1131 1132 def __init__( 1133 self, 1134 *, 1135 value: List["DedicatedHostGroup"], 1136 next_link: Optional[str] = None, 1137 **kwargs 1138 ): 1139 super(DedicatedHostGroupListResult, self).__init__(**kwargs) 1140 self.value = value 1141 self.next_link = next_link 1142 1143 1144class DedicatedHostGroupUpdate(UpdateResource): 1145 """Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated. 1146 1147 Variables are only populated by the server, and will be ignored when sending a request. 1148 1149 :param tags: A set of tags. Resource tags. 1150 :type tags: dict[str, str] 1151 :param zones: Availability Zone to use for this host group. Only single zone is supported. The 1152 zone can be assigned only during creation. If not provided, the group supports all zones in the 1153 region. If provided, enforces each host in the group to be in the same zone. 1154 :type zones: list[str] 1155 :param platform_fault_domain_count: Number of fault domains that the host group can span. 1156 :type platform_fault_domain_count: int 1157 :ivar hosts: A list of references to all dedicated hosts in the dedicated host group. 1158 :vartype hosts: list[~azure.mgmt.compute.v2019_07_01.models.SubResourceReadOnly] 1159 """ 1160 1161 _validation = { 1162 'platform_fault_domain_count': {'maximum': 3, 'minimum': 1}, 1163 'hosts': {'readonly': True}, 1164 } 1165 1166 _attribute_map = { 1167 'tags': {'key': 'tags', 'type': '{str}'}, 1168 'zones': {'key': 'zones', 'type': '[str]'}, 1169 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 1170 'hosts': {'key': 'properties.hosts', 'type': '[SubResourceReadOnly]'}, 1171 } 1172 1173 def __init__( 1174 self, 1175 *, 1176 tags: Optional[Dict[str, str]] = None, 1177 zones: Optional[List[str]] = None, 1178 platform_fault_domain_count: Optional[int] = None, 1179 **kwargs 1180 ): 1181 super(DedicatedHostGroupUpdate, self).__init__(tags=tags, **kwargs) 1182 self.zones = zones 1183 self.platform_fault_domain_count = platform_fault_domain_count 1184 self.hosts = None 1185 1186 1187class DedicatedHostInstanceView(msrest.serialization.Model): 1188 """The instance view of a dedicated host. 1189 1190 Variables are only populated by the server, and will be ignored when sending a request. 1191 1192 :ivar asset_id: Specifies the unique id of the dedicated physical machine on which the 1193 dedicated host resides. 1194 :vartype asset_id: str 1195 :param available_capacity: Unutilized capacity of the dedicated host. 1196 :type available_capacity: ~azure.mgmt.compute.v2019_07_01.models.DedicatedHostAvailableCapacity 1197 :param statuses: The resource status information. 1198 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 1199 """ 1200 1201 _validation = { 1202 'asset_id': {'readonly': True}, 1203 } 1204 1205 _attribute_map = { 1206 'asset_id': {'key': 'assetId', 'type': 'str'}, 1207 'available_capacity': {'key': 'availableCapacity', 'type': 'DedicatedHostAvailableCapacity'}, 1208 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 1209 } 1210 1211 def __init__( 1212 self, 1213 *, 1214 available_capacity: Optional["DedicatedHostAvailableCapacity"] = None, 1215 statuses: Optional[List["InstanceViewStatus"]] = None, 1216 **kwargs 1217 ): 1218 super(DedicatedHostInstanceView, self).__init__(**kwargs) 1219 self.asset_id = None 1220 self.available_capacity = available_capacity 1221 self.statuses = statuses 1222 1223 1224class DedicatedHostListResult(msrest.serialization.Model): 1225 """The list dedicated host operation response. 1226 1227 All required parameters must be populated in order to send to Azure. 1228 1229 :param value: Required. The list of dedicated hosts. 1230 :type value: list[~azure.mgmt.compute.v2019_07_01.models.DedicatedHost] 1231 :param next_link: The URI to fetch the next page of dedicated hosts. Call ListNext() with this 1232 URI to fetch the next page of dedicated hosts. 1233 :type next_link: str 1234 """ 1235 1236 _validation = { 1237 'value': {'required': True}, 1238 } 1239 1240 _attribute_map = { 1241 'value': {'key': 'value', 'type': '[DedicatedHost]'}, 1242 'next_link': {'key': 'nextLink', 'type': 'str'}, 1243 } 1244 1245 def __init__( 1246 self, 1247 *, 1248 value: List["DedicatedHost"], 1249 next_link: Optional[str] = None, 1250 **kwargs 1251 ): 1252 super(DedicatedHostListResult, self).__init__(**kwargs) 1253 self.value = value 1254 self.next_link = next_link 1255 1256 1257class DedicatedHostUpdate(UpdateResource): 1258 """Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated. 1259 1260 Variables are only populated by the server, and will be ignored when sending a request. 1261 1262 :param tags: A set of tags. Resource tags. 1263 :type tags: dict[str, str] 1264 :param platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. 1265 :type platform_fault_domain: int 1266 :param auto_replace_on_failure: Specifies whether the dedicated host should be replaced 1267 automatically in case of a failure. The value is defaulted to 'true' when not provided. 1268 :type auto_replace_on_failure: bool 1269 :ivar host_id: A unique id generated and assigned to the dedicated host by the platform. 1270 :code:`<br>`:code:`<br>` Does not change throughout the lifetime of the host. 1271 :vartype host_id: str 1272 :ivar virtual_machines: A list of references to all virtual machines in the Dedicated Host. 1273 :vartype virtual_machines: list[~azure.mgmt.compute.v2019_07_01.models.SubResourceReadOnly] 1274 :param license_type: Specifies the software license type that will be applied to the VMs 1275 deployed on the dedicated host. :code:`<br>`:code:`<br>` Possible values are: 1276 :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **Windows_Server_Hybrid** 1277 :code:`<br>`:code:`<br>` **Windows_Server_Perpetual** :code:`<br>`:code:`<br>` Default: 1278 **None**. Possible values include: "None", "Windows_Server_Hybrid", "Windows_Server_Perpetual". 1279 :type license_type: str or ~azure.mgmt.compute.v2019_07_01.models.DedicatedHostLicenseTypes 1280 :ivar provisioning_time: The date when the host was first provisioned. 1281 :vartype provisioning_time: ~datetime.datetime 1282 :ivar provisioning_state: The provisioning state, which only appears in the response. 1283 :vartype provisioning_state: str 1284 :ivar instance_view: The dedicated host instance view. 1285 :vartype instance_view: ~azure.mgmt.compute.v2019_07_01.models.DedicatedHostInstanceView 1286 """ 1287 1288 _validation = { 1289 'platform_fault_domain': {'maximum': 2, 'minimum': 0}, 1290 'host_id': {'readonly': True}, 1291 'virtual_machines': {'readonly': True}, 1292 'provisioning_time': {'readonly': True}, 1293 'provisioning_state': {'readonly': True}, 1294 'instance_view': {'readonly': True}, 1295 } 1296 1297 _attribute_map = { 1298 'tags': {'key': 'tags', 'type': '{str}'}, 1299 'platform_fault_domain': {'key': 'properties.platformFaultDomain', 'type': 'int'}, 1300 'auto_replace_on_failure': {'key': 'properties.autoReplaceOnFailure', 'type': 'bool'}, 1301 'host_id': {'key': 'properties.hostId', 'type': 'str'}, 1302 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResourceReadOnly]'}, 1303 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 1304 'provisioning_time': {'key': 'properties.provisioningTime', 'type': 'iso-8601'}, 1305 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1306 'instance_view': {'key': 'properties.instanceView', 'type': 'DedicatedHostInstanceView'}, 1307 } 1308 1309 def __init__( 1310 self, 1311 *, 1312 tags: Optional[Dict[str, str]] = None, 1313 platform_fault_domain: Optional[int] = None, 1314 auto_replace_on_failure: Optional[bool] = None, 1315 license_type: Optional[Union[str, "DedicatedHostLicenseTypes"]] = None, 1316 **kwargs 1317 ): 1318 super(DedicatedHostUpdate, self).__init__(tags=tags, **kwargs) 1319 self.platform_fault_domain = platform_fault_domain 1320 self.auto_replace_on_failure = auto_replace_on_failure 1321 self.host_id = None 1322 self.virtual_machines = None 1323 self.license_type = license_type 1324 self.provisioning_time = None 1325 self.provisioning_state = None 1326 self.instance_view = None 1327 1328 1329class DiagnosticsProfile(msrest.serialization.Model): 1330 """Specifies the boot diagnostic settings state. :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 1331 1332 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 1333 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 1334 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 1335 screenshot of the VM from the hypervisor. 1336 :type boot_diagnostics: ~azure.mgmt.compute.v2019_07_01.models.BootDiagnostics 1337 """ 1338 1339 _attribute_map = { 1340 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnostics'}, 1341 } 1342 1343 def __init__( 1344 self, 1345 *, 1346 boot_diagnostics: Optional["BootDiagnostics"] = None, 1347 **kwargs 1348 ): 1349 super(DiagnosticsProfile, self).__init__(**kwargs) 1350 self.boot_diagnostics = boot_diagnostics 1351 1352 1353class DiffDiskSettings(msrest.serialization.Model): 1354 """Describes the parameters of ephemeral disk settings that can be specified for operating system disk. :code:`<br>`:code:`<br>` NOTE: The ephemeral disk settings can only be specified for managed disk. 1355 1356 :param option: Specifies the ephemeral disk settings for operating system disk. Possible values 1357 include: "Local". 1358 :type option: str or ~azure.mgmt.compute.v2019_07_01.models.DiffDiskOptions 1359 """ 1360 1361 _attribute_map = { 1362 'option': {'key': 'option', 'type': 'str'}, 1363 } 1364 1365 def __init__( 1366 self, 1367 *, 1368 option: Optional[Union[str, "DiffDiskOptions"]] = None, 1369 **kwargs 1370 ): 1371 super(DiffDiskSettings, self).__init__(**kwargs) 1372 self.option = option 1373 1374 1375class Disallowed(msrest.serialization.Model): 1376 """Describes the disallowed disk types. 1377 1378 :param disk_types: A list of disk types. 1379 :type disk_types: list[str] 1380 """ 1381 1382 _attribute_map = { 1383 'disk_types': {'key': 'diskTypes', 'type': '[str]'}, 1384 } 1385 1386 def __init__( 1387 self, 1388 *, 1389 disk_types: Optional[List[str]] = None, 1390 **kwargs 1391 ): 1392 super(Disallowed, self).__init__(**kwargs) 1393 self.disk_types = disk_types 1394 1395 1396class Disk(Resource): 1397 """Disk resource. 1398 1399 Variables are only populated by the server, and will be ignored when sending a request. 1400 1401 All required parameters must be populated in order to send to Azure. 1402 1403 :ivar id: Resource Id. 1404 :vartype id: str 1405 :ivar name: Resource name. 1406 :vartype name: str 1407 :ivar type: Resource type. 1408 :vartype type: str 1409 :param location: Required. Resource location. 1410 :type location: str 1411 :param tags: A set of tags. Resource tags. 1412 :type tags: dict[str, str] 1413 :ivar managed_by: A relative URI containing the ID of the VM that has the disk attached. 1414 :vartype managed_by: str 1415 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or 1416 UltraSSD_LRS. 1417 :type sku: ~azure.mgmt.compute.v2019_07_01.models.DiskSku 1418 :param zones: The Logical zone list for Disk. 1419 :type zones: list[str] 1420 :ivar time_created: The time when the disk was created. 1421 :vartype time_created: ~datetime.datetime 1422 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 1423 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 1424 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 1425 disks only. Possible values include: "V1", "V2". 1426 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGeneration 1427 :param creation_data: Disk source information. CreationData information cannot be changed after 1428 the disk has been created. 1429 :type creation_data: ~azure.mgmt.compute.v2019_07_01.models.CreationData 1430 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 1431 indicates the size of the disk to create. If this field is present for updates or creation with 1432 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 1433 running VM, and can only increase the disk's size. 1434 :type disk_size_gb: int 1435 :ivar disk_size_bytes: The size of the disk in bytes. This field is read only. 1436 :vartype disk_size_bytes: long 1437 :ivar unique_id: Unique Guid identifying the resource. 1438 :vartype unique_id: str 1439 :param encryption_settings_collection: Encryption settings collection used for Azure Disk 1440 Encryption, can contain multiple encryption settings per disk or snapshot. 1441 :type encryption_settings_collection: 1442 ~azure.mgmt.compute.v2019_07_01.models.EncryptionSettingsCollection 1443 :ivar provisioning_state: The disk provisioning state. 1444 :vartype provisioning_state: str 1445 :param disk_iops_read_write: The number of IOPS allowed for this disk; only settable for 1446 UltraSSD disks. One operation can transfer between 4k and 256k bytes. 1447 :type disk_iops_read_write: long 1448 :param disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD 1449 disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 1450 10. 1451 :type disk_m_bps_read_write: int 1452 :ivar disk_state: The state of the disk. Possible values include: "Unattached", "Attached", 1453 "Reserved", "ActiveSAS", "ReadyToUpload", "ActiveUpload". 1454 :vartype disk_state: str or ~azure.mgmt.compute.v2019_07_01.models.DiskState 1455 :param encryption: Encryption property can be used to encrypt data at rest with customer 1456 managed keys or platform managed keys. 1457 :type encryption: ~azure.mgmt.compute.v2019_07_01.models.Encryption 1458 """ 1459 1460 _validation = { 1461 'id': {'readonly': True}, 1462 'name': {'readonly': True}, 1463 'type': {'readonly': True}, 1464 'location': {'required': True}, 1465 'managed_by': {'readonly': True}, 1466 'time_created': {'readonly': True}, 1467 'disk_size_bytes': {'readonly': True}, 1468 'unique_id': {'readonly': True}, 1469 'provisioning_state': {'readonly': True}, 1470 'disk_state': {'readonly': True}, 1471 } 1472 1473 _attribute_map = { 1474 'id': {'key': 'id', 'type': 'str'}, 1475 'name': {'key': 'name', 'type': 'str'}, 1476 'type': {'key': 'type', 'type': 'str'}, 1477 'location': {'key': 'location', 'type': 'str'}, 1478 'tags': {'key': 'tags', 'type': '{str}'}, 1479 'managed_by': {'key': 'managedBy', 'type': 'str'}, 1480 'sku': {'key': 'sku', 'type': 'DiskSku'}, 1481 'zones': {'key': 'zones', 'type': '[str]'}, 1482 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 1483 'os_type': {'key': 'properties.osType', 'type': 'str'}, 1484 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 1485 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 1486 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 1487 'disk_size_bytes': {'key': 'properties.diskSizeBytes', 'type': 'long'}, 1488 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 1489 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 1490 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1491 'disk_iops_read_write': {'key': 'properties.diskIOPSReadWrite', 'type': 'long'}, 1492 'disk_m_bps_read_write': {'key': 'properties.diskMBpsReadWrite', 'type': 'int'}, 1493 'disk_state': {'key': 'properties.diskState', 'type': 'str'}, 1494 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 1495 } 1496 1497 def __init__( 1498 self, 1499 *, 1500 location: str, 1501 tags: Optional[Dict[str, str]] = None, 1502 sku: Optional["DiskSku"] = None, 1503 zones: Optional[List[str]] = None, 1504 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1505 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 1506 creation_data: Optional["CreationData"] = None, 1507 disk_size_gb: Optional[int] = None, 1508 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 1509 disk_iops_read_write: Optional[int] = None, 1510 disk_m_bps_read_write: Optional[int] = None, 1511 encryption: Optional["Encryption"] = None, 1512 **kwargs 1513 ): 1514 super(Disk, self).__init__(location=location, tags=tags, **kwargs) 1515 self.managed_by = None 1516 self.sku = sku 1517 self.zones = zones 1518 self.time_created = None 1519 self.os_type = os_type 1520 self.hyper_v_generation = hyper_v_generation 1521 self.creation_data = creation_data 1522 self.disk_size_gb = disk_size_gb 1523 self.disk_size_bytes = None 1524 self.unique_id = None 1525 self.encryption_settings_collection = encryption_settings_collection 1526 self.provisioning_state = None 1527 self.disk_iops_read_write = disk_iops_read_write 1528 self.disk_m_bps_read_write = disk_m_bps_read_write 1529 self.disk_state = None 1530 self.encryption = encryption 1531 1532 1533class DiskEncryptionSet(Resource): 1534 """disk encryption set resource. 1535 1536 Variables are only populated by the server, and will be ignored when sending a request. 1537 1538 All required parameters must be populated in order to send to Azure. 1539 1540 :ivar id: Resource Id. 1541 :vartype id: str 1542 :ivar name: Resource name. 1543 :vartype name: str 1544 :ivar type: Resource type. 1545 :vartype type: str 1546 :param location: Required. Resource location. 1547 :type location: str 1548 :param tags: A set of tags. Resource tags. 1549 :type tags: dict[str, str] 1550 :param identity: The managed identity for the disk encryption set. It should be given 1551 permission on the key vault before it can be used to encrypt disks. 1552 :type identity: ~azure.mgmt.compute.v2019_07_01.models.EncryptionSetIdentity 1553 :param active_key: The key vault key which is currently used by this disk encryption set. 1554 :type active_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultAndKeyReference 1555 :ivar previous_keys: A readonly collection of key vault keys previously used by this disk 1556 encryption set while a key rotation is in progress. It will be empty if there is no ongoing key 1557 rotation. 1558 :vartype previous_keys: list[~azure.mgmt.compute.v2019_07_01.models.KeyVaultAndKeyReference] 1559 :ivar provisioning_state: The disk encryption set provisioning state. 1560 :vartype provisioning_state: str 1561 """ 1562 1563 _validation = { 1564 'id': {'readonly': True}, 1565 'name': {'readonly': True}, 1566 'type': {'readonly': True}, 1567 'location': {'required': True}, 1568 'previous_keys': {'readonly': True}, 1569 'provisioning_state': {'readonly': True}, 1570 } 1571 1572 _attribute_map = { 1573 'id': {'key': 'id', 'type': 'str'}, 1574 'name': {'key': 'name', 'type': 'str'}, 1575 'type': {'key': 'type', 'type': 'str'}, 1576 'location': {'key': 'location', 'type': 'str'}, 1577 'tags': {'key': 'tags', 'type': '{str}'}, 1578 'identity': {'key': 'identity', 'type': 'EncryptionSetIdentity'}, 1579 'active_key': {'key': 'properties.activeKey', 'type': 'KeyVaultAndKeyReference'}, 1580 'previous_keys': {'key': 'properties.previousKeys', 'type': '[KeyVaultAndKeyReference]'}, 1581 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1582 } 1583 1584 def __init__( 1585 self, 1586 *, 1587 location: str, 1588 tags: Optional[Dict[str, str]] = None, 1589 identity: Optional["EncryptionSetIdentity"] = None, 1590 active_key: Optional["KeyVaultAndKeyReference"] = None, 1591 **kwargs 1592 ): 1593 super(DiskEncryptionSet, self).__init__(location=location, tags=tags, **kwargs) 1594 self.identity = identity 1595 self.active_key = active_key 1596 self.previous_keys = None 1597 self.provisioning_state = None 1598 1599 1600class DiskEncryptionSetList(msrest.serialization.Model): 1601 """The List disk encryption set operation response. 1602 1603 All required parameters must be populated in order to send to Azure. 1604 1605 :param value: Required. A list of disk encryption sets. 1606 :type value: list[~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSet] 1607 :param next_link: The uri to fetch the next page of disk encryption sets. Call ListNext() with 1608 this to fetch the next page of disk encryption sets. 1609 :type next_link: str 1610 """ 1611 1612 _validation = { 1613 'value': {'required': True}, 1614 } 1615 1616 _attribute_map = { 1617 'value': {'key': 'value', 'type': '[DiskEncryptionSet]'}, 1618 'next_link': {'key': 'nextLink', 'type': 'str'}, 1619 } 1620 1621 def __init__( 1622 self, 1623 *, 1624 value: List["DiskEncryptionSet"], 1625 next_link: Optional[str] = None, 1626 **kwargs 1627 ): 1628 super(DiskEncryptionSetList, self).__init__(**kwargs) 1629 self.value = value 1630 self.next_link = next_link 1631 1632 1633class SubResource(msrest.serialization.Model): 1634 """SubResource. 1635 1636 :param id: Resource Id. 1637 :type id: str 1638 """ 1639 1640 _attribute_map = { 1641 'id': {'key': 'id', 'type': 'str'}, 1642 } 1643 1644 def __init__( 1645 self, 1646 *, 1647 id: Optional[str] = None, 1648 **kwargs 1649 ): 1650 super(SubResource, self).__init__(**kwargs) 1651 self.id = id 1652 1653 1654class DiskEncryptionSetParameters(SubResource): 1655 """Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. :code:`<br>`:code:`<br>` NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. 1656 1657 :param id: Resource Id. 1658 :type id: str 1659 """ 1660 1661 _attribute_map = { 1662 'id': {'key': 'id', 'type': 'str'}, 1663 } 1664 1665 def __init__( 1666 self, 1667 *, 1668 id: Optional[str] = None, 1669 **kwargs 1670 ): 1671 super(DiskEncryptionSetParameters, self).__init__(id=id, **kwargs) 1672 1673 1674class DiskEncryptionSettings(msrest.serialization.Model): 1675 """Describes a Encryption Settings for a Disk. 1676 1677 :param disk_encryption_key: Specifies the location of the disk encryption key, which is a Key 1678 Vault Secret. 1679 :type disk_encryption_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultSecretReference 1680 :param key_encryption_key: Specifies the location of the key encryption key in Key Vault. 1681 :type key_encryption_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultKeyReference 1682 :param enabled: Specifies whether disk encryption should be enabled on the virtual machine. 1683 :type enabled: bool 1684 """ 1685 1686 _attribute_map = { 1687 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultSecretReference'}, 1688 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultKeyReference'}, 1689 'enabled': {'key': 'enabled', 'type': 'bool'}, 1690 } 1691 1692 def __init__( 1693 self, 1694 *, 1695 disk_encryption_key: Optional["KeyVaultSecretReference"] = None, 1696 key_encryption_key: Optional["KeyVaultKeyReference"] = None, 1697 enabled: Optional[bool] = None, 1698 **kwargs 1699 ): 1700 super(DiskEncryptionSettings, self).__init__(**kwargs) 1701 self.disk_encryption_key = disk_encryption_key 1702 self.key_encryption_key = key_encryption_key 1703 self.enabled = enabled 1704 1705 1706class DiskEncryptionSetUpdate(msrest.serialization.Model): 1707 """disk encryption set update resource. 1708 1709 :param tags: A set of tags. Resource tags. 1710 :type tags: dict[str, str] 1711 :param active_key: Key Vault Key Url and vault id of KeK, KeK is optional and when provided is 1712 used to unwrap the encryptionKey. 1713 :type active_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultAndKeyReference 1714 """ 1715 1716 _attribute_map = { 1717 'tags': {'key': 'tags', 'type': '{str}'}, 1718 'active_key': {'key': 'properties.activeKey', 'type': 'KeyVaultAndKeyReference'}, 1719 } 1720 1721 def __init__( 1722 self, 1723 *, 1724 tags: Optional[Dict[str, str]] = None, 1725 active_key: Optional["KeyVaultAndKeyReference"] = None, 1726 **kwargs 1727 ): 1728 super(DiskEncryptionSetUpdate, self).__init__(**kwargs) 1729 self.tags = tags 1730 self.active_key = active_key 1731 1732 1733class DiskInstanceView(msrest.serialization.Model): 1734 """The instance view of the disk. 1735 1736 :param name: The disk name. 1737 :type name: str 1738 :param encryption_settings: Specifies the encryption settings for the OS Disk. 1739 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 1740 :type encryption_settings: list[~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSettings] 1741 :param statuses: The resource status information. 1742 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 1743 """ 1744 1745 _attribute_map = { 1746 'name': {'key': 'name', 'type': 'str'}, 1747 'encryption_settings': {'key': 'encryptionSettings', 'type': '[DiskEncryptionSettings]'}, 1748 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 1749 } 1750 1751 def __init__( 1752 self, 1753 *, 1754 name: Optional[str] = None, 1755 encryption_settings: Optional[List["DiskEncryptionSettings"]] = None, 1756 statuses: Optional[List["InstanceViewStatus"]] = None, 1757 **kwargs 1758 ): 1759 super(DiskInstanceView, self).__init__(**kwargs) 1760 self.name = name 1761 self.encryption_settings = encryption_settings 1762 self.statuses = statuses 1763 1764 1765class DiskList(msrest.serialization.Model): 1766 """The List Disks operation response. 1767 1768 All required parameters must be populated in order to send to Azure. 1769 1770 :param value: Required. A list of disks. 1771 :type value: list[~azure.mgmt.compute.v2019_07_01.models.Disk] 1772 :param next_link: The uri to fetch the next page of disks. Call ListNext() with this to fetch 1773 the next page of disks. 1774 :type next_link: str 1775 """ 1776 1777 _validation = { 1778 'value': {'required': True}, 1779 } 1780 1781 _attribute_map = { 1782 'value': {'key': 'value', 'type': '[Disk]'}, 1783 'next_link': {'key': 'nextLink', 'type': 'str'}, 1784 } 1785 1786 def __init__( 1787 self, 1788 *, 1789 value: List["Disk"], 1790 next_link: Optional[str] = None, 1791 **kwargs 1792 ): 1793 super(DiskList, self).__init__(**kwargs) 1794 self.value = value 1795 self.next_link = next_link 1796 1797 1798class DiskSku(msrest.serialization.Model): 1799 """The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. 1800 1801 Variables are only populated by the server, and will be ignored when sending a request. 1802 1803 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 1804 "StandardSSD_LRS", "UltraSSD_LRS". 1805 :type name: str or ~azure.mgmt.compute.v2019_07_01.models.DiskStorageAccountTypes 1806 :ivar tier: The sku tier. 1807 :vartype tier: str 1808 """ 1809 1810 _validation = { 1811 'tier': {'readonly': True}, 1812 } 1813 1814 _attribute_map = { 1815 'name': {'key': 'name', 'type': 'str'}, 1816 'tier': {'key': 'tier', 'type': 'str'}, 1817 } 1818 1819 def __init__( 1820 self, 1821 *, 1822 name: Optional[Union[str, "DiskStorageAccountTypes"]] = None, 1823 **kwargs 1824 ): 1825 super(DiskSku, self).__init__(**kwargs) 1826 self.name = name 1827 self.tier = None 1828 1829 1830class DiskUpdate(msrest.serialization.Model): 1831 """Disk update resource. 1832 1833 :param tags: A set of tags. Resource tags. 1834 :type tags: dict[str, str] 1835 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or 1836 UltraSSD_LRS. 1837 :type sku: ~azure.mgmt.compute.v2019_07_01.models.DiskSku 1838 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 1839 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 1840 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 1841 indicates the size of the disk to create. If this field is present for updates or creation with 1842 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 1843 running VM, and can only increase the disk's size. 1844 :type disk_size_gb: int 1845 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 1846 Encryption, can contain multiple encryption settings per disk or snapshot. 1847 :type encryption_settings_collection: 1848 ~azure.mgmt.compute.v2019_07_01.models.EncryptionSettingsCollection 1849 :param disk_iops_read_write: The number of IOPS allowed for this disk; only settable for 1850 UltraSSD disks. One operation can transfer between 4k and 256k bytes. 1851 :type disk_iops_read_write: long 1852 :param disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD 1853 disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 1854 10. 1855 :type disk_m_bps_read_write: int 1856 :param encryption: Encryption property can be used to encrypt data at rest with customer 1857 managed keys or platform managed keys. 1858 :type encryption: ~azure.mgmt.compute.v2019_07_01.models.Encryption 1859 """ 1860 1861 _attribute_map = { 1862 'tags': {'key': 'tags', 'type': '{str}'}, 1863 'sku': {'key': 'sku', 'type': 'DiskSku'}, 1864 'os_type': {'key': 'properties.osType', 'type': 'str'}, 1865 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 1866 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 1867 'disk_iops_read_write': {'key': 'properties.diskIOPSReadWrite', 'type': 'long'}, 1868 'disk_m_bps_read_write': {'key': 'properties.diskMBpsReadWrite', 'type': 'int'}, 1869 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 1870 } 1871 1872 def __init__( 1873 self, 1874 *, 1875 tags: Optional[Dict[str, str]] = None, 1876 sku: Optional["DiskSku"] = None, 1877 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1878 disk_size_gb: Optional[int] = None, 1879 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 1880 disk_iops_read_write: Optional[int] = None, 1881 disk_m_bps_read_write: Optional[int] = None, 1882 encryption: Optional["Encryption"] = None, 1883 **kwargs 1884 ): 1885 super(DiskUpdate, self).__init__(**kwargs) 1886 self.tags = tags 1887 self.sku = sku 1888 self.os_type = os_type 1889 self.disk_size_gb = disk_size_gb 1890 self.encryption_settings_collection = encryption_settings_collection 1891 self.disk_iops_read_write = disk_iops_read_write 1892 self.disk_m_bps_read_write = disk_m_bps_read_write 1893 self.encryption = encryption 1894 1895 1896class Encryption(msrest.serialization.Model): 1897 """Encryption at rest settings for disk or snapshot. 1898 1899 All required parameters must be populated in order to send to Azure. 1900 1901 :param disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling 1902 encryption at rest. 1903 :type disk_encryption_set_id: str 1904 :param type: Required. The type of key used to encrypt the data of the disk. Possible values 1905 include: "EncryptionAtRestWithPlatformKey", "EncryptionAtRestWithCustomerKey". 1906 :type type: str or ~azure.mgmt.compute.v2019_07_01.models.EncryptionType 1907 """ 1908 1909 _validation = { 1910 'type': {'required': True}, 1911 } 1912 1913 _attribute_map = { 1914 'disk_encryption_set_id': {'key': 'diskEncryptionSetId', 'type': 'str'}, 1915 'type': {'key': 'type', 'type': 'str'}, 1916 } 1917 1918 def __init__( 1919 self, 1920 *, 1921 type: Union[str, "EncryptionType"], 1922 disk_encryption_set_id: Optional[str] = None, 1923 **kwargs 1924 ): 1925 super(Encryption, self).__init__(**kwargs) 1926 self.disk_encryption_set_id = disk_encryption_set_id 1927 self.type = type 1928 1929 1930class EncryptionSetIdentity(msrest.serialization.Model): 1931 """The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. 1932 1933 Variables are only populated by the server, and will be ignored when sending a request. 1934 1935 :param type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is 1936 supported. Possible values include: "SystemAssigned". 1937 :type type: str or ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetIdentityType 1938 :ivar principal_id: The object id of the Managed Identity Resource. This will be sent to the RP 1939 from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a 1940 systemAssigned(implicit) identity. 1941 :vartype principal_id: str 1942 :ivar tenant_id: The tenant id of the Managed Identity Resource. This will be sent to the RP 1943 from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a 1944 systemAssigned(implicit) identity. 1945 :vartype tenant_id: str 1946 """ 1947 1948 _validation = { 1949 'principal_id': {'readonly': True}, 1950 'tenant_id': {'readonly': True}, 1951 } 1952 1953 _attribute_map = { 1954 'type': {'key': 'type', 'type': 'str'}, 1955 'principal_id': {'key': 'principalId', 'type': 'str'}, 1956 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 1957 } 1958 1959 def __init__( 1960 self, 1961 *, 1962 type: Optional[Union[str, "DiskEncryptionSetIdentityType"]] = None, 1963 **kwargs 1964 ): 1965 super(EncryptionSetIdentity, self).__init__(**kwargs) 1966 self.type = type 1967 self.principal_id = None 1968 self.tenant_id = None 1969 1970 1971class EncryptionSettingsCollection(msrest.serialization.Model): 1972 """Encryption settings for disk or snapshot. 1973 1974 All required parameters must be populated in order to send to Azure. 1975 1976 :param enabled: Required. Set this flag to true and provide DiskEncryptionKey and optional 1977 KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and 1978 KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, 1979 the existing settings remain unchanged. 1980 :type enabled: bool 1981 :param encryption_settings: A collection of encryption settings, one for each disk volume. 1982 :type encryption_settings: 1983 list[~azure.mgmt.compute.v2019_07_01.models.EncryptionSettingsElement] 1984 :param encryption_settings_version: Describes what type of encryption is used for the disks. 1985 Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption 1986 with AAD app.'1.1' corresponds to Azure Disk Encryption. 1987 :type encryption_settings_version: str 1988 """ 1989 1990 _validation = { 1991 'enabled': {'required': True}, 1992 } 1993 1994 _attribute_map = { 1995 'enabled': {'key': 'enabled', 'type': 'bool'}, 1996 'encryption_settings': {'key': 'encryptionSettings', 'type': '[EncryptionSettingsElement]'}, 1997 'encryption_settings_version': {'key': 'encryptionSettingsVersion', 'type': 'str'}, 1998 } 1999 2000 def __init__( 2001 self, 2002 *, 2003 enabled: bool, 2004 encryption_settings: Optional[List["EncryptionSettingsElement"]] = None, 2005 encryption_settings_version: Optional[str] = None, 2006 **kwargs 2007 ): 2008 super(EncryptionSettingsCollection, self).__init__(**kwargs) 2009 self.enabled = enabled 2010 self.encryption_settings = encryption_settings 2011 self.encryption_settings_version = encryption_settings_version 2012 2013 2014class EncryptionSettingsElement(msrest.serialization.Model): 2015 """Encryption settings for one disk volume. 2016 2017 :param disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key. 2018 :type disk_encryption_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultAndSecretReference 2019 :param key_encryption_key: Key Vault Key Url and vault id of the key encryption key. 2020 KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. 2021 :type key_encryption_key: ~azure.mgmt.compute.v2019_07_01.models.KeyVaultAndKeyReference 2022 """ 2023 2024 _attribute_map = { 2025 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultAndSecretReference'}, 2026 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultAndKeyReference'}, 2027 } 2028 2029 def __init__( 2030 self, 2031 *, 2032 disk_encryption_key: Optional["KeyVaultAndSecretReference"] = None, 2033 key_encryption_key: Optional["KeyVaultAndKeyReference"] = None, 2034 **kwargs 2035 ): 2036 super(EncryptionSettingsElement, self).__init__(**kwargs) 2037 self.disk_encryption_key = disk_encryption_key 2038 self.key_encryption_key = key_encryption_key 2039 2040 2041class Gallery(Resource): 2042 """Specifies information about the Shared Image Gallery that you want to create or update. 2043 2044 Variables are only populated by the server, and will be ignored when sending a request. 2045 2046 All required parameters must be populated in order to send to Azure. 2047 2048 :ivar id: Resource Id. 2049 :vartype id: str 2050 :ivar name: Resource name. 2051 :vartype name: str 2052 :ivar type: Resource type. 2053 :vartype type: str 2054 :param location: Required. Resource location. 2055 :type location: str 2056 :param tags: A set of tags. Resource tags. 2057 :type tags: dict[str, str] 2058 :param description: The description of this Shared Image Gallery resource. This property is 2059 updatable. 2060 :type description: str 2061 :param identifier: Describes the gallery unique name. 2062 :type identifier: ~azure.mgmt.compute.v2019_07_01.models.GalleryIdentifier 2063 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2064 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2065 :vartype provisioning_state: str or 2066 ~azure.mgmt.compute.v2019_07_01.models.GalleryPropertiesProvisioningState 2067 """ 2068 2069 _validation = { 2070 'id': {'readonly': True}, 2071 'name': {'readonly': True}, 2072 'type': {'readonly': True}, 2073 'location': {'required': True}, 2074 'provisioning_state': {'readonly': True}, 2075 } 2076 2077 _attribute_map = { 2078 'id': {'key': 'id', 'type': 'str'}, 2079 'name': {'key': 'name', 'type': 'str'}, 2080 'type': {'key': 'type', 'type': 'str'}, 2081 'location': {'key': 'location', 'type': 'str'}, 2082 'tags': {'key': 'tags', 'type': '{str}'}, 2083 'description': {'key': 'properties.description', 'type': 'str'}, 2084 'identifier': {'key': 'properties.identifier', 'type': 'GalleryIdentifier'}, 2085 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2086 } 2087 2088 def __init__( 2089 self, 2090 *, 2091 location: str, 2092 tags: Optional[Dict[str, str]] = None, 2093 description: Optional[str] = None, 2094 identifier: Optional["GalleryIdentifier"] = None, 2095 **kwargs 2096 ): 2097 super(Gallery, self).__init__(location=location, tags=tags, **kwargs) 2098 self.description = description 2099 self.identifier = identifier 2100 self.provisioning_state = None 2101 2102 2103class GalleryApplication(Resource): 2104 """Specifies information about the gallery Application Definition that you want to create or update. 2105 2106 Variables are only populated by the server, and will be ignored when sending a request. 2107 2108 All required parameters must be populated in order to send to Azure. 2109 2110 :ivar id: Resource Id. 2111 :vartype id: str 2112 :ivar name: Resource name. 2113 :vartype name: str 2114 :ivar type: Resource type. 2115 :vartype type: str 2116 :param location: Required. Resource location. 2117 :type location: str 2118 :param tags: A set of tags. Resource tags. 2119 :type tags: dict[str, str] 2120 :param description: The description of this gallery Application Definition resource. This 2121 property is updatable. 2122 :type description: str 2123 :param eula: The Eula agreement for the gallery Application Definition. 2124 :type eula: str 2125 :param privacy_statement_uri: The privacy statement uri. 2126 :type privacy_statement_uri: str 2127 :param release_note_uri: The release note uri. 2128 :type release_note_uri: str 2129 :param end_of_life_date: The end of life date of the gallery Application Definition. This 2130 property can be used for decommissioning purposes. This property is updatable. 2131 :type end_of_life_date: ~datetime.datetime 2132 :param supported_os_type: This property allows you to specify the supported type of the OS that 2133 application is built for. :code:`<br>`:code:`<br>` Possible values are: 2134 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 2135 include: "Windows", "Linux". 2136 :type supported_os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 2137 """ 2138 2139 _validation = { 2140 'id': {'readonly': True}, 2141 'name': {'readonly': True}, 2142 'type': {'readonly': True}, 2143 'location': {'required': True}, 2144 } 2145 2146 _attribute_map = { 2147 'id': {'key': 'id', 'type': 'str'}, 2148 'name': {'key': 'name', 'type': 'str'}, 2149 'type': {'key': 'type', 'type': 'str'}, 2150 'location': {'key': 'location', 'type': 'str'}, 2151 'tags': {'key': 'tags', 'type': '{str}'}, 2152 'description': {'key': 'properties.description', 'type': 'str'}, 2153 'eula': {'key': 'properties.eula', 'type': 'str'}, 2154 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 2155 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 2156 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 2157 'supported_os_type': {'key': 'properties.supportedOSType', 'type': 'str'}, 2158 } 2159 2160 def __init__( 2161 self, 2162 *, 2163 location: str, 2164 tags: Optional[Dict[str, str]] = None, 2165 description: Optional[str] = None, 2166 eula: Optional[str] = None, 2167 privacy_statement_uri: Optional[str] = None, 2168 release_note_uri: Optional[str] = None, 2169 end_of_life_date: Optional[datetime.datetime] = None, 2170 supported_os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2171 **kwargs 2172 ): 2173 super(GalleryApplication, self).__init__(location=location, tags=tags, **kwargs) 2174 self.description = description 2175 self.eula = eula 2176 self.privacy_statement_uri = privacy_statement_uri 2177 self.release_note_uri = release_note_uri 2178 self.end_of_life_date = end_of_life_date 2179 self.supported_os_type = supported_os_type 2180 2181 2182class GalleryApplicationList(msrest.serialization.Model): 2183 """The List Gallery Applications operation response. 2184 2185 All required parameters must be populated in order to send to Azure. 2186 2187 :param value: Required. A list of Gallery Applications. 2188 :type value: list[~azure.mgmt.compute.v2019_07_01.models.GalleryApplication] 2189 :param next_link: The uri to fetch the next page of Application Definitions in the Application 2190 Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions. 2191 :type next_link: str 2192 """ 2193 2194 _validation = { 2195 'value': {'required': True}, 2196 } 2197 2198 _attribute_map = { 2199 'value': {'key': 'value', 'type': '[GalleryApplication]'}, 2200 'next_link': {'key': 'nextLink', 'type': 'str'}, 2201 } 2202 2203 def __init__( 2204 self, 2205 *, 2206 value: List["GalleryApplication"], 2207 next_link: Optional[str] = None, 2208 **kwargs 2209 ): 2210 super(GalleryApplicationList, self).__init__(**kwargs) 2211 self.value = value 2212 self.next_link = next_link 2213 2214 2215class GalleryApplicationUpdate(UpdateResource): 2216 """Specifies information about the gallery Application Definition that you want to update. 2217 2218 :param tags: A set of tags. Resource tags. 2219 :type tags: dict[str, str] 2220 :param description: The description of this gallery Application Definition resource. This 2221 property is updatable. 2222 :type description: str 2223 :param eula: The Eula agreement for the gallery Application Definition. 2224 :type eula: str 2225 :param privacy_statement_uri: The privacy statement uri. 2226 :type privacy_statement_uri: str 2227 :param release_note_uri: The release note uri. 2228 :type release_note_uri: str 2229 :param end_of_life_date: The end of life date of the gallery Application Definition. This 2230 property can be used for decommissioning purposes. This property is updatable. 2231 :type end_of_life_date: ~datetime.datetime 2232 :param supported_os_type: This property allows you to specify the supported type of the OS that 2233 application is built for. :code:`<br>`:code:`<br>` Possible values are: 2234 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 2235 include: "Windows", "Linux". 2236 :type supported_os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 2237 """ 2238 2239 _attribute_map = { 2240 'tags': {'key': 'tags', 'type': '{str}'}, 2241 'description': {'key': 'properties.description', 'type': 'str'}, 2242 'eula': {'key': 'properties.eula', 'type': 'str'}, 2243 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 2244 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 2245 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 2246 'supported_os_type': {'key': 'properties.supportedOSType', 'type': 'str'}, 2247 } 2248 2249 def __init__( 2250 self, 2251 *, 2252 tags: Optional[Dict[str, str]] = None, 2253 description: Optional[str] = None, 2254 eula: Optional[str] = None, 2255 privacy_statement_uri: Optional[str] = None, 2256 release_note_uri: Optional[str] = None, 2257 end_of_life_date: Optional[datetime.datetime] = None, 2258 supported_os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2259 **kwargs 2260 ): 2261 super(GalleryApplicationUpdate, self).__init__(tags=tags, **kwargs) 2262 self.description = description 2263 self.eula = eula 2264 self.privacy_statement_uri = privacy_statement_uri 2265 self.release_note_uri = release_note_uri 2266 self.end_of_life_date = end_of_life_date 2267 self.supported_os_type = supported_os_type 2268 2269 2270class GalleryApplicationVersion(Resource): 2271 """Specifies information about the gallery Application Version that you want to create or update. 2272 2273 Variables are only populated by the server, and will be ignored when sending a request. 2274 2275 All required parameters must be populated in order to send to Azure. 2276 2277 :ivar id: Resource Id. 2278 :vartype id: str 2279 :ivar name: Resource name. 2280 :vartype name: str 2281 :ivar type: Resource type. 2282 :vartype type: str 2283 :param location: Required. Resource location. 2284 :type location: str 2285 :param tags: A set of tags. Resource tags. 2286 :type tags: dict[str, str] 2287 :param publishing_profile: The publishing profile of a gallery image version. 2288 :type publishing_profile: 2289 ~azure.mgmt.compute.v2019_07_01.models.GalleryApplicationVersionPublishingProfile 2290 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2291 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2292 :vartype provisioning_state: str or 2293 ~azure.mgmt.compute.v2019_07_01.models.GalleryApplicationVersionPropertiesProvisioningState 2294 :ivar replication_status: This is the replication status of the gallery Image Version. 2295 :vartype replication_status: ~azure.mgmt.compute.v2019_07_01.models.ReplicationStatus 2296 """ 2297 2298 _validation = { 2299 'id': {'readonly': True}, 2300 'name': {'readonly': True}, 2301 'type': {'readonly': True}, 2302 'location': {'required': True}, 2303 'provisioning_state': {'readonly': True}, 2304 'replication_status': {'readonly': True}, 2305 } 2306 2307 _attribute_map = { 2308 'id': {'key': 'id', 'type': 'str'}, 2309 'name': {'key': 'name', 'type': 'str'}, 2310 'type': {'key': 'type', 'type': 'str'}, 2311 'location': {'key': 'location', 'type': 'str'}, 2312 'tags': {'key': 'tags', 'type': '{str}'}, 2313 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryApplicationVersionPublishingProfile'}, 2314 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2315 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 2316 } 2317 2318 def __init__( 2319 self, 2320 *, 2321 location: str, 2322 tags: Optional[Dict[str, str]] = None, 2323 publishing_profile: Optional["GalleryApplicationVersionPublishingProfile"] = None, 2324 **kwargs 2325 ): 2326 super(GalleryApplicationVersion, self).__init__(location=location, tags=tags, **kwargs) 2327 self.publishing_profile = publishing_profile 2328 self.provisioning_state = None 2329 self.replication_status = None 2330 2331 2332class GalleryApplicationVersionList(msrest.serialization.Model): 2333 """The List Gallery Application version operation response. 2334 2335 All required parameters must be populated in order to send to Azure. 2336 2337 :param value: Required. A list of gallery Application Versions. 2338 :type value: list[~azure.mgmt.compute.v2019_07_01.models.GalleryApplicationVersion] 2339 :param next_link: The uri to fetch the next page of gallery Application Versions. Call 2340 ListNext() with this to fetch the next page of gallery Application Versions. 2341 :type next_link: str 2342 """ 2343 2344 _validation = { 2345 'value': {'required': True}, 2346 } 2347 2348 _attribute_map = { 2349 'value': {'key': 'value', 'type': '[GalleryApplicationVersion]'}, 2350 'next_link': {'key': 'nextLink', 'type': 'str'}, 2351 } 2352 2353 def __init__( 2354 self, 2355 *, 2356 value: List["GalleryApplicationVersion"], 2357 next_link: Optional[str] = None, 2358 **kwargs 2359 ): 2360 super(GalleryApplicationVersionList, self).__init__(**kwargs) 2361 self.value = value 2362 self.next_link = next_link 2363 2364 2365class GalleryArtifactPublishingProfileBase(msrest.serialization.Model): 2366 """Describes the basic gallery artifact publishing profile. 2367 2368 Variables are only populated by the server, and will be ignored when sending a request. 2369 2370 :param target_regions: The target regions where the Image Version is going to be replicated to. 2371 This property is updatable. 2372 :type target_regions: list[~azure.mgmt.compute.v2019_07_01.models.TargetRegion] 2373 :param replica_count: The number of replicas of the Image Version to be created per region. 2374 This property would take effect for a region when regionalReplicaCount is not specified. This 2375 property is updatable. 2376 :type replica_count: int 2377 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 2378 of the Image Definition won't use this Image Version. 2379 :type exclude_from_latest: bool 2380 :ivar published_date: The timestamp for when the gallery Image Version is published. 2381 :vartype published_date: ~datetime.datetime 2382 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 2383 be used for decommissioning purposes. This property is updatable. 2384 :type end_of_life_date: ~datetime.datetime 2385 :param storage_account_type: Specifies the storage account type to be used to store the image. 2386 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 2387 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountType 2388 """ 2389 2390 _validation = { 2391 'published_date': {'readonly': True}, 2392 } 2393 2394 _attribute_map = { 2395 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 2396 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 2397 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 2398 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 2399 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 2400 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2401 } 2402 2403 def __init__( 2404 self, 2405 *, 2406 target_regions: Optional[List["TargetRegion"]] = None, 2407 replica_count: Optional[int] = None, 2408 exclude_from_latest: Optional[bool] = None, 2409 end_of_life_date: Optional[datetime.datetime] = None, 2410 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 2411 **kwargs 2412 ): 2413 super(GalleryArtifactPublishingProfileBase, self).__init__(**kwargs) 2414 self.target_regions = target_regions 2415 self.replica_count = replica_count 2416 self.exclude_from_latest = exclude_from_latest 2417 self.published_date = None 2418 self.end_of_life_date = end_of_life_date 2419 self.storage_account_type = storage_account_type 2420 2421 2422class GalleryApplicationVersionPublishingProfile(GalleryArtifactPublishingProfileBase): 2423 """The publishing profile of a gallery image version. 2424 2425 Variables are only populated by the server, and will be ignored when sending a request. 2426 2427 All required parameters must be populated in order to send to Azure. 2428 2429 :param target_regions: The target regions where the Image Version is going to be replicated to. 2430 This property is updatable. 2431 :type target_regions: list[~azure.mgmt.compute.v2019_07_01.models.TargetRegion] 2432 :param replica_count: The number of replicas of the Image Version to be created per region. 2433 This property would take effect for a region when regionalReplicaCount is not specified. This 2434 property is updatable. 2435 :type replica_count: int 2436 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 2437 of the Image Definition won't use this Image Version. 2438 :type exclude_from_latest: bool 2439 :ivar published_date: The timestamp for when the gallery Image Version is published. 2440 :vartype published_date: ~datetime.datetime 2441 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 2442 be used for decommissioning purposes. This property is updatable. 2443 :type end_of_life_date: ~datetime.datetime 2444 :param storage_account_type: Specifies the storage account type to be used to store the image. 2445 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 2446 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountType 2447 :param source: Required. The source image from which the Image Version is going to be created. 2448 :type source: ~azure.mgmt.compute.v2019_07_01.models.UserArtifactSource 2449 :param manage_actions: 2450 :type manage_actions: ~azure.mgmt.compute.v2019_07_01.models.UserArtifactManage 2451 :param enable_health_check: Optional. Whether or not this application reports health. 2452 :type enable_health_check: bool 2453 """ 2454 2455 _validation = { 2456 'published_date': {'readonly': True}, 2457 'source': {'required': True}, 2458 } 2459 2460 _attribute_map = { 2461 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 2462 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 2463 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 2464 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 2465 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 2466 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2467 'source': {'key': 'source', 'type': 'UserArtifactSource'}, 2468 'manage_actions': {'key': 'manageActions', 'type': 'UserArtifactManage'}, 2469 'enable_health_check': {'key': 'enableHealthCheck', 'type': 'bool'}, 2470 } 2471 2472 def __init__( 2473 self, 2474 *, 2475 source: "UserArtifactSource", 2476 target_regions: Optional[List["TargetRegion"]] = None, 2477 replica_count: Optional[int] = None, 2478 exclude_from_latest: Optional[bool] = None, 2479 end_of_life_date: Optional[datetime.datetime] = None, 2480 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 2481 manage_actions: Optional["UserArtifactManage"] = None, 2482 enable_health_check: Optional[bool] = None, 2483 **kwargs 2484 ): 2485 super(GalleryApplicationVersionPublishingProfile, self).__init__(target_regions=target_regions, replica_count=replica_count, exclude_from_latest=exclude_from_latest, end_of_life_date=end_of_life_date, storage_account_type=storage_account_type, **kwargs) 2486 self.source = source 2487 self.manage_actions = manage_actions 2488 self.enable_health_check = enable_health_check 2489 2490 2491class GalleryApplicationVersionUpdate(UpdateResource): 2492 """Specifies information about the gallery Application Version that you want to update. 2493 2494 Variables are only populated by the server, and will be ignored when sending a request. 2495 2496 :param tags: A set of tags. Resource tags. 2497 :type tags: dict[str, str] 2498 :param publishing_profile: The publishing profile of a gallery image version. 2499 :type publishing_profile: 2500 ~azure.mgmt.compute.v2019_07_01.models.GalleryApplicationVersionPublishingProfile 2501 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2502 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2503 :vartype provisioning_state: str or 2504 ~azure.mgmt.compute.v2019_07_01.models.GalleryApplicationVersionPropertiesProvisioningState 2505 :ivar replication_status: This is the replication status of the gallery Image Version. 2506 :vartype replication_status: ~azure.mgmt.compute.v2019_07_01.models.ReplicationStatus 2507 """ 2508 2509 _validation = { 2510 'provisioning_state': {'readonly': True}, 2511 'replication_status': {'readonly': True}, 2512 } 2513 2514 _attribute_map = { 2515 'tags': {'key': 'tags', 'type': '{str}'}, 2516 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryApplicationVersionPublishingProfile'}, 2517 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2518 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 2519 } 2520 2521 def __init__( 2522 self, 2523 *, 2524 tags: Optional[Dict[str, str]] = None, 2525 publishing_profile: Optional["GalleryApplicationVersionPublishingProfile"] = None, 2526 **kwargs 2527 ): 2528 super(GalleryApplicationVersionUpdate, self).__init__(tags=tags, **kwargs) 2529 self.publishing_profile = publishing_profile 2530 self.provisioning_state = None 2531 self.replication_status = None 2532 2533 2534class GalleryArtifactSource(msrest.serialization.Model): 2535 """The source image from which the Image Version is going to be created. 2536 2537 All required parameters must be populated in order to send to Azure. 2538 2539 :param managed_image: Required. The managed artifact. 2540 :type managed_image: ~azure.mgmt.compute.v2019_07_01.models.ManagedArtifact 2541 """ 2542 2543 _validation = { 2544 'managed_image': {'required': True}, 2545 } 2546 2547 _attribute_map = { 2548 'managed_image': {'key': 'managedImage', 'type': 'ManagedArtifact'}, 2549 } 2550 2551 def __init__( 2552 self, 2553 *, 2554 managed_image: "ManagedArtifact", 2555 **kwargs 2556 ): 2557 super(GalleryArtifactSource, self).__init__(**kwargs) 2558 self.managed_image = managed_image 2559 2560 2561class GalleryArtifactVersionSource(msrest.serialization.Model): 2562 """The gallery artifact version source. 2563 2564 :param id: The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, 2565 or user image. 2566 :type id: str 2567 """ 2568 2569 _attribute_map = { 2570 'id': {'key': 'id', 'type': 'str'}, 2571 } 2572 2573 def __init__( 2574 self, 2575 *, 2576 id: Optional[str] = None, 2577 **kwargs 2578 ): 2579 super(GalleryArtifactVersionSource, self).__init__(**kwargs) 2580 self.id = id 2581 2582 2583class GalleryDiskImage(msrest.serialization.Model): 2584 """This is the disk image base class. 2585 2586 Variables are only populated by the server, and will be ignored when sending a request. 2587 2588 :ivar size_in_gb: This property indicates the size of the VHD to be created. 2589 :vartype size_in_gb: int 2590 :param host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 2591 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 2592 :type host_caching: str or ~azure.mgmt.compute.v2019_07_01.models.HostCaching 2593 :param source: The gallery artifact version source. 2594 :type source: ~azure.mgmt.compute.v2019_07_01.models.GalleryArtifactVersionSource 2595 """ 2596 2597 _validation = { 2598 'size_in_gb': {'readonly': True}, 2599 } 2600 2601 _attribute_map = { 2602 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 2603 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 2604 'source': {'key': 'source', 'type': 'GalleryArtifactVersionSource'}, 2605 } 2606 2607 def __init__( 2608 self, 2609 *, 2610 host_caching: Optional[Union[str, "HostCaching"]] = None, 2611 source: Optional["GalleryArtifactVersionSource"] = None, 2612 **kwargs 2613 ): 2614 super(GalleryDiskImage, self).__init__(**kwargs) 2615 self.size_in_gb = None 2616 self.host_caching = host_caching 2617 self.source = source 2618 2619 2620class GalleryDataDiskImage(GalleryDiskImage): 2621 """This is the data disk image. 2622 2623 Variables are only populated by the server, and will be ignored when sending a request. 2624 2625 All required parameters must be populated in order to send to Azure. 2626 2627 :ivar size_in_gb: This property indicates the size of the VHD to be created. 2628 :vartype size_in_gb: int 2629 :param host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 2630 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 2631 :type host_caching: str or ~azure.mgmt.compute.v2019_07_01.models.HostCaching 2632 :param source: The gallery artifact version source. 2633 :type source: ~azure.mgmt.compute.v2019_07_01.models.GalleryArtifactVersionSource 2634 :param lun: Required. This property specifies the logical unit number of the data disk. This 2635 value is used to identify data disks within the Virtual Machine and therefore must be unique 2636 for each data disk attached to the Virtual Machine. 2637 :type lun: int 2638 """ 2639 2640 _validation = { 2641 'size_in_gb': {'readonly': True}, 2642 'lun': {'required': True}, 2643 } 2644 2645 _attribute_map = { 2646 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 2647 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 2648 'source': {'key': 'source', 'type': 'GalleryArtifactVersionSource'}, 2649 'lun': {'key': 'lun', 'type': 'int'}, 2650 } 2651 2652 def __init__( 2653 self, 2654 *, 2655 lun: int, 2656 host_caching: Optional[Union[str, "HostCaching"]] = None, 2657 source: Optional["GalleryArtifactVersionSource"] = None, 2658 **kwargs 2659 ): 2660 super(GalleryDataDiskImage, self).__init__(host_caching=host_caching, source=source, **kwargs) 2661 self.lun = lun 2662 2663 2664class GalleryIdentifier(msrest.serialization.Model): 2665 """Describes the gallery unique name. 2666 2667 Variables are only populated by the server, and will be ignored when sending a request. 2668 2669 :ivar unique_name: The unique name of the Shared Image Gallery. This name is generated 2670 automatically by Azure. 2671 :vartype unique_name: str 2672 """ 2673 2674 _validation = { 2675 'unique_name': {'readonly': True}, 2676 } 2677 2678 _attribute_map = { 2679 'unique_name': {'key': 'uniqueName', 'type': 'str'}, 2680 } 2681 2682 def __init__( 2683 self, 2684 **kwargs 2685 ): 2686 super(GalleryIdentifier, self).__init__(**kwargs) 2687 self.unique_name = None 2688 2689 2690class GalleryImage(Resource): 2691 """Specifies information about the gallery Image Definition that you want to create or update. 2692 2693 Variables are only populated by the server, and will be ignored when sending a request. 2694 2695 All required parameters must be populated in order to send to Azure. 2696 2697 :ivar id: Resource Id. 2698 :vartype id: str 2699 :ivar name: Resource name. 2700 :vartype name: str 2701 :ivar type: Resource type. 2702 :vartype type: str 2703 :param location: Required. Resource location. 2704 :type location: str 2705 :param tags: A set of tags. Resource tags. 2706 :type tags: dict[str, str] 2707 :param description: The description of this gallery Image Definition resource. This property is 2708 updatable. 2709 :type description: str 2710 :param eula: The Eula agreement for the gallery Image Definition. 2711 :type eula: str 2712 :param privacy_statement_uri: The privacy statement uri. 2713 :type privacy_statement_uri: str 2714 :param release_note_uri: The release note uri. 2715 :type release_note_uri: str 2716 :param os_type: This property allows you to specify the type of the OS that is included in the 2717 disk when creating a VM from a managed image. :code:`<br>`:code:`<br>` Possible values are: 2718 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 2719 include: "Windows", "Linux". 2720 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 2721 :param os_state: This property allows the user to specify whether the virtual machines created 2722 under this image are 'Generalized' or 'Specialized'. Possible values include: "Generalized", 2723 "Specialized". 2724 :type os_state: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemStateTypes 2725 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 2726 disks only. Possible values include: "V1", "V2". 2727 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGeneration 2728 :param end_of_life_date: The end of life date of the gallery Image Definition. This property 2729 can be used for decommissioning purposes. This property is updatable. 2730 :type end_of_life_date: ~datetime.datetime 2731 :param identifier: This is the gallery Image Definition identifier. 2732 :type identifier: ~azure.mgmt.compute.v2019_07_01.models.GalleryImageIdentifier 2733 :param recommended: The properties describe the recommended machine configuration for this 2734 Image Definition. These properties are updatable. 2735 :type recommended: ~azure.mgmt.compute.v2019_07_01.models.RecommendedMachineConfiguration 2736 :param disallowed: Describes the disallowed disk types. 2737 :type disallowed: ~azure.mgmt.compute.v2019_07_01.models.Disallowed 2738 :param purchase_plan: Describes the gallery Image Definition purchase plan. This is used by 2739 marketplace images. 2740 :type purchase_plan: ~azure.mgmt.compute.v2019_07_01.models.ImagePurchasePlan 2741 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2742 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2743 :vartype provisioning_state: str or 2744 ~azure.mgmt.compute.v2019_07_01.models.GalleryImagePropertiesProvisioningState 2745 """ 2746 2747 _validation = { 2748 'id': {'readonly': True}, 2749 'name': {'readonly': True}, 2750 'type': {'readonly': True}, 2751 'location': {'required': True}, 2752 'provisioning_state': {'readonly': True}, 2753 } 2754 2755 _attribute_map = { 2756 'id': {'key': 'id', 'type': 'str'}, 2757 'name': {'key': 'name', 'type': 'str'}, 2758 'type': {'key': 'type', 'type': 'str'}, 2759 'location': {'key': 'location', 'type': 'str'}, 2760 'tags': {'key': 'tags', 'type': '{str}'}, 2761 'description': {'key': 'properties.description', 'type': 'str'}, 2762 'eula': {'key': 'properties.eula', 'type': 'str'}, 2763 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 2764 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 2765 'os_type': {'key': 'properties.osType', 'type': 'str'}, 2766 'os_state': {'key': 'properties.osState', 'type': 'str'}, 2767 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 2768 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 2769 'identifier': {'key': 'properties.identifier', 'type': 'GalleryImageIdentifier'}, 2770 'recommended': {'key': 'properties.recommended', 'type': 'RecommendedMachineConfiguration'}, 2771 'disallowed': {'key': 'properties.disallowed', 'type': 'Disallowed'}, 2772 'purchase_plan': {'key': 'properties.purchasePlan', 'type': 'ImagePurchasePlan'}, 2773 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2774 } 2775 2776 def __init__( 2777 self, 2778 *, 2779 location: str, 2780 tags: Optional[Dict[str, str]] = None, 2781 description: Optional[str] = None, 2782 eula: Optional[str] = None, 2783 privacy_statement_uri: Optional[str] = None, 2784 release_note_uri: Optional[str] = None, 2785 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2786 os_state: Optional[Union[str, "OperatingSystemStateTypes"]] = None, 2787 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 2788 end_of_life_date: Optional[datetime.datetime] = None, 2789 identifier: Optional["GalleryImageIdentifier"] = None, 2790 recommended: Optional["RecommendedMachineConfiguration"] = None, 2791 disallowed: Optional["Disallowed"] = None, 2792 purchase_plan: Optional["ImagePurchasePlan"] = None, 2793 **kwargs 2794 ): 2795 super(GalleryImage, self).__init__(location=location, tags=tags, **kwargs) 2796 self.description = description 2797 self.eula = eula 2798 self.privacy_statement_uri = privacy_statement_uri 2799 self.release_note_uri = release_note_uri 2800 self.os_type = os_type 2801 self.os_state = os_state 2802 self.hyper_v_generation = hyper_v_generation 2803 self.end_of_life_date = end_of_life_date 2804 self.identifier = identifier 2805 self.recommended = recommended 2806 self.disallowed = disallowed 2807 self.purchase_plan = purchase_plan 2808 self.provisioning_state = None 2809 2810 2811class GalleryImageIdentifier(msrest.serialization.Model): 2812 """This is the gallery Image Definition identifier. 2813 2814 All required parameters must be populated in order to send to Azure. 2815 2816 :param publisher: Required. The name of the gallery Image Definition publisher. 2817 :type publisher: str 2818 :param offer: Required. The name of the gallery Image Definition offer. 2819 :type offer: str 2820 :param sku: Required. The name of the gallery Image Definition SKU. 2821 :type sku: str 2822 """ 2823 2824 _validation = { 2825 'publisher': {'required': True}, 2826 'offer': {'required': True}, 2827 'sku': {'required': True}, 2828 } 2829 2830 _attribute_map = { 2831 'publisher': {'key': 'publisher', 'type': 'str'}, 2832 'offer': {'key': 'offer', 'type': 'str'}, 2833 'sku': {'key': 'sku', 'type': 'str'}, 2834 } 2835 2836 def __init__( 2837 self, 2838 *, 2839 publisher: str, 2840 offer: str, 2841 sku: str, 2842 **kwargs 2843 ): 2844 super(GalleryImageIdentifier, self).__init__(**kwargs) 2845 self.publisher = publisher 2846 self.offer = offer 2847 self.sku = sku 2848 2849 2850class GalleryImageList(msrest.serialization.Model): 2851 """The List Gallery Images operation response. 2852 2853 All required parameters must be populated in order to send to Azure. 2854 2855 :param value: Required. A list of Shared Image Gallery images. 2856 :type value: list[~azure.mgmt.compute.v2019_07_01.models.GalleryImage] 2857 :param next_link: The uri to fetch the next page of Image Definitions in the Shared Image 2858 Gallery. Call ListNext() with this to fetch the next page of gallery Image Definitions. 2859 :type next_link: str 2860 """ 2861 2862 _validation = { 2863 'value': {'required': True}, 2864 } 2865 2866 _attribute_map = { 2867 'value': {'key': 'value', 'type': '[GalleryImage]'}, 2868 'next_link': {'key': 'nextLink', 'type': 'str'}, 2869 } 2870 2871 def __init__( 2872 self, 2873 *, 2874 value: List["GalleryImage"], 2875 next_link: Optional[str] = None, 2876 **kwargs 2877 ): 2878 super(GalleryImageList, self).__init__(**kwargs) 2879 self.value = value 2880 self.next_link = next_link 2881 2882 2883class GalleryImageUpdate(UpdateResource): 2884 """Specifies information about the gallery Image Definition that you want to update. 2885 2886 Variables are only populated by the server, and will be ignored when sending a request. 2887 2888 :param tags: A set of tags. Resource tags. 2889 :type tags: dict[str, str] 2890 :param description: The description of this gallery Image Definition resource. This property is 2891 updatable. 2892 :type description: str 2893 :param eula: The Eula agreement for the gallery Image Definition. 2894 :type eula: str 2895 :param privacy_statement_uri: The privacy statement uri. 2896 :type privacy_statement_uri: str 2897 :param release_note_uri: The release note uri. 2898 :type release_note_uri: str 2899 :param os_type: This property allows you to specify the type of the OS that is included in the 2900 disk when creating a VM from a managed image. :code:`<br>`:code:`<br>` Possible values are: 2901 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 2902 include: "Windows", "Linux". 2903 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 2904 :param os_state: This property allows the user to specify whether the virtual machines created 2905 under this image are 'Generalized' or 'Specialized'. Possible values include: "Generalized", 2906 "Specialized". 2907 :type os_state: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemStateTypes 2908 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 2909 disks only. Possible values include: "V1", "V2". 2910 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGeneration 2911 :param end_of_life_date: The end of life date of the gallery Image Definition. This property 2912 can be used for decommissioning purposes. This property is updatable. 2913 :type end_of_life_date: ~datetime.datetime 2914 :param identifier: This is the gallery Image Definition identifier. 2915 :type identifier: ~azure.mgmt.compute.v2019_07_01.models.GalleryImageIdentifier 2916 :param recommended: The properties describe the recommended machine configuration for this 2917 Image Definition. These properties are updatable. 2918 :type recommended: ~azure.mgmt.compute.v2019_07_01.models.RecommendedMachineConfiguration 2919 :param disallowed: Describes the disallowed disk types. 2920 :type disallowed: ~azure.mgmt.compute.v2019_07_01.models.Disallowed 2921 :param purchase_plan: Describes the gallery Image Definition purchase plan. This is used by 2922 marketplace images. 2923 :type purchase_plan: ~azure.mgmt.compute.v2019_07_01.models.ImagePurchasePlan 2924 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2925 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2926 :vartype provisioning_state: str or 2927 ~azure.mgmt.compute.v2019_07_01.models.GalleryImagePropertiesProvisioningState 2928 """ 2929 2930 _validation = { 2931 'provisioning_state': {'readonly': True}, 2932 } 2933 2934 _attribute_map = { 2935 'tags': {'key': 'tags', 'type': '{str}'}, 2936 'description': {'key': 'properties.description', 'type': 'str'}, 2937 'eula': {'key': 'properties.eula', 'type': 'str'}, 2938 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 2939 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 2940 'os_type': {'key': 'properties.osType', 'type': 'str'}, 2941 'os_state': {'key': 'properties.osState', 'type': 'str'}, 2942 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 2943 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 2944 'identifier': {'key': 'properties.identifier', 'type': 'GalleryImageIdentifier'}, 2945 'recommended': {'key': 'properties.recommended', 'type': 'RecommendedMachineConfiguration'}, 2946 'disallowed': {'key': 'properties.disallowed', 'type': 'Disallowed'}, 2947 'purchase_plan': {'key': 'properties.purchasePlan', 'type': 'ImagePurchasePlan'}, 2948 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2949 } 2950 2951 def __init__( 2952 self, 2953 *, 2954 tags: Optional[Dict[str, str]] = None, 2955 description: Optional[str] = None, 2956 eula: Optional[str] = None, 2957 privacy_statement_uri: Optional[str] = None, 2958 release_note_uri: Optional[str] = None, 2959 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2960 os_state: Optional[Union[str, "OperatingSystemStateTypes"]] = None, 2961 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 2962 end_of_life_date: Optional[datetime.datetime] = None, 2963 identifier: Optional["GalleryImageIdentifier"] = None, 2964 recommended: Optional["RecommendedMachineConfiguration"] = None, 2965 disallowed: Optional["Disallowed"] = None, 2966 purchase_plan: Optional["ImagePurchasePlan"] = None, 2967 **kwargs 2968 ): 2969 super(GalleryImageUpdate, self).__init__(tags=tags, **kwargs) 2970 self.description = description 2971 self.eula = eula 2972 self.privacy_statement_uri = privacy_statement_uri 2973 self.release_note_uri = release_note_uri 2974 self.os_type = os_type 2975 self.os_state = os_state 2976 self.hyper_v_generation = hyper_v_generation 2977 self.end_of_life_date = end_of_life_date 2978 self.identifier = identifier 2979 self.recommended = recommended 2980 self.disallowed = disallowed 2981 self.purchase_plan = purchase_plan 2982 self.provisioning_state = None 2983 2984 2985class GalleryImageVersion(Resource): 2986 """Specifies information about the gallery Image Version that you want to create or update. 2987 2988 Variables are only populated by the server, and will be ignored when sending a request. 2989 2990 All required parameters must be populated in order to send to Azure. 2991 2992 :ivar id: Resource Id. 2993 :vartype id: str 2994 :ivar name: Resource name. 2995 :vartype name: str 2996 :ivar type: Resource type. 2997 :vartype type: str 2998 :param location: Required. Resource location. 2999 :type location: str 3000 :param tags: A set of tags. Resource tags. 3001 :type tags: dict[str, str] 3002 :param publishing_profile: The publishing profile of a gallery Image Version. 3003 :type publishing_profile: 3004 ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionPublishingProfile 3005 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 3006 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 3007 :vartype provisioning_state: str or 3008 ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionPropertiesProvisioningState 3009 :param storage_profile: This is the storage profile of a Gallery Image Version. 3010 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionStorageProfile 3011 :ivar replication_status: This is the replication status of the gallery Image Version. 3012 :vartype replication_status: ~azure.mgmt.compute.v2019_07_01.models.ReplicationStatus 3013 """ 3014 3015 _validation = { 3016 'id': {'readonly': True}, 3017 'name': {'readonly': True}, 3018 'type': {'readonly': True}, 3019 'location': {'required': True}, 3020 'provisioning_state': {'readonly': True}, 3021 'replication_status': {'readonly': True}, 3022 } 3023 3024 _attribute_map = { 3025 'id': {'key': 'id', 'type': 'str'}, 3026 'name': {'key': 'name', 'type': 'str'}, 3027 'type': {'key': 'type', 'type': 'str'}, 3028 'location': {'key': 'location', 'type': 'str'}, 3029 'tags': {'key': 'tags', 'type': '{str}'}, 3030 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryImageVersionPublishingProfile'}, 3031 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3032 'storage_profile': {'key': 'properties.storageProfile', 'type': 'GalleryImageVersionStorageProfile'}, 3033 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 3034 } 3035 3036 def __init__( 3037 self, 3038 *, 3039 location: str, 3040 tags: Optional[Dict[str, str]] = None, 3041 publishing_profile: Optional["GalleryImageVersionPublishingProfile"] = None, 3042 storage_profile: Optional["GalleryImageVersionStorageProfile"] = None, 3043 **kwargs 3044 ): 3045 super(GalleryImageVersion, self).__init__(location=location, tags=tags, **kwargs) 3046 self.publishing_profile = publishing_profile 3047 self.provisioning_state = None 3048 self.storage_profile = storage_profile 3049 self.replication_status = None 3050 3051 3052class GalleryImageVersionList(msrest.serialization.Model): 3053 """The List Gallery Image version operation response. 3054 3055 All required parameters must be populated in order to send to Azure. 3056 3057 :param value: Required. A list of gallery Image Versions. 3058 :type value: list[~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersion] 3059 :param next_link: The uri to fetch the next page of gallery Image Versions. Call ListNext() 3060 with this to fetch the next page of gallery Image Versions. 3061 :type next_link: str 3062 """ 3063 3064 _validation = { 3065 'value': {'required': True}, 3066 } 3067 3068 _attribute_map = { 3069 'value': {'key': 'value', 'type': '[GalleryImageVersion]'}, 3070 'next_link': {'key': 'nextLink', 'type': 'str'}, 3071 } 3072 3073 def __init__( 3074 self, 3075 *, 3076 value: List["GalleryImageVersion"], 3077 next_link: Optional[str] = None, 3078 **kwargs 3079 ): 3080 super(GalleryImageVersionList, self).__init__(**kwargs) 3081 self.value = value 3082 self.next_link = next_link 3083 3084 3085class GalleryImageVersionPublishingProfile(GalleryArtifactPublishingProfileBase): 3086 """The publishing profile of a gallery Image Version. 3087 3088 Variables are only populated by the server, and will be ignored when sending a request. 3089 3090 :param target_regions: The target regions where the Image Version is going to be replicated to. 3091 This property is updatable. 3092 :type target_regions: list[~azure.mgmt.compute.v2019_07_01.models.TargetRegion] 3093 :param replica_count: The number of replicas of the Image Version to be created per region. 3094 This property would take effect for a region when regionalReplicaCount is not specified. This 3095 property is updatable. 3096 :type replica_count: int 3097 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 3098 of the Image Definition won't use this Image Version. 3099 :type exclude_from_latest: bool 3100 :ivar published_date: The timestamp for when the gallery Image Version is published. 3101 :vartype published_date: ~datetime.datetime 3102 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 3103 be used for decommissioning purposes. This property is updatable. 3104 :type end_of_life_date: ~datetime.datetime 3105 :param storage_account_type: Specifies the storage account type to be used to store the image. 3106 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 3107 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountType 3108 """ 3109 3110 _validation = { 3111 'published_date': {'readonly': True}, 3112 } 3113 3114 _attribute_map = { 3115 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 3116 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 3117 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 3118 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 3119 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 3120 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3121 } 3122 3123 def __init__( 3124 self, 3125 *, 3126 target_regions: Optional[List["TargetRegion"]] = None, 3127 replica_count: Optional[int] = None, 3128 exclude_from_latest: Optional[bool] = None, 3129 end_of_life_date: Optional[datetime.datetime] = None, 3130 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 3131 **kwargs 3132 ): 3133 super(GalleryImageVersionPublishingProfile, self).__init__(target_regions=target_regions, replica_count=replica_count, exclude_from_latest=exclude_from_latest, end_of_life_date=end_of_life_date, storage_account_type=storage_account_type, **kwargs) 3134 3135 3136class GalleryImageVersionStorageProfile(msrest.serialization.Model): 3137 """This is the storage profile of a Gallery Image Version. 3138 3139 :param source: The gallery artifact version source. 3140 :type source: ~azure.mgmt.compute.v2019_07_01.models.GalleryArtifactVersionSource 3141 :param os_disk_image: This is the OS disk image. 3142 :type os_disk_image: ~azure.mgmt.compute.v2019_07_01.models.GalleryOSDiskImage 3143 :param data_disk_images: A list of data disk images. 3144 :type data_disk_images: list[~azure.mgmt.compute.v2019_07_01.models.GalleryDataDiskImage] 3145 """ 3146 3147 _attribute_map = { 3148 'source': {'key': 'source', 'type': 'GalleryArtifactVersionSource'}, 3149 'os_disk_image': {'key': 'osDiskImage', 'type': 'GalleryOSDiskImage'}, 3150 'data_disk_images': {'key': 'dataDiskImages', 'type': '[GalleryDataDiskImage]'}, 3151 } 3152 3153 def __init__( 3154 self, 3155 *, 3156 source: Optional["GalleryArtifactVersionSource"] = None, 3157 os_disk_image: Optional["GalleryOSDiskImage"] = None, 3158 data_disk_images: Optional[List["GalleryDataDiskImage"]] = None, 3159 **kwargs 3160 ): 3161 super(GalleryImageVersionStorageProfile, self).__init__(**kwargs) 3162 self.source = source 3163 self.os_disk_image = os_disk_image 3164 self.data_disk_images = data_disk_images 3165 3166 3167class GalleryImageVersionUpdate(UpdateResource): 3168 """Specifies information about the gallery Image Version that you want to update. 3169 3170 Variables are only populated by the server, and will be ignored when sending a request. 3171 3172 :param tags: A set of tags. Resource tags. 3173 :type tags: dict[str, str] 3174 :param publishing_profile: The publishing profile of a gallery Image Version. 3175 :type publishing_profile: 3176 ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionPublishingProfile 3177 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 3178 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 3179 :vartype provisioning_state: str or 3180 ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionPropertiesProvisioningState 3181 :param storage_profile: This is the storage profile of a Gallery Image Version. 3182 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.GalleryImageVersionStorageProfile 3183 :ivar replication_status: This is the replication status of the gallery Image Version. 3184 :vartype replication_status: ~azure.mgmt.compute.v2019_07_01.models.ReplicationStatus 3185 """ 3186 3187 _validation = { 3188 'provisioning_state': {'readonly': True}, 3189 'replication_status': {'readonly': True}, 3190 } 3191 3192 _attribute_map = { 3193 'tags': {'key': 'tags', 'type': '{str}'}, 3194 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryImageVersionPublishingProfile'}, 3195 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3196 'storage_profile': {'key': 'properties.storageProfile', 'type': 'GalleryImageVersionStorageProfile'}, 3197 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 3198 } 3199 3200 def __init__( 3201 self, 3202 *, 3203 tags: Optional[Dict[str, str]] = None, 3204 publishing_profile: Optional["GalleryImageVersionPublishingProfile"] = None, 3205 storage_profile: Optional["GalleryImageVersionStorageProfile"] = None, 3206 **kwargs 3207 ): 3208 super(GalleryImageVersionUpdate, self).__init__(tags=tags, **kwargs) 3209 self.publishing_profile = publishing_profile 3210 self.provisioning_state = None 3211 self.storage_profile = storage_profile 3212 self.replication_status = None 3213 3214 3215class GalleryList(msrest.serialization.Model): 3216 """The List Galleries operation response. 3217 3218 All required parameters must be populated in order to send to Azure. 3219 3220 :param value: Required. A list of galleries. 3221 :type value: list[~azure.mgmt.compute.v2019_07_01.models.Gallery] 3222 :param next_link: The uri to fetch the next page of galleries. Call ListNext() with this to 3223 fetch the next page of galleries. 3224 :type next_link: str 3225 """ 3226 3227 _validation = { 3228 'value': {'required': True}, 3229 } 3230 3231 _attribute_map = { 3232 'value': {'key': 'value', 'type': '[Gallery]'}, 3233 'next_link': {'key': 'nextLink', 'type': 'str'}, 3234 } 3235 3236 def __init__( 3237 self, 3238 *, 3239 value: List["Gallery"], 3240 next_link: Optional[str] = None, 3241 **kwargs 3242 ): 3243 super(GalleryList, self).__init__(**kwargs) 3244 self.value = value 3245 self.next_link = next_link 3246 3247 3248class GalleryOSDiskImage(GalleryDiskImage): 3249 """This is the OS disk image. 3250 3251 Variables are only populated by the server, and will be ignored when sending a request. 3252 3253 :ivar size_in_gb: This property indicates the size of the VHD to be created. 3254 :vartype size_in_gb: int 3255 :param host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 3256 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 3257 :type host_caching: str or ~azure.mgmt.compute.v2019_07_01.models.HostCaching 3258 :param source: The gallery artifact version source. 3259 :type source: ~azure.mgmt.compute.v2019_07_01.models.GalleryArtifactVersionSource 3260 """ 3261 3262 _validation = { 3263 'size_in_gb': {'readonly': True}, 3264 } 3265 3266 _attribute_map = { 3267 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 3268 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 3269 'source': {'key': 'source', 'type': 'GalleryArtifactVersionSource'}, 3270 } 3271 3272 def __init__( 3273 self, 3274 *, 3275 host_caching: Optional[Union[str, "HostCaching"]] = None, 3276 source: Optional["GalleryArtifactVersionSource"] = None, 3277 **kwargs 3278 ): 3279 super(GalleryOSDiskImage, self).__init__(host_caching=host_caching, source=source, **kwargs) 3280 3281 3282class GalleryUpdate(UpdateResource): 3283 """Specifies information about the Shared Image Gallery that you want to update. 3284 3285 Variables are only populated by the server, and will be ignored when sending a request. 3286 3287 :param tags: A set of tags. Resource tags. 3288 :type tags: dict[str, str] 3289 :param description: The description of this Shared Image Gallery resource. This property is 3290 updatable. 3291 :type description: str 3292 :param identifier: Describes the gallery unique name. 3293 :type identifier: ~azure.mgmt.compute.v2019_07_01.models.GalleryIdentifier 3294 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 3295 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 3296 :vartype provisioning_state: str or 3297 ~azure.mgmt.compute.v2019_07_01.models.GalleryPropertiesProvisioningState 3298 """ 3299 3300 _validation = { 3301 'provisioning_state': {'readonly': True}, 3302 } 3303 3304 _attribute_map = { 3305 'tags': {'key': 'tags', 'type': '{str}'}, 3306 'description': {'key': 'properties.description', 'type': 'str'}, 3307 'identifier': {'key': 'properties.identifier', 'type': 'GalleryIdentifier'}, 3308 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3309 } 3310 3311 def __init__( 3312 self, 3313 *, 3314 tags: Optional[Dict[str, str]] = None, 3315 description: Optional[str] = None, 3316 identifier: Optional["GalleryIdentifier"] = None, 3317 **kwargs 3318 ): 3319 super(GalleryUpdate, self).__init__(tags=tags, **kwargs) 3320 self.description = description 3321 self.identifier = identifier 3322 self.provisioning_state = None 3323 3324 3325class GrantAccessData(msrest.serialization.Model): 3326 """Data used for requesting a SAS. 3327 3328 All required parameters must be populated in order to send to Azure. 3329 3330 :param access: Required. Possible values include: "None", "Read", "Write". 3331 :type access: str or ~azure.mgmt.compute.v2019_07_01.models.AccessLevel 3332 :param duration_in_seconds: Required. Time duration in seconds until the SAS access expires. 3333 :type duration_in_seconds: int 3334 """ 3335 3336 _validation = { 3337 'access': {'required': True}, 3338 'duration_in_seconds': {'required': True}, 3339 } 3340 3341 _attribute_map = { 3342 'access': {'key': 'access', 'type': 'str'}, 3343 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'int'}, 3344 } 3345 3346 def __init__( 3347 self, 3348 *, 3349 access: Union[str, "AccessLevel"], 3350 duration_in_seconds: int, 3351 **kwargs 3352 ): 3353 super(GrantAccessData, self).__init__(**kwargs) 3354 self.access = access 3355 self.duration_in_seconds = duration_in_seconds 3356 3357 3358class HardwareProfile(msrest.serialization.Model): 3359 """Specifies the hardware settings for the virtual machine. 3360 3361 :param vm_size: Specifies the size of the virtual machine. For more information about virtual 3362 machine sizes, see `Sizes for virtual machines 3363 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3364 :code:`<br>`:code:`<br>` The available VM sizes depend on region and availability set. For a 3365 list of available sizes use these APIs: :code:`<br>`:code:`<br>` `List all available virtual 3366 machine sizes in an availability set 3367 <https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes>`_ 3368 :code:`<br>`:code:`<br>` `List all available virtual machine sizes in a region 3369 <https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list>`_ 3370 :code:`<br>`:code:`<br>` `List all available virtual machine sizes for resizing 3371 <https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes>`_. Possible 3372 values include: "Basic_A0", "Basic_A1", "Basic_A2", "Basic_A3", "Basic_A4", "Standard_A0", 3373 "Standard_A1", "Standard_A2", "Standard_A3", "Standard_A4", "Standard_A5", "Standard_A6", 3374 "Standard_A7", "Standard_A8", "Standard_A9", "Standard_A10", "Standard_A11", "Standard_A1_v2", 3375 "Standard_A2_v2", "Standard_A4_v2", "Standard_A8_v2", "Standard_A2m_v2", "Standard_A4m_v2", 3376 "Standard_A8m_v2", "Standard_B1s", "Standard_B1ms", "Standard_B2s", "Standard_B2ms", 3377 "Standard_B4ms", "Standard_B8ms", "Standard_D1", "Standard_D2", "Standard_D3", "Standard_D4", 3378 "Standard_D11", "Standard_D12", "Standard_D13", "Standard_D14", "Standard_D1_v2", 3379 "Standard_D2_v2", "Standard_D3_v2", "Standard_D4_v2", "Standard_D5_v2", "Standard_D2_v3", 3380 "Standard_D4_v3", "Standard_D8_v3", "Standard_D16_v3", "Standard_D32_v3", "Standard_D64_v3", 3381 "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", 3382 "Standard_D32s_v3", "Standard_D64s_v3", "Standard_D11_v2", "Standard_D12_v2", 3383 "Standard_D13_v2", "Standard_D14_v2", "Standard_D15_v2", "Standard_DS1", "Standard_DS2", 3384 "Standard_DS3", "Standard_DS4", "Standard_DS11", "Standard_DS12", "Standard_DS13", 3385 "Standard_DS14", "Standard_DS1_v2", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", 3386 "Standard_DS5_v2", "Standard_DS11_v2", "Standard_DS12_v2", "Standard_DS13_v2", 3387 "Standard_DS14_v2", "Standard_DS15_v2", "Standard_DS13-4_v2", "Standard_DS13-2_v2", 3388 "Standard_DS14-8_v2", "Standard_DS14-4_v2", "Standard_E2_v3", "Standard_E4_v3", 3389 "Standard_E8_v3", "Standard_E16_v3", "Standard_E32_v3", "Standard_E64_v3", "Standard_E2s_v3", 3390 "Standard_E4s_v3", "Standard_E8s_v3", "Standard_E16s_v3", "Standard_E32s_v3", 3391 "Standard_E64s_v3", "Standard_E32-16_v3", "Standard_E32-8s_v3", "Standard_E64-32s_v3", 3392 "Standard_E64-16s_v3", "Standard_F1", "Standard_F2", "Standard_F4", "Standard_F8", 3393 "Standard_F16", "Standard_F1s", "Standard_F2s", "Standard_F4s", "Standard_F8s", 3394 "Standard_F16s", "Standard_F2s_v2", "Standard_F4s_v2", "Standard_F8s_v2", "Standard_F16s_v2", 3395 "Standard_F32s_v2", "Standard_F64s_v2", "Standard_F72s_v2", "Standard_G1", "Standard_G2", 3396 "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", 3397 "Standard_GS4", "Standard_GS5", "Standard_GS4-8", "Standard_GS4-4", "Standard_GS5-16", 3398 "Standard_GS5-8", "Standard_H8", "Standard_H16", "Standard_H8m", "Standard_H16m", 3399 "Standard_H16r", "Standard_H16mr", "Standard_L4s", "Standard_L8s", "Standard_L16s", 3400 "Standard_L32s", "Standard_M64s", "Standard_M64ms", "Standard_M128s", "Standard_M128ms", 3401 "Standard_M64-32ms", "Standard_M64-16ms", "Standard_M128-64ms", "Standard_M128-32ms", 3402 "Standard_NC6", "Standard_NC12", "Standard_NC24", "Standard_NC24r", "Standard_NC6s_v2", 3403 "Standard_NC12s_v2", "Standard_NC24s_v2", "Standard_NC24rs_v2", "Standard_NC6s_v3", 3404 "Standard_NC12s_v3", "Standard_NC24s_v3", "Standard_NC24rs_v3", "Standard_ND6s", 3405 "Standard_ND12s", "Standard_ND24s", "Standard_ND24rs", "Standard_NV6", "Standard_NV12", 3406 "Standard_NV24". 3407 :type vm_size: str or ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineSizeTypes 3408 """ 3409 3410 _attribute_map = { 3411 'vm_size': {'key': 'vmSize', 'type': 'str'}, 3412 } 3413 3414 def __init__( 3415 self, 3416 *, 3417 vm_size: Optional[Union[str, "VirtualMachineSizeTypes"]] = None, 3418 **kwargs 3419 ): 3420 super(HardwareProfile, self).__init__(**kwargs) 3421 self.vm_size = vm_size 3422 3423 3424class Image(Resource): 3425 """The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. 3426 3427 Variables are only populated by the server, and will be ignored when sending a request. 3428 3429 All required parameters must be populated in order to send to Azure. 3430 3431 :ivar id: Resource Id. 3432 :vartype id: str 3433 :ivar name: Resource name. 3434 :vartype name: str 3435 :ivar type: Resource type. 3436 :vartype type: str 3437 :param location: Required. Resource location. 3438 :type location: str 3439 :param tags: A set of tags. Resource tags. 3440 :type tags: dict[str, str] 3441 :param source_virtual_machine: The source virtual machine from which Image is created. 3442 :type source_virtual_machine: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3443 :param storage_profile: Specifies the storage settings for the virtual machine disks. 3444 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.ImageStorageProfile 3445 :ivar provisioning_state: The provisioning state. 3446 :vartype provisioning_state: str 3447 :param hyper_v_generation: Gets the HyperVGenerationType of the VirtualMachine created from the 3448 image. Possible values include: "V1", "V2". 3449 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGenerationTypes 3450 """ 3451 3452 _validation = { 3453 'id': {'readonly': True}, 3454 'name': {'readonly': True}, 3455 'type': {'readonly': True}, 3456 'location': {'required': True}, 3457 'provisioning_state': {'readonly': True}, 3458 } 3459 3460 _attribute_map = { 3461 'id': {'key': 'id', 'type': 'str'}, 3462 'name': {'key': 'name', 'type': 'str'}, 3463 'type': {'key': 'type', 'type': 'str'}, 3464 'location': {'key': 'location', 'type': 'str'}, 3465 'tags': {'key': 'tags', 'type': '{str}'}, 3466 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 3467 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 3468 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3469 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 3470 } 3471 3472 def __init__( 3473 self, 3474 *, 3475 location: str, 3476 tags: Optional[Dict[str, str]] = None, 3477 source_virtual_machine: Optional["SubResource"] = None, 3478 storage_profile: Optional["ImageStorageProfile"] = None, 3479 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 3480 **kwargs 3481 ): 3482 super(Image, self).__init__(location=location, tags=tags, **kwargs) 3483 self.source_virtual_machine = source_virtual_machine 3484 self.storage_profile = storage_profile 3485 self.provisioning_state = None 3486 self.hyper_v_generation = hyper_v_generation 3487 3488 3489class ImageDisk(msrest.serialization.Model): 3490 """Describes a image disk. 3491 3492 :param snapshot: The snapshot. 3493 :type snapshot: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3494 :param managed_disk: The managedDisk. 3495 :type managed_disk: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3496 :param blob_uri: The Virtual Hard Disk. 3497 :type blob_uri: str 3498 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 3499 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 3500 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 3501 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 3502 "ReadWrite". 3503 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 3504 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 3505 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 3506 This value cannot be larger than 1023 GB. 3507 :type disk_size_gb: int 3508 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 3509 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 3510 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 3511 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountTypes 3512 :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for 3513 the managed image disk. 3514 :type disk_encryption_set: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetParameters 3515 """ 3516 3517 _attribute_map = { 3518 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 3519 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 3520 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 3521 'caching': {'key': 'caching', 'type': 'str'}, 3522 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 3523 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3524 'disk_encryption_set': {'key': 'diskEncryptionSet', 'type': 'DiskEncryptionSetParameters'}, 3525 } 3526 3527 def __init__( 3528 self, 3529 *, 3530 snapshot: Optional["SubResource"] = None, 3531 managed_disk: Optional["SubResource"] = None, 3532 blob_uri: Optional[str] = None, 3533 caching: Optional[Union[str, "CachingTypes"]] = None, 3534 disk_size_gb: Optional[int] = None, 3535 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 3536 disk_encryption_set: Optional["DiskEncryptionSetParameters"] = None, 3537 **kwargs 3538 ): 3539 super(ImageDisk, self).__init__(**kwargs) 3540 self.snapshot = snapshot 3541 self.managed_disk = managed_disk 3542 self.blob_uri = blob_uri 3543 self.caching = caching 3544 self.disk_size_gb = disk_size_gb 3545 self.storage_account_type = storage_account_type 3546 self.disk_encryption_set = disk_encryption_set 3547 3548 3549class ImageDataDisk(ImageDisk): 3550 """Describes a data disk. 3551 3552 All required parameters must be populated in order to send to Azure. 3553 3554 :param snapshot: The snapshot. 3555 :type snapshot: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3556 :param managed_disk: The managedDisk. 3557 :type managed_disk: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3558 :param blob_uri: The Virtual Hard Disk. 3559 :type blob_uri: str 3560 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 3561 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 3562 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 3563 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 3564 "ReadWrite". 3565 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 3566 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 3567 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 3568 This value cannot be larger than 1023 GB. 3569 :type disk_size_gb: int 3570 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 3571 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 3572 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 3573 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountTypes 3574 :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for 3575 the managed image disk. 3576 :type disk_encryption_set: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetParameters 3577 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 3578 identify data disks within the VM and therefore must be unique for each data disk attached to a 3579 VM. 3580 :type lun: int 3581 """ 3582 3583 _validation = { 3584 'lun': {'required': True}, 3585 } 3586 3587 _attribute_map = { 3588 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 3589 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 3590 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 3591 'caching': {'key': 'caching', 'type': 'str'}, 3592 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 3593 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3594 'disk_encryption_set': {'key': 'diskEncryptionSet', 'type': 'DiskEncryptionSetParameters'}, 3595 'lun': {'key': 'lun', 'type': 'int'}, 3596 } 3597 3598 def __init__( 3599 self, 3600 *, 3601 lun: int, 3602 snapshot: Optional["SubResource"] = None, 3603 managed_disk: Optional["SubResource"] = None, 3604 blob_uri: Optional[str] = None, 3605 caching: Optional[Union[str, "CachingTypes"]] = None, 3606 disk_size_gb: Optional[int] = None, 3607 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 3608 disk_encryption_set: Optional["DiskEncryptionSetParameters"] = None, 3609 **kwargs 3610 ): 3611 super(ImageDataDisk, self).__init__(snapshot=snapshot, managed_disk=managed_disk, blob_uri=blob_uri, caching=caching, disk_size_gb=disk_size_gb, storage_account_type=storage_account_type, disk_encryption_set=disk_encryption_set, **kwargs) 3612 self.lun = lun 3613 3614 3615class ImageDiskReference(msrest.serialization.Model): 3616 """The source image used for creating the disk. 3617 3618 All required parameters must be populated in order to send to Azure. 3619 3620 :param id: Required. A relative uri containing either a Platform Image Repository or user image 3621 reference. 3622 :type id: str 3623 :param lun: If the disk is created from an image's data disk, this is an index that indicates 3624 which of the data disks in the image to use. For OS disks, this field is null. 3625 :type lun: int 3626 """ 3627 3628 _validation = { 3629 'id': {'required': True}, 3630 } 3631 3632 _attribute_map = { 3633 'id': {'key': 'id', 'type': 'str'}, 3634 'lun': {'key': 'lun', 'type': 'int'}, 3635 } 3636 3637 def __init__( 3638 self, 3639 *, 3640 id: str, 3641 lun: Optional[int] = None, 3642 **kwargs 3643 ): 3644 super(ImageDiskReference, self).__init__(**kwargs) 3645 self.id = id 3646 self.lun = lun 3647 3648 3649class ImageListResult(msrest.serialization.Model): 3650 """The List Image operation response. 3651 3652 All required parameters must be populated in order to send to Azure. 3653 3654 :param value: Required. The list of Images. 3655 :type value: list[~azure.mgmt.compute.v2019_07_01.models.Image] 3656 :param next_link: The uri to fetch the next page of Images. Call ListNext() with this to fetch 3657 the next page of Images. 3658 :type next_link: str 3659 """ 3660 3661 _validation = { 3662 'value': {'required': True}, 3663 } 3664 3665 _attribute_map = { 3666 'value': {'key': 'value', 'type': '[Image]'}, 3667 'next_link': {'key': 'nextLink', 'type': 'str'}, 3668 } 3669 3670 def __init__( 3671 self, 3672 *, 3673 value: List["Image"], 3674 next_link: Optional[str] = None, 3675 **kwargs 3676 ): 3677 super(ImageListResult, self).__init__(**kwargs) 3678 self.value = value 3679 self.next_link = next_link 3680 3681 3682class ImageOSDisk(ImageDisk): 3683 """Describes an Operating System disk. 3684 3685 All required parameters must be populated in order to send to Azure. 3686 3687 :param snapshot: The snapshot. 3688 :type snapshot: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3689 :param managed_disk: The managedDisk. 3690 :type managed_disk: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3691 :param blob_uri: The Virtual Hard Disk. 3692 :type blob_uri: str 3693 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 3694 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 3695 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 3696 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 3697 "ReadWrite". 3698 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 3699 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 3700 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 3701 This value cannot be larger than 1023 GB. 3702 :type disk_size_gb: int 3703 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 3704 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 3705 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 3706 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountTypes 3707 :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for 3708 the managed image disk. 3709 :type disk_encryption_set: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetParameters 3710 :param os_type: Required. This property allows you to specify the type of the OS that is 3711 included in the disk if creating a VM from a custom image. :code:`<br>`:code:`<br>` Possible 3712 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 3713 values include: "Windows", "Linux". 3714 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 3715 :param os_state: Required. The OS State. Possible values include: "Generalized", "Specialized". 3716 :type os_state: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemStateTypes 3717 """ 3718 3719 _validation = { 3720 'os_type': {'required': True}, 3721 'os_state': {'required': True}, 3722 } 3723 3724 _attribute_map = { 3725 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 3726 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 3727 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 3728 'caching': {'key': 'caching', 'type': 'str'}, 3729 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 3730 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3731 'disk_encryption_set': {'key': 'diskEncryptionSet', 'type': 'DiskEncryptionSetParameters'}, 3732 'os_type': {'key': 'osType', 'type': 'str'}, 3733 'os_state': {'key': 'osState', 'type': 'str'}, 3734 } 3735 3736 def __init__( 3737 self, 3738 *, 3739 os_type: Union[str, "OperatingSystemTypes"], 3740 os_state: Union[str, "OperatingSystemStateTypes"], 3741 snapshot: Optional["SubResource"] = None, 3742 managed_disk: Optional["SubResource"] = None, 3743 blob_uri: Optional[str] = None, 3744 caching: Optional[Union[str, "CachingTypes"]] = None, 3745 disk_size_gb: Optional[int] = None, 3746 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 3747 disk_encryption_set: Optional["DiskEncryptionSetParameters"] = None, 3748 **kwargs 3749 ): 3750 super(ImageOSDisk, self).__init__(snapshot=snapshot, managed_disk=managed_disk, blob_uri=blob_uri, caching=caching, disk_size_gb=disk_size_gb, storage_account_type=storage_account_type, disk_encryption_set=disk_encryption_set, **kwargs) 3751 self.os_type = os_type 3752 self.os_state = os_state 3753 3754 3755class ImagePurchasePlan(msrest.serialization.Model): 3756 """Describes the gallery Image Definition purchase plan. This is used by marketplace images. 3757 3758 :param name: The plan ID. 3759 :type name: str 3760 :param publisher: The publisher ID. 3761 :type publisher: str 3762 :param product: The product ID. 3763 :type product: str 3764 """ 3765 3766 _attribute_map = { 3767 'name': {'key': 'name', 'type': 'str'}, 3768 'publisher': {'key': 'publisher', 'type': 'str'}, 3769 'product': {'key': 'product', 'type': 'str'}, 3770 } 3771 3772 def __init__( 3773 self, 3774 *, 3775 name: Optional[str] = None, 3776 publisher: Optional[str] = None, 3777 product: Optional[str] = None, 3778 **kwargs 3779 ): 3780 super(ImagePurchasePlan, self).__init__(**kwargs) 3781 self.name = name 3782 self.publisher = publisher 3783 self.product = product 3784 3785 3786class ImageReference(SubResource): 3787 """Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. 3788 3789 Variables are only populated by the server, and will be ignored when sending a request. 3790 3791 :param id: Resource Id. 3792 :type id: str 3793 :param publisher: The image publisher. 3794 :type publisher: str 3795 :param offer: Specifies the offer of the platform image or marketplace image used to create the 3796 virtual machine. 3797 :type offer: str 3798 :param sku: The image SKU. 3799 :type sku: str 3800 :param version: Specifies the version of the platform image or marketplace image used to create 3801 the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and 3802 Build are decimal numbers. Specify 'latest' to use the latest version of an image available at 3803 deploy time. Even if you use 'latest', the VM image will not automatically update after deploy 3804 time even if a new version becomes available. 3805 :type version: str 3806 :ivar exact_version: Specifies in decimal numbers, the version of platform image or marketplace 3807 image used to create the virtual machine. This readonly field differs from 'version', only if 3808 the value specified in 'version' field is 'latest'. 3809 :vartype exact_version: str 3810 """ 3811 3812 _validation = { 3813 'exact_version': {'readonly': True}, 3814 } 3815 3816 _attribute_map = { 3817 'id': {'key': 'id', 'type': 'str'}, 3818 'publisher': {'key': 'publisher', 'type': 'str'}, 3819 'offer': {'key': 'offer', 'type': 'str'}, 3820 'sku': {'key': 'sku', 'type': 'str'}, 3821 'version': {'key': 'version', 'type': 'str'}, 3822 'exact_version': {'key': 'exactVersion', 'type': 'str'}, 3823 } 3824 3825 def __init__( 3826 self, 3827 *, 3828 id: Optional[str] = None, 3829 publisher: Optional[str] = None, 3830 offer: Optional[str] = None, 3831 sku: Optional[str] = None, 3832 version: Optional[str] = None, 3833 **kwargs 3834 ): 3835 super(ImageReference, self).__init__(id=id, **kwargs) 3836 self.publisher = publisher 3837 self.offer = offer 3838 self.sku = sku 3839 self.version = version 3840 self.exact_version = None 3841 3842 3843class ImageStorageProfile(msrest.serialization.Model): 3844 """Describes a storage profile. 3845 3846 :param os_disk: Specifies information about the operating system disk used by the virtual 3847 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3848 for Azure virtual machines 3849 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3850 :type os_disk: ~azure.mgmt.compute.v2019_07_01.models.ImageOSDisk 3851 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 3852 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3853 for Azure virtual machines 3854 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3855 :type data_disks: list[~azure.mgmt.compute.v2019_07_01.models.ImageDataDisk] 3856 :param zone_resilient: Specifies whether an image is zone resilient or not. Default is false. 3857 Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). 3858 :type zone_resilient: bool 3859 """ 3860 3861 _attribute_map = { 3862 'os_disk': {'key': 'osDisk', 'type': 'ImageOSDisk'}, 3863 'data_disks': {'key': 'dataDisks', 'type': '[ImageDataDisk]'}, 3864 'zone_resilient': {'key': 'zoneResilient', 'type': 'bool'}, 3865 } 3866 3867 def __init__( 3868 self, 3869 *, 3870 os_disk: Optional["ImageOSDisk"] = None, 3871 data_disks: Optional[List["ImageDataDisk"]] = None, 3872 zone_resilient: Optional[bool] = None, 3873 **kwargs 3874 ): 3875 super(ImageStorageProfile, self).__init__(**kwargs) 3876 self.os_disk = os_disk 3877 self.data_disks = data_disks 3878 self.zone_resilient = zone_resilient 3879 3880 3881class ImageUpdate(UpdateResource): 3882 """The source user image virtual hard disk. Only tags may be updated. 3883 3884 Variables are only populated by the server, and will be ignored when sending a request. 3885 3886 :param tags: A set of tags. Resource tags. 3887 :type tags: dict[str, str] 3888 :param source_virtual_machine: The source virtual machine from which Image is created. 3889 :type source_virtual_machine: ~azure.mgmt.compute.v2019_07_01.models.SubResource 3890 :param storage_profile: Specifies the storage settings for the virtual machine disks. 3891 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.ImageStorageProfile 3892 :ivar provisioning_state: The provisioning state. 3893 :vartype provisioning_state: str 3894 :param hyper_v_generation: Gets the HyperVGenerationType of the VirtualMachine created from the 3895 image. Possible values include: "V1", "V2". 3896 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGenerationTypes 3897 """ 3898 3899 _validation = { 3900 'provisioning_state': {'readonly': True}, 3901 } 3902 3903 _attribute_map = { 3904 'tags': {'key': 'tags', 'type': '{str}'}, 3905 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 3906 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 3907 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3908 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 3909 } 3910 3911 def __init__( 3912 self, 3913 *, 3914 tags: Optional[Dict[str, str]] = None, 3915 source_virtual_machine: Optional["SubResource"] = None, 3916 storage_profile: Optional["ImageStorageProfile"] = None, 3917 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 3918 **kwargs 3919 ): 3920 super(ImageUpdate, self).__init__(tags=tags, **kwargs) 3921 self.source_virtual_machine = source_virtual_machine 3922 self.storage_profile = storage_profile 3923 self.provisioning_state = None 3924 self.hyper_v_generation = hyper_v_generation 3925 3926 3927class InnerError(msrest.serialization.Model): 3928 """Inner error details. 3929 3930 :param exceptiontype: The exception type. 3931 :type exceptiontype: str 3932 :param errordetail: The internal error message or exception dump. 3933 :type errordetail: str 3934 """ 3935 3936 _attribute_map = { 3937 'exceptiontype': {'key': 'exceptiontype', 'type': 'str'}, 3938 'errordetail': {'key': 'errordetail', 'type': 'str'}, 3939 } 3940 3941 def __init__( 3942 self, 3943 *, 3944 exceptiontype: Optional[str] = None, 3945 errordetail: Optional[str] = None, 3946 **kwargs 3947 ): 3948 super(InnerError, self).__init__(**kwargs) 3949 self.exceptiontype = exceptiontype 3950 self.errordetail = errordetail 3951 3952 3953class InstanceViewStatus(msrest.serialization.Model): 3954 """Instance view status. 3955 3956 :param code: The status code. 3957 :type code: str 3958 :param level: The level code. Possible values include: "Info", "Warning", "Error". 3959 :type level: str or ~azure.mgmt.compute.v2019_07_01.models.StatusLevelTypes 3960 :param display_status: The short localizable label for the status. 3961 :type display_status: str 3962 :param message: The detailed status message, including for alerts and error messages. 3963 :type message: str 3964 :param time: The time of the status. 3965 :type time: ~datetime.datetime 3966 """ 3967 3968 _attribute_map = { 3969 'code': {'key': 'code', 'type': 'str'}, 3970 'level': {'key': 'level', 'type': 'str'}, 3971 'display_status': {'key': 'displayStatus', 'type': 'str'}, 3972 'message': {'key': 'message', 'type': 'str'}, 3973 'time': {'key': 'time', 'type': 'iso-8601'}, 3974 } 3975 3976 def __init__( 3977 self, 3978 *, 3979 code: Optional[str] = None, 3980 level: Optional[Union[str, "StatusLevelTypes"]] = None, 3981 display_status: Optional[str] = None, 3982 message: Optional[str] = None, 3983 time: Optional[datetime.datetime] = None, 3984 **kwargs 3985 ): 3986 super(InstanceViewStatus, self).__init__(**kwargs) 3987 self.code = code 3988 self.level = level 3989 self.display_status = display_status 3990 self.message = message 3991 self.time = time 3992 3993 3994class KeyVaultAndKeyReference(msrest.serialization.Model): 3995 """Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey. 3996 3997 All required parameters must be populated in order to send to Azure. 3998 3999 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 4000 :type source_vault: ~azure.mgmt.compute.v2019_07_01.models.SourceVault 4001 :param key_url: Required. Url pointing to a key or secret in KeyVault. 4002 :type key_url: str 4003 """ 4004 4005 _validation = { 4006 'source_vault': {'required': True}, 4007 'key_url': {'required': True}, 4008 } 4009 4010 _attribute_map = { 4011 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 4012 'key_url': {'key': 'keyUrl', 'type': 'str'}, 4013 } 4014 4015 def __init__( 4016 self, 4017 *, 4018 source_vault: "SourceVault", 4019 key_url: str, 4020 **kwargs 4021 ): 4022 super(KeyVaultAndKeyReference, self).__init__(**kwargs) 4023 self.source_vault = source_vault 4024 self.key_url = key_url 4025 4026 4027class KeyVaultAndSecretReference(msrest.serialization.Model): 4028 """Key Vault Secret Url and vault id of the encryption key. 4029 4030 All required parameters must be populated in order to send to Azure. 4031 4032 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 4033 :type source_vault: ~azure.mgmt.compute.v2019_07_01.models.SourceVault 4034 :param secret_url: Required. Url pointing to a key or secret in KeyVault. 4035 :type secret_url: str 4036 """ 4037 4038 _validation = { 4039 'source_vault': {'required': True}, 4040 'secret_url': {'required': True}, 4041 } 4042 4043 _attribute_map = { 4044 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 4045 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 4046 } 4047 4048 def __init__( 4049 self, 4050 *, 4051 source_vault: "SourceVault", 4052 secret_url: str, 4053 **kwargs 4054 ): 4055 super(KeyVaultAndSecretReference, self).__init__(**kwargs) 4056 self.source_vault = source_vault 4057 self.secret_url = secret_url 4058 4059 4060class KeyVaultKeyReference(msrest.serialization.Model): 4061 """Describes a reference to Key Vault Key. 4062 4063 All required parameters must be populated in order to send to Azure. 4064 4065 :param key_url: Required. The URL referencing a key encryption key in Key Vault. 4066 :type key_url: str 4067 :param source_vault: Required. The relative URL of the Key Vault containing the key. 4068 :type source_vault: ~azure.mgmt.compute.v2019_07_01.models.SubResource 4069 """ 4070 4071 _validation = { 4072 'key_url': {'required': True}, 4073 'source_vault': {'required': True}, 4074 } 4075 4076 _attribute_map = { 4077 'key_url': {'key': 'keyUrl', 'type': 'str'}, 4078 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 4079 } 4080 4081 def __init__( 4082 self, 4083 *, 4084 key_url: str, 4085 source_vault: "SubResource", 4086 **kwargs 4087 ): 4088 super(KeyVaultKeyReference, self).__init__(**kwargs) 4089 self.key_url = key_url 4090 self.source_vault = source_vault 4091 4092 4093class KeyVaultSecretReference(msrest.serialization.Model): 4094 """Describes a reference to Key Vault Secret. 4095 4096 All required parameters must be populated in order to send to Azure. 4097 4098 :param secret_url: Required. The URL referencing a secret in a Key Vault. 4099 :type secret_url: str 4100 :param source_vault: Required. The relative URL of the Key Vault containing the secret. 4101 :type source_vault: ~azure.mgmt.compute.v2019_07_01.models.SubResource 4102 """ 4103 4104 _validation = { 4105 'secret_url': {'required': True}, 4106 'source_vault': {'required': True}, 4107 } 4108 4109 _attribute_map = { 4110 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 4111 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 4112 } 4113 4114 def __init__( 4115 self, 4116 *, 4117 secret_url: str, 4118 source_vault: "SubResource", 4119 **kwargs 4120 ): 4121 super(KeyVaultSecretReference, self).__init__(**kwargs) 4122 self.secret_url = secret_url 4123 self.source_vault = source_vault 4124 4125 4126class LinuxConfiguration(msrest.serialization.Model): 4127 """Specifies the Linux operating system settings on the virtual machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on Azure-Endorsed Distributions <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for Non-Endorsed Distributions <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 4128 4129 :param disable_password_authentication: Specifies whether password authentication should be 4130 disabled. 4131 :type disable_password_authentication: bool 4132 :param ssh: Specifies the ssh key configuration for a Linux OS. 4133 :type ssh: ~azure.mgmt.compute.v2019_07_01.models.SshConfiguration 4134 :param provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the 4135 virtual machine. :code:`<br>`:code:`<br>` When this property is not specified in the request 4136 body, default behavior is to set it to true. This will ensure that VM Agent is installed on 4137 the VM so that extensions can be added to the VM later. 4138 :type provision_vm_agent: bool 4139 """ 4140 4141 _attribute_map = { 4142 'disable_password_authentication': {'key': 'disablePasswordAuthentication', 'type': 'bool'}, 4143 'ssh': {'key': 'ssh', 'type': 'SshConfiguration'}, 4144 'provision_vm_agent': {'key': 'provisionVMAgent', 'type': 'bool'}, 4145 } 4146 4147 def __init__( 4148 self, 4149 *, 4150 disable_password_authentication: Optional[bool] = None, 4151 ssh: Optional["SshConfiguration"] = None, 4152 provision_vm_agent: Optional[bool] = None, 4153 **kwargs 4154 ): 4155 super(LinuxConfiguration, self).__init__(**kwargs) 4156 self.disable_password_authentication = disable_password_authentication 4157 self.ssh = ssh 4158 self.provision_vm_agent = provision_vm_agent 4159 4160 4161class ListUsagesResult(msrest.serialization.Model): 4162 """The List Usages operation response. 4163 4164 All required parameters must be populated in order to send to Azure. 4165 4166 :param value: Required. The list of compute resource usages. 4167 :type value: list[~azure.mgmt.compute.v2019_07_01.models.Usage] 4168 :param next_link: The URI to fetch the next page of compute resource usage information. Call 4169 ListNext() with this to fetch the next page of compute resource usage information. 4170 :type next_link: str 4171 """ 4172 4173 _validation = { 4174 'value': {'required': True}, 4175 } 4176 4177 _attribute_map = { 4178 'value': {'key': 'value', 'type': '[Usage]'}, 4179 'next_link': {'key': 'nextLink', 'type': 'str'}, 4180 } 4181 4182 def __init__( 4183 self, 4184 *, 4185 value: List["Usage"], 4186 next_link: Optional[str] = None, 4187 **kwargs 4188 ): 4189 super(ListUsagesResult, self).__init__(**kwargs) 4190 self.value = value 4191 self.next_link = next_link 4192 4193 4194class LogAnalyticsInputBase(msrest.serialization.Model): 4195 """Api input base class for LogAnalytics Api. 4196 4197 All required parameters must be populated in order to send to Azure. 4198 4199 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 4200 LogAnalytics Api writes output logs to. 4201 :type blob_container_sas_uri: str 4202 :param from_time: Required. From time of the query. 4203 :type from_time: ~datetime.datetime 4204 :param to_time: Required. To time of the query. 4205 :type to_time: ~datetime.datetime 4206 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 4207 :type group_by_throttle_policy: bool 4208 :param group_by_operation_name: Group query result by Operation Name. 4209 :type group_by_operation_name: bool 4210 :param group_by_resource_name: Group query result by Resource Name. 4211 :type group_by_resource_name: bool 4212 """ 4213 4214 _validation = { 4215 'blob_container_sas_uri': {'required': True}, 4216 'from_time': {'required': True}, 4217 'to_time': {'required': True}, 4218 } 4219 4220 _attribute_map = { 4221 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 4222 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 4223 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 4224 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 4225 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 4226 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 4227 } 4228 4229 def __init__( 4230 self, 4231 *, 4232 blob_container_sas_uri: str, 4233 from_time: datetime.datetime, 4234 to_time: datetime.datetime, 4235 group_by_throttle_policy: Optional[bool] = None, 4236 group_by_operation_name: Optional[bool] = None, 4237 group_by_resource_name: Optional[bool] = None, 4238 **kwargs 4239 ): 4240 super(LogAnalyticsInputBase, self).__init__(**kwargs) 4241 self.blob_container_sas_uri = blob_container_sas_uri 4242 self.from_time = from_time 4243 self.to_time = to_time 4244 self.group_by_throttle_policy = group_by_throttle_policy 4245 self.group_by_operation_name = group_by_operation_name 4246 self.group_by_resource_name = group_by_resource_name 4247 4248 4249class LogAnalyticsOperationResult(msrest.serialization.Model): 4250 """LogAnalytics operation status response. 4251 4252 Variables are only populated by the server, and will be ignored when sending a request. 4253 4254 :ivar properties: LogAnalyticsOutput. 4255 :vartype properties: ~azure.mgmt.compute.v2019_07_01.models.LogAnalyticsOutput 4256 """ 4257 4258 _validation = { 4259 'properties': {'readonly': True}, 4260 } 4261 4262 _attribute_map = { 4263 'properties': {'key': 'properties', 'type': 'LogAnalyticsOutput'}, 4264 } 4265 4266 def __init__( 4267 self, 4268 **kwargs 4269 ): 4270 super(LogAnalyticsOperationResult, self).__init__(**kwargs) 4271 self.properties = None 4272 4273 4274class LogAnalyticsOutput(msrest.serialization.Model): 4275 """LogAnalytics output properties. 4276 4277 Variables are only populated by the server, and will be ignored when sending a request. 4278 4279 :ivar output: Output file Uri path to blob container. 4280 :vartype output: str 4281 """ 4282 4283 _validation = { 4284 'output': {'readonly': True}, 4285 } 4286 4287 _attribute_map = { 4288 'output': {'key': 'output', 'type': 'str'}, 4289 } 4290 4291 def __init__( 4292 self, 4293 **kwargs 4294 ): 4295 super(LogAnalyticsOutput, self).__init__(**kwargs) 4296 self.output = None 4297 4298 4299class MaintenanceRedeployStatus(msrest.serialization.Model): 4300 """Maintenance Operation Status. 4301 4302 :param is_customer_initiated_maintenance_allowed: True, if customer is allowed to perform 4303 Maintenance. 4304 :type is_customer_initiated_maintenance_allowed: bool 4305 :param pre_maintenance_window_start_time: Start Time for the Pre Maintenance Window. 4306 :type pre_maintenance_window_start_time: ~datetime.datetime 4307 :param pre_maintenance_window_end_time: End Time for the Pre Maintenance Window. 4308 :type pre_maintenance_window_end_time: ~datetime.datetime 4309 :param maintenance_window_start_time: Start Time for the Maintenance Window. 4310 :type maintenance_window_start_time: ~datetime.datetime 4311 :param maintenance_window_end_time: End Time for the Maintenance Window. 4312 :type maintenance_window_end_time: ~datetime.datetime 4313 :param last_operation_result_code: The Last Maintenance Operation Result Code. Possible values 4314 include: "None", "RetryLater", "MaintenanceAborted", "MaintenanceCompleted". 4315 :type last_operation_result_code: str or 4316 ~azure.mgmt.compute.v2019_07_01.models.MaintenanceOperationResultCodeTypes 4317 :param last_operation_message: Message returned for the last Maintenance Operation. 4318 :type last_operation_message: str 4319 """ 4320 4321 _attribute_map = { 4322 'is_customer_initiated_maintenance_allowed': {'key': 'isCustomerInitiatedMaintenanceAllowed', 'type': 'bool'}, 4323 'pre_maintenance_window_start_time': {'key': 'preMaintenanceWindowStartTime', 'type': 'iso-8601'}, 4324 'pre_maintenance_window_end_time': {'key': 'preMaintenanceWindowEndTime', 'type': 'iso-8601'}, 4325 'maintenance_window_start_time': {'key': 'maintenanceWindowStartTime', 'type': 'iso-8601'}, 4326 'maintenance_window_end_time': {'key': 'maintenanceWindowEndTime', 'type': 'iso-8601'}, 4327 'last_operation_result_code': {'key': 'lastOperationResultCode', 'type': 'str'}, 4328 'last_operation_message': {'key': 'lastOperationMessage', 'type': 'str'}, 4329 } 4330 4331 def __init__( 4332 self, 4333 *, 4334 is_customer_initiated_maintenance_allowed: Optional[bool] = None, 4335 pre_maintenance_window_start_time: Optional[datetime.datetime] = None, 4336 pre_maintenance_window_end_time: Optional[datetime.datetime] = None, 4337 maintenance_window_start_time: Optional[datetime.datetime] = None, 4338 maintenance_window_end_time: Optional[datetime.datetime] = None, 4339 last_operation_result_code: Optional[Union[str, "MaintenanceOperationResultCodeTypes"]] = None, 4340 last_operation_message: Optional[str] = None, 4341 **kwargs 4342 ): 4343 super(MaintenanceRedeployStatus, self).__init__(**kwargs) 4344 self.is_customer_initiated_maintenance_allowed = is_customer_initiated_maintenance_allowed 4345 self.pre_maintenance_window_start_time = pre_maintenance_window_start_time 4346 self.pre_maintenance_window_end_time = pre_maintenance_window_end_time 4347 self.maintenance_window_start_time = maintenance_window_start_time 4348 self.maintenance_window_end_time = maintenance_window_end_time 4349 self.last_operation_result_code = last_operation_result_code 4350 self.last_operation_message = last_operation_message 4351 4352 4353class ManagedArtifact(msrest.serialization.Model): 4354 """The managed artifact. 4355 4356 All required parameters must be populated in order to send to Azure. 4357 4358 :param id: Required. The managed artifact id. 4359 :type id: str 4360 """ 4361 4362 _validation = { 4363 'id': {'required': True}, 4364 } 4365 4366 _attribute_map = { 4367 'id': {'key': 'id', 'type': 'str'}, 4368 } 4369 4370 def __init__( 4371 self, 4372 *, 4373 id: str, 4374 **kwargs 4375 ): 4376 super(ManagedArtifact, self).__init__(**kwargs) 4377 self.id = id 4378 4379 4380class ManagedDiskParameters(SubResource): 4381 """The parameters of a managed disk. 4382 4383 :param id: Resource Id. 4384 :type id: str 4385 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 4386 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 4387 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 4388 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountTypes 4389 :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for 4390 the managed disk. 4391 :type disk_encryption_set: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetParameters 4392 """ 4393 4394 _attribute_map = { 4395 'id': {'key': 'id', 'type': 'str'}, 4396 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 4397 'disk_encryption_set': {'key': 'diskEncryptionSet', 'type': 'DiskEncryptionSetParameters'}, 4398 } 4399 4400 def __init__( 4401 self, 4402 *, 4403 id: Optional[str] = None, 4404 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 4405 disk_encryption_set: Optional["DiskEncryptionSetParameters"] = None, 4406 **kwargs 4407 ): 4408 super(ManagedDiskParameters, self).__init__(id=id, **kwargs) 4409 self.storage_account_type = storage_account_type 4410 self.disk_encryption_set = disk_encryption_set 4411 4412 4413class NetworkInterfaceReference(SubResource): 4414 """Describes a network interface reference. 4415 4416 :param id: Resource Id. 4417 :type id: str 4418 :param primary: Specifies the primary network interface in case the virtual machine has more 4419 than 1 network interface. 4420 :type primary: bool 4421 """ 4422 4423 _attribute_map = { 4424 'id': {'key': 'id', 'type': 'str'}, 4425 'primary': {'key': 'properties.primary', 'type': 'bool'}, 4426 } 4427 4428 def __init__( 4429 self, 4430 *, 4431 id: Optional[str] = None, 4432 primary: Optional[bool] = None, 4433 **kwargs 4434 ): 4435 super(NetworkInterfaceReference, self).__init__(id=id, **kwargs) 4436 self.primary = primary 4437 4438 4439class NetworkProfile(msrest.serialization.Model): 4440 """Specifies the network interfaces of the virtual machine. 4441 4442 :param network_interfaces: Specifies the list of resource Ids for the network interfaces 4443 associated with the virtual machine. 4444 :type network_interfaces: 4445 list[~azure.mgmt.compute.v2019_07_01.models.NetworkInterfaceReference] 4446 """ 4447 4448 _attribute_map = { 4449 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceReference]'}, 4450 } 4451 4452 def __init__( 4453 self, 4454 *, 4455 network_interfaces: Optional[List["NetworkInterfaceReference"]] = None, 4456 **kwargs 4457 ): 4458 super(NetworkProfile, self).__init__(**kwargs) 4459 self.network_interfaces = network_interfaces 4460 4461 4462class OSDisk(msrest.serialization.Model): 4463 """Specifies information about the operating system disk used by the virtual machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs for Azure virtual machines <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 4464 4465 All required parameters must be populated in order to send to Azure. 4466 4467 :param os_type: This property allows you to specify the type of the OS that is included in the 4468 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 4469 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 4470 values include: "Windows", "Linux". 4471 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 4472 :param encryption_settings: Specifies the encryption settings for the OS Disk. 4473 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 4474 :type encryption_settings: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSettings 4475 :param name: The disk name. 4476 :type name: str 4477 :param vhd: The virtual hard disk. 4478 :type vhd: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 4479 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 4480 before being attached to the virtual machine. If SourceImage is provided, the destination 4481 virtual hard drive must not exist. 4482 :type image: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 4483 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 4484 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 4485 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 4486 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 4487 "ReadWrite". 4488 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 4489 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 4490 disabled on the disk. 4491 :type write_accelerator_enabled: bool 4492 :param diff_disk_settings: Specifies the ephemeral Disk Settings for the operating system disk 4493 used by the virtual machine. 4494 :type diff_disk_settings: ~azure.mgmt.compute.v2019_07_01.models.DiffDiskSettings 4495 :param create_option: Required. Specifies how the virtual machine should be 4496 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 4497 This value is used when you are using a specialized disk to create the virtual 4498 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 4499 image to create the virtual machine. If you are using a platform image, you also use the 4500 imageReference element described above. If you are using a marketplace image, you also use the 4501 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 4502 :type create_option: str or ~azure.mgmt.compute.v2019_07_01.models.DiskCreateOptionTypes 4503 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 4504 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 4505 This value cannot be larger than 1023 GB. 4506 :type disk_size_gb: int 4507 :param managed_disk: The managed disk parameters. 4508 :type managed_disk: ~azure.mgmt.compute.v2019_07_01.models.ManagedDiskParameters 4509 """ 4510 4511 _validation = { 4512 'create_option': {'required': True}, 4513 } 4514 4515 _attribute_map = { 4516 'os_type': {'key': 'osType', 'type': 'str'}, 4517 'encryption_settings': {'key': 'encryptionSettings', 'type': 'DiskEncryptionSettings'}, 4518 'name': {'key': 'name', 'type': 'str'}, 4519 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 4520 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 4521 'caching': {'key': 'caching', 'type': 'str'}, 4522 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 4523 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 4524 'create_option': {'key': 'createOption', 'type': 'str'}, 4525 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 4526 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 4527 } 4528 4529 def __init__( 4530 self, 4531 *, 4532 create_option: Union[str, "DiskCreateOptionTypes"], 4533 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 4534 encryption_settings: Optional["DiskEncryptionSettings"] = None, 4535 name: Optional[str] = None, 4536 vhd: Optional["VirtualHardDisk"] = None, 4537 image: Optional["VirtualHardDisk"] = None, 4538 caching: Optional[Union[str, "CachingTypes"]] = None, 4539 write_accelerator_enabled: Optional[bool] = None, 4540 diff_disk_settings: Optional["DiffDiskSettings"] = None, 4541 disk_size_gb: Optional[int] = None, 4542 managed_disk: Optional["ManagedDiskParameters"] = None, 4543 **kwargs 4544 ): 4545 super(OSDisk, self).__init__(**kwargs) 4546 self.os_type = os_type 4547 self.encryption_settings = encryption_settings 4548 self.name = name 4549 self.vhd = vhd 4550 self.image = image 4551 self.caching = caching 4552 self.write_accelerator_enabled = write_accelerator_enabled 4553 self.diff_disk_settings = diff_disk_settings 4554 self.create_option = create_option 4555 self.disk_size_gb = disk_size_gb 4556 self.managed_disk = managed_disk 4557 4558 4559class OSDiskImage(msrest.serialization.Model): 4560 """Contains the os disk image information. 4561 4562 All required parameters must be populated in order to send to Azure. 4563 4564 :param operating_system: Required. The operating system of the osDiskImage. Possible values 4565 include: "Windows", "Linux". 4566 :type operating_system: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 4567 """ 4568 4569 _validation = { 4570 'operating_system': {'required': True}, 4571 } 4572 4573 _attribute_map = { 4574 'operating_system': {'key': 'operatingSystem', 'type': 'str'}, 4575 } 4576 4577 def __init__( 4578 self, 4579 *, 4580 operating_system: Union[str, "OperatingSystemTypes"], 4581 **kwargs 4582 ): 4583 super(OSDiskImage, self).__init__(**kwargs) 4584 self.operating_system = operating_system 4585 4586 4587class OSProfile(msrest.serialization.Model): 4588 """Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. 4589 4590 :param computer_name: Specifies the host OS name of the virtual machine. 4591 :code:`<br>`:code:`<br>` This name cannot be updated after the VM is created. 4592 :code:`<br>`:code:`<br>` **Max-length (Windows):** 15 characters :code:`<br>`:code:`<br>` 4593 **Max-length (Linux):** 64 characters. :code:`<br>`:code:`<br>` For naming conventions and 4594 restrictions see `Azure infrastructure services implementation guidelines 4595 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions>`_. 4596 :type computer_name: str 4597 :param admin_username: Specifies the name of the administrator account. 4598 :code:`<br>`:code:`<br>` This property cannot be updated after the VM is created. 4599 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 4600 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 4601 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 4602 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 4603 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 4604 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 4605 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 4606 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 4607 root privileges on Linux virtual machines in Azure 4608 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 4609 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 4610 in this field, see `Selecting User Names for Linux on Azure 4611 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 4612 :type admin_username: str 4613 :param admin_password: Specifies the password of the administrator account. 4614 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 4615 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 4616 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 4617 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 4618 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 4619 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 4620 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 4621 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 4622 resetting the password, see `How to reset the Remote Desktop service or its login password in a 4623 Windows VM 4624 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 4625 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 4626 repair disks on Azure Linux VMs using the VMAccess Extension 4627 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 4628 :type admin_password: str 4629 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 4630 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 4631 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` **Note: Do not pass any 4632 secrets or passwords in customData property** :code:`<br>`:code:`<br>` This property cannot be 4633 updated after the VM is created. :code:`<br>`:code:`<br>` customData is passed to the VM to be 4634 saved as a file, for more information see `Custom Data on Azure VMs 4635 <https://docs.microsoft.com/azure/virtual-machines/custom-data>`_ :code:`<br>`:code:`<br>` For 4636 using cloud-init for your Linux VM, see `Using cloud-init to customize a Linux VM during 4637 creation 4638 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 4639 :type custom_data: str 4640 :param windows_configuration: Specifies Windows operating system settings on the virtual 4641 machine. 4642 :type windows_configuration: ~azure.mgmt.compute.v2019_07_01.models.WindowsConfiguration 4643 :param linux_configuration: Specifies the Linux operating system settings on the virtual 4644 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 4645 Azure-Endorsed Distributions 4646 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 4647 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 4648 Non-Endorsed Distributions 4649 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 4650 :type linux_configuration: ~azure.mgmt.compute.v2019_07_01.models.LinuxConfiguration 4651 :param secrets: Specifies set of certificates that should be installed onto the virtual 4652 machine. 4653 :type secrets: list[~azure.mgmt.compute.v2019_07_01.models.VaultSecretGroup] 4654 :param allow_extension_operations: Specifies whether extension operations should be allowed on 4655 the virtual machine. :code:`<br>`:code:`<br>`This may only be set to False when no extensions 4656 are present on the virtual machine. 4657 :type allow_extension_operations: bool 4658 :param require_guest_provision_signal: Specifies whether the guest provision signal is required 4659 to infer provision success of the virtual machine. 4660 :type require_guest_provision_signal: bool 4661 """ 4662 4663 _attribute_map = { 4664 'computer_name': {'key': 'computerName', 'type': 'str'}, 4665 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 4666 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 4667 'custom_data': {'key': 'customData', 'type': 'str'}, 4668 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 4669 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 4670 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 4671 'allow_extension_operations': {'key': 'allowExtensionOperations', 'type': 'bool'}, 4672 'require_guest_provision_signal': {'key': 'requireGuestProvisionSignal', 'type': 'bool'}, 4673 } 4674 4675 def __init__( 4676 self, 4677 *, 4678 computer_name: Optional[str] = None, 4679 admin_username: Optional[str] = None, 4680 admin_password: Optional[str] = None, 4681 custom_data: Optional[str] = None, 4682 windows_configuration: Optional["WindowsConfiguration"] = None, 4683 linux_configuration: Optional["LinuxConfiguration"] = None, 4684 secrets: Optional[List["VaultSecretGroup"]] = None, 4685 allow_extension_operations: Optional[bool] = None, 4686 require_guest_provision_signal: Optional[bool] = None, 4687 **kwargs 4688 ): 4689 super(OSProfile, self).__init__(**kwargs) 4690 self.computer_name = computer_name 4691 self.admin_username = admin_username 4692 self.admin_password = admin_password 4693 self.custom_data = custom_data 4694 self.windows_configuration = windows_configuration 4695 self.linux_configuration = linux_configuration 4696 self.secrets = secrets 4697 self.allow_extension_operations = allow_extension_operations 4698 self.require_guest_provision_signal = require_guest_provision_signal 4699 4700 4701class Plan(msrest.serialization.Model): 4702 """Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. 4703 4704 :param name: The plan ID. 4705 :type name: str 4706 :param publisher: The publisher ID. 4707 :type publisher: str 4708 :param product: Specifies the product of the image from the marketplace. This is the same value 4709 as Offer under the imageReference element. 4710 :type product: str 4711 :param promotion_code: The promotion code. 4712 :type promotion_code: str 4713 """ 4714 4715 _attribute_map = { 4716 'name': {'key': 'name', 'type': 'str'}, 4717 'publisher': {'key': 'publisher', 'type': 'str'}, 4718 'product': {'key': 'product', 'type': 'str'}, 4719 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, 4720 } 4721 4722 def __init__( 4723 self, 4724 *, 4725 name: Optional[str] = None, 4726 publisher: Optional[str] = None, 4727 product: Optional[str] = None, 4728 promotion_code: Optional[str] = None, 4729 **kwargs 4730 ): 4731 super(Plan, self).__init__(**kwargs) 4732 self.name = name 4733 self.publisher = publisher 4734 self.product = product 4735 self.promotion_code = promotion_code 4736 4737 4738class ProximityPlacementGroup(Resource): 4739 """Specifies information about the proximity placement group. 4740 4741 Variables are only populated by the server, and will be ignored when sending a request. 4742 4743 All required parameters must be populated in order to send to Azure. 4744 4745 :ivar id: Resource Id. 4746 :vartype id: str 4747 :ivar name: Resource name. 4748 :vartype name: str 4749 :ivar type: Resource type. 4750 :vartype type: str 4751 :param location: Required. Resource location. 4752 :type location: str 4753 :param tags: A set of tags. Resource tags. 4754 :type tags: dict[str, str] 4755 :param proximity_placement_group_type: Specifies the type of the proximity placement group. 4756 :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` **Standard** : Co-locate 4757 resources within an Azure region or Availability Zone. :code:`<br>`:code:`<br>` **Ultra** : For 4758 future use. Possible values include: "Standard", "Ultra". 4759 :type proximity_placement_group_type: str or 4760 ~azure.mgmt.compute.v2019_07_01.models.ProximityPlacementGroupType 4761 :ivar virtual_machines: A list of references to all virtual machines in the proximity placement 4762 group. 4763 :vartype virtual_machines: 4764 list[~azure.mgmt.compute.v2019_07_01.models.SubResourceWithColocationStatus] 4765 :ivar virtual_machine_scale_sets: A list of references to all virtual machine scale sets in the 4766 proximity placement group. 4767 :vartype virtual_machine_scale_sets: 4768 list[~azure.mgmt.compute.v2019_07_01.models.SubResourceWithColocationStatus] 4769 :ivar availability_sets: A list of references to all availability sets in the proximity 4770 placement group. 4771 :vartype availability_sets: 4772 list[~azure.mgmt.compute.v2019_07_01.models.SubResourceWithColocationStatus] 4773 :param colocation_status: Describes colocation status of the Proximity Placement Group. 4774 :type colocation_status: ~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus 4775 """ 4776 4777 _validation = { 4778 'id': {'readonly': True}, 4779 'name': {'readonly': True}, 4780 'type': {'readonly': True}, 4781 'location': {'required': True}, 4782 'virtual_machines': {'readonly': True}, 4783 'virtual_machine_scale_sets': {'readonly': True}, 4784 'availability_sets': {'readonly': True}, 4785 } 4786 4787 _attribute_map = { 4788 'id': {'key': 'id', 'type': 'str'}, 4789 'name': {'key': 'name', 'type': 'str'}, 4790 'type': {'key': 'type', 'type': 'str'}, 4791 'location': {'key': 'location', 'type': 'str'}, 4792 'tags': {'key': 'tags', 'type': '{str}'}, 4793 'proximity_placement_group_type': {'key': 'properties.proximityPlacementGroupType', 'type': 'str'}, 4794 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResourceWithColocationStatus]'}, 4795 'virtual_machine_scale_sets': {'key': 'properties.virtualMachineScaleSets', 'type': '[SubResourceWithColocationStatus]'}, 4796 'availability_sets': {'key': 'properties.availabilitySets', 'type': '[SubResourceWithColocationStatus]'}, 4797 'colocation_status': {'key': 'properties.colocationStatus', 'type': 'InstanceViewStatus'}, 4798 } 4799 4800 def __init__( 4801 self, 4802 *, 4803 location: str, 4804 tags: Optional[Dict[str, str]] = None, 4805 proximity_placement_group_type: Optional[Union[str, "ProximityPlacementGroupType"]] = None, 4806 colocation_status: Optional["InstanceViewStatus"] = None, 4807 **kwargs 4808 ): 4809 super(ProximityPlacementGroup, self).__init__(location=location, tags=tags, **kwargs) 4810 self.proximity_placement_group_type = proximity_placement_group_type 4811 self.virtual_machines = None 4812 self.virtual_machine_scale_sets = None 4813 self.availability_sets = None 4814 self.colocation_status = colocation_status 4815 4816 4817class ProximityPlacementGroupListResult(msrest.serialization.Model): 4818 """The List Proximity Placement Group operation response. 4819 4820 All required parameters must be populated in order to send to Azure. 4821 4822 :param value: Required. The list of proximity placement groups. 4823 :type value: list[~azure.mgmt.compute.v2019_07_01.models.ProximityPlacementGroup] 4824 :param next_link: The URI to fetch the next page of proximity placement groups. 4825 :type next_link: str 4826 """ 4827 4828 _validation = { 4829 'value': {'required': True}, 4830 } 4831 4832 _attribute_map = { 4833 'value': {'key': 'value', 'type': '[ProximityPlacementGroup]'}, 4834 'next_link': {'key': 'nextLink', 'type': 'str'}, 4835 } 4836 4837 def __init__( 4838 self, 4839 *, 4840 value: List["ProximityPlacementGroup"], 4841 next_link: Optional[str] = None, 4842 **kwargs 4843 ): 4844 super(ProximityPlacementGroupListResult, self).__init__(**kwargs) 4845 self.value = value 4846 self.next_link = next_link 4847 4848 4849class ProximityPlacementGroupUpdate(UpdateResource): 4850 """Specifies information about the proximity placement group. 4851 4852 :param tags: A set of tags. Resource tags. 4853 :type tags: dict[str, str] 4854 """ 4855 4856 _attribute_map = { 4857 'tags': {'key': 'tags', 'type': '{str}'}, 4858 } 4859 4860 def __init__( 4861 self, 4862 *, 4863 tags: Optional[Dict[str, str]] = None, 4864 **kwargs 4865 ): 4866 super(ProximityPlacementGroupUpdate, self).__init__(tags=tags, **kwargs) 4867 4868 4869class PurchasePlan(msrest.serialization.Model): 4870 """Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. 4871 4872 All required parameters must be populated in order to send to Azure. 4873 4874 :param publisher: Required. The publisher ID. 4875 :type publisher: str 4876 :param name: Required. The plan ID. 4877 :type name: str 4878 :param product: Required. Specifies the product of the image from the marketplace. This is the 4879 same value as Offer under the imageReference element. 4880 :type product: str 4881 """ 4882 4883 _validation = { 4884 'publisher': {'required': True}, 4885 'name': {'required': True}, 4886 'product': {'required': True}, 4887 } 4888 4889 _attribute_map = { 4890 'publisher': {'key': 'publisher', 'type': 'str'}, 4891 'name': {'key': 'name', 'type': 'str'}, 4892 'product': {'key': 'product', 'type': 'str'}, 4893 } 4894 4895 def __init__( 4896 self, 4897 *, 4898 publisher: str, 4899 name: str, 4900 product: str, 4901 **kwargs 4902 ): 4903 super(PurchasePlan, self).__init__(**kwargs) 4904 self.publisher = publisher 4905 self.name = name 4906 self.product = product 4907 4908 4909class RecommendedMachineConfiguration(msrest.serialization.Model): 4910 """The properties describe the recommended machine configuration for this Image Definition. These properties are updatable. 4911 4912 :param v_cp_us: Describes the resource range. 4913 :type v_cp_us: ~azure.mgmt.compute.v2019_07_01.models.ResourceRange 4914 :param memory: Describes the resource range. 4915 :type memory: ~azure.mgmt.compute.v2019_07_01.models.ResourceRange 4916 """ 4917 4918 _attribute_map = { 4919 'v_cp_us': {'key': 'vCPUs', 'type': 'ResourceRange'}, 4920 'memory': {'key': 'memory', 'type': 'ResourceRange'}, 4921 } 4922 4923 def __init__( 4924 self, 4925 *, 4926 v_cp_us: Optional["ResourceRange"] = None, 4927 memory: Optional["ResourceRange"] = None, 4928 **kwargs 4929 ): 4930 super(RecommendedMachineConfiguration, self).__init__(**kwargs) 4931 self.v_cp_us = v_cp_us 4932 self.memory = memory 4933 4934 4935class RecoveryWalkResponse(msrest.serialization.Model): 4936 """Response after calling a manual recovery walk. 4937 4938 Variables are only populated by the server, and will be ignored when sending a request. 4939 4940 :ivar walk_performed: Whether the recovery walk was performed. 4941 :vartype walk_performed: bool 4942 :ivar next_platform_update_domain: The next update domain that needs to be walked. Null means 4943 walk spanning all update domains has been completed. 4944 :vartype next_platform_update_domain: int 4945 """ 4946 4947 _validation = { 4948 'walk_performed': {'readonly': True}, 4949 'next_platform_update_domain': {'readonly': True}, 4950 } 4951 4952 _attribute_map = { 4953 'walk_performed': {'key': 'walkPerformed', 'type': 'bool'}, 4954 'next_platform_update_domain': {'key': 'nextPlatformUpdateDomain', 'type': 'int'}, 4955 } 4956 4957 def __init__( 4958 self, 4959 **kwargs 4960 ): 4961 super(RecoveryWalkResponse, self).__init__(**kwargs) 4962 self.walk_performed = None 4963 self.next_platform_update_domain = None 4964 4965 4966class RegionalReplicationStatus(msrest.serialization.Model): 4967 """This is the regional replication status. 4968 4969 Variables are only populated by the server, and will be ignored when sending a request. 4970 4971 :ivar region: The region to which the gallery Image Version is being replicated to. 4972 :vartype region: str 4973 :ivar state: This is the regional replication state. Possible values include: "Unknown", 4974 "Replicating", "Completed", "Failed". 4975 :vartype state: str or ~azure.mgmt.compute.v2019_07_01.models.ReplicationState 4976 :ivar details: The details of the replication status. 4977 :vartype details: str 4978 :ivar progress: It indicates progress of the replication job. 4979 :vartype progress: int 4980 """ 4981 4982 _validation = { 4983 'region': {'readonly': True}, 4984 'state': {'readonly': True}, 4985 'details': {'readonly': True}, 4986 'progress': {'readonly': True}, 4987 } 4988 4989 _attribute_map = { 4990 'region': {'key': 'region', 'type': 'str'}, 4991 'state': {'key': 'state', 'type': 'str'}, 4992 'details': {'key': 'details', 'type': 'str'}, 4993 'progress': {'key': 'progress', 'type': 'int'}, 4994 } 4995 4996 def __init__( 4997 self, 4998 **kwargs 4999 ): 5000 super(RegionalReplicationStatus, self).__init__(**kwargs) 5001 self.region = None 5002 self.state = None 5003 self.details = None 5004 self.progress = None 5005 5006 5007class ReplicationStatus(msrest.serialization.Model): 5008 """This is the replication status of the gallery Image Version. 5009 5010 Variables are only populated by the server, and will be ignored when sending a request. 5011 5012 :ivar aggregated_state: This is the aggregated replication status based on all the regional 5013 replication status flags. Possible values include: "Unknown", "InProgress", "Completed", 5014 "Failed". 5015 :vartype aggregated_state: str or 5016 ~azure.mgmt.compute.v2019_07_01.models.AggregatedReplicationState 5017 :ivar summary: This is a summary of replication status for each region. 5018 :vartype summary: list[~azure.mgmt.compute.v2019_07_01.models.RegionalReplicationStatus] 5019 """ 5020 5021 _validation = { 5022 'aggregated_state': {'readonly': True}, 5023 'summary': {'readonly': True}, 5024 } 5025 5026 _attribute_map = { 5027 'aggregated_state': {'key': 'aggregatedState', 'type': 'str'}, 5028 'summary': {'key': 'summary', 'type': '[RegionalReplicationStatus]'}, 5029 } 5030 5031 def __init__( 5032 self, 5033 **kwargs 5034 ): 5035 super(ReplicationStatus, self).__init__(**kwargs) 5036 self.aggregated_state = None 5037 self.summary = None 5038 5039 5040class RequestRateByIntervalInput(LogAnalyticsInputBase): 5041 """Api request input for LogAnalytics getRequestRateByInterval Api. 5042 5043 All required parameters must be populated in order to send to Azure. 5044 5045 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 5046 LogAnalytics Api writes output logs to. 5047 :type blob_container_sas_uri: str 5048 :param from_time: Required. From time of the query. 5049 :type from_time: ~datetime.datetime 5050 :param to_time: Required. To time of the query. 5051 :type to_time: ~datetime.datetime 5052 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 5053 :type group_by_throttle_policy: bool 5054 :param group_by_operation_name: Group query result by Operation Name. 5055 :type group_by_operation_name: bool 5056 :param group_by_resource_name: Group query result by Resource Name. 5057 :type group_by_resource_name: bool 5058 :param interval_length: Required. Interval value in minutes used to create LogAnalytics call 5059 rate logs. Possible values include: "ThreeMins", "FiveMins", "ThirtyMins", "SixtyMins". 5060 :type interval_length: str or ~azure.mgmt.compute.v2019_07_01.models.IntervalInMins 5061 """ 5062 5063 _validation = { 5064 'blob_container_sas_uri': {'required': True}, 5065 'from_time': {'required': True}, 5066 'to_time': {'required': True}, 5067 'interval_length': {'required': True}, 5068 } 5069 5070 _attribute_map = { 5071 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 5072 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 5073 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 5074 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 5075 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 5076 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 5077 'interval_length': {'key': 'intervalLength', 'type': 'str'}, 5078 } 5079 5080 def __init__( 5081 self, 5082 *, 5083 blob_container_sas_uri: str, 5084 from_time: datetime.datetime, 5085 to_time: datetime.datetime, 5086 interval_length: Union[str, "IntervalInMins"], 5087 group_by_throttle_policy: Optional[bool] = None, 5088 group_by_operation_name: Optional[bool] = None, 5089 group_by_resource_name: Optional[bool] = None, 5090 **kwargs 5091 ): 5092 super(RequestRateByIntervalInput, self).__init__(blob_container_sas_uri=blob_container_sas_uri, from_time=from_time, to_time=to_time, group_by_throttle_policy=group_by_throttle_policy, group_by_operation_name=group_by_operation_name, group_by_resource_name=group_by_resource_name, **kwargs) 5093 self.interval_length = interval_length 5094 5095 5096class ResourceRange(msrest.serialization.Model): 5097 """Describes the resource range. 5098 5099 :param min: The minimum number of the resource. 5100 :type min: int 5101 :param max: The maximum number of the resource. 5102 :type max: int 5103 """ 5104 5105 _attribute_map = { 5106 'min': {'key': 'min', 'type': 'int'}, 5107 'max': {'key': 'max', 'type': 'int'}, 5108 } 5109 5110 def __init__( 5111 self, 5112 *, 5113 min: Optional[int] = None, 5114 max: Optional[int] = None, 5115 **kwargs 5116 ): 5117 super(ResourceRange, self).__init__(**kwargs) 5118 self.min = min 5119 self.max = max 5120 5121 5122class RollbackStatusInfo(msrest.serialization.Model): 5123 """Information about rollback on failed VM instances after a OS Upgrade operation. 5124 5125 Variables are only populated by the server, and will be ignored when sending a request. 5126 5127 :ivar successfully_rolledback_instance_count: The number of instances which have been 5128 successfully rolled back. 5129 :vartype successfully_rolledback_instance_count: int 5130 :ivar failed_rolledback_instance_count: The number of instances which failed to rollback. 5131 :vartype failed_rolledback_instance_count: int 5132 :ivar rollback_error: Error details if OS rollback failed. 5133 :vartype rollback_error: ~azure.mgmt.compute.v2019_07_01.models.ApiError 5134 """ 5135 5136 _validation = { 5137 'successfully_rolledback_instance_count': {'readonly': True}, 5138 'failed_rolledback_instance_count': {'readonly': True}, 5139 'rollback_error': {'readonly': True}, 5140 } 5141 5142 _attribute_map = { 5143 'successfully_rolledback_instance_count': {'key': 'successfullyRolledbackInstanceCount', 'type': 'int'}, 5144 'failed_rolledback_instance_count': {'key': 'failedRolledbackInstanceCount', 'type': 'int'}, 5145 'rollback_error': {'key': 'rollbackError', 'type': 'ApiError'}, 5146 } 5147 5148 def __init__( 5149 self, 5150 **kwargs 5151 ): 5152 super(RollbackStatusInfo, self).__init__(**kwargs) 5153 self.successfully_rolledback_instance_count = None 5154 self.failed_rolledback_instance_count = None 5155 self.rollback_error = None 5156 5157 5158class RollingUpgradePolicy(msrest.serialization.Model): 5159 """The configuration parameters used while performing a rolling upgrade. 5160 5161 :param max_batch_instance_percent: The maximum percent of total virtual machine instances that 5162 will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, 5163 unhealthy instances in previous or future batches can cause the percentage of instances in a 5164 batch to decrease to ensure higher reliability. The default value for this parameter is 20%. 5165 :type max_batch_instance_percent: int 5166 :param max_unhealthy_instance_percent: The maximum percentage of the total virtual machine 5167 instances in the scale set that can be simultaneously unhealthy, either as a result of being 5168 upgraded, or by being found in an unhealthy state by the virtual machine health checks before 5169 the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The 5170 default value for this parameter is 20%. 5171 :type max_unhealthy_instance_percent: int 5172 :param max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual 5173 machine instances that can be found to be in an unhealthy state. This check will happen after 5174 each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The 5175 default value for this parameter is 20%. 5176 :type max_unhealthy_upgraded_instance_percent: int 5177 :param pause_time_between_batches: The wait time between completing the update for all virtual 5178 machines in one batch and starting the next batch. The time duration should be specified in ISO 5179 8601 format. The default value is 0 seconds (PT0S). 5180 :type pause_time_between_batches: str 5181 """ 5182 5183 _validation = { 5184 'max_batch_instance_percent': {'maximum': 100, 'minimum': 5}, 5185 'max_unhealthy_instance_percent': {'maximum': 100, 'minimum': 5}, 5186 'max_unhealthy_upgraded_instance_percent': {'maximum': 100, 'minimum': 0}, 5187 } 5188 5189 _attribute_map = { 5190 'max_batch_instance_percent': {'key': 'maxBatchInstancePercent', 'type': 'int'}, 5191 'max_unhealthy_instance_percent': {'key': 'maxUnhealthyInstancePercent', 'type': 'int'}, 5192 'max_unhealthy_upgraded_instance_percent': {'key': 'maxUnhealthyUpgradedInstancePercent', 'type': 'int'}, 5193 'pause_time_between_batches': {'key': 'pauseTimeBetweenBatches', 'type': 'str'}, 5194 } 5195 5196 def __init__( 5197 self, 5198 *, 5199 max_batch_instance_percent: Optional[int] = None, 5200 max_unhealthy_instance_percent: Optional[int] = None, 5201 max_unhealthy_upgraded_instance_percent: Optional[int] = None, 5202 pause_time_between_batches: Optional[str] = None, 5203 **kwargs 5204 ): 5205 super(RollingUpgradePolicy, self).__init__(**kwargs) 5206 self.max_batch_instance_percent = max_batch_instance_percent 5207 self.max_unhealthy_instance_percent = max_unhealthy_instance_percent 5208 self.max_unhealthy_upgraded_instance_percent = max_unhealthy_upgraded_instance_percent 5209 self.pause_time_between_batches = pause_time_between_batches 5210 5211 5212class RollingUpgradeProgressInfo(msrest.serialization.Model): 5213 """Information about the number of virtual machine instances in each upgrade state. 5214 5215 Variables are only populated by the server, and will be ignored when sending a request. 5216 5217 :ivar successful_instance_count: The number of instances that have been successfully upgraded. 5218 :vartype successful_instance_count: int 5219 :ivar failed_instance_count: The number of instances that have failed to be upgraded 5220 successfully. 5221 :vartype failed_instance_count: int 5222 :ivar in_progress_instance_count: The number of instances that are currently being upgraded. 5223 :vartype in_progress_instance_count: int 5224 :ivar pending_instance_count: The number of instances that have not yet begun to be upgraded. 5225 :vartype pending_instance_count: int 5226 """ 5227 5228 _validation = { 5229 'successful_instance_count': {'readonly': True}, 5230 'failed_instance_count': {'readonly': True}, 5231 'in_progress_instance_count': {'readonly': True}, 5232 'pending_instance_count': {'readonly': True}, 5233 } 5234 5235 _attribute_map = { 5236 'successful_instance_count': {'key': 'successfulInstanceCount', 'type': 'int'}, 5237 'failed_instance_count': {'key': 'failedInstanceCount', 'type': 'int'}, 5238 'in_progress_instance_count': {'key': 'inProgressInstanceCount', 'type': 'int'}, 5239 'pending_instance_count': {'key': 'pendingInstanceCount', 'type': 'int'}, 5240 } 5241 5242 def __init__( 5243 self, 5244 **kwargs 5245 ): 5246 super(RollingUpgradeProgressInfo, self).__init__(**kwargs) 5247 self.successful_instance_count = None 5248 self.failed_instance_count = None 5249 self.in_progress_instance_count = None 5250 self.pending_instance_count = None 5251 5252 5253class RollingUpgradeRunningStatus(msrest.serialization.Model): 5254 """Information about the current running state of the overall upgrade. 5255 5256 Variables are only populated by the server, and will be ignored when sending a request. 5257 5258 :ivar code: Code indicating the current status of the upgrade. Possible values include: 5259 "RollingForward", "Cancelled", "Completed", "Faulted". 5260 :vartype code: str or ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradeStatusCode 5261 :ivar start_time: Start time of the upgrade. 5262 :vartype start_time: ~datetime.datetime 5263 :ivar last_action: The last action performed on the rolling upgrade. Possible values include: 5264 "Start", "Cancel". 5265 :vartype last_action: str or ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradeActionType 5266 :ivar last_action_time: Last action time of the upgrade. 5267 :vartype last_action_time: ~datetime.datetime 5268 """ 5269 5270 _validation = { 5271 'code': {'readonly': True}, 5272 'start_time': {'readonly': True}, 5273 'last_action': {'readonly': True}, 5274 'last_action_time': {'readonly': True}, 5275 } 5276 5277 _attribute_map = { 5278 'code': {'key': 'code', 'type': 'str'}, 5279 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5280 'last_action': {'key': 'lastAction', 'type': 'str'}, 5281 'last_action_time': {'key': 'lastActionTime', 'type': 'iso-8601'}, 5282 } 5283 5284 def __init__( 5285 self, 5286 **kwargs 5287 ): 5288 super(RollingUpgradeRunningStatus, self).__init__(**kwargs) 5289 self.code = None 5290 self.start_time = None 5291 self.last_action = None 5292 self.last_action_time = None 5293 5294 5295class RollingUpgradeStatusInfo(Resource): 5296 """The status of the latest virtual machine scale set rolling upgrade. 5297 5298 Variables are only populated by the server, and will be ignored when sending a request. 5299 5300 All required parameters must be populated in order to send to Azure. 5301 5302 :ivar id: Resource Id. 5303 :vartype id: str 5304 :ivar name: Resource name. 5305 :vartype name: str 5306 :ivar type: Resource type. 5307 :vartype type: str 5308 :param location: Required. Resource location. 5309 :type location: str 5310 :param tags: A set of tags. Resource tags. 5311 :type tags: dict[str, str] 5312 :ivar policy: The rolling upgrade policies applied for this upgrade. 5313 :vartype policy: ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradePolicy 5314 :ivar running_status: Information about the current running state of the overall upgrade. 5315 :vartype running_status: ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradeRunningStatus 5316 :ivar progress: Information about the number of virtual machine instances in each upgrade 5317 state. 5318 :vartype progress: ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradeProgressInfo 5319 :ivar error: Error details for this upgrade, if there are any. 5320 :vartype error: ~azure.mgmt.compute.v2019_07_01.models.ApiError 5321 """ 5322 5323 _validation = { 5324 'id': {'readonly': True}, 5325 'name': {'readonly': True}, 5326 'type': {'readonly': True}, 5327 'location': {'required': True}, 5328 'policy': {'readonly': True}, 5329 'running_status': {'readonly': True}, 5330 'progress': {'readonly': True}, 5331 'error': {'readonly': True}, 5332 } 5333 5334 _attribute_map = { 5335 'id': {'key': 'id', 'type': 'str'}, 5336 'name': {'key': 'name', 'type': 'str'}, 5337 'type': {'key': 'type', 'type': 'str'}, 5338 'location': {'key': 'location', 'type': 'str'}, 5339 'tags': {'key': 'tags', 'type': '{str}'}, 5340 'policy': {'key': 'properties.policy', 'type': 'RollingUpgradePolicy'}, 5341 'running_status': {'key': 'properties.runningStatus', 'type': 'RollingUpgradeRunningStatus'}, 5342 'progress': {'key': 'properties.progress', 'type': 'RollingUpgradeProgressInfo'}, 5343 'error': {'key': 'properties.error', 'type': 'ApiError'}, 5344 } 5345 5346 def __init__( 5347 self, 5348 *, 5349 location: str, 5350 tags: Optional[Dict[str, str]] = None, 5351 **kwargs 5352 ): 5353 super(RollingUpgradeStatusInfo, self).__init__(location=location, tags=tags, **kwargs) 5354 self.policy = None 5355 self.running_status = None 5356 self.progress = None 5357 self.error = None 5358 5359 5360class RunCommandDocumentBase(msrest.serialization.Model): 5361 """Describes the properties of a Run Command metadata. 5362 5363 All required parameters must be populated in order to send to Azure. 5364 5365 :param schema: Required. The VM run command schema. 5366 :type schema: str 5367 :param id: Required. The VM run command id. 5368 :type id: str 5369 :param os_type: Required. The Operating System type. Possible values include: "Windows", 5370 "Linux". 5371 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 5372 :param label: Required. The VM run command label. 5373 :type label: str 5374 :param description: Required. The VM run command description. 5375 :type description: str 5376 """ 5377 5378 _validation = { 5379 'schema': {'required': True}, 5380 'id': {'required': True}, 5381 'os_type': {'required': True}, 5382 'label': {'required': True}, 5383 'description': {'required': True}, 5384 } 5385 5386 _attribute_map = { 5387 'schema': {'key': '$schema', 'type': 'str'}, 5388 'id': {'key': 'id', 'type': 'str'}, 5389 'os_type': {'key': 'osType', 'type': 'str'}, 5390 'label': {'key': 'label', 'type': 'str'}, 5391 'description': {'key': 'description', 'type': 'str'}, 5392 } 5393 5394 def __init__( 5395 self, 5396 *, 5397 schema: str, 5398 id: str, 5399 os_type: Union[str, "OperatingSystemTypes"], 5400 label: str, 5401 description: str, 5402 **kwargs 5403 ): 5404 super(RunCommandDocumentBase, self).__init__(**kwargs) 5405 self.schema = schema 5406 self.id = id 5407 self.os_type = os_type 5408 self.label = label 5409 self.description = description 5410 5411 5412class RunCommandDocument(RunCommandDocumentBase): 5413 """Describes the properties of a Run Command. 5414 5415 All required parameters must be populated in order to send to Azure. 5416 5417 :param schema: Required. The VM run command schema. 5418 :type schema: str 5419 :param id: Required. The VM run command id. 5420 :type id: str 5421 :param os_type: Required. The Operating System type. Possible values include: "Windows", 5422 "Linux". 5423 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 5424 :param label: Required. The VM run command label. 5425 :type label: str 5426 :param description: Required. The VM run command description. 5427 :type description: str 5428 :param script: Required. The script to be executed. 5429 :type script: list[str] 5430 :param parameters: The parameters used by the script. 5431 :type parameters: list[~azure.mgmt.compute.v2019_07_01.models.RunCommandParameterDefinition] 5432 """ 5433 5434 _validation = { 5435 'schema': {'required': True}, 5436 'id': {'required': True}, 5437 'os_type': {'required': True}, 5438 'label': {'required': True}, 5439 'description': {'required': True}, 5440 'script': {'required': True}, 5441 } 5442 5443 _attribute_map = { 5444 'schema': {'key': '$schema', 'type': 'str'}, 5445 'id': {'key': 'id', 'type': 'str'}, 5446 'os_type': {'key': 'osType', 'type': 'str'}, 5447 'label': {'key': 'label', 'type': 'str'}, 5448 'description': {'key': 'description', 'type': 'str'}, 5449 'script': {'key': 'script', 'type': '[str]'}, 5450 'parameters': {'key': 'parameters', 'type': '[RunCommandParameterDefinition]'}, 5451 } 5452 5453 def __init__( 5454 self, 5455 *, 5456 schema: str, 5457 id: str, 5458 os_type: Union[str, "OperatingSystemTypes"], 5459 label: str, 5460 description: str, 5461 script: List[str], 5462 parameters: Optional[List["RunCommandParameterDefinition"]] = None, 5463 **kwargs 5464 ): 5465 super(RunCommandDocument, self).__init__(schema=schema, id=id, os_type=os_type, label=label, description=description, **kwargs) 5466 self.script = script 5467 self.parameters = parameters 5468 5469 5470class RunCommandInput(msrest.serialization.Model): 5471 """Capture Virtual Machine parameters. 5472 5473 All required parameters must be populated in order to send to Azure. 5474 5475 :param command_id: Required. The run command id. 5476 :type command_id: str 5477 :param script: Optional. The script to be executed. When this value is given, the given script 5478 will override the default script of the command. 5479 :type script: list[str] 5480 :param parameters: The run command parameters. 5481 :type parameters: list[~azure.mgmt.compute.v2019_07_01.models.RunCommandInputParameter] 5482 """ 5483 5484 _validation = { 5485 'command_id': {'required': True}, 5486 } 5487 5488 _attribute_map = { 5489 'command_id': {'key': 'commandId', 'type': 'str'}, 5490 'script': {'key': 'script', 'type': '[str]'}, 5491 'parameters': {'key': 'parameters', 'type': '[RunCommandInputParameter]'}, 5492 } 5493 5494 def __init__( 5495 self, 5496 *, 5497 command_id: str, 5498 script: Optional[List[str]] = None, 5499 parameters: Optional[List["RunCommandInputParameter"]] = None, 5500 **kwargs 5501 ): 5502 super(RunCommandInput, self).__init__(**kwargs) 5503 self.command_id = command_id 5504 self.script = script 5505 self.parameters = parameters 5506 5507 5508class RunCommandInputParameter(msrest.serialization.Model): 5509 """Describes the properties of a run command parameter. 5510 5511 All required parameters must be populated in order to send to Azure. 5512 5513 :param name: Required. The run command parameter name. 5514 :type name: str 5515 :param value: Required. The run command parameter value. 5516 :type value: str 5517 """ 5518 5519 _validation = { 5520 'name': {'required': True}, 5521 'value': {'required': True}, 5522 } 5523 5524 _attribute_map = { 5525 'name': {'key': 'name', 'type': 'str'}, 5526 'value': {'key': 'value', 'type': 'str'}, 5527 } 5528 5529 def __init__( 5530 self, 5531 *, 5532 name: str, 5533 value: str, 5534 **kwargs 5535 ): 5536 super(RunCommandInputParameter, self).__init__(**kwargs) 5537 self.name = name 5538 self.value = value 5539 5540 5541class RunCommandListResult(msrest.serialization.Model): 5542 """The List Virtual Machine operation response. 5543 5544 All required parameters must be populated in order to send to Azure. 5545 5546 :param value: Required. The list of virtual machine run commands. 5547 :type value: list[~azure.mgmt.compute.v2019_07_01.models.RunCommandDocumentBase] 5548 :param next_link: The uri to fetch the next page of run commands. Call ListNext() with this to 5549 fetch the next page of run commands. 5550 :type next_link: str 5551 """ 5552 5553 _validation = { 5554 'value': {'required': True}, 5555 } 5556 5557 _attribute_map = { 5558 'value': {'key': 'value', 'type': '[RunCommandDocumentBase]'}, 5559 'next_link': {'key': 'nextLink', 'type': 'str'}, 5560 } 5561 5562 def __init__( 5563 self, 5564 *, 5565 value: List["RunCommandDocumentBase"], 5566 next_link: Optional[str] = None, 5567 **kwargs 5568 ): 5569 super(RunCommandListResult, self).__init__(**kwargs) 5570 self.value = value 5571 self.next_link = next_link 5572 5573 5574class RunCommandParameterDefinition(msrest.serialization.Model): 5575 """Describes the properties of a run command parameter. 5576 5577 All required parameters must be populated in order to send to Azure. 5578 5579 :param name: Required. The run command parameter name. 5580 :type name: str 5581 :param type: Required. The run command parameter type. 5582 :type type: str 5583 :param default_value: The run command parameter default value. 5584 :type default_value: str 5585 :param required: The run command parameter required. 5586 :type required: bool 5587 """ 5588 5589 _validation = { 5590 'name': {'required': True}, 5591 'type': {'required': True}, 5592 } 5593 5594 _attribute_map = { 5595 'name': {'key': 'name', 'type': 'str'}, 5596 'type': {'key': 'type', 'type': 'str'}, 5597 'default_value': {'key': 'defaultValue', 'type': 'str'}, 5598 'required': {'key': 'required', 'type': 'bool'}, 5599 } 5600 5601 def __init__( 5602 self, 5603 *, 5604 name: str, 5605 type: str, 5606 default_value: Optional[str] = None, 5607 required: Optional[bool] = False, 5608 **kwargs 5609 ): 5610 super(RunCommandParameterDefinition, self).__init__(**kwargs) 5611 self.name = name 5612 self.type = type 5613 self.default_value = default_value 5614 self.required = required 5615 5616 5617class RunCommandResult(msrest.serialization.Model): 5618 """RunCommandResult. 5619 5620 :param value: Run command operation response. 5621 :type value: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 5622 """ 5623 5624 _attribute_map = { 5625 'value': {'key': 'value', 'type': '[InstanceViewStatus]'}, 5626 } 5627 5628 def __init__( 5629 self, 5630 *, 5631 value: Optional[List["InstanceViewStatus"]] = None, 5632 **kwargs 5633 ): 5634 super(RunCommandResult, self).__init__(**kwargs) 5635 self.value = value 5636 5637 5638class ScaleInPolicy(msrest.serialization.Model): 5639 """Describes a scale-in policy for a virtual machine scale set. 5640 5641 :param rules: The rules to be followed when scaling-in a virtual machine scale set. 5642 :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` **Default** When a 5643 virtual machine scale set is scaled in, the scale set will first be balanced across zones if it 5644 is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within 5645 each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not 5646 protected from scale-in. :code:`<br>`:code:`<br>` **OldestVM** When a virtual machine scale set 5647 is being scaled-in, the oldest virtual machines that are not protected from scale-in will be 5648 chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced 5649 across zones. Within each zone, the oldest virtual machines that are not protected will be 5650 chosen for removal. :code:`<br>`:code:`<br>` **NewestVM** When a virtual machine scale set is 5651 being scaled-in, the newest virtual machines that are not protected from scale-in will be 5652 chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced 5653 across zones. Within each zone, the newest virtual machines that are not protected will be 5654 chosen for removal. :code:`<br>`:code:`<br>`. 5655 :type rules: list[str or 5656 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetScaleInRules] 5657 """ 5658 5659 _attribute_map = { 5660 'rules': {'key': 'rules', 'type': '[str]'}, 5661 } 5662 5663 def __init__( 5664 self, 5665 *, 5666 rules: Optional[List[Union[str, "VirtualMachineScaleSetScaleInRules"]]] = None, 5667 **kwargs 5668 ): 5669 super(ScaleInPolicy, self).__init__(**kwargs) 5670 self.rules = rules 5671 5672 5673class ScheduledEventsProfile(msrest.serialization.Model): 5674 """ScheduledEventsProfile. 5675 5676 :param terminate_notification_profile: Specifies Terminate Scheduled Event related 5677 configurations. 5678 :type terminate_notification_profile: 5679 ~azure.mgmt.compute.v2019_07_01.models.TerminateNotificationProfile 5680 """ 5681 5682 _attribute_map = { 5683 'terminate_notification_profile': {'key': 'terminateNotificationProfile', 'type': 'TerminateNotificationProfile'}, 5684 } 5685 5686 def __init__( 5687 self, 5688 *, 5689 terminate_notification_profile: Optional["TerminateNotificationProfile"] = None, 5690 **kwargs 5691 ): 5692 super(ScheduledEventsProfile, self).__init__(**kwargs) 5693 self.terminate_notification_profile = terminate_notification_profile 5694 5695 5696class Sku(msrest.serialization.Model): 5697 """Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. 5698 5699 :param name: The sku name. 5700 :type name: str 5701 :param tier: Specifies the tier of virtual machines in a scale set.:code:`<br />`:code:`<br />` 5702 Possible Values::code:`<br />`:code:`<br />` **Standard**\ :code:`<br />`:code:`<br />` 5703 **Basic**. 5704 :type tier: str 5705 :param capacity: Specifies the number of virtual machines in the scale set. 5706 :type capacity: long 5707 """ 5708 5709 _attribute_map = { 5710 'name': {'key': 'name', 'type': 'str'}, 5711 'tier': {'key': 'tier', 'type': 'str'}, 5712 'capacity': {'key': 'capacity', 'type': 'long'}, 5713 } 5714 5715 def __init__( 5716 self, 5717 *, 5718 name: Optional[str] = None, 5719 tier: Optional[str] = None, 5720 capacity: Optional[int] = None, 5721 **kwargs 5722 ): 5723 super(Sku, self).__init__(**kwargs) 5724 self.name = name 5725 self.tier = tier 5726 self.capacity = capacity 5727 5728 5729class Snapshot(Resource): 5730 """Snapshot resource. 5731 5732 Variables are only populated by the server, and will be ignored when sending a request. 5733 5734 All required parameters must be populated in order to send to Azure. 5735 5736 :ivar id: Resource Id. 5737 :vartype id: str 5738 :ivar name: Resource name. 5739 :vartype name: str 5740 :ivar type: Resource type. 5741 :vartype type: str 5742 :param location: Required. Resource location. 5743 :type location: str 5744 :param tags: A set of tags. Resource tags. 5745 :type tags: dict[str, str] 5746 :ivar managed_by: Unused. Always Null. 5747 :vartype managed_by: str 5748 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5749 :type sku: ~azure.mgmt.compute.v2019_07_01.models.SnapshotSku 5750 :ivar time_created: The time when the disk was created. 5751 :vartype time_created: ~datetime.datetime 5752 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 5753 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 5754 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 5755 disks only. Possible values include: "V1", "V2". 5756 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGeneration 5757 :param creation_data: Disk source information. CreationData information cannot be changed after 5758 the disk has been created. 5759 :type creation_data: ~azure.mgmt.compute.v2019_07_01.models.CreationData 5760 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 5761 indicates the size of the disk to create. If this field is present for updates or creation with 5762 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 5763 running VM, and can only increase the disk's size. 5764 :type disk_size_gb: int 5765 :ivar disk_size_bytes: The size of the disk in bytes. This field is read only. 5766 :vartype disk_size_bytes: long 5767 :ivar unique_id: Unique Guid identifying the resource. 5768 :vartype unique_id: str 5769 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 5770 Encryption, can contain multiple encryption settings per disk or snapshot. 5771 :type encryption_settings_collection: 5772 ~azure.mgmt.compute.v2019_07_01.models.EncryptionSettingsCollection 5773 :ivar provisioning_state: The disk provisioning state. 5774 :vartype provisioning_state: str 5775 :param incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk 5776 occupy less space than full snapshots and can be diffed. 5777 :type incremental: bool 5778 :param encryption: Encryption property can be used to encrypt data at rest with customer 5779 managed keys or platform managed keys. 5780 :type encryption: ~azure.mgmt.compute.v2019_07_01.models.Encryption 5781 """ 5782 5783 _validation = { 5784 'id': {'readonly': True}, 5785 'name': {'readonly': True}, 5786 'type': {'readonly': True}, 5787 'location': {'required': True}, 5788 'managed_by': {'readonly': True}, 5789 'time_created': {'readonly': True}, 5790 'disk_size_bytes': {'readonly': True}, 5791 'unique_id': {'readonly': True}, 5792 'provisioning_state': {'readonly': True}, 5793 } 5794 5795 _attribute_map = { 5796 'id': {'key': 'id', 'type': 'str'}, 5797 'name': {'key': 'name', 'type': 'str'}, 5798 'type': {'key': 'type', 'type': 'str'}, 5799 'location': {'key': 'location', 'type': 'str'}, 5800 'tags': {'key': 'tags', 'type': '{str}'}, 5801 'managed_by': {'key': 'managedBy', 'type': 'str'}, 5802 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 5803 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 5804 'os_type': {'key': 'properties.osType', 'type': 'str'}, 5805 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 5806 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 5807 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 5808 'disk_size_bytes': {'key': 'properties.diskSizeBytes', 'type': 'long'}, 5809 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 5810 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 5811 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5812 'incremental': {'key': 'properties.incremental', 'type': 'bool'}, 5813 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 5814 } 5815 5816 def __init__( 5817 self, 5818 *, 5819 location: str, 5820 tags: Optional[Dict[str, str]] = None, 5821 sku: Optional["SnapshotSku"] = None, 5822 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 5823 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 5824 creation_data: Optional["CreationData"] = None, 5825 disk_size_gb: Optional[int] = None, 5826 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 5827 incremental: Optional[bool] = None, 5828 encryption: Optional["Encryption"] = None, 5829 **kwargs 5830 ): 5831 super(Snapshot, self).__init__(location=location, tags=tags, **kwargs) 5832 self.managed_by = None 5833 self.sku = sku 5834 self.time_created = None 5835 self.os_type = os_type 5836 self.hyper_v_generation = hyper_v_generation 5837 self.creation_data = creation_data 5838 self.disk_size_gb = disk_size_gb 5839 self.disk_size_bytes = None 5840 self.unique_id = None 5841 self.encryption_settings_collection = encryption_settings_collection 5842 self.provisioning_state = None 5843 self.incremental = incremental 5844 self.encryption = encryption 5845 5846 5847class SnapshotList(msrest.serialization.Model): 5848 """The List Snapshots operation response. 5849 5850 All required parameters must be populated in order to send to Azure. 5851 5852 :param value: Required. A list of snapshots. 5853 :type value: list[~azure.mgmt.compute.v2019_07_01.models.Snapshot] 5854 :param next_link: The uri to fetch the next page of snapshots. Call ListNext() with this to 5855 fetch the next page of snapshots. 5856 :type next_link: str 5857 """ 5858 5859 _validation = { 5860 'value': {'required': True}, 5861 } 5862 5863 _attribute_map = { 5864 'value': {'key': 'value', 'type': '[Snapshot]'}, 5865 'next_link': {'key': 'nextLink', 'type': 'str'}, 5866 } 5867 5868 def __init__( 5869 self, 5870 *, 5871 value: List["Snapshot"], 5872 next_link: Optional[str] = None, 5873 **kwargs 5874 ): 5875 super(SnapshotList, self).__init__(**kwargs) 5876 self.value = value 5877 self.next_link = next_link 5878 5879 5880class SnapshotSku(msrest.serialization.Model): 5881 """The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5882 5883 Variables are only populated by the server, and will be ignored when sending a request. 5884 5885 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 5886 "Standard_ZRS". 5887 :type name: str or ~azure.mgmt.compute.v2019_07_01.models.SnapshotStorageAccountTypes 5888 :ivar tier: The sku tier. 5889 :vartype tier: str 5890 """ 5891 5892 _validation = { 5893 'tier': {'readonly': True}, 5894 } 5895 5896 _attribute_map = { 5897 'name': {'key': 'name', 'type': 'str'}, 5898 'tier': {'key': 'tier', 'type': 'str'}, 5899 } 5900 5901 def __init__( 5902 self, 5903 *, 5904 name: Optional[Union[str, "SnapshotStorageAccountTypes"]] = None, 5905 **kwargs 5906 ): 5907 super(SnapshotSku, self).__init__(**kwargs) 5908 self.name = name 5909 self.tier = None 5910 5911 5912class SnapshotUpdate(msrest.serialization.Model): 5913 """Snapshot update resource. 5914 5915 :param tags: A set of tags. Resource tags. 5916 :type tags: dict[str, str] 5917 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5918 :type sku: ~azure.mgmt.compute.v2019_07_01.models.SnapshotSku 5919 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 5920 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 5921 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 5922 indicates the size of the disk to create. If this field is present for updates or creation with 5923 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 5924 running VM, and can only increase the disk's size. 5925 :type disk_size_gb: int 5926 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 5927 Encryption, can contain multiple encryption settings per disk or snapshot. 5928 :type encryption_settings_collection: 5929 ~azure.mgmt.compute.v2019_07_01.models.EncryptionSettingsCollection 5930 :param encryption: Encryption property can be used to encrypt data at rest with customer 5931 managed keys or platform managed keys. 5932 :type encryption: ~azure.mgmt.compute.v2019_07_01.models.Encryption 5933 """ 5934 5935 _attribute_map = { 5936 'tags': {'key': 'tags', 'type': '{str}'}, 5937 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 5938 'os_type': {'key': 'properties.osType', 'type': 'str'}, 5939 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 5940 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 5941 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 5942 } 5943 5944 def __init__( 5945 self, 5946 *, 5947 tags: Optional[Dict[str, str]] = None, 5948 sku: Optional["SnapshotSku"] = None, 5949 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 5950 disk_size_gb: Optional[int] = None, 5951 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 5952 encryption: Optional["Encryption"] = None, 5953 **kwargs 5954 ): 5955 super(SnapshotUpdate, self).__init__(**kwargs) 5956 self.tags = tags 5957 self.sku = sku 5958 self.os_type = os_type 5959 self.disk_size_gb = disk_size_gb 5960 self.encryption_settings_collection = encryption_settings_collection 5961 self.encryption = encryption 5962 5963 5964class SourceVault(msrest.serialization.Model): 5965 """The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}. 5966 5967 :param id: Resource Id. 5968 :type id: str 5969 """ 5970 5971 _attribute_map = { 5972 'id': {'key': 'id', 'type': 'str'}, 5973 } 5974 5975 def __init__( 5976 self, 5977 *, 5978 id: Optional[str] = None, 5979 **kwargs 5980 ): 5981 super(SourceVault, self).__init__(**kwargs) 5982 self.id = id 5983 5984 5985class SshConfiguration(msrest.serialization.Model): 5986 """SSH configuration for Linux based VMs running on Azure. 5987 5988 :param public_keys: The list of SSH public keys used to authenticate with linux based VMs. 5989 :type public_keys: list[~azure.mgmt.compute.v2019_07_01.models.SshPublicKey] 5990 """ 5991 5992 _attribute_map = { 5993 'public_keys': {'key': 'publicKeys', 'type': '[SshPublicKey]'}, 5994 } 5995 5996 def __init__( 5997 self, 5998 *, 5999 public_keys: Optional[List["SshPublicKey"]] = None, 6000 **kwargs 6001 ): 6002 super(SshConfiguration, self).__init__(**kwargs) 6003 self.public_keys = public_keys 6004 6005 6006class SshPublicKey(msrest.serialization.Model): 6007 """Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. 6008 6009 :param path: Specifies the full path on the created VM where ssh public key is stored. If the 6010 file already exists, the specified key is appended to the file. Example: 6011 /home/user/.ssh/authorized_keys. 6012 :type path: str 6013 :param key_data: SSH public key certificate used to authenticate with the VM through ssh. The 6014 key needs to be at least 2048-bit and in ssh-rsa format. :code:`<br>`:code:`<br>` For creating 6015 ssh keys, see `Create SSH keys on Linux and Mac for Linux VMs in Azure 6016 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 6017 :type key_data: str 6018 """ 6019 6020 _attribute_map = { 6021 'path': {'key': 'path', 'type': 'str'}, 6022 'key_data': {'key': 'keyData', 'type': 'str'}, 6023 } 6024 6025 def __init__( 6026 self, 6027 *, 6028 path: Optional[str] = None, 6029 key_data: Optional[str] = None, 6030 **kwargs 6031 ): 6032 super(SshPublicKey, self).__init__(**kwargs) 6033 self.path = path 6034 self.key_data = key_data 6035 6036 6037class StorageProfile(msrest.serialization.Model): 6038 """Specifies the storage settings for the virtual machine disks. 6039 6040 :param image_reference: Specifies information about the image to use. You can specify 6041 information about platform images, marketplace images, or virtual machine images. This element 6042 is required when you want to use a platform image, marketplace image, or virtual machine image, 6043 but is not used in other creation operations. 6044 :type image_reference: ~azure.mgmt.compute.v2019_07_01.models.ImageReference 6045 :param os_disk: Specifies information about the operating system disk used by the virtual 6046 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 6047 for Azure virtual machines 6048 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6049 :type os_disk: ~azure.mgmt.compute.v2019_07_01.models.OSDisk 6050 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 6051 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 6052 for Azure virtual machines 6053 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6054 :type data_disks: list[~azure.mgmt.compute.v2019_07_01.models.DataDisk] 6055 """ 6056 6057 _attribute_map = { 6058 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 6059 'os_disk': {'key': 'osDisk', 'type': 'OSDisk'}, 6060 'data_disks': {'key': 'dataDisks', 'type': '[DataDisk]'}, 6061 } 6062 6063 def __init__( 6064 self, 6065 *, 6066 image_reference: Optional["ImageReference"] = None, 6067 os_disk: Optional["OSDisk"] = None, 6068 data_disks: Optional[List["DataDisk"]] = None, 6069 **kwargs 6070 ): 6071 super(StorageProfile, self).__init__(**kwargs) 6072 self.image_reference = image_reference 6073 self.os_disk = os_disk 6074 self.data_disks = data_disks 6075 6076 6077class SubResourceReadOnly(msrest.serialization.Model): 6078 """SubResourceReadOnly. 6079 6080 Variables are only populated by the server, and will be ignored when sending a request. 6081 6082 :ivar id: Resource Id. 6083 :vartype id: str 6084 """ 6085 6086 _validation = { 6087 'id': {'readonly': True}, 6088 } 6089 6090 _attribute_map = { 6091 'id': {'key': 'id', 'type': 'str'}, 6092 } 6093 6094 def __init__( 6095 self, 6096 **kwargs 6097 ): 6098 super(SubResourceReadOnly, self).__init__(**kwargs) 6099 self.id = None 6100 6101 6102class SubResourceWithColocationStatus(SubResource): 6103 """SubResourceWithColocationStatus. 6104 6105 :param id: Resource Id. 6106 :type id: str 6107 :param colocation_status: Describes colocation status of a resource in the Proximity Placement 6108 Group. 6109 :type colocation_status: ~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus 6110 """ 6111 6112 _attribute_map = { 6113 'id': {'key': 'id', 'type': 'str'}, 6114 'colocation_status': {'key': 'colocationStatus', 'type': 'InstanceViewStatus'}, 6115 } 6116 6117 def __init__( 6118 self, 6119 *, 6120 id: Optional[str] = None, 6121 colocation_status: Optional["InstanceViewStatus"] = None, 6122 **kwargs 6123 ): 6124 super(SubResourceWithColocationStatus, self).__init__(id=id, **kwargs) 6125 self.colocation_status = colocation_status 6126 6127 6128class TargetRegion(msrest.serialization.Model): 6129 """Describes the target region information. 6130 6131 All required parameters must be populated in order to send to Azure. 6132 6133 :param name: Required. The name of the region. 6134 :type name: str 6135 :param regional_replica_count: The number of replicas of the Image Version to be created per 6136 region. This property is updatable. 6137 :type regional_replica_count: int 6138 :param storage_account_type: Specifies the storage account type to be used to store the image. 6139 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 6140 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountType 6141 """ 6142 6143 _validation = { 6144 'name': {'required': True}, 6145 } 6146 6147 _attribute_map = { 6148 'name': {'key': 'name', 'type': 'str'}, 6149 'regional_replica_count': {'key': 'regionalReplicaCount', 'type': 'int'}, 6150 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 6151 } 6152 6153 def __init__( 6154 self, 6155 *, 6156 name: str, 6157 regional_replica_count: Optional[int] = None, 6158 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 6159 **kwargs 6160 ): 6161 super(TargetRegion, self).__init__(**kwargs) 6162 self.name = name 6163 self.regional_replica_count = regional_replica_count 6164 self.storage_account_type = storage_account_type 6165 6166 6167class TerminateNotificationProfile(msrest.serialization.Model): 6168 """TerminateNotificationProfile. 6169 6170 :param not_before_timeout: Configurable length of time a Virtual Machine being deleted will 6171 have to potentially approve the Terminate Scheduled Event before the event is auto approved 6172 (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 6173 minutes (PT5M). 6174 :type not_before_timeout: str 6175 :param enable: Specifies whether the Terminate Scheduled event is enabled or disabled. 6176 :type enable: bool 6177 """ 6178 6179 _attribute_map = { 6180 'not_before_timeout': {'key': 'notBeforeTimeout', 'type': 'str'}, 6181 'enable': {'key': 'enable', 'type': 'bool'}, 6182 } 6183 6184 def __init__( 6185 self, 6186 *, 6187 not_before_timeout: Optional[str] = None, 6188 enable: Optional[bool] = None, 6189 **kwargs 6190 ): 6191 super(TerminateNotificationProfile, self).__init__(**kwargs) 6192 self.not_before_timeout = not_before_timeout 6193 self.enable = enable 6194 6195 6196class ThrottledRequestsInput(LogAnalyticsInputBase): 6197 """Api request input for LogAnalytics getThrottledRequests Api. 6198 6199 All required parameters must be populated in order to send to Azure. 6200 6201 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 6202 LogAnalytics Api writes output logs to. 6203 :type blob_container_sas_uri: str 6204 :param from_time: Required. From time of the query. 6205 :type from_time: ~datetime.datetime 6206 :param to_time: Required. To time of the query. 6207 :type to_time: ~datetime.datetime 6208 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 6209 :type group_by_throttle_policy: bool 6210 :param group_by_operation_name: Group query result by Operation Name. 6211 :type group_by_operation_name: bool 6212 :param group_by_resource_name: Group query result by Resource Name. 6213 :type group_by_resource_name: bool 6214 """ 6215 6216 _validation = { 6217 'blob_container_sas_uri': {'required': True}, 6218 'from_time': {'required': True}, 6219 'to_time': {'required': True}, 6220 } 6221 6222 _attribute_map = { 6223 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 6224 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 6225 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 6226 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 6227 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 6228 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 6229 } 6230 6231 def __init__( 6232 self, 6233 *, 6234 blob_container_sas_uri: str, 6235 from_time: datetime.datetime, 6236 to_time: datetime.datetime, 6237 group_by_throttle_policy: Optional[bool] = None, 6238 group_by_operation_name: Optional[bool] = None, 6239 group_by_resource_name: Optional[bool] = None, 6240 **kwargs 6241 ): 6242 super(ThrottledRequestsInput, self).__init__(blob_container_sas_uri=blob_container_sas_uri, from_time=from_time, to_time=to_time, group_by_throttle_policy=group_by_throttle_policy, group_by_operation_name=group_by_operation_name, group_by_resource_name=group_by_resource_name, **kwargs) 6243 6244 6245class UpgradeOperationHistoricalStatusInfo(msrest.serialization.Model): 6246 """Virtual Machine Scale Set OS Upgrade History operation response. 6247 6248 Variables are only populated by the server, and will be ignored when sending a request. 6249 6250 :ivar properties: Information about the properties of the upgrade operation. 6251 :vartype properties: 6252 ~azure.mgmt.compute.v2019_07_01.models.UpgradeOperationHistoricalStatusInfoProperties 6253 :ivar type: Resource type. 6254 :vartype type: str 6255 :ivar location: Resource location. 6256 :vartype location: str 6257 """ 6258 6259 _validation = { 6260 'properties': {'readonly': True}, 6261 'type': {'readonly': True}, 6262 'location': {'readonly': True}, 6263 } 6264 6265 _attribute_map = { 6266 'properties': {'key': 'properties', 'type': 'UpgradeOperationHistoricalStatusInfoProperties'}, 6267 'type': {'key': 'type', 'type': 'str'}, 6268 'location': {'key': 'location', 'type': 'str'}, 6269 } 6270 6271 def __init__( 6272 self, 6273 **kwargs 6274 ): 6275 super(UpgradeOperationHistoricalStatusInfo, self).__init__(**kwargs) 6276 self.properties = None 6277 self.type = None 6278 self.location = None 6279 6280 6281class UpgradeOperationHistoricalStatusInfoProperties(msrest.serialization.Model): 6282 """Describes each OS upgrade on the Virtual Machine Scale Set. 6283 6284 Variables are only populated by the server, and will be ignored when sending a request. 6285 6286 :ivar running_status: Information about the overall status of the upgrade operation. 6287 :vartype running_status: ~azure.mgmt.compute.v2019_07_01.models.UpgradeOperationHistoryStatus 6288 :ivar progress: Counts of the VMs in each state. 6289 :vartype progress: ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradeProgressInfo 6290 :ivar error: Error Details for this upgrade if there are any. 6291 :vartype error: ~azure.mgmt.compute.v2019_07_01.models.ApiError 6292 :ivar started_by: Invoker of the Upgrade Operation. Possible values include: "Unknown", "User", 6293 "Platform". 6294 :vartype started_by: str or ~azure.mgmt.compute.v2019_07_01.models.UpgradeOperationInvoker 6295 :ivar target_image_reference: Image Reference details. 6296 :vartype target_image_reference: ~azure.mgmt.compute.v2019_07_01.models.ImageReference 6297 :ivar rollback_info: Information about OS rollback if performed. 6298 :vartype rollback_info: ~azure.mgmt.compute.v2019_07_01.models.RollbackStatusInfo 6299 """ 6300 6301 _validation = { 6302 'running_status': {'readonly': True}, 6303 'progress': {'readonly': True}, 6304 'error': {'readonly': True}, 6305 'started_by': {'readonly': True}, 6306 'target_image_reference': {'readonly': True}, 6307 'rollback_info': {'readonly': True}, 6308 } 6309 6310 _attribute_map = { 6311 'running_status': {'key': 'runningStatus', 'type': 'UpgradeOperationHistoryStatus'}, 6312 'progress': {'key': 'progress', 'type': 'RollingUpgradeProgressInfo'}, 6313 'error': {'key': 'error', 'type': 'ApiError'}, 6314 'started_by': {'key': 'startedBy', 'type': 'str'}, 6315 'target_image_reference': {'key': 'targetImageReference', 'type': 'ImageReference'}, 6316 'rollback_info': {'key': 'rollbackInfo', 'type': 'RollbackStatusInfo'}, 6317 } 6318 6319 def __init__( 6320 self, 6321 **kwargs 6322 ): 6323 super(UpgradeOperationHistoricalStatusInfoProperties, self).__init__(**kwargs) 6324 self.running_status = None 6325 self.progress = None 6326 self.error = None 6327 self.started_by = None 6328 self.target_image_reference = None 6329 self.rollback_info = None 6330 6331 6332class UpgradeOperationHistoryStatus(msrest.serialization.Model): 6333 """Information about the current running state of the overall upgrade. 6334 6335 Variables are only populated by the server, and will be ignored when sending a request. 6336 6337 :ivar code: Code indicating the current status of the upgrade. Possible values include: 6338 "RollingForward", "Cancelled", "Completed", "Faulted". 6339 :vartype code: str or ~azure.mgmt.compute.v2019_07_01.models.UpgradeState 6340 :ivar start_time: Start time of the upgrade. 6341 :vartype start_time: ~datetime.datetime 6342 :ivar end_time: End time of the upgrade. 6343 :vartype end_time: ~datetime.datetime 6344 """ 6345 6346 _validation = { 6347 'code': {'readonly': True}, 6348 'start_time': {'readonly': True}, 6349 'end_time': {'readonly': True}, 6350 } 6351 6352 _attribute_map = { 6353 'code': {'key': 'code', 'type': 'str'}, 6354 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 6355 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 6356 } 6357 6358 def __init__( 6359 self, 6360 **kwargs 6361 ): 6362 super(UpgradeOperationHistoryStatus, self).__init__(**kwargs) 6363 self.code = None 6364 self.start_time = None 6365 self.end_time = None 6366 6367 6368class UpgradePolicy(msrest.serialization.Model): 6369 """Describes an upgrade policy - automatic, manual, or rolling. 6370 6371 :param mode: Specifies the mode of an upgrade to virtual machines in the scale set.:code:`<br 6372 />`:code:`<br />` Possible values are::code:`<br />`:code:`<br />` **Manual** - You control 6373 the application of updates to virtual machines in the scale set. You do this by using the 6374 manualUpgrade action.:code:`<br />`:code:`<br />` **Automatic** - All virtual machines in the 6375 scale set are automatically updated at the same time. Possible values include: "Automatic", 6376 "Manual", "Rolling". 6377 :type mode: str or ~azure.mgmt.compute.v2019_07_01.models.UpgradeMode 6378 :param rolling_upgrade_policy: The configuration parameters used while performing a rolling 6379 upgrade. 6380 :type rolling_upgrade_policy: ~azure.mgmt.compute.v2019_07_01.models.RollingUpgradePolicy 6381 :param automatic_os_upgrade_policy: Configuration parameters used for performing automatic OS 6382 Upgrade. 6383 :type automatic_os_upgrade_policy: 6384 ~azure.mgmt.compute.v2019_07_01.models.AutomaticOSUpgradePolicy 6385 """ 6386 6387 _attribute_map = { 6388 'mode': {'key': 'mode', 'type': 'str'}, 6389 'rolling_upgrade_policy': {'key': 'rollingUpgradePolicy', 'type': 'RollingUpgradePolicy'}, 6390 'automatic_os_upgrade_policy': {'key': 'automaticOSUpgradePolicy', 'type': 'AutomaticOSUpgradePolicy'}, 6391 } 6392 6393 def __init__( 6394 self, 6395 *, 6396 mode: Optional[Union[str, "UpgradeMode"]] = None, 6397 rolling_upgrade_policy: Optional["RollingUpgradePolicy"] = None, 6398 automatic_os_upgrade_policy: Optional["AutomaticOSUpgradePolicy"] = None, 6399 **kwargs 6400 ): 6401 super(UpgradePolicy, self).__init__(**kwargs) 6402 self.mode = mode 6403 self.rolling_upgrade_policy = rolling_upgrade_policy 6404 self.automatic_os_upgrade_policy = automatic_os_upgrade_policy 6405 6406 6407class Usage(msrest.serialization.Model): 6408 """Describes Compute Resource Usage. 6409 6410 Variables are only populated by the server, and will be ignored when sending a request. 6411 6412 All required parameters must be populated in order to send to Azure. 6413 6414 :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". 6415 :vartype unit: str 6416 :param current_value: Required. The current usage of the resource. 6417 :type current_value: int 6418 :param limit: Required. The maximum permitted usage of the resource. 6419 :type limit: long 6420 :param name: Required. The name of the type of usage. 6421 :type name: ~azure.mgmt.compute.v2019_07_01.models.UsageName 6422 """ 6423 6424 _validation = { 6425 'unit': {'required': True, 'constant': True}, 6426 'current_value': {'required': True}, 6427 'limit': {'required': True}, 6428 'name': {'required': True}, 6429 } 6430 6431 _attribute_map = { 6432 'unit': {'key': 'unit', 'type': 'str'}, 6433 'current_value': {'key': 'currentValue', 'type': 'int'}, 6434 'limit': {'key': 'limit', 'type': 'long'}, 6435 'name': {'key': 'name', 'type': 'UsageName'}, 6436 } 6437 6438 unit = "Count" 6439 6440 def __init__( 6441 self, 6442 *, 6443 current_value: int, 6444 limit: int, 6445 name: "UsageName", 6446 **kwargs 6447 ): 6448 super(Usage, self).__init__(**kwargs) 6449 self.current_value = current_value 6450 self.limit = limit 6451 self.name = name 6452 6453 6454class UsageName(msrest.serialization.Model): 6455 """The Usage Names. 6456 6457 :param value: The name of the resource. 6458 :type value: str 6459 :param localized_value: The localized name of the resource. 6460 :type localized_value: str 6461 """ 6462 6463 _attribute_map = { 6464 'value': {'key': 'value', 'type': 'str'}, 6465 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 6466 } 6467 6468 def __init__( 6469 self, 6470 *, 6471 value: Optional[str] = None, 6472 localized_value: Optional[str] = None, 6473 **kwargs 6474 ): 6475 super(UsageName, self).__init__(**kwargs) 6476 self.value = value 6477 self.localized_value = localized_value 6478 6479 6480class UserArtifactManage(msrest.serialization.Model): 6481 """UserArtifactManage. 6482 6483 All required parameters must be populated in order to send to Azure. 6484 6485 :param install: Required. Required. The path and arguments to install the gallery application. 6486 This is limited to 4096 characters. 6487 :type install: str 6488 :param remove: Required. Required. The path and arguments to remove the gallery application. 6489 This is limited to 4096 characters. 6490 :type remove: str 6491 :param update: Optional. The path and arguments to update the gallery application. If not 6492 present, then update operation will invoke remove command on the previous version and install 6493 command on the current version of the gallery application. This is limited to 4096 characters. 6494 :type update: str 6495 """ 6496 6497 _validation = { 6498 'install': {'required': True}, 6499 'remove': {'required': True}, 6500 } 6501 6502 _attribute_map = { 6503 'install': {'key': 'install', 'type': 'str'}, 6504 'remove': {'key': 'remove', 'type': 'str'}, 6505 'update': {'key': 'update', 'type': 'str'}, 6506 } 6507 6508 def __init__( 6509 self, 6510 *, 6511 install: str, 6512 remove: str, 6513 update: Optional[str] = None, 6514 **kwargs 6515 ): 6516 super(UserArtifactManage, self).__init__(**kwargs) 6517 self.install = install 6518 self.remove = remove 6519 self.update = update 6520 6521 6522class UserArtifactSource(msrest.serialization.Model): 6523 """The source image from which the Image Version is going to be created. 6524 6525 All required parameters must be populated in order to send to Azure. 6526 6527 :param media_link: Required. Required. The mediaLink of the artifact, must be a readable 6528 storage page blob. 6529 :type media_link: str 6530 :param default_configuration_link: Optional. The defaultConfigurationLink of the artifact, must 6531 be a readable storage page blob. 6532 :type default_configuration_link: str 6533 """ 6534 6535 _validation = { 6536 'media_link': {'required': True}, 6537 } 6538 6539 _attribute_map = { 6540 'media_link': {'key': 'mediaLink', 'type': 'str'}, 6541 'default_configuration_link': {'key': 'defaultConfigurationLink', 'type': 'str'}, 6542 } 6543 6544 def __init__( 6545 self, 6546 *, 6547 media_link: str, 6548 default_configuration_link: Optional[str] = None, 6549 **kwargs 6550 ): 6551 super(UserArtifactSource, self).__init__(**kwargs) 6552 self.media_link = media_link 6553 self.default_configuration_link = default_configuration_link 6554 6555 6556class UserAssignedIdentitiesValue(msrest.serialization.Model): 6557 """UserAssignedIdentitiesValue. 6558 6559 Variables are only populated by the server, and will be ignored when sending a request. 6560 6561 :ivar principal_id: The principal id of user assigned identity. 6562 :vartype principal_id: str 6563 :ivar client_id: The client id of user assigned identity. 6564 :vartype client_id: str 6565 """ 6566 6567 _validation = { 6568 'principal_id': {'readonly': True}, 6569 'client_id': {'readonly': True}, 6570 } 6571 6572 _attribute_map = { 6573 'principal_id': {'key': 'principalId', 'type': 'str'}, 6574 'client_id': {'key': 'clientId', 'type': 'str'}, 6575 } 6576 6577 def __init__( 6578 self, 6579 **kwargs 6580 ): 6581 super(UserAssignedIdentitiesValue, self).__init__(**kwargs) 6582 self.principal_id = None 6583 self.client_id = None 6584 6585 6586class VaultCertificate(msrest.serialization.Model): 6587 """Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. 6588 6589 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 6590 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 6591 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 6592 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 6593 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 6594 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 6595 "password":":code:`<pfx-file-password>`":code:`<br>`}. 6596 :type certificate_url: str 6597 :param certificate_store: For Windows VMs, specifies the certificate store on the Virtual 6598 Machine to which the certificate should be added. The specified certificate store is implicitly 6599 in the LocalMachine account. :code:`<br>`:code:`<br>`For Linux VMs, the certificate file is 6600 placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt 6601 for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of 6602 these files are .pem formatted. 6603 :type certificate_store: str 6604 """ 6605 6606 _attribute_map = { 6607 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 6608 'certificate_store': {'key': 'certificateStore', 'type': 'str'}, 6609 } 6610 6611 def __init__( 6612 self, 6613 *, 6614 certificate_url: Optional[str] = None, 6615 certificate_store: Optional[str] = None, 6616 **kwargs 6617 ): 6618 super(VaultCertificate, self).__init__(**kwargs) 6619 self.certificate_url = certificate_url 6620 self.certificate_store = certificate_store 6621 6622 6623class VaultSecretGroup(msrest.serialization.Model): 6624 """Describes a set of certificates which are all in the same Key Vault. 6625 6626 :param source_vault: The relative URL of the Key Vault containing all of the certificates in 6627 VaultCertificates. 6628 :type source_vault: ~azure.mgmt.compute.v2019_07_01.models.SubResource 6629 :param vault_certificates: The list of key vault references in SourceVault which contain 6630 certificates. 6631 :type vault_certificates: list[~azure.mgmt.compute.v2019_07_01.models.VaultCertificate] 6632 """ 6633 6634 _attribute_map = { 6635 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 6636 'vault_certificates': {'key': 'vaultCertificates', 'type': '[VaultCertificate]'}, 6637 } 6638 6639 def __init__( 6640 self, 6641 *, 6642 source_vault: Optional["SubResource"] = None, 6643 vault_certificates: Optional[List["VaultCertificate"]] = None, 6644 **kwargs 6645 ): 6646 super(VaultSecretGroup, self).__init__(**kwargs) 6647 self.source_vault = source_vault 6648 self.vault_certificates = vault_certificates 6649 6650 6651class VirtualHardDisk(msrest.serialization.Model): 6652 """Describes the uri of a disk. 6653 6654 :param uri: Specifies the virtual hard disk's uri. 6655 :type uri: str 6656 """ 6657 6658 _attribute_map = { 6659 'uri': {'key': 'uri', 'type': 'str'}, 6660 } 6661 6662 def __init__( 6663 self, 6664 *, 6665 uri: Optional[str] = None, 6666 **kwargs 6667 ): 6668 super(VirtualHardDisk, self).__init__(**kwargs) 6669 self.uri = uri 6670 6671 6672class VirtualMachine(Resource): 6673 """Describes a Virtual Machine. 6674 6675 Variables are only populated by the server, and will be ignored when sending a request. 6676 6677 All required parameters must be populated in order to send to Azure. 6678 6679 :ivar id: Resource Id. 6680 :vartype id: str 6681 :ivar name: Resource name. 6682 :vartype name: str 6683 :ivar type: Resource type. 6684 :vartype type: str 6685 :param location: Required. Resource location. 6686 :type location: str 6687 :param tags: A set of tags. Resource tags. 6688 :type tags: dict[str, str] 6689 :param plan: Specifies information about the marketplace image used to create the virtual 6690 machine. This element is only used for marketplace images. Before you can use a marketplace 6691 image from an API, you must enable the image for programmatic use. In the Azure portal, find 6692 the marketplace image that you want to use and then click **Want to deploy programmatically, 6693 Get Started ->**. Enter any required information and then click **Save**. 6694 :type plan: ~azure.mgmt.compute.v2019_07_01.models.Plan 6695 :ivar resources: The virtual machine child extension resources. 6696 :vartype resources: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtension] 6697 :param identity: The identity of the virtual machine, if configured. 6698 :type identity: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineIdentity 6699 :param zones: The virtual machine zones. 6700 :type zones: list[str] 6701 :param hardware_profile: Specifies the hardware settings for the virtual machine. 6702 :type hardware_profile: ~azure.mgmt.compute.v2019_07_01.models.HardwareProfile 6703 :param storage_profile: Specifies the storage settings for the virtual machine disks. 6704 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.StorageProfile 6705 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 6706 virtual machine. 6707 :type additional_capabilities: ~azure.mgmt.compute.v2019_07_01.models.AdditionalCapabilities 6708 :param os_profile: Specifies the operating system settings used while creating the virtual 6709 machine. Some of the settings cannot be changed once VM is provisioned. 6710 :type os_profile: ~azure.mgmt.compute.v2019_07_01.models.OSProfile 6711 :param network_profile: Specifies the network interfaces of the virtual machine. 6712 :type network_profile: ~azure.mgmt.compute.v2019_07_01.models.NetworkProfile 6713 :param diagnostics_profile: Specifies the boot diagnostic settings state. 6714 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 6715 :type diagnostics_profile: ~azure.mgmt.compute.v2019_07_01.models.DiagnosticsProfile 6716 :param availability_set: Specifies information about the availability set that the virtual 6717 machine should be assigned to. Virtual machines specified in the same availability set are 6718 allocated to different nodes to maximize availability. For more information about availability 6719 sets, see `Manage the availability of virtual machines 6720 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6721 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 6722 maintenance for virtual machines in Azure 6723 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6724 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 6725 time. The availability set to which the VM is being added should be under the same resource 6726 group as the availability set resource. An existing VM cannot be added to an availability set. 6727 :code:`<br>`:code:`<br>`This property cannot exist along with a non-null 6728 properties.virtualMachineScaleSet reference. 6729 :type availability_set: ~azure.mgmt.compute.v2019_07_01.models.SubResource 6730 :param virtual_machine_scale_set: Specifies information about the virtual machine scale set 6731 that the virtual machine should be assigned to. Virtual machines specified in the same virtual 6732 machine scale set are allocated to different nodes to maximize availability. Currently, a VM 6733 can only be added to virtual machine scale set at creation time. An existing VM cannot be added 6734 to a virtual machine scale set. :code:`<br>`:code:`<br>`This property cannot exist along with a 6735 non-null properties.availabilitySet reference. :code:`<br>`:code:`<br>`Minimum api‐version: 6736 2019‐03‐01. 6737 :type virtual_machine_scale_set: ~azure.mgmt.compute.v2019_07_01.models.SubResource 6738 :param proximity_placement_group: Specifies information about the proximity placement group 6739 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 6740 2018-04-01. 6741 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 6742 :param priority: Specifies the priority for the virtual machine. 6743 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. Possible values include: "Regular", 6744 "Low", "Spot". 6745 :type priority: str or ~azure.mgmt.compute.v2019_07_01.models.VirtualMachinePriorityTypes 6746 :param eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and 6747 Azure Spot scale set. :code:`<br>`:code:`<br>`For Azure Spot virtual machines, the only 6748 supported value is 'Deallocate' and the minimum api-version is 2019-03-01. 6749 :code:`<br>`:code:`<br>`For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported 6750 and the minimum api-version is 2017-10-30-preview. Possible values include: "Deallocate", 6751 "Delete". 6752 :type eviction_policy: str or 6753 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineEvictionPolicyTypes 6754 :param billing_profile: Specifies the billing related details of a Azure Spot virtual machine. 6755 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 6756 :type billing_profile: ~azure.mgmt.compute.v2019_07_01.models.BillingProfile 6757 :param host: Specifies information about the dedicated host that the virtual machine resides 6758 in. :code:`<br>`:code:`<br>`Minimum api-version: 2018-10-01. 6759 :type host: ~azure.mgmt.compute.v2019_07_01.models.SubResource 6760 :ivar provisioning_state: The provisioning state, which only appears in the response. 6761 :vartype provisioning_state: str 6762 :ivar instance_view: The virtual machine instance view. 6763 :vartype instance_view: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineInstanceView 6764 :param license_type: Specifies that the image or disk that is being used was licensed 6765 on-premises. This element is only used for images that contain the Windows Server operating 6766 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 6767 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 6768 a request for an update, the value must match the initial value. This value cannot be updated. 6769 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 6770 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6771 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 6772 :type license_type: str 6773 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 6774 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 6775 :vartype vm_id: str 6776 """ 6777 6778 _validation = { 6779 'id': {'readonly': True}, 6780 'name': {'readonly': True}, 6781 'type': {'readonly': True}, 6782 'location': {'required': True}, 6783 'resources': {'readonly': True}, 6784 'provisioning_state': {'readonly': True}, 6785 'instance_view': {'readonly': True}, 6786 'vm_id': {'readonly': True}, 6787 } 6788 6789 _attribute_map = { 6790 'id': {'key': 'id', 'type': 'str'}, 6791 'name': {'key': 'name', 'type': 'str'}, 6792 'type': {'key': 'type', 'type': 'str'}, 6793 'location': {'key': 'location', 'type': 'str'}, 6794 'tags': {'key': 'tags', 'type': '{str}'}, 6795 'plan': {'key': 'plan', 'type': 'Plan'}, 6796 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 6797 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 6798 'zones': {'key': 'zones', 'type': '[str]'}, 6799 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 6800 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 6801 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 6802 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 6803 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 6804 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6805 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 6806 'virtual_machine_scale_set': {'key': 'properties.virtualMachineScaleSet', 'type': 'SubResource'}, 6807 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 6808 'priority': {'key': 'properties.priority', 'type': 'str'}, 6809 'eviction_policy': {'key': 'properties.evictionPolicy', 'type': 'str'}, 6810 'billing_profile': {'key': 'properties.billingProfile', 'type': 'BillingProfile'}, 6811 'host': {'key': 'properties.host', 'type': 'SubResource'}, 6812 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6813 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 6814 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 6815 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 6816 } 6817 6818 def __init__( 6819 self, 6820 *, 6821 location: str, 6822 tags: Optional[Dict[str, str]] = None, 6823 plan: Optional["Plan"] = None, 6824 identity: Optional["VirtualMachineIdentity"] = None, 6825 zones: Optional[List[str]] = None, 6826 hardware_profile: Optional["HardwareProfile"] = None, 6827 storage_profile: Optional["StorageProfile"] = None, 6828 additional_capabilities: Optional["AdditionalCapabilities"] = None, 6829 os_profile: Optional["OSProfile"] = None, 6830 network_profile: Optional["NetworkProfile"] = None, 6831 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6832 availability_set: Optional["SubResource"] = None, 6833 virtual_machine_scale_set: Optional["SubResource"] = None, 6834 proximity_placement_group: Optional["SubResource"] = None, 6835 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 6836 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 6837 billing_profile: Optional["BillingProfile"] = None, 6838 host: Optional["SubResource"] = None, 6839 license_type: Optional[str] = None, 6840 **kwargs 6841 ): 6842 super(VirtualMachine, self).__init__(location=location, tags=tags, **kwargs) 6843 self.plan = plan 6844 self.resources = None 6845 self.identity = identity 6846 self.zones = zones 6847 self.hardware_profile = hardware_profile 6848 self.storage_profile = storage_profile 6849 self.additional_capabilities = additional_capabilities 6850 self.os_profile = os_profile 6851 self.network_profile = network_profile 6852 self.diagnostics_profile = diagnostics_profile 6853 self.availability_set = availability_set 6854 self.virtual_machine_scale_set = virtual_machine_scale_set 6855 self.proximity_placement_group = proximity_placement_group 6856 self.priority = priority 6857 self.eviction_policy = eviction_policy 6858 self.billing_profile = billing_profile 6859 self.host = host 6860 self.provisioning_state = None 6861 self.instance_view = None 6862 self.license_type = license_type 6863 self.vm_id = None 6864 6865 6866class VirtualMachineAgentInstanceView(msrest.serialization.Model): 6867 """The instance view of the VM Agent running on the virtual machine. 6868 6869 :param vm_agent_version: The VM Agent full version. 6870 :type vm_agent_version: str 6871 :param extension_handlers: The virtual machine extension handler instance view. 6872 :type extension_handlers: 6873 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtensionHandlerInstanceView] 6874 :param statuses: The resource status information. 6875 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 6876 """ 6877 6878 _attribute_map = { 6879 'vm_agent_version': {'key': 'vmAgentVersion', 'type': 'str'}, 6880 'extension_handlers': {'key': 'extensionHandlers', 'type': '[VirtualMachineExtensionHandlerInstanceView]'}, 6881 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 6882 } 6883 6884 def __init__( 6885 self, 6886 *, 6887 vm_agent_version: Optional[str] = None, 6888 extension_handlers: Optional[List["VirtualMachineExtensionHandlerInstanceView"]] = None, 6889 statuses: Optional[List["InstanceViewStatus"]] = None, 6890 **kwargs 6891 ): 6892 super(VirtualMachineAgentInstanceView, self).__init__(**kwargs) 6893 self.vm_agent_version = vm_agent_version 6894 self.extension_handlers = extension_handlers 6895 self.statuses = statuses 6896 6897 6898class VirtualMachineCaptureParameters(msrest.serialization.Model): 6899 """Capture Virtual Machine parameters. 6900 6901 All required parameters must be populated in order to send to Azure. 6902 6903 :param vhd_prefix: Required. The captured virtual hard disk's name prefix. 6904 :type vhd_prefix: str 6905 :param destination_container_name: Required. The destination container name. 6906 :type destination_container_name: str 6907 :param overwrite_vhds: Required. Specifies whether to overwrite the destination virtual hard 6908 disk, in case of conflict. 6909 :type overwrite_vhds: bool 6910 """ 6911 6912 _validation = { 6913 'vhd_prefix': {'required': True}, 6914 'destination_container_name': {'required': True}, 6915 'overwrite_vhds': {'required': True}, 6916 } 6917 6918 _attribute_map = { 6919 'vhd_prefix': {'key': 'vhdPrefix', 'type': 'str'}, 6920 'destination_container_name': {'key': 'destinationContainerName', 'type': 'str'}, 6921 'overwrite_vhds': {'key': 'overwriteVhds', 'type': 'bool'}, 6922 } 6923 6924 def __init__( 6925 self, 6926 *, 6927 vhd_prefix: str, 6928 destination_container_name: str, 6929 overwrite_vhds: bool, 6930 **kwargs 6931 ): 6932 super(VirtualMachineCaptureParameters, self).__init__(**kwargs) 6933 self.vhd_prefix = vhd_prefix 6934 self.destination_container_name = destination_container_name 6935 self.overwrite_vhds = overwrite_vhds 6936 6937 6938class VirtualMachineCaptureResult(SubResource): 6939 """Output of virtual machine capture operation. 6940 6941 Variables are only populated by the server, and will be ignored when sending a request. 6942 6943 :param id: Resource Id. 6944 :type id: str 6945 :ivar schema: the schema of the captured virtual machine. 6946 :vartype schema: str 6947 :ivar content_version: the version of the content. 6948 :vartype content_version: str 6949 :ivar parameters: parameters of the captured virtual machine. 6950 :vartype parameters: any 6951 :ivar resources: a list of resource items of the captured virtual machine. 6952 :vartype resources: list[any] 6953 """ 6954 6955 _validation = { 6956 'schema': {'readonly': True}, 6957 'content_version': {'readonly': True}, 6958 'parameters': {'readonly': True}, 6959 'resources': {'readonly': True}, 6960 } 6961 6962 _attribute_map = { 6963 'id': {'key': 'id', 'type': 'str'}, 6964 'schema': {'key': '$schema', 'type': 'str'}, 6965 'content_version': {'key': 'contentVersion', 'type': 'str'}, 6966 'parameters': {'key': 'parameters', 'type': 'object'}, 6967 'resources': {'key': 'resources', 'type': '[object]'}, 6968 } 6969 6970 def __init__( 6971 self, 6972 *, 6973 id: Optional[str] = None, 6974 **kwargs 6975 ): 6976 super(VirtualMachineCaptureResult, self).__init__(id=id, **kwargs) 6977 self.schema = None 6978 self.content_version = None 6979 self.parameters = None 6980 self.resources = None 6981 6982 6983class VirtualMachineExtension(Resource): 6984 """Describes a Virtual Machine Extension. 6985 6986 Variables are only populated by the server, and will be ignored when sending a request. 6987 6988 All required parameters must be populated in order to send to Azure. 6989 6990 :ivar id: Resource Id. 6991 :vartype id: str 6992 :ivar name: Resource name. 6993 :vartype name: str 6994 :ivar type: Resource type. 6995 :vartype type: str 6996 :param location: Required. Resource location. 6997 :type location: str 6998 :param tags: A set of tags. Resource tags. 6999 :type tags: dict[str, str] 7000 :param force_update_tag: How the extension handler should be forced to update even if the 7001 extension configuration has not changed. 7002 :type force_update_tag: str 7003 :param publisher: The name of the extension handler publisher. 7004 :type publisher: str 7005 :param type_properties_type: Specifies the type of the extension; an example is 7006 "CustomScriptExtension". 7007 :type type_properties_type: str 7008 :param type_handler_version: Specifies the version of the script handler. 7009 :type type_handler_version: str 7010 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 7011 version if one is available at deployment time. Once deployed, however, the extension will not 7012 upgrade minor versions unless redeployed, even with this property set to true. 7013 :type auto_upgrade_minor_version: bool 7014 :param settings: Json formatted public settings for the extension. 7015 :type settings: any 7016 :param protected_settings: The extension can contain either protectedSettings or 7017 protectedSettingsFromKeyVault or no protected settings at all. 7018 :type protected_settings: any 7019 :ivar provisioning_state: The provisioning state, which only appears in the response. 7020 :vartype provisioning_state: str 7021 :param instance_view: The virtual machine extension instance view. 7022 :type instance_view: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtensionInstanceView 7023 """ 7024 7025 _validation = { 7026 'id': {'readonly': True}, 7027 'name': {'readonly': True}, 7028 'type': {'readonly': True}, 7029 'location': {'required': True}, 7030 'provisioning_state': {'readonly': True}, 7031 } 7032 7033 _attribute_map = { 7034 'id': {'key': 'id', 'type': 'str'}, 7035 'name': {'key': 'name', 'type': 'str'}, 7036 'type': {'key': 'type', 'type': 'str'}, 7037 'location': {'key': 'location', 'type': 'str'}, 7038 'tags': {'key': 'tags', 'type': '{str}'}, 7039 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 7040 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 7041 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 7042 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 7043 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 7044 'settings': {'key': 'properties.settings', 'type': 'object'}, 7045 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 7046 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7047 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineExtensionInstanceView'}, 7048 } 7049 7050 def __init__( 7051 self, 7052 *, 7053 location: str, 7054 tags: Optional[Dict[str, str]] = None, 7055 force_update_tag: Optional[str] = None, 7056 publisher: Optional[str] = None, 7057 type_properties_type: Optional[str] = None, 7058 type_handler_version: Optional[str] = None, 7059 auto_upgrade_minor_version: Optional[bool] = None, 7060 settings: Optional[Any] = None, 7061 protected_settings: Optional[Any] = None, 7062 instance_view: Optional["VirtualMachineExtensionInstanceView"] = None, 7063 **kwargs 7064 ): 7065 super(VirtualMachineExtension, self).__init__(location=location, tags=tags, **kwargs) 7066 self.force_update_tag = force_update_tag 7067 self.publisher = publisher 7068 self.type_properties_type = type_properties_type 7069 self.type_handler_version = type_handler_version 7070 self.auto_upgrade_minor_version = auto_upgrade_minor_version 7071 self.settings = settings 7072 self.protected_settings = protected_settings 7073 self.provisioning_state = None 7074 self.instance_view = instance_view 7075 7076 7077class VirtualMachineExtensionHandlerInstanceView(msrest.serialization.Model): 7078 """The instance view of a virtual machine extension handler. 7079 7080 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 7081 :type type: str 7082 :param type_handler_version: Specifies the version of the script handler. 7083 :type type_handler_version: str 7084 :param status: The extension handler status. 7085 :type status: ~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus 7086 """ 7087 7088 _attribute_map = { 7089 'type': {'key': 'type', 'type': 'str'}, 7090 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 7091 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 7092 } 7093 7094 def __init__( 7095 self, 7096 *, 7097 type: Optional[str] = None, 7098 type_handler_version: Optional[str] = None, 7099 status: Optional["InstanceViewStatus"] = None, 7100 **kwargs 7101 ): 7102 super(VirtualMachineExtensionHandlerInstanceView, self).__init__(**kwargs) 7103 self.type = type 7104 self.type_handler_version = type_handler_version 7105 self.status = status 7106 7107 7108class VirtualMachineExtensionImage(Resource): 7109 """Describes a Virtual Machine Extension Image. 7110 7111 Variables are only populated by the server, and will be ignored when sending a request. 7112 7113 All required parameters must be populated in order to send to Azure. 7114 7115 :ivar id: Resource Id. 7116 :vartype id: str 7117 :ivar name: Resource name. 7118 :vartype name: str 7119 :ivar type: Resource type. 7120 :vartype type: str 7121 :param location: Required. Resource location. 7122 :type location: str 7123 :param tags: A set of tags. Resource tags. 7124 :type tags: dict[str, str] 7125 :param operating_system: The operating system this extension supports. 7126 :type operating_system: str 7127 :param compute_role: The type of role (IaaS or PaaS) this extension supports. 7128 :type compute_role: str 7129 :param handler_schema: The schema defined by publisher, where extension consumers should 7130 provide settings in a matching schema. 7131 :type handler_schema: str 7132 :param vm_scale_set_enabled: Whether the extension can be used on xRP VMScaleSets. By default 7133 existing extensions are usable on scalesets, but there might be cases where a publisher wants 7134 to explicitly indicate the extension is only enabled for CRP VMs but not VMSS. 7135 :type vm_scale_set_enabled: bool 7136 :param supports_multiple_extensions: Whether the handler can support multiple extensions. 7137 :type supports_multiple_extensions: bool 7138 """ 7139 7140 _validation = { 7141 'id': {'readonly': True}, 7142 'name': {'readonly': True}, 7143 'type': {'readonly': True}, 7144 'location': {'required': True}, 7145 } 7146 7147 _attribute_map = { 7148 'id': {'key': 'id', 'type': 'str'}, 7149 'name': {'key': 'name', 'type': 'str'}, 7150 'type': {'key': 'type', 'type': 'str'}, 7151 'location': {'key': 'location', 'type': 'str'}, 7152 'tags': {'key': 'tags', 'type': '{str}'}, 7153 'operating_system': {'key': 'properties.operatingSystem', 'type': 'str'}, 7154 'compute_role': {'key': 'properties.computeRole', 'type': 'str'}, 7155 'handler_schema': {'key': 'properties.handlerSchema', 'type': 'str'}, 7156 'vm_scale_set_enabled': {'key': 'properties.vmScaleSetEnabled', 'type': 'bool'}, 7157 'supports_multiple_extensions': {'key': 'properties.supportsMultipleExtensions', 'type': 'bool'}, 7158 } 7159 7160 def __init__( 7161 self, 7162 *, 7163 location: str, 7164 tags: Optional[Dict[str, str]] = None, 7165 operating_system: Optional[str] = None, 7166 compute_role: Optional[str] = None, 7167 handler_schema: Optional[str] = None, 7168 vm_scale_set_enabled: Optional[bool] = None, 7169 supports_multiple_extensions: Optional[bool] = None, 7170 **kwargs 7171 ): 7172 super(VirtualMachineExtensionImage, self).__init__(location=location, tags=tags, **kwargs) 7173 self.operating_system = operating_system 7174 self.compute_role = compute_role 7175 self.handler_schema = handler_schema 7176 self.vm_scale_set_enabled = vm_scale_set_enabled 7177 self.supports_multiple_extensions = supports_multiple_extensions 7178 7179 7180class VirtualMachineExtensionInstanceView(msrest.serialization.Model): 7181 """The instance view of a virtual machine extension. 7182 7183 :param name: The virtual machine extension name. 7184 :type name: str 7185 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 7186 :type type: str 7187 :param type_handler_version: Specifies the version of the script handler. 7188 :type type_handler_version: str 7189 :param substatuses: The resource status information. 7190 :type substatuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 7191 :param statuses: The resource status information. 7192 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 7193 """ 7194 7195 _attribute_map = { 7196 'name': {'key': 'name', 'type': 'str'}, 7197 'type': {'key': 'type', 'type': 'str'}, 7198 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 7199 'substatuses': {'key': 'substatuses', 'type': '[InstanceViewStatus]'}, 7200 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 7201 } 7202 7203 def __init__( 7204 self, 7205 *, 7206 name: Optional[str] = None, 7207 type: Optional[str] = None, 7208 type_handler_version: Optional[str] = None, 7209 substatuses: Optional[List["InstanceViewStatus"]] = None, 7210 statuses: Optional[List["InstanceViewStatus"]] = None, 7211 **kwargs 7212 ): 7213 super(VirtualMachineExtensionInstanceView, self).__init__(**kwargs) 7214 self.name = name 7215 self.type = type 7216 self.type_handler_version = type_handler_version 7217 self.substatuses = substatuses 7218 self.statuses = statuses 7219 7220 7221class VirtualMachineExtensionsListResult(msrest.serialization.Model): 7222 """The List Extension operation response. 7223 7224 :param value: The list of extensions. 7225 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtension] 7226 """ 7227 7228 _attribute_map = { 7229 'value': {'key': 'value', 'type': '[VirtualMachineExtension]'}, 7230 } 7231 7232 def __init__( 7233 self, 7234 *, 7235 value: Optional[List["VirtualMachineExtension"]] = None, 7236 **kwargs 7237 ): 7238 super(VirtualMachineExtensionsListResult, self).__init__(**kwargs) 7239 self.value = value 7240 7241 7242class VirtualMachineExtensionUpdate(UpdateResource): 7243 """Describes a Virtual Machine Extension. 7244 7245 :param tags: A set of tags. Resource tags. 7246 :type tags: dict[str, str] 7247 :param force_update_tag: How the extension handler should be forced to update even if the 7248 extension configuration has not changed. 7249 :type force_update_tag: str 7250 :param publisher: The name of the extension handler publisher. 7251 :type publisher: str 7252 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 7253 :type type: str 7254 :param type_handler_version: Specifies the version of the script handler. 7255 :type type_handler_version: str 7256 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 7257 version if one is available at deployment time. Once deployed, however, the extension will not 7258 upgrade minor versions unless redeployed, even with this property set to true. 7259 :type auto_upgrade_minor_version: bool 7260 :param settings: Json formatted public settings for the extension. 7261 :type settings: any 7262 :param protected_settings: The extension can contain either protectedSettings or 7263 protectedSettingsFromKeyVault or no protected settings at all. 7264 :type protected_settings: any 7265 """ 7266 7267 _attribute_map = { 7268 'tags': {'key': 'tags', 'type': '{str}'}, 7269 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 7270 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 7271 'type': {'key': 'properties.type', 'type': 'str'}, 7272 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 7273 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 7274 'settings': {'key': 'properties.settings', 'type': 'object'}, 7275 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 7276 } 7277 7278 def __init__( 7279 self, 7280 *, 7281 tags: Optional[Dict[str, str]] = None, 7282 force_update_tag: Optional[str] = None, 7283 publisher: Optional[str] = None, 7284 type: Optional[str] = None, 7285 type_handler_version: Optional[str] = None, 7286 auto_upgrade_minor_version: Optional[bool] = None, 7287 settings: Optional[Any] = None, 7288 protected_settings: Optional[Any] = None, 7289 **kwargs 7290 ): 7291 super(VirtualMachineExtensionUpdate, self).__init__(tags=tags, **kwargs) 7292 self.force_update_tag = force_update_tag 7293 self.publisher = publisher 7294 self.type = type 7295 self.type_handler_version = type_handler_version 7296 self.auto_upgrade_minor_version = auto_upgrade_minor_version 7297 self.settings = settings 7298 self.protected_settings = protected_settings 7299 7300 7301class VirtualMachineHealthStatus(msrest.serialization.Model): 7302 """The health status of the VM. 7303 7304 Variables are only populated by the server, and will be ignored when sending a request. 7305 7306 :ivar status: The health status information for the VM. 7307 :vartype status: ~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus 7308 """ 7309 7310 _validation = { 7311 'status': {'readonly': True}, 7312 } 7313 7314 _attribute_map = { 7315 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 7316 } 7317 7318 def __init__( 7319 self, 7320 **kwargs 7321 ): 7322 super(VirtualMachineHealthStatus, self).__init__(**kwargs) 7323 self.status = None 7324 7325 7326class VirtualMachineIdentity(msrest.serialization.Model): 7327 """Identity for the virtual machine. 7328 7329 Variables are only populated by the server, and will be ignored when sending a request. 7330 7331 :ivar principal_id: The principal id of virtual machine identity. This property will only be 7332 provided for a system assigned identity. 7333 :vartype principal_id: str 7334 :ivar tenant_id: The tenant id associated with the virtual machine. This property will only be 7335 provided for a system assigned identity. 7336 :vartype tenant_id: str 7337 :param type: The type of identity used for the virtual machine. The type 'SystemAssigned, 7338 UserAssigned' includes both an implicitly created identity and a set of user assigned 7339 identities. The type 'None' will remove any identities from the virtual machine. Possible 7340 values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 7341 :type type: str or ~azure.mgmt.compute.v2019_07_01.models.ResourceIdentityType 7342 :param user_assigned_identities: The list of user identities associated with the Virtual 7343 Machine. The user identity dictionary key references will be ARM resource ids in the form: 7344 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 7345 :type user_assigned_identities: dict[str, 7346 ~azure.mgmt.compute.v2019_07_01.models.UserAssignedIdentitiesValue] 7347 """ 7348 7349 _validation = { 7350 'principal_id': {'readonly': True}, 7351 'tenant_id': {'readonly': True}, 7352 } 7353 7354 _attribute_map = { 7355 'principal_id': {'key': 'principalId', 'type': 'str'}, 7356 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 7357 'type': {'key': 'type', 'type': 'str'}, 7358 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentitiesValue}'}, 7359 } 7360 7361 def __init__( 7362 self, 7363 *, 7364 type: Optional[Union[str, "ResourceIdentityType"]] = None, 7365 user_assigned_identities: Optional[Dict[str, "UserAssignedIdentitiesValue"]] = None, 7366 **kwargs 7367 ): 7368 super(VirtualMachineIdentity, self).__init__(**kwargs) 7369 self.principal_id = None 7370 self.tenant_id = None 7371 self.type = type 7372 self.user_assigned_identities = user_assigned_identities 7373 7374 7375class VirtualMachineImageResource(SubResource): 7376 """Virtual machine image resource information. 7377 7378 All required parameters must be populated in order to send to Azure. 7379 7380 :param id: Resource Id. 7381 :type id: str 7382 :param name: Required. The name of the resource. 7383 :type name: str 7384 :param location: Required. The supported Azure location of the resource. 7385 :type location: str 7386 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 7387 more information about using tags, see `Using tags to organize your Azure resources 7388 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 7389 :type tags: dict[str, str] 7390 """ 7391 7392 _validation = { 7393 'name': {'required': True}, 7394 'location': {'required': True}, 7395 } 7396 7397 _attribute_map = { 7398 'id': {'key': 'id', 'type': 'str'}, 7399 'name': {'key': 'name', 'type': 'str'}, 7400 'location': {'key': 'location', 'type': 'str'}, 7401 'tags': {'key': 'tags', 'type': '{str}'}, 7402 } 7403 7404 def __init__( 7405 self, 7406 *, 7407 name: str, 7408 location: str, 7409 id: Optional[str] = None, 7410 tags: Optional[Dict[str, str]] = None, 7411 **kwargs 7412 ): 7413 super(VirtualMachineImageResource, self).__init__(id=id, **kwargs) 7414 self.name = name 7415 self.location = location 7416 self.tags = tags 7417 7418 7419class VirtualMachineImage(VirtualMachineImageResource): 7420 """Describes a Virtual Machine Image. 7421 7422 All required parameters must be populated in order to send to Azure. 7423 7424 :param id: Resource Id. 7425 :type id: str 7426 :param name: Required. The name of the resource. 7427 :type name: str 7428 :param location: Required. The supported Azure location of the resource. 7429 :type location: str 7430 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 7431 more information about using tags, see `Using tags to organize your Azure resources 7432 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 7433 :type tags: dict[str, str] 7434 :param plan: Used for establishing the purchase context of any 3rd Party artifact through 7435 MarketPlace. 7436 :type plan: ~azure.mgmt.compute.v2019_07_01.models.PurchasePlan 7437 :param os_disk_image: Contains the os disk image information. 7438 :type os_disk_image: ~azure.mgmt.compute.v2019_07_01.models.OSDiskImage 7439 :param data_disk_images: 7440 :type data_disk_images: list[~azure.mgmt.compute.v2019_07_01.models.DataDiskImage] 7441 :param automatic_os_upgrade_properties: Describes automatic OS upgrade properties on the image. 7442 :type automatic_os_upgrade_properties: 7443 ~azure.mgmt.compute.v2019_07_01.models.AutomaticOSUpgradeProperties 7444 :param hyper_v_generation: Specifies the HyperVGeneration Type. Possible values include: "V1", 7445 "V2". 7446 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGenerationTypes 7447 """ 7448 7449 _validation = { 7450 'name': {'required': True}, 7451 'location': {'required': True}, 7452 } 7453 7454 _attribute_map = { 7455 'id': {'key': 'id', 'type': 'str'}, 7456 'name': {'key': 'name', 'type': 'str'}, 7457 'location': {'key': 'location', 'type': 'str'}, 7458 'tags': {'key': 'tags', 'type': '{str}'}, 7459 'plan': {'key': 'properties.plan', 'type': 'PurchasePlan'}, 7460 'os_disk_image': {'key': 'properties.osDiskImage', 'type': 'OSDiskImage'}, 7461 'data_disk_images': {'key': 'properties.dataDiskImages', 'type': '[DataDiskImage]'}, 7462 'automatic_os_upgrade_properties': {'key': 'properties.automaticOSUpgradeProperties', 'type': 'AutomaticOSUpgradeProperties'}, 7463 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 7464 } 7465 7466 def __init__( 7467 self, 7468 *, 7469 name: str, 7470 location: str, 7471 id: Optional[str] = None, 7472 tags: Optional[Dict[str, str]] = None, 7473 plan: Optional["PurchasePlan"] = None, 7474 os_disk_image: Optional["OSDiskImage"] = None, 7475 data_disk_images: Optional[List["DataDiskImage"]] = None, 7476 automatic_os_upgrade_properties: Optional["AutomaticOSUpgradeProperties"] = None, 7477 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 7478 **kwargs 7479 ): 7480 super(VirtualMachineImage, self).__init__(id=id, name=name, location=location, tags=tags, **kwargs) 7481 self.plan = plan 7482 self.os_disk_image = os_disk_image 7483 self.data_disk_images = data_disk_images 7484 self.automatic_os_upgrade_properties = automatic_os_upgrade_properties 7485 self.hyper_v_generation = hyper_v_generation 7486 7487 7488class VirtualMachineInstanceView(msrest.serialization.Model): 7489 """The instance view of a virtual machine. 7490 7491 :param platform_update_domain: Specifies the update domain of the virtual machine. 7492 :type platform_update_domain: int 7493 :param platform_fault_domain: Specifies the fault domain of the virtual machine. 7494 :type platform_fault_domain: int 7495 :param computer_name: The computer name assigned to the virtual machine. 7496 :type computer_name: str 7497 :param os_name: The Operating System running on the virtual machine. 7498 :type os_name: str 7499 :param os_version: The version of Operating System running on the virtual machine. 7500 :type os_version: str 7501 :param hyper_v_generation: Specifies the HyperVGeneration Type associated with a resource. 7502 Possible values include: "V1", "V2". 7503 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_07_01.models.HyperVGenerationType 7504 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 7505 :type rdp_thumb_print: str 7506 :param vm_agent: The VM Agent running on the virtual machine. 7507 :type vm_agent: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineAgentInstanceView 7508 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 7509 :type maintenance_redeploy_status: 7510 ~azure.mgmt.compute.v2019_07_01.models.MaintenanceRedeployStatus 7511 :param disks: The virtual machine disk information. 7512 :type disks: list[~azure.mgmt.compute.v2019_07_01.models.DiskInstanceView] 7513 :param extensions: The extensions information. 7514 :type extensions: 7515 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtensionInstanceView] 7516 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 7517 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 7518 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 7519 screenshot of the VM from the hypervisor. 7520 :type boot_diagnostics: ~azure.mgmt.compute.v2019_07_01.models.BootDiagnosticsInstanceView 7521 :param statuses: The resource status information. 7522 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 7523 """ 7524 7525 _attribute_map = { 7526 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 7527 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 7528 'computer_name': {'key': 'computerName', 'type': 'str'}, 7529 'os_name': {'key': 'osName', 'type': 'str'}, 7530 'os_version': {'key': 'osVersion', 'type': 'str'}, 7531 'hyper_v_generation': {'key': 'hyperVGeneration', 'type': 'str'}, 7532 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 7533 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 7534 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 7535 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 7536 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 7537 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 7538 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 7539 } 7540 7541 def __init__( 7542 self, 7543 *, 7544 platform_update_domain: Optional[int] = None, 7545 platform_fault_domain: Optional[int] = None, 7546 computer_name: Optional[str] = None, 7547 os_name: Optional[str] = None, 7548 os_version: Optional[str] = None, 7549 hyper_v_generation: Optional[Union[str, "HyperVGenerationType"]] = None, 7550 rdp_thumb_print: Optional[str] = None, 7551 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 7552 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 7553 disks: Optional[List["DiskInstanceView"]] = None, 7554 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 7555 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 7556 statuses: Optional[List["InstanceViewStatus"]] = None, 7557 **kwargs 7558 ): 7559 super(VirtualMachineInstanceView, self).__init__(**kwargs) 7560 self.platform_update_domain = platform_update_domain 7561 self.platform_fault_domain = platform_fault_domain 7562 self.computer_name = computer_name 7563 self.os_name = os_name 7564 self.os_version = os_version 7565 self.hyper_v_generation = hyper_v_generation 7566 self.rdp_thumb_print = rdp_thumb_print 7567 self.vm_agent = vm_agent 7568 self.maintenance_redeploy_status = maintenance_redeploy_status 7569 self.disks = disks 7570 self.extensions = extensions 7571 self.boot_diagnostics = boot_diagnostics 7572 self.statuses = statuses 7573 7574 7575class VirtualMachineListResult(msrest.serialization.Model): 7576 """The List Virtual Machine operation response. 7577 7578 All required parameters must be populated in order to send to Azure. 7579 7580 :param value: Required. The list of virtual machines. 7581 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachine] 7582 :param next_link: The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch 7583 the next page of Virtual Machines. 7584 :type next_link: str 7585 """ 7586 7587 _validation = { 7588 'value': {'required': True}, 7589 } 7590 7591 _attribute_map = { 7592 'value': {'key': 'value', 'type': '[VirtualMachine]'}, 7593 'next_link': {'key': 'nextLink', 'type': 'str'}, 7594 } 7595 7596 def __init__( 7597 self, 7598 *, 7599 value: List["VirtualMachine"], 7600 next_link: Optional[str] = None, 7601 **kwargs 7602 ): 7603 super(VirtualMachineListResult, self).__init__(**kwargs) 7604 self.value = value 7605 self.next_link = next_link 7606 7607 7608class VirtualMachineReimageParameters(msrest.serialization.Model): 7609 """Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged. 7610 7611 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 7612 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 7613 :type temp_disk: bool 7614 """ 7615 7616 _attribute_map = { 7617 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 7618 } 7619 7620 def __init__( 7621 self, 7622 *, 7623 temp_disk: Optional[bool] = None, 7624 **kwargs 7625 ): 7626 super(VirtualMachineReimageParameters, self).__init__(**kwargs) 7627 self.temp_disk = temp_disk 7628 7629 7630class VirtualMachineScaleSet(Resource): 7631 """Describes a Virtual Machine Scale Set. 7632 7633 Variables are only populated by the server, and will be ignored when sending a request. 7634 7635 All required parameters must be populated in order to send to Azure. 7636 7637 :ivar id: Resource Id. 7638 :vartype id: str 7639 :ivar name: Resource name. 7640 :vartype name: str 7641 :ivar type: Resource type. 7642 :vartype type: str 7643 :param location: Required. Resource location. 7644 :type location: str 7645 :param tags: A set of tags. Resource tags. 7646 :type tags: dict[str, str] 7647 :param sku: The virtual machine scale set sku. 7648 :type sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 7649 :param plan: Specifies information about the marketplace image used to create the virtual 7650 machine. This element is only used for marketplace images. Before you can use a marketplace 7651 image from an API, you must enable the image for programmatic use. In the Azure portal, find 7652 the marketplace image that you want to use and then click **Want to deploy programmatically, 7653 Get Started ->**. Enter any required information and then click **Save**. 7654 :type plan: ~azure.mgmt.compute.v2019_07_01.models.Plan 7655 :param identity: The identity of the virtual machine scale set, if configured. 7656 :type identity: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetIdentity 7657 :param zones: The virtual machine scale set zones. NOTE: Availability zones can only be set 7658 when you create the scale set. 7659 :type zones: list[str] 7660 :param upgrade_policy: The upgrade policy. 7661 :type upgrade_policy: ~azure.mgmt.compute.v2019_07_01.models.UpgradePolicy 7662 :param automatic_repairs_policy: Policy for automatic repairs. 7663 :type automatic_repairs_policy: ~azure.mgmt.compute.v2019_07_01.models.AutomaticRepairsPolicy 7664 :param virtual_machine_profile: The virtual machine profile. 7665 :type virtual_machine_profile: 7666 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVMProfile 7667 :ivar provisioning_state: The provisioning state, which only appears in the response. 7668 :vartype provisioning_state: str 7669 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 7670 overprovisioned. 7671 :type overprovision: bool 7672 :param do_not_run_extensions_on_overprovisioned_v_ms: When Overprovision is enabled, extensions 7673 are launched only on the requested number of VMs which are finally kept. This property will 7674 hence ensure that the extensions do not run on the extra overprovisioned VMs. 7675 :type do_not_run_extensions_on_overprovisioned_v_ms: bool 7676 :ivar unique_id: Specifies the ID which uniquely identifies a Virtual Machine Scale Set. 7677 :vartype unique_id: str 7678 :param single_placement_group: When true this limits the scale set to a single placement group, 7679 of max size 100 virtual machines. 7680 :type single_placement_group: bool 7681 :param zone_balance: Whether to force strictly even Virtual Machine distribution cross x-zones 7682 in case there is zone outage. 7683 :type zone_balance: bool 7684 :param platform_fault_domain_count: Fault Domain count for each placement group. 7685 :type platform_fault_domain_count: int 7686 :param proximity_placement_group: Specifies information about the proximity placement group 7687 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 7688 api-version: 2018-04-01. 7689 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 7690 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 7691 Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines 7692 have the capability to support attaching managed data disks with UltraSSD_LRS storage account 7693 type. 7694 :type additional_capabilities: ~azure.mgmt.compute.v2019_07_01.models.AdditionalCapabilities 7695 :param scale_in_policy: Specifies the scale-in policy that decides which virtual machines are 7696 chosen for removal when a Virtual Machine Scale Set is scaled-in. 7697 :type scale_in_policy: ~azure.mgmt.compute.v2019_07_01.models.ScaleInPolicy 7698 """ 7699 7700 _validation = { 7701 'id': {'readonly': True}, 7702 'name': {'readonly': True}, 7703 'type': {'readonly': True}, 7704 'location': {'required': True}, 7705 'provisioning_state': {'readonly': True}, 7706 'unique_id': {'readonly': True}, 7707 } 7708 7709 _attribute_map = { 7710 'id': {'key': 'id', 'type': 'str'}, 7711 'name': {'key': 'name', 'type': 'str'}, 7712 'type': {'key': 'type', 'type': 'str'}, 7713 'location': {'key': 'location', 'type': 'str'}, 7714 'tags': {'key': 'tags', 'type': '{str}'}, 7715 'sku': {'key': 'sku', 'type': 'Sku'}, 7716 'plan': {'key': 'plan', 'type': 'Plan'}, 7717 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 7718 'zones': {'key': 'zones', 'type': '[str]'}, 7719 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 7720 'automatic_repairs_policy': {'key': 'properties.automaticRepairsPolicy', 'type': 'AutomaticRepairsPolicy'}, 7721 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetVMProfile'}, 7722 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7723 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 7724 'do_not_run_extensions_on_overprovisioned_v_ms': {'key': 'properties.doNotRunExtensionsOnOverprovisionedVMs', 'type': 'bool'}, 7725 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 7726 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 7727 'zone_balance': {'key': 'properties.zoneBalance', 'type': 'bool'}, 7728 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 7729 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 7730 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 7731 'scale_in_policy': {'key': 'properties.scaleInPolicy', 'type': 'ScaleInPolicy'}, 7732 } 7733 7734 def __init__( 7735 self, 7736 *, 7737 location: str, 7738 tags: Optional[Dict[str, str]] = None, 7739 sku: Optional["Sku"] = None, 7740 plan: Optional["Plan"] = None, 7741 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 7742 zones: Optional[List[str]] = None, 7743 upgrade_policy: Optional["UpgradePolicy"] = None, 7744 automatic_repairs_policy: Optional["AutomaticRepairsPolicy"] = None, 7745 virtual_machine_profile: Optional["VirtualMachineScaleSetVMProfile"] = None, 7746 overprovision: Optional[bool] = None, 7747 do_not_run_extensions_on_overprovisioned_v_ms: Optional[bool] = None, 7748 single_placement_group: Optional[bool] = None, 7749 zone_balance: Optional[bool] = None, 7750 platform_fault_domain_count: Optional[int] = None, 7751 proximity_placement_group: Optional["SubResource"] = None, 7752 additional_capabilities: Optional["AdditionalCapabilities"] = None, 7753 scale_in_policy: Optional["ScaleInPolicy"] = None, 7754 **kwargs 7755 ): 7756 super(VirtualMachineScaleSet, self).__init__(location=location, tags=tags, **kwargs) 7757 self.sku = sku 7758 self.plan = plan 7759 self.identity = identity 7760 self.zones = zones 7761 self.upgrade_policy = upgrade_policy 7762 self.automatic_repairs_policy = automatic_repairs_policy 7763 self.virtual_machine_profile = virtual_machine_profile 7764 self.provisioning_state = None 7765 self.overprovision = overprovision 7766 self.do_not_run_extensions_on_overprovisioned_v_ms = do_not_run_extensions_on_overprovisioned_v_ms 7767 self.unique_id = None 7768 self.single_placement_group = single_placement_group 7769 self.zone_balance = zone_balance 7770 self.platform_fault_domain_count = platform_fault_domain_count 7771 self.proximity_placement_group = proximity_placement_group 7772 self.additional_capabilities = additional_capabilities 7773 self.scale_in_policy = scale_in_policy 7774 7775 7776class VirtualMachineScaleSetDataDisk(msrest.serialization.Model): 7777 """Describes a virtual machine scale set data disk. 7778 7779 All required parameters must be populated in order to send to Azure. 7780 7781 :param name: The disk name. 7782 :type name: str 7783 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 7784 identify data disks within the VM and therefore must be unique for each data disk attached to a 7785 VM. 7786 :type lun: int 7787 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 7788 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 7789 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 7790 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 7791 "ReadWrite". 7792 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 7793 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 7794 disabled on the disk. 7795 :type write_accelerator_enabled: bool 7796 :param create_option: Required. The create option. Possible values include: "FromImage", 7797 "Empty", "Attach". 7798 :type create_option: str or ~azure.mgmt.compute.v2019_07_01.models.DiskCreateOptionTypes 7799 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 7800 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 7801 This value cannot be larger than 1023 GB. 7802 :type disk_size_gb: int 7803 :param managed_disk: The managed disk parameters. 7804 :type managed_disk: 7805 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetManagedDiskParameters 7806 :param disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk. Should be used 7807 only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be 7808 assigned based on diskSizeGB. 7809 :type disk_iops_read_write: long 7810 :param disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk. 7811 Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value 7812 would be assigned based on diskSizeGB. 7813 :type disk_m_bps_read_write: long 7814 """ 7815 7816 _validation = { 7817 'lun': {'required': True}, 7818 'create_option': {'required': True}, 7819 } 7820 7821 _attribute_map = { 7822 'name': {'key': 'name', 'type': 'str'}, 7823 'lun': {'key': 'lun', 'type': 'int'}, 7824 'caching': {'key': 'caching', 'type': 'str'}, 7825 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 7826 'create_option': {'key': 'createOption', 'type': 'str'}, 7827 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 7828 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 7829 'disk_iops_read_write': {'key': 'diskIOPSReadWrite', 'type': 'long'}, 7830 'disk_m_bps_read_write': {'key': 'diskMBpsReadWrite', 'type': 'long'}, 7831 } 7832 7833 def __init__( 7834 self, 7835 *, 7836 lun: int, 7837 create_option: Union[str, "DiskCreateOptionTypes"], 7838 name: Optional[str] = None, 7839 caching: Optional[Union[str, "CachingTypes"]] = None, 7840 write_accelerator_enabled: Optional[bool] = None, 7841 disk_size_gb: Optional[int] = None, 7842 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 7843 disk_iops_read_write: Optional[int] = None, 7844 disk_m_bps_read_write: Optional[int] = None, 7845 **kwargs 7846 ): 7847 super(VirtualMachineScaleSetDataDisk, self).__init__(**kwargs) 7848 self.name = name 7849 self.lun = lun 7850 self.caching = caching 7851 self.write_accelerator_enabled = write_accelerator_enabled 7852 self.create_option = create_option 7853 self.disk_size_gb = disk_size_gb 7854 self.managed_disk = managed_disk 7855 self.disk_iops_read_write = disk_iops_read_write 7856 self.disk_m_bps_read_write = disk_m_bps_read_write 7857 7858 7859class VirtualMachineScaleSetExtension(SubResourceReadOnly): 7860 """Describes a Virtual Machine Scale Set Extension. 7861 7862 Variables are only populated by the server, and will be ignored when sending a request. 7863 7864 :ivar id: Resource Id. 7865 :vartype id: str 7866 :param name: The name of the extension. 7867 :type name: str 7868 :ivar type: Resource type. 7869 :vartype type: str 7870 :param force_update_tag: If a value is provided and is different from the previous value, the 7871 extension handler will be forced to update even if the extension configuration has not changed. 7872 :type force_update_tag: str 7873 :param publisher: The name of the extension handler publisher. 7874 :type publisher: str 7875 :param type_properties_type: Specifies the type of the extension; an example is 7876 "CustomScriptExtension". 7877 :type type_properties_type: str 7878 :param type_handler_version: Specifies the version of the script handler. 7879 :type type_handler_version: str 7880 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 7881 version if one is available at deployment time. Once deployed, however, the extension will not 7882 upgrade minor versions unless redeployed, even with this property set to true. 7883 :type auto_upgrade_minor_version: bool 7884 :param settings: Json formatted public settings for the extension. 7885 :type settings: any 7886 :param protected_settings: The extension can contain either protectedSettings or 7887 protectedSettingsFromKeyVault or no protected settings at all. 7888 :type protected_settings: any 7889 :ivar provisioning_state: The provisioning state, which only appears in the response. 7890 :vartype provisioning_state: str 7891 :param provision_after_extensions: Collection of extension names after which this extension 7892 needs to be provisioned. 7893 :type provision_after_extensions: list[str] 7894 """ 7895 7896 _validation = { 7897 'id': {'readonly': True}, 7898 'type': {'readonly': True}, 7899 'provisioning_state': {'readonly': True}, 7900 } 7901 7902 _attribute_map = { 7903 'id': {'key': 'id', 'type': 'str'}, 7904 'name': {'key': 'name', 'type': 'str'}, 7905 'type': {'key': 'type', 'type': 'str'}, 7906 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 7907 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 7908 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 7909 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 7910 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 7911 'settings': {'key': 'properties.settings', 'type': 'object'}, 7912 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 7913 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7914 'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'}, 7915 } 7916 7917 def __init__( 7918 self, 7919 *, 7920 name: Optional[str] = None, 7921 force_update_tag: Optional[str] = None, 7922 publisher: Optional[str] = None, 7923 type_properties_type: Optional[str] = None, 7924 type_handler_version: Optional[str] = None, 7925 auto_upgrade_minor_version: Optional[bool] = None, 7926 settings: Optional[Any] = None, 7927 protected_settings: Optional[Any] = None, 7928 provision_after_extensions: Optional[List[str]] = None, 7929 **kwargs 7930 ): 7931 super(VirtualMachineScaleSetExtension, self).__init__(**kwargs) 7932 self.name = name 7933 self.type = None 7934 self.force_update_tag = force_update_tag 7935 self.publisher = publisher 7936 self.type_properties_type = type_properties_type 7937 self.type_handler_version = type_handler_version 7938 self.auto_upgrade_minor_version = auto_upgrade_minor_version 7939 self.settings = settings 7940 self.protected_settings = protected_settings 7941 self.provisioning_state = None 7942 self.provision_after_extensions = provision_after_extensions 7943 7944 7945class VirtualMachineScaleSetExtensionListResult(msrest.serialization.Model): 7946 """The List VM scale set extension operation response. 7947 7948 All required parameters must be populated in order to send to Azure. 7949 7950 :param value: Required. The list of VM scale set extensions. 7951 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetExtension] 7952 :param next_link: The uri to fetch the next page of VM scale set extensions. Call ListNext() 7953 with this to fetch the next page of VM scale set extensions. 7954 :type next_link: str 7955 """ 7956 7957 _validation = { 7958 'value': {'required': True}, 7959 } 7960 7961 _attribute_map = { 7962 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetExtension]'}, 7963 'next_link': {'key': 'nextLink', 'type': 'str'}, 7964 } 7965 7966 def __init__( 7967 self, 7968 *, 7969 value: List["VirtualMachineScaleSetExtension"], 7970 next_link: Optional[str] = None, 7971 **kwargs 7972 ): 7973 super(VirtualMachineScaleSetExtensionListResult, self).__init__(**kwargs) 7974 self.value = value 7975 self.next_link = next_link 7976 7977 7978class VirtualMachineScaleSetExtensionProfile(msrest.serialization.Model): 7979 """Describes a virtual machine scale set extension profile. 7980 7981 :param extensions: The virtual machine scale set child extension resources. 7982 :type extensions: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetExtension] 7983 """ 7984 7985 _attribute_map = { 7986 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetExtension]'}, 7987 } 7988 7989 def __init__( 7990 self, 7991 *, 7992 extensions: Optional[List["VirtualMachineScaleSetExtension"]] = None, 7993 **kwargs 7994 ): 7995 super(VirtualMachineScaleSetExtensionProfile, self).__init__(**kwargs) 7996 self.extensions = extensions 7997 7998 7999class VirtualMachineScaleSetExtensionUpdate(SubResourceReadOnly): 8000 """Describes a Virtual Machine Scale Set Extension. 8001 8002 Variables are only populated by the server, and will be ignored when sending a request. 8003 8004 :ivar id: Resource Id. 8005 :vartype id: str 8006 :ivar name: The name of the extension. 8007 :vartype name: str 8008 :ivar type: Resource type. 8009 :vartype type: str 8010 :param force_update_tag: If a value is provided and is different from the previous value, the 8011 extension handler will be forced to update even if the extension configuration has not changed. 8012 :type force_update_tag: str 8013 :param publisher: The name of the extension handler publisher. 8014 :type publisher: str 8015 :param type_properties_type: Specifies the type of the extension; an example is 8016 "CustomScriptExtension". 8017 :type type_properties_type: str 8018 :param type_handler_version: Specifies the version of the script handler. 8019 :type type_handler_version: str 8020 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 8021 version if one is available at deployment time. Once deployed, however, the extension will not 8022 upgrade minor versions unless redeployed, even with this property set to true. 8023 :type auto_upgrade_minor_version: bool 8024 :param settings: Json formatted public settings for the extension. 8025 :type settings: any 8026 :param protected_settings: The extension can contain either protectedSettings or 8027 protectedSettingsFromKeyVault or no protected settings at all. 8028 :type protected_settings: any 8029 :ivar provisioning_state: The provisioning state, which only appears in the response. 8030 :vartype provisioning_state: str 8031 :param provision_after_extensions: Collection of extension names after which this extension 8032 needs to be provisioned. 8033 :type provision_after_extensions: list[str] 8034 """ 8035 8036 _validation = { 8037 'id': {'readonly': True}, 8038 'name': {'readonly': True}, 8039 'type': {'readonly': True}, 8040 'provisioning_state': {'readonly': True}, 8041 } 8042 8043 _attribute_map = { 8044 'id': {'key': 'id', 'type': 'str'}, 8045 'name': {'key': 'name', 'type': 'str'}, 8046 'type': {'key': 'type', 'type': 'str'}, 8047 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 8048 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 8049 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 8050 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 8051 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 8052 'settings': {'key': 'properties.settings', 'type': 'object'}, 8053 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 8054 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8055 'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'}, 8056 } 8057 8058 def __init__( 8059 self, 8060 *, 8061 force_update_tag: Optional[str] = None, 8062 publisher: Optional[str] = None, 8063 type_properties_type: Optional[str] = None, 8064 type_handler_version: Optional[str] = None, 8065 auto_upgrade_minor_version: Optional[bool] = None, 8066 settings: Optional[Any] = None, 8067 protected_settings: Optional[Any] = None, 8068 provision_after_extensions: Optional[List[str]] = None, 8069 **kwargs 8070 ): 8071 super(VirtualMachineScaleSetExtensionUpdate, self).__init__(**kwargs) 8072 self.name = None 8073 self.type = None 8074 self.force_update_tag = force_update_tag 8075 self.publisher = publisher 8076 self.type_properties_type = type_properties_type 8077 self.type_handler_version = type_handler_version 8078 self.auto_upgrade_minor_version = auto_upgrade_minor_version 8079 self.settings = settings 8080 self.protected_settings = protected_settings 8081 self.provisioning_state = None 8082 self.provision_after_extensions = provision_after_extensions 8083 8084 8085class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 8086 """Identity for the virtual machine scale set. 8087 8088 Variables are only populated by the server, and will be ignored when sending a request. 8089 8090 :ivar principal_id: The principal id of virtual machine scale set identity. This property will 8091 only be provided for a system assigned identity. 8092 :vartype principal_id: str 8093 :ivar tenant_id: The tenant id associated with the virtual machine scale set. This property 8094 will only be provided for a system assigned identity. 8095 :vartype tenant_id: str 8096 :param type: The type of identity used for the virtual machine scale set. The type 8097 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user 8098 assigned identities. The type 'None' will remove any identities from the virtual machine scale 8099 set. Possible values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", 8100 "None". 8101 :type type: str or ~azure.mgmt.compute.v2019_07_01.models.ResourceIdentityType 8102 :param user_assigned_identities: The list of user identities associated with the virtual 8103 machine scale set. The user identity dictionary key references will be ARM resource ids in the 8104 form: 8105 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 8106 :type user_assigned_identities: dict[str, 8107 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue] 8108 """ 8109 8110 _validation = { 8111 'principal_id': {'readonly': True}, 8112 'tenant_id': {'readonly': True}, 8113 } 8114 8115 _attribute_map = { 8116 'principal_id': {'key': 'principalId', 'type': 'str'}, 8117 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 8118 'type': {'key': 'type', 'type': 'str'}, 8119 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue}'}, 8120 } 8121 8122 def __init__( 8123 self, 8124 *, 8125 type: Optional[Union[str, "ResourceIdentityType"]] = None, 8126 user_assigned_identities: Optional[Dict[str, "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue"]] = None, 8127 **kwargs 8128 ): 8129 super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) 8130 self.principal_id = None 8131 self.tenant_id = None 8132 self.type = type 8133 self.user_assigned_identities = user_assigned_identities 8134 8135 8136class VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): 8137 """VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue. 8138 8139 Variables are only populated by the server, and will be ignored when sending a request. 8140 8141 :ivar principal_id: The principal id of user assigned identity. 8142 :vartype principal_id: str 8143 :ivar client_id: The client id of user assigned identity. 8144 :vartype client_id: str 8145 """ 8146 8147 _validation = { 8148 'principal_id': {'readonly': True}, 8149 'client_id': {'readonly': True}, 8150 } 8151 8152 _attribute_map = { 8153 'principal_id': {'key': 'principalId', 'type': 'str'}, 8154 'client_id': {'key': 'clientId', 'type': 'str'}, 8155 } 8156 8157 def __init__( 8158 self, 8159 **kwargs 8160 ): 8161 super(VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) 8162 self.principal_id = None 8163 self.client_id = None 8164 8165 8166class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): 8167 """The instance view of a virtual machine scale set. 8168 8169 Variables are only populated by the server, and will be ignored when sending a request. 8170 8171 :ivar virtual_machine: The instance view status summary for the virtual machine scale set. 8172 :vartype virtual_machine: 8173 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetInstanceViewStatusesSummary 8174 :ivar extensions: The extensions information. 8175 :vartype extensions: 8176 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVMExtensionsSummary] 8177 :param statuses: The resource status information. 8178 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 8179 """ 8180 8181 _validation = { 8182 'virtual_machine': {'readonly': True}, 8183 'extensions': {'readonly': True}, 8184 } 8185 8186 _attribute_map = { 8187 'virtual_machine': {'key': 'virtualMachine', 'type': 'VirtualMachineScaleSetInstanceViewStatusesSummary'}, 8188 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetVMExtensionsSummary]'}, 8189 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 8190 } 8191 8192 def __init__( 8193 self, 8194 *, 8195 statuses: Optional[List["InstanceViewStatus"]] = None, 8196 **kwargs 8197 ): 8198 super(VirtualMachineScaleSetInstanceView, self).__init__(**kwargs) 8199 self.virtual_machine = None 8200 self.extensions = None 8201 self.statuses = statuses 8202 8203 8204class VirtualMachineScaleSetInstanceViewStatusesSummary(msrest.serialization.Model): 8205 """Instance view statuses summary for virtual machines of a virtual machine scale set. 8206 8207 Variables are only populated by the server, and will be ignored when sending a request. 8208 8209 :ivar statuses_summary: The extensions information. 8210 :vartype statuses_summary: 8211 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineStatusCodeCount] 8212 """ 8213 8214 _validation = { 8215 'statuses_summary': {'readonly': True}, 8216 } 8217 8218 _attribute_map = { 8219 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 8220 } 8221 8222 def __init__( 8223 self, 8224 **kwargs 8225 ): 8226 super(VirtualMachineScaleSetInstanceViewStatusesSummary, self).__init__(**kwargs) 8227 self.statuses_summary = None 8228 8229 8230class VirtualMachineScaleSetIPConfiguration(SubResource): 8231 """Describes a virtual machine scale set network profile's IP configuration. 8232 8233 All required parameters must be populated in order to send to Azure. 8234 8235 :param id: Resource Id. 8236 :type id: str 8237 :param name: Required. The IP configuration name. 8238 :type name: str 8239 :param subnet: Specifies the identifier of the subnet. 8240 :type subnet: ~azure.mgmt.compute.v2019_07_01.models.ApiEntityReference 8241 :param primary: Specifies the primary network interface in case the virtual machine has more 8242 than 1 network interface. 8243 :type primary: bool 8244 :param public_ip_address_configuration: The publicIPAddressConfiguration. 8245 :type public_ip_address_configuration: 8246 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetPublicIPAddressConfiguration 8247 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 8248 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 8249 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 8250 :type private_ip_address_version: str or ~azure.mgmt.compute.v2019_07_01.models.IPVersion 8251 :param application_gateway_backend_address_pools: Specifies an array of references to backend 8252 address pools of application gateways. A scale set can reference backend address pools of 8253 multiple application gateways. Multiple scale sets cannot use the same application gateway. 8254 :type application_gateway_backend_address_pools: 8255 list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 8256 :param application_security_groups: Specifies an array of references to application security 8257 group. 8258 :type application_security_groups: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 8259 :param load_balancer_backend_address_pools: Specifies an array of references to backend address 8260 pools of load balancers. A scale set can reference backend address pools of one public and one 8261 internal load balancer. Multiple scale sets cannot use the same load balancer. 8262 :type load_balancer_backend_address_pools: 8263 list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 8264 :param load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools 8265 of the load balancers. A scale set can reference inbound nat pools of one public and one 8266 internal load balancer. Multiple scale sets cannot use the same load balancer. 8267 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 8268 """ 8269 8270 _validation = { 8271 'name': {'required': True}, 8272 } 8273 8274 _attribute_map = { 8275 'id': {'key': 'id', 'type': 'str'}, 8276 'name': {'key': 'name', 'type': 'str'}, 8277 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 8278 'primary': {'key': 'properties.primary', 'type': 'bool'}, 8279 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetPublicIPAddressConfiguration'}, 8280 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 8281 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 8282 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[SubResource]'}, 8283 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 8284 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 8285 } 8286 8287 def __init__( 8288 self, 8289 *, 8290 name: str, 8291 id: Optional[str] = None, 8292 subnet: Optional["ApiEntityReference"] = None, 8293 primary: Optional[bool] = None, 8294 public_ip_address_configuration: Optional["VirtualMachineScaleSetPublicIPAddressConfiguration"] = None, 8295 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 8296 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 8297 application_security_groups: Optional[List["SubResource"]] = None, 8298 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 8299 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 8300 **kwargs 8301 ): 8302 super(VirtualMachineScaleSetIPConfiguration, self).__init__(id=id, **kwargs) 8303 self.name = name 8304 self.subnet = subnet 8305 self.primary = primary 8306 self.public_ip_address_configuration = public_ip_address_configuration 8307 self.private_ip_address_version = private_ip_address_version 8308 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 8309 self.application_security_groups = application_security_groups 8310 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 8311 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 8312 8313 8314class VirtualMachineScaleSetIpTag(msrest.serialization.Model): 8315 """Contains the IP tag associated with the public IP address. 8316 8317 :param ip_tag_type: IP tag type. Example: FirstPartyUsage. 8318 :type ip_tag_type: str 8319 :param tag: IP tag associated with the public IP. Example: SQL, Storage etc. 8320 :type tag: str 8321 """ 8322 8323 _attribute_map = { 8324 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 8325 'tag': {'key': 'tag', 'type': 'str'}, 8326 } 8327 8328 def __init__( 8329 self, 8330 *, 8331 ip_tag_type: Optional[str] = None, 8332 tag: Optional[str] = None, 8333 **kwargs 8334 ): 8335 super(VirtualMachineScaleSetIpTag, self).__init__(**kwargs) 8336 self.ip_tag_type = ip_tag_type 8337 self.tag = tag 8338 8339 8340class VirtualMachineScaleSetListOSUpgradeHistory(msrest.serialization.Model): 8341 """List of Virtual Machine Scale Set OS Upgrade History operation response. 8342 8343 All required parameters must be populated in order to send to Azure. 8344 8345 :param value: Required. The list of OS upgrades performed on the virtual machine scale set. 8346 :type value: list[~azure.mgmt.compute.v2019_07_01.models.UpgradeOperationHistoricalStatusInfo] 8347 :param next_link: The uri to fetch the next page of OS Upgrade History. Call ListNext() with 8348 this to fetch the next page of history of upgrades. 8349 :type next_link: str 8350 """ 8351 8352 _validation = { 8353 'value': {'required': True}, 8354 } 8355 8356 _attribute_map = { 8357 'value': {'key': 'value', 'type': '[UpgradeOperationHistoricalStatusInfo]'}, 8358 'next_link': {'key': 'nextLink', 'type': 'str'}, 8359 } 8360 8361 def __init__( 8362 self, 8363 *, 8364 value: List["UpgradeOperationHistoricalStatusInfo"], 8365 next_link: Optional[str] = None, 8366 **kwargs 8367 ): 8368 super(VirtualMachineScaleSetListOSUpgradeHistory, self).__init__(**kwargs) 8369 self.value = value 8370 self.next_link = next_link 8371 8372 8373class VirtualMachineScaleSetListResult(msrest.serialization.Model): 8374 """The List Virtual Machine operation response. 8375 8376 All required parameters must be populated in order to send to Azure. 8377 8378 :param value: Required. The list of virtual machine scale sets. 8379 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSet] 8380 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 8381 with this to fetch the next page of VMSS. 8382 :type next_link: str 8383 """ 8384 8385 _validation = { 8386 'value': {'required': True}, 8387 } 8388 8389 _attribute_map = { 8390 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 8391 'next_link': {'key': 'nextLink', 'type': 'str'}, 8392 } 8393 8394 def __init__( 8395 self, 8396 *, 8397 value: List["VirtualMachineScaleSet"], 8398 next_link: Optional[str] = None, 8399 **kwargs 8400 ): 8401 super(VirtualMachineScaleSetListResult, self).__init__(**kwargs) 8402 self.value = value 8403 self.next_link = next_link 8404 8405 8406class VirtualMachineScaleSetListSkusResult(msrest.serialization.Model): 8407 """The Virtual Machine Scale Set List Skus operation response. 8408 8409 All required parameters must be populated in order to send to Azure. 8410 8411 :param value: Required. The list of skus available for the virtual machine scale set. 8412 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetSku] 8413 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set Skus. Call 8414 ListNext() with this to fetch the next page of VMSS Skus. 8415 :type next_link: str 8416 """ 8417 8418 _validation = { 8419 'value': {'required': True}, 8420 } 8421 8422 _attribute_map = { 8423 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetSku]'}, 8424 'next_link': {'key': 'nextLink', 'type': 'str'}, 8425 } 8426 8427 def __init__( 8428 self, 8429 *, 8430 value: List["VirtualMachineScaleSetSku"], 8431 next_link: Optional[str] = None, 8432 **kwargs 8433 ): 8434 super(VirtualMachineScaleSetListSkusResult, self).__init__(**kwargs) 8435 self.value = value 8436 self.next_link = next_link 8437 8438 8439class VirtualMachineScaleSetListWithLinkResult(msrest.serialization.Model): 8440 """The List Virtual Machine operation response. 8441 8442 All required parameters must be populated in order to send to Azure. 8443 8444 :param value: Required. The list of virtual machine scale sets. 8445 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSet] 8446 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 8447 with this to fetch the next page of Virtual Machine Scale Sets. 8448 :type next_link: str 8449 """ 8450 8451 _validation = { 8452 'value': {'required': True}, 8453 } 8454 8455 _attribute_map = { 8456 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 8457 'next_link': {'key': 'nextLink', 'type': 'str'}, 8458 } 8459 8460 def __init__( 8461 self, 8462 *, 8463 value: List["VirtualMachineScaleSet"], 8464 next_link: Optional[str] = None, 8465 **kwargs 8466 ): 8467 super(VirtualMachineScaleSetListWithLinkResult, self).__init__(**kwargs) 8468 self.value = value 8469 self.next_link = next_link 8470 8471 8472class VirtualMachineScaleSetManagedDiskParameters(msrest.serialization.Model): 8473 """Describes the parameters of a ScaleSet managed disk. 8474 8475 :param storage_account_type: Specifies the storage account type for the managed disk. Managed 8476 OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS 8477 can only be used with data disks, it cannot be used with OS Disk. Possible values include: 8478 "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 8479 :type storage_account_type: str or ~azure.mgmt.compute.v2019_07_01.models.StorageAccountTypes 8480 :param disk_encryption_set: Specifies the customer managed disk encryption set resource id for 8481 the managed disk. 8482 :type disk_encryption_set: ~azure.mgmt.compute.v2019_07_01.models.DiskEncryptionSetParameters 8483 """ 8484 8485 _attribute_map = { 8486 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 8487 'disk_encryption_set': {'key': 'diskEncryptionSet', 'type': 'DiskEncryptionSetParameters'}, 8488 } 8489 8490 def __init__( 8491 self, 8492 *, 8493 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 8494 disk_encryption_set: Optional["DiskEncryptionSetParameters"] = None, 8495 **kwargs 8496 ): 8497 super(VirtualMachineScaleSetManagedDiskParameters, self).__init__(**kwargs) 8498 self.storage_account_type = storage_account_type 8499 self.disk_encryption_set = disk_encryption_set 8500 8501 8502class VirtualMachineScaleSetNetworkConfiguration(SubResource): 8503 """Describes a virtual machine scale set network profile's network configurations. 8504 8505 All required parameters must be populated in order to send to Azure. 8506 8507 :param id: Resource Id. 8508 :type id: str 8509 :param name: Required. The network configuration name. 8510 :type name: str 8511 :param primary: Specifies the primary network interface in case the virtual machine has more 8512 than 1 network interface. 8513 :type primary: bool 8514 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 8515 networking-enabled. 8516 :type enable_accelerated_networking: bool 8517 :param network_security_group: The network security group. 8518 :type network_security_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 8519 :param dns_settings: The dns settings to be applied on the network interfaces. 8520 :type dns_settings: 8521 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 8522 :param ip_configurations: Specifies the IP configurations of the network interface. 8523 :type ip_configurations: 8524 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetIPConfiguration] 8525 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 8526 :type enable_ip_forwarding: bool 8527 """ 8528 8529 _validation = { 8530 'name': {'required': True}, 8531 } 8532 8533 _attribute_map = { 8534 'id': {'key': 'id', 'type': 'str'}, 8535 'name': {'key': 'name', 'type': 'str'}, 8536 'primary': {'key': 'properties.primary', 'type': 'bool'}, 8537 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 8538 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 8539 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 8540 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetIPConfiguration]'}, 8541 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 8542 } 8543 8544 def __init__( 8545 self, 8546 *, 8547 name: str, 8548 id: Optional[str] = None, 8549 primary: Optional[bool] = None, 8550 enable_accelerated_networking: Optional[bool] = None, 8551 network_security_group: Optional["SubResource"] = None, 8552 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 8553 ip_configurations: Optional[List["VirtualMachineScaleSetIPConfiguration"]] = None, 8554 enable_ip_forwarding: Optional[bool] = None, 8555 **kwargs 8556 ): 8557 super(VirtualMachineScaleSetNetworkConfiguration, self).__init__(id=id, **kwargs) 8558 self.name = name 8559 self.primary = primary 8560 self.enable_accelerated_networking = enable_accelerated_networking 8561 self.network_security_group = network_security_group 8562 self.dns_settings = dns_settings 8563 self.ip_configurations = ip_configurations 8564 self.enable_ip_forwarding = enable_ip_forwarding 8565 8566 8567class VirtualMachineScaleSetNetworkConfigurationDnsSettings(msrest.serialization.Model): 8568 """Describes a virtual machines scale sets network configuration's DNS settings. 8569 8570 :param dns_servers: List of DNS servers IP addresses. 8571 :type dns_servers: list[str] 8572 """ 8573 8574 _attribute_map = { 8575 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 8576 } 8577 8578 def __init__( 8579 self, 8580 *, 8581 dns_servers: Optional[List[str]] = None, 8582 **kwargs 8583 ): 8584 super(VirtualMachineScaleSetNetworkConfigurationDnsSettings, self).__init__(**kwargs) 8585 self.dns_servers = dns_servers 8586 8587 8588class VirtualMachineScaleSetNetworkProfile(msrest.serialization.Model): 8589 """Describes a virtual machine scale set network profile. 8590 8591 :param health_probe: A reference to a load balancer probe used to determine the health of an 8592 instance in the virtual machine scale set. The reference will be in the form: 8593 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. 8594 :type health_probe: ~azure.mgmt.compute.v2019_07_01.models.ApiEntityReference 8595 :param network_interface_configurations: The list of network configurations. 8596 :type network_interface_configurations: 8597 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetNetworkConfiguration] 8598 """ 8599 8600 _attribute_map = { 8601 'health_probe': {'key': 'healthProbe', 'type': 'ApiEntityReference'}, 8602 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetNetworkConfiguration]'}, 8603 } 8604 8605 def __init__( 8606 self, 8607 *, 8608 health_probe: Optional["ApiEntityReference"] = None, 8609 network_interface_configurations: Optional[List["VirtualMachineScaleSetNetworkConfiguration"]] = None, 8610 **kwargs 8611 ): 8612 super(VirtualMachineScaleSetNetworkProfile, self).__init__(**kwargs) 8613 self.health_probe = health_probe 8614 self.network_interface_configurations = network_interface_configurations 8615 8616 8617class VirtualMachineScaleSetOSDisk(msrest.serialization.Model): 8618 """Describes a virtual machine scale set operating system disk. 8619 8620 All required parameters must be populated in order to send to Azure. 8621 8622 :param name: The disk name. 8623 :type name: str 8624 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 8625 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 8626 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 8627 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 8628 "ReadWrite". 8629 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 8630 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 8631 disabled on the disk. 8632 :type write_accelerator_enabled: bool 8633 :param create_option: Required. Specifies how the virtual machines in the scale set should be 8634 created.:code:`<br>`:code:`<br>` The only allowed value is: **FromImage** \u2013 This value is 8635 used when you are using an image to create the virtual machine. If you are using a platform 8636 image, you also use the imageReference element described above. If you are using a marketplace 8637 image, you also use the plan element previously described. Possible values include: 8638 "FromImage", "Empty", "Attach". 8639 :type create_option: str or ~azure.mgmt.compute.v2019_07_01.models.DiskCreateOptionTypes 8640 :param diff_disk_settings: Specifies the ephemeral disk Settings for the operating system disk 8641 used by the virtual machine scale set. 8642 :type diff_disk_settings: ~azure.mgmt.compute.v2019_07_01.models.DiffDiskSettings 8643 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 8644 can be used to overwrite the size of the disk in a virtual machine image. 8645 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 8646 :type disk_size_gb: int 8647 :param os_type: This property allows you to specify the type of the OS that is included in the 8648 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 8649 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 8650 values include: "Windows", "Linux". 8651 :type os_type: str or ~azure.mgmt.compute.v2019_07_01.models.OperatingSystemTypes 8652 :param image: Specifies information about the unmanaged user image to base the scale set on. 8653 :type image: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 8654 :param vhd_containers: Specifies the container urls that are used to store operating system 8655 disks for the scale set. 8656 :type vhd_containers: list[str] 8657 :param managed_disk: The managed disk parameters. 8658 :type managed_disk: 8659 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetManagedDiskParameters 8660 """ 8661 8662 _validation = { 8663 'create_option': {'required': True}, 8664 } 8665 8666 _attribute_map = { 8667 'name': {'key': 'name', 'type': 'str'}, 8668 'caching': {'key': 'caching', 'type': 'str'}, 8669 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 8670 'create_option': {'key': 'createOption', 'type': 'str'}, 8671 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 8672 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 8673 'os_type': {'key': 'osType', 'type': 'str'}, 8674 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 8675 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 8676 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 8677 } 8678 8679 def __init__( 8680 self, 8681 *, 8682 create_option: Union[str, "DiskCreateOptionTypes"], 8683 name: Optional[str] = None, 8684 caching: Optional[Union[str, "CachingTypes"]] = None, 8685 write_accelerator_enabled: Optional[bool] = None, 8686 diff_disk_settings: Optional["DiffDiskSettings"] = None, 8687 disk_size_gb: Optional[int] = None, 8688 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 8689 image: Optional["VirtualHardDisk"] = None, 8690 vhd_containers: Optional[List[str]] = None, 8691 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 8692 **kwargs 8693 ): 8694 super(VirtualMachineScaleSetOSDisk, self).__init__(**kwargs) 8695 self.name = name 8696 self.caching = caching 8697 self.write_accelerator_enabled = write_accelerator_enabled 8698 self.create_option = create_option 8699 self.diff_disk_settings = diff_disk_settings 8700 self.disk_size_gb = disk_size_gb 8701 self.os_type = os_type 8702 self.image = image 8703 self.vhd_containers = vhd_containers 8704 self.managed_disk = managed_disk 8705 8706 8707class VirtualMachineScaleSetOSProfile(msrest.serialization.Model): 8708 """Describes a virtual machine scale set OS profile. 8709 8710 :param computer_name_prefix: Specifies the computer name prefix for all of the virtual machines 8711 in the scale set. Computer name prefixes must be 1 to 15 characters long. 8712 :type computer_name_prefix: str 8713 :param admin_username: Specifies the name of the administrator account. 8714 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 8715 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 8716 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 8717 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 8718 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 8719 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 8720 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 8721 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 8722 root privileges on Linux virtual machines in Azure 8723 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 8724 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 8725 in this field, see `Selecting User Names for Linux on Azure 8726 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 8727 :type admin_username: str 8728 :param admin_password: Specifies the password of the administrator account. 8729 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 8730 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 8731 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 8732 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 8733 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 8734 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 8735 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 8736 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 8737 resetting the password, see `How to reset the Remote Desktop service or its login password in a 8738 Windows VM 8739 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 8740 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 8741 repair disks on Azure Linux VMs using the VMAccess Extension 8742 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 8743 :type admin_password: str 8744 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 8745 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 8746 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` For using cloud-init for 8747 your VM, see `Using cloud-init to customize a Linux VM during creation 8748 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 8749 :type custom_data: str 8750 :param windows_configuration: Specifies Windows operating system settings on the virtual 8751 machine. 8752 :type windows_configuration: ~azure.mgmt.compute.v2019_07_01.models.WindowsConfiguration 8753 :param linux_configuration: Specifies the Linux operating system settings on the virtual 8754 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 8755 Azure-Endorsed Distributions 8756 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 8757 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 8758 Non-Endorsed Distributions 8759 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 8760 :type linux_configuration: ~azure.mgmt.compute.v2019_07_01.models.LinuxConfiguration 8761 :param secrets: Specifies set of certificates that should be installed onto the virtual 8762 machines in the scale set. 8763 :type secrets: list[~azure.mgmt.compute.v2019_07_01.models.VaultSecretGroup] 8764 """ 8765 8766 _attribute_map = { 8767 'computer_name_prefix': {'key': 'computerNamePrefix', 'type': 'str'}, 8768 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 8769 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 8770 'custom_data': {'key': 'customData', 'type': 'str'}, 8771 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 8772 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 8773 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 8774 } 8775 8776 def __init__( 8777 self, 8778 *, 8779 computer_name_prefix: Optional[str] = None, 8780 admin_username: Optional[str] = None, 8781 admin_password: Optional[str] = None, 8782 custom_data: Optional[str] = None, 8783 windows_configuration: Optional["WindowsConfiguration"] = None, 8784 linux_configuration: Optional["LinuxConfiguration"] = None, 8785 secrets: Optional[List["VaultSecretGroup"]] = None, 8786 **kwargs 8787 ): 8788 super(VirtualMachineScaleSetOSProfile, self).__init__(**kwargs) 8789 self.computer_name_prefix = computer_name_prefix 8790 self.admin_username = admin_username 8791 self.admin_password = admin_password 8792 self.custom_data = custom_data 8793 self.windows_configuration = windows_configuration 8794 self.linux_configuration = linux_configuration 8795 self.secrets = secrets 8796 8797 8798class VirtualMachineScaleSetPublicIPAddressConfiguration(msrest.serialization.Model): 8799 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 8800 8801 All required parameters must be populated in order to send to Azure. 8802 8803 :param name: Required. The publicIP address configuration name. 8804 :type name: str 8805 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 8806 :type idle_timeout_in_minutes: int 8807 :param dns_settings: The dns settings to be applied on the publicIP addresses . 8808 :type dns_settings: 8809 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 8810 :param ip_tags: The list of IP tags associated with the public IP address. 8811 :type ip_tags: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetIpTag] 8812 :param public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. 8813 :type public_ip_prefix: ~azure.mgmt.compute.v2019_07_01.models.SubResource 8814 :param public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents 8815 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values 8816 are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 8817 :type public_ip_address_version: str or ~azure.mgmt.compute.v2019_07_01.models.IPVersion 8818 """ 8819 8820 _validation = { 8821 'name': {'required': True}, 8822 } 8823 8824 _attribute_map = { 8825 'name': {'key': 'name', 'type': 'str'}, 8826 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 8827 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 8828 'ip_tags': {'key': 'properties.ipTags', 'type': '[VirtualMachineScaleSetIpTag]'}, 8829 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 8830 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 8831 } 8832 8833 def __init__( 8834 self, 8835 *, 8836 name: str, 8837 idle_timeout_in_minutes: Optional[int] = None, 8838 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 8839 ip_tags: Optional[List["VirtualMachineScaleSetIpTag"]] = None, 8840 public_ip_prefix: Optional["SubResource"] = None, 8841 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 8842 **kwargs 8843 ): 8844 super(VirtualMachineScaleSetPublicIPAddressConfiguration, self).__init__(**kwargs) 8845 self.name = name 8846 self.idle_timeout_in_minutes = idle_timeout_in_minutes 8847 self.dns_settings = dns_settings 8848 self.ip_tags = ip_tags 8849 self.public_ip_prefix = public_ip_prefix 8850 self.public_ip_address_version = public_ip_address_version 8851 8852 8853class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings(msrest.serialization.Model): 8854 """Describes a virtual machines scale sets network configuration's DNS settings. 8855 8856 All required parameters must be populated in order to send to Azure. 8857 8858 :param domain_name_label: Required. The Domain name label.The concatenation of the domain name 8859 label and vm index will be the domain name labels of the PublicIPAddress resources that will be 8860 created. 8861 :type domain_name_label: str 8862 """ 8863 8864 _validation = { 8865 'domain_name_label': {'required': True}, 8866 } 8867 8868 _attribute_map = { 8869 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 8870 } 8871 8872 def __init__( 8873 self, 8874 *, 8875 domain_name_label: str, 8876 **kwargs 8877 ): 8878 super(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, self).__init__(**kwargs) 8879 self.domain_name_label = domain_name_label 8880 8881 8882class VirtualMachineScaleSetVMReimageParameters(VirtualMachineReimageParameters): 8883 """Describes a Virtual Machine Scale Set VM Reimage Parameters. 8884 8885 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 8886 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 8887 :type temp_disk: bool 8888 """ 8889 8890 _attribute_map = { 8891 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 8892 } 8893 8894 def __init__( 8895 self, 8896 *, 8897 temp_disk: Optional[bool] = None, 8898 **kwargs 8899 ): 8900 super(VirtualMachineScaleSetVMReimageParameters, self).__init__(temp_disk=temp_disk, **kwargs) 8901 8902 8903class VirtualMachineScaleSetReimageParameters(VirtualMachineScaleSetVMReimageParameters): 8904 """Describes a Virtual Machine Scale Set VM Reimage Parameters. 8905 8906 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 8907 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 8908 :type temp_disk: bool 8909 :param instance_ids: The virtual machine scale set instance ids. Omitting the virtual machine 8910 scale set instance ids will result in the operation being performed on all virtual machines in 8911 the virtual machine scale set. 8912 :type instance_ids: list[str] 8913 """ 8914 8915 _attribute_map = { 8916 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 8917 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 8918 } 8919 8920 def __init__( 8921 self, 8922 *, 8923 temp_disk: Optional[bool] = None, 8924 instance_ids: Optional[List[str]] = None, 8925 **kwargs 8926 ): 8927 super(VirtualMachineScaleSetReimageParameters, self).__init__(temp_disk=temp_disk, **kwargs) 8928 self.instance_ids = instance_ids 8929 8930 8931class VirtualMachineScaleSetSku(msrest.serialization.Model): 8932 """Describes an available virtual machine scale set sku. 8933 8934 Variables are only populated by the server, and will be ignored when sending a request. 8935 8936 :ivar resource_type: The type of resource the sku applies to. 8937 :vartype resource_type: str 8938 :ivar sku: The Sku. 8939 :vartype sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 8940 :ivar capacity: Specifies the number of virtual machines in the scale set. 8941 :vartype capacity: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetSkuCapacity 8942 """ 8943 8944 _validation = { 8945 'resource_type': {'readonly': True}, 8946 'sku': {'readonly': True}, 8947 'capacity': {'readonly': True}, 8948 } 8949 8950 _attribute_map = { 8951 'resource_type': {'key': 'resourceType', 'type': 'str'}, 8952 'sku': {'key': 'sku', 'type': 'Sku'}, 8953 'capacity': {'key': 'capacity', 'type': 'VirtualMachineScaleSetSkuCapacity'}, 8954 } 8955 8956 def __init__( 8957 self, 8958 **kwargs 8959 ): 8960 super(VirtualMachineScaleSetSku, self).__init__(**kwargs) 8961 self.resource_type = None 8962 self.sku = None 8963 self.capacity = None 8964 8965 8966class VirtualMachineScaleSetSkuCapacity(msrest.serialization.Model): 8967 """Describes scaling information of a sku. 8968 8969 Variables are only populated by the server, and will be ignored when sending a request. 8970 8971 :ivar minimum: The minimum capacity. 8972 :vartype minimum: long 8973 :ivar maximum: The maximum capacity that can be set. 8974 :vartype maximum: long 8975 :ivar default_capacity: The default capacity. 8976 :vartype default_capacity: long 8977 :ivar scale_type: The scale type applicable to the sku. Possible values include: "Automatic", 8978 "None". 8979 :vartype scale_type: str or 8980 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetSkuScaleType 8981 """ 8982 8983 _validation = { 8984 'minimum': {'readonly': True}, 8985 'maximum': {'readonly': True}, 8986 'default_capacity': {'readonly': True}, 8987 'scale_type': {'readonly': True}, 8988 } 8989 8990 _attribute_map = { 8991 'minimum': {'key': 'minimum', 'type': 'long'}, 8992 'maximum': {'key': 'maximum', 'type': 'long'}, 8993 'default_capacity': {'key': 'defaultCapacity', 'type': 'long'}, 8994 'scale_type': {'key': 'scaleType', 'type': 'str'}, 8995 } 8996 8997 def __init__( 8998 self, 8999 **kwargs 9000 ): 9001 super(VirtualMachineScaleSetSkuCapacity, self).__init__(**kwargs) 9002 self.minimum = None 9003 self.maximum = None 9004 self.default_capacity = None 9005 self.scale_type = None 9006 9007 9008class VirtualMachineScaleSetStorageProfile(msrest.serialization.Model): 9009 """Describes a virtual machine scale set storage profile. 9010 9011 :param image_reference: Specifies information about the image to use. You can specify 9012 information about platform images, marketplace images, or virtual machine images. This element 9013 is required when you want to use a platform image, marketplace image, or virtual machine image, 9014 but is not used in other creation operations. 9015 :type image_reference: ~azure.mgmt.compute.v2019_07_01.models.ImageReference 9016 :param os_disk: Specifies information about the operating system disk used by the virtual 9017 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 9018 `About disks and VHDs for Azure virtual machines 9019 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 9020 :type os_disk: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetOSDisk 9021 :param data_disks: Specifies the parameters that are used to add data disks to the virtual 9022 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 9023 `About disks and VHDs for Azure virtual machines 9024 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 9025 :type data_disks: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetDataDisk] 9026 """ 9027 9028 _attribute_map = { 9029 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 9030 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetOSDisk'}, 9031 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 9032 } 9033 9034 def __init__( 9035 self, 9036 *, 9037 image_reference: Optional["ImageReference"] = None, 9038 os_disk: Optional["VirtualMachineScaleSetOSDisk"] = None, 9039 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 9040 **kwargs 9041 ): 9042 super(VirtualMachineScaleSetStorageProfile, self).__init__(**kwargs) 9043 self.image_reference = image_reference 9044 self.os_disk = os_disk 9045 self.data_disks = data_disks 9046 9047 9048class VirtualMachineScaleSetUpdate(UpdateResource): 9049 """Describes a Virtual Machine Scale Set. 9050 9051 :param tags: A set of tags. Resource tags. 9052 :type tags: dict[str, str] 9053 :param sku: The virtual machine scale set sku. 9054 :type sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 9055 :param plan: The purchase plan when deploying a virtual machine scale set from VM Marketplace 9056 images. 9057 :type plan: ~azure.mgmt.compute.v2019_07_01.models.Plan 9058 :param identity: The identity of the virtual machine scale set, if configured. 9059 :type identity: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetIdentity 9060 :param upgrade_policy: The upgrade policy. 9061 :type upgrade_policy: ~azure.mgmt.compute.v2019_07_01.models.UpgradePolicy 9062 :param automatic_repairs_policy: Policy for automatic repairs. 9063 :type automatic_repairs_policy: ~azure.mgmt.compute.v2019_07_01.models.AutomaticRepairsPolicy 9064 :param virtual_machine_profile: The virtual machine profile. 9065 :type virtual_machine_profile: 9066 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateVMProfile 9067 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 9068 overprovisioned. 9069 :type overprovision: bool 9070 :param do_not_run_extensions_on_overprovisioned_v_ms: When Overprovision is enabled, extensions 9071 are launched only on the requested number of VMs which are finally kept. This property will 9072 hence ensure that the extensions do not run on the extra overprovisioned VMs. 9073 :type do_not_run_extensions_on_overprovisioned_v_ms: bool 9074 :param single_placement_group: When true this limits the scale set to a single placement group, 9075 of max size 100 virtual machines.NOTE: If singlePlacementGroup is true, it may be modified to 9076 false. However, if singlePlacementGroup is false, it may not be modified to true. 9077 :type single_placement_group: bool 9078 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 9079 Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines 9080 have the capability to support attaching managed data disks with UltraSSD_LRS storage account 9081 type. 9082 :type additional_capabilities: ~azure.mgmt.compute.v2019_07_01.models.AdditionalCapabilities 9083 :param scale_in_policy: Specifies the scale-in policy that decides which virtual machines are 9084 chosen for removal when a Virtual Machine Scale Set is scaled-in. 9085 :type scale_in_policy: ~azure.mgmt.compute.v2019_07_01.models.ScaleInPolicy 9086 :param proximity_placement_group: Specifies information about the proximity placement group 9087 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 9088 api-version: 2018-04-01. 9089 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 9090 """ 9091 9092 _attribute_map = { 9093 'tags': {'key': 'tags', 'type': '{str}'}, 9094 'sku': {'key': 'sku', 'type': 'Sku'}, 9095 'plan': {'key': 'plan', 'type': 'Plan'}, 9096 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 9097 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 9098 'automatic_repairs_policy': {'key': 'properties.automaticRepairsPolicy', 'type': 'AutomaticRepairsPolicy'}, 9099 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetUpdateVMProfile'}, 9100 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 9101 'do_not_run_extensions_on_overprovisioned_v_ms': {'key': 'properties.doNotRunExtensionsOnOverprovisionedVMs', 'type': 'bool'}, 9102 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 9103 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 9104 'scale_in_policy': {'key': 'properties.scaleInPolicy', 'type': 'ScaleInPolicy'}, 9105 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 9106 } 9107 9108 def __init__( 9109 self, 9110 *, 9111 tags: Optional[Dict[str, str]] = None, 9112 sku: Optional["Sku"] = None, 9113 plan: Optional["Plan"] = None, 9114 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 9115 upgrade_policy: Optional["UpgradePolicy"] = None, 9116 automatic_repairs_policy: Optional["AutomaticRepairsPolicy"] = None, 9117 virtual_machine_profile: Optional["VirtualMachineScaleSetUpdateVMProfile"] = None, 9118 overprovision: Optional[bool] = None, 9119 do_not_run_extensions_on_overprovisioned_v_ms: Optional[bool] = None, 9120 single_placement_group: Optional[bool] = None, 9121 additional_capabilities: Optional["AdditionalCapabilities"] = None, 9122 scale_in_policy: Optional["ScaleInPolicy"] = None, 9123 proximity_placement_group: Optional["SubResource"] = None, 9124 **kwargs 9125 ): 9126 super(VirtualMachineScaleSetUpdate, self).__init__(tags=tags, **kwargs) 9127 self.sku = sku 9128 self.plan = plan 9129 self.identity = identity 9130 self.upgrade_policy = upgrade_policy 9131 self.automatic_repairs_policy = automatic_repairs_policy 9132 self.virtual_machine_profile = virtual_machine_profile 9133 self.overprovision = overprovision 9134 self.do_not_run_extensions_on_overprovisioned_v_ms = do_not_run_extensions_on_overprovisioned_v_ms 9135 self.single_placement_group = single_placement_group 9136 self.additional_capabilities = additional_capabilities 9137 self.scale_in_policy = scale_in_policy 9138 self.proximity_placement_group = proximity_placement_group 9139 9140 9141class VirtualMachineScaleSetUpdateIPConfiguration(SubResource): 9142 """Describes a virtual machine scale set network profile's IP configuration. 9143 9144 :param id: Resource Id. 9145 :type id: str 9146 :param name: The IP configuration name. 9147 :type name: str 9148 :param subnet: The subnet. 9149 :type subnet: ~azure.mgmt.compute.v2019_07_01.models.ApiEntityReference 9150 :param primary: Specifies the primary IP Configuration in case the network interface has more 9151 than one IP Configuration. 9152 :type primary: bool 9153 :param public_ip_address_configuration: The publicIPAddressConfiguration. 9154 :type public_ip_address_configuration: 9155 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdatePublicIPAddressConfiguration 9156 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 9157 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 9158 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 9159 :type private_ip_address_version: str or ~azure.mgmt.compute.v2019_07_01.models.IPVersion 9160 :param application_gateway_backend_address_pools: The application gateway backend address 9161 pools. 9162 :type application_gateway_backend_address_pools: 9163 list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 9164 :param application_security_groups: Specifies an array of references to application security 9165 group. 9166 :type application_security_groups: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 9167 :param load_balancer_backend_address_pools: The load balancer backend address pools. 9168 :type load_balancer_backend_address_pools: 9169 list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 9170 :param load_balancer_inbound_nat_pools: The load balancer inbound nat pools. 9171 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2019_07_01.models.SubResource] 9172 """ 9173 9174 _attribute_map = { 9175 'id': {'key': 'id', 'type': 'str'}, 9176 'name': {'key': 'name', 'type': 'str'}, 9177 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 9178 'primary': {'key': 'properties.primary', 'type': 'bool'}, 9179 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetUpdatePublicIPAddressConfiguration'}, 9180 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 9181 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 9182 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[SubResource]'}, 9183 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 9184 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 9185 } 9186 9187 def __init__( 9188 self, 9189 *, 9190 id: Optional[str] = None, 9191 name: Optional[str] = None, 9192 subnet: Optional["ApiEntityReference"] = None, 9193 primary: Optional[bool] = None, 9194 public_ip_address_configuration: Optional["VirtualMachineScaleSetUpdatePublicIPAddressConfiguration"] = None, 9195 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 9196 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 9197 application_security_groups: Optional[List["SubResource"]] = None, 9198 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 9199 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 9200 **kwargs 9201 ): 9202 super(VirtualMachineScaleSetUpdateIPConfiguration, self).__init__(id=id, **kwargs) 9203 self.name = name 9204 self.subnet = subnet 9205 self.primary = primary 9206 self.public_ip_address_configuration = public_ip_address_configuration 9207 self.private_ip_address_version = private_ip_address_version 9208 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 9209 self.application_security_groups = application_security_groups 9210 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 9211 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 9212 9213 9214class VirtualMachineScaleSetUpdateNetworkConfiguration(SubResource): 9215 """Describes a virtual machine scale set network profile's network configurations. 9216 9217 :param id: Resource Id. 9218 :type id: str 9219 :param name: The network configuration name. 9220 :type name: str 9221 :param primary: Whether this is a primary NIC on a virtual machine. 9222 :type primary: bool 9223 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 9224 networking-enabled. 9225 :type enable_accelerated_networking: bool 9226 :param network_security_group: The network security group. 9227 :type network_security_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 9228 :param dns_settings: The dns settings to be applied on the network interfaces. 9229 :type dns_settings: 9230 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 9231 :param ip_configurations: The virtual machine scale set IP Configuration. 9232 :type ip_configurations: 9233 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateIPConfiguration] 9234 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 9235 :type enable_ip_forwarding: bool 9236 """ 9237 9238 _attribute_map = { 9239 'id': {'key': 'id', 'type': 'str'}, 9240 'name': {'key': 'name', 'type': 'str'}, 9241 'primary': {'key': 'properties.primary', 'type': 'bool'}, 9242 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 9243 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 9244 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 9245 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetUpdateIPConfiguration]'}, 9246 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 9247 } 9248 9249 def __init__( 9250 self, 9251 *, 9252 id: Optional[str] = None, 9253 name: Optional[str] = None, 9254 primary: Optional[bool] = None, 9255 enable_accelerated_networking: Optional[bool] = None, 9256 network_security_group: Optional["SubResource"] = None, 9257 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 9258 ip_configurations: Optional[List["VirtualMachineScaleSetUpdateIPConfiguration"]] = None, 9259 enable_ip_forwarding: Optional[bool] = None, 9260 **kwargs 9261 ): 9262 super(VirtualMachineScaleSetUpdateNetworkConfiguration, self).__init__(id=id, **kwargs) 9263 self.name = name 9264 self.primary = primary 9265 self.enable_accelerated_networking = enable_accelerated_networking 9266 self.network_security_group = network_security_group 9267 self.dns_settings = dns_settings 9268 self.ip_configurations = ip_configurations 9269 self.enable_ip_forwarding = enable_ip_forwarding 9270 9271 9272class VirtualMachineScaleSetUpdateNetworkProfile(msrest.serialization.Model): 9273 """Describes a virtual machine scale set network profile. 9274 9275 :param health_probe: A reference to a load balancer probe used to determine the health of an 9276 instance in the virtual machine scale set. The reference will be in the form: 9277 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. 9278 :type health_probe: ~azure.mgmt.compute.v2019_07_01.models.ApiEntityReference 9279 :param network_interface_configurations: The list of network configurations. 9280 :type network_interface_configurations: 9281 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateNetworkConfiguration] 9282 """ 9283 9284 _attribute_map = { 9285 'health_probe': {'key': 'healthProbe', 'type': 'ApiEntityReference'}, 9286 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetUpdateNetworkConfiguration]'}, 9287 } 9288 9289 def __init__( 9290 self, 9291 *, 9292 health_probe: Optional["ApiEntityReference"] = None, 9293 network_interface_configurations: Optional[List["VirtualMachineScaleSetUpdateNetworkConfiguration"]] = None, 9294 **kwargs 9295 ): 9296 super(VirtualMachineScaleSetUpdateNetworkProfile, self).__init__(**kwargs) 9297 self.health_probe = health_probe 9298 self.network_interface_configurations = network_interface_configurations 9299 9300 9301class VirtualMachineScaleSetUpdateOSDisk(msrest.serialization.Model): 9302 """Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk. 9303 9304 :param caching: The caching type. Possible values include: "None", "ReadOnly", "ReadWrite". 9305 :type caching: str or ~azure.mgmt.compute.v2019_07_01.models.CachingTypes 9306 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 9307 disabled on the disk. 9308 :type write_accelerator_enabled: bool 9309 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 9310 can be used to overwrite the size of the disk in a virtual machine image. 9311 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 9312 :type disk_size_gb: int 9313 :param image: The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before 9314 using it to attach to the Virtual Machine. If SourceImage is provided, the destination 9315 VirtualHardDisk should not exist. 9316 :type image: ~azure.mgmt.compute.v2019_07_01.models.VirtualHardDisk 9317 :param vhd_containers: The list of virtual hard disk container uris. 9318 :type vhd_containers: list[str] 9319 :param managed_disk: The managed disk parameters. 9320 :type managed_disk: 9321 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetManagedDiskParameters 9322 """ 9323 9324 _attribute_map = { 9325 'caching': {'key': 'caching', 'type': 'str'}, 9326 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 9327 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 9328 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 9329 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 9330 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 9331 } 9332 9333 def __init__( 9334 self, 9335 *, 9336 caching: Optional[Union[str, "CachingTypes"]] = None, 9337 write_accelerator_enabled: Optional[bool] = None, 9338 disk_size_gb: Optional[int] = None, 9339 image: Optional["VirtualHardDisk"] = None, 9340 vhd_containers: Optional[List[str]] = None, 9341 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 9342 **kwargs 9343 ): 9344 super(VirtualMachineScaleSetUpdateOSDisk, self).__init__(**kwargs) 9345 self.caching = caching 9346 self.write_accelerator_enabled = write_accelerator_enabled 9347 self.disk_size_gb = disk_size_gb 9348 self.image = image 9349 self.vhd_containers = vhd_containers 9350 self.managed_disk = managed_disk 9351 9352 9353class VirtualMachineScaleSetUpdateOSProfile(msrest.serialization.Model): 9354 """Describes a virtual machine scale set OS profile. 9355 9356 :param custom_data: A base-64 encoded string of custom data. 9357 :type custom_data: str 9358 :param windows_configuration: The Windows Configuration of the OS profile. 9359 :type windows_configuration: ~azure.mgmt.compute.v2019_07_01.models.WindowsConfiguration 9360 :param linux_configuration: The Linux Configuration of the OS profile. 9361 :type linux_configuration: ~azure.mgmt.compute.v2019_07_01.models.LinuxConfiguration 9362 :param secrets: The List of certificates for addition to the VM. 9363 :type secrets: list[~azure.mgmt.compute.v2019_07_01.models.VaultSecretGroup] 9364 """ 9365 9366 _attribute_map = { 9367 'custom_data': {'key': 'customData', 'type': 'str'}, 9368 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 9369 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 9370 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 9371 } 9372 9373 def __init__( 9374 self, 9375 *, 9376 custom_data: Optional[str] = None, 9377 windows_configuration: Optional["WindowsConfiguration"] = None, 9378 linux_configuration: Optional["LinuxConfiguration"] = None, 9379 secrets: Optional[List["VaultSecretGroup"]] = None, 9380 **kwargs 9381 ): 9382 super(VirtualMachineScaleSetUpdateOSProfile, self).__init__(**kwargs) 9383 self.custom_data = custom_data 9384 self.windows_configuration = windows_configuration 9385 self.linux_configuration = linux_configuration 9386 self.secrets = secrets 9387 9388 9389class VirtualMachineScaleSetUpdatePublicIPAddressConfiguration(msrest.serialization.Model): 9390 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 9391 9392 :param name: The publicIP address configuration name. 9393 :type name: str 9394 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 9395 :type idle_timeout_in_minutes: int 9396 :param dns_settings: The dns settings to be applied on the publicIP addresses . 9397 :type dns_settings: 9398 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 9399 """ 9400 9401 _attribute_map = { 9402 'name': {'key': 'name', 'type': 'str'}, 9403 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 9404 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 9405 } 9406 9407 def __init__( 9408 self, 9409 *, 9410 name: Optional[str] = None, 9411 idle_timeout_in_minutes: Optional[int] = None, 9412 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 9413 **kwargs 9414 ): 9415 super(VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, self).__init__(**kwargs) 9416 self.name = name 9417 self.idle_timeout_in_minutes = idle_timeout_in_minutes 9418 self.dns_settings = dns_settings 9419 9420 9421class VirtualMachineScaleSetUpdateStorageProfile(msrest.serialization.Model): 9422 """Describes a virtual machine scale set storage profile. 9423 9424 :param image_reference: The image reference. 9425 :type image_reference: ~azure.mgmt.compute.v2019_07_01.models.ImageReference 9426 :param os_disk: The OS disk. 9427 :type os_disk: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateOSDisk 9428 :param data_disks: The data disks. 9429 :type data_disks: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetDataDisk] 9430 """ 9431 9432 _attribute_map = { 9433 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 9434 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetUpdateOSDisk'}, 9435 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 9436 } 9437 9438 def __init__( 9439 self, 9440 *, 9441 image_reference: Optional["ImageReference"] = None, 9442 os_disk: Optional["VirtualMachineScaleSetUpdateOSDisk"] = None, 9443 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 9444 **kwargs 9445 ): 9446 super(VirtualMachineScaleSetUpdateStorageProfile, self).__init__(**kwargs) 9447 self.image_reference = image_reference 9448 self.os_disk = os_disk 9449 self.data_disks = data_disks 9450 9451 9452class VirtualMachineScaleSetUpdateVMProfile(msrest.serialization.Model): 9453 """Describes a virtual machine scale set virtual machine profile. 9454 9455 :param os_profile: The virtual machine scale set OS profile. 9456 :type os_profile: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateOSProfile 9457 :param storage_profile: The virtual machine scale set storage profile. 9458 :type storage_profile: 9459 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateStorageProfile 9460 :param network_profile: The virtual machine scale set network profile. 9461 :type network_profile: 9462 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetUpdateNetworkProfile 9463 :param diagnostics_profile: The virtual machine scale set diagnostics profile. 9464 :type diagnostics_profile: ~azure.mgmt.compute.v2019_07_01.models.DiagnosticsProfile 9465 :param extension_profile: The virtual machine scale set extension profile. 9466 :type extension_profile: 9467 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetExtensionProfile 9468 :param license_type: The license type, which is for bring your own license scenario. 9469 :type license_type: str 9470 :param billing_profile: Specifies the billing related details of a Azure Spot VMSS. 9471 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 9472 :type billing_profile: ~azure.mgmt.compute.v2019_07_01.models.BillingProfile 9473 :param scheduled_events_profile: Specifies Scheduled Event related configurations. 9474 :type scheduled_events_profile: ~azure.mgmt.compute.v2019_07_01.models.ScheduledEventsProfile 9475 """ 9476 9477 _attribute_map = { 9478 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetUpdateOSProfile'}, 9479 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetUpdateStorageProfile'}, 9480 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetUpdateNetworkProfile'}, 9481 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 9482 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 9483 'license_type': {'key': 'licenseType', 'type': 'str'}, 9484 'billing_profile': {'key': 'billingProfile', 'type': 'BillingProfile'}, 9485 'scheduled_events_profile': {'key': 'scheduledEventsProfile', 'type': 'ScheduledEventsProfile'}, 9486 } 9487 9488 def __init__( 9489 self, 9490 *, 9491 os_profile: Optional["VirtualMachineScaleSetUpdateOSProfile"] = None, 9492 storage_profile: Optional["VirtualMachineScaleSetUpdateStorageProfile"] = None, 9493 network_profile: Optional["VirtualMachineScaleSetUpdateNetworkProfile"] = None, 9494 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 9495 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 9496 license_type: Optional[str] = None, 9497 billing_profile: Optional["BillingProfile"] = None, 9498 scheduled_events_profile: Optional["ScheduledEventsProfile"] = None, 9499 **kwargs 9500 ): 9501 super(VirtualMachineScaleSetUpdateVMProfile, self).__init__(**kwargs) 9502 self.os_profile = os_profile 9503 self.storage_profile = storage_profile 9504 self.network_profile = network_profile 9505 self.diagnostics_profile = diagnostics_profile 9506 self.extension_profile = extension_profile 9507 self.license_type = license_type 9508 self.billing_profile = billing_profile 9509 self.scheduled_events_profile = scheduled_events_profile 9510 9511 9512class VirtualMachineScaleSetVM(Resource): 9513 """Describes a virtual machine scale set virtual machine. 9514 9515 Variables are only populated by the server, and will be ignored when sending a request. 9516 9517 All required parameters must be populated in order to send to Azure. 9518 9519 :ivar id: Resource Id. 9520 :vartype id: str 9521 :ivar name: Resource name. 9522 :vartype name: str 9523 :ivar type: Resource type. 9524 :vartype type: str 9525 :param location: Required. Resource location. 9526 :type location: str 9527 :param tags: A set of tags. Resource tags. 9528 :type tags: dict[str, str] 9529 :ivar instance_id: The virtual machine instance ID. 9530 :vartype instance_id: str 9531 :ivar sku: The virtual machine SKU. 9532 :vartype sku: ~azure.mgmt.compute.v2019_07_01.models.Sku 9533 :param plan: Specifies information about the marketplace image used to create the virtual 9534 machine. This element is only used for marketplace images. Before you can use a marketplace 9535 image from an API, you must enable the image for programmatic use. In the Azure portal, find 9536 the marketplace image that you want to use and then click **Want to deploy programmatically, 9537 Get Started ->**. Enter any required information and then click **Save**. 9538 :type plan: ~azure.mgmt.compute.v2019_07_01.models.Plan 9539 :ivar resources: The virtual machine child extension resources. 9540 :vartype resources: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtension] 9541 :ivar zones: The virtual machine zones. 9542 :vartype zones: list[str] 9543 :ivar latest_model_applied: Specifies whether the latest model has been applied to the virtual 9544 machine. 9545 :vartype latest_model_applied: bool 9546 :ivar vm_id: Azure VM unique ID. 9547 :vartype vm_id: str 9548 :ivar instance_view: The virtual machine instance view. 9549 :vartype instance_view: 9550 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVMInstanceView 9551 :param hardware_profile: Specifies the hardware settings for the virtual machine. 9552 :type hardware_profile: ~azure.mgmt.compute.v2019_07_01.models.HardwareProfile 9553 :param storage_profile: Specifies the storage settings for the virtual machine disks. 9554 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.StorageProfile 9555 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 9556 virtual machine in the scale set. For instance: whether the virtual machine has the capability 9557 to support attaching managed data disks with UltraSSD_LRS storage account type. 9558 :type additional_capabilities: ~azure.mgmt.compute.v2019_07_01.models.AdditionalCapabilities 9559 :param os_profile: Specifies the operating system settings for the virtual machine. 9560 :type os_profile: ~azure.mgmt.compute.v2019_07_01.models.OSProfile 9561 :param network_profile: Specifies the network interfaces of the virtual machine. 9562 :type network_profile: ~azure.mgmt.compute.v2019_07_01.models.NetworkProfile 9563 :param network_profile_configuration: Specifies the network profile configuration of the 9564 virtual machine. 9565 :type network_profile_configuration: 9566 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVMNetworkProfileConfiguration 9567 :param diagnostics_profile: Specifies the boot diagnostic settings state. 9568 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 9569 :type diagnostics_profile: ~azure.mgmt.compute.v2019_07_01.models.DiagnosticsProfile 9570 :param availability_set: Specifies information about the availability set that the virtual 9571 machine should be assigned to. Virtual machines specified in the same availability set are 9572 allocated to different nodes to maximize availability. For more information about availability 9573 sets, see `Manage the availability of virtual machines 9574 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 9575 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 9576 maintenance for virtual machines in Azure 9577 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9578 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 9579 time. An existing VM cannot be added to an availability set. 9580 :type availability_set: ~azure.mgmt.compute.v2019_07_01.models.SubResource 9581 :ivar provisioning_state: The provisioning state, which only appears in the response. 9582 :vartype provisioning_state: str 9583 :param license_type: Specifies that the image or disk that is being used was licensed 9584 on-premises. This element is only used for images that contain the Windows Server operating 9585 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 9586 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 9587 a request for an update, the value must match the initial value. This value cannot be updated. 9588 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 9589 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9590 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 9591 :type license_type: str 9592 :ivar model_definition_applied: Specifies whether the model applied to the virtual machine is 9593 the model of the virtual machine scale set or the customized model for the virtual machine. 9594 :vartype model_definition_applied: str 9595 :param protection_policy: Specifies the protection policy of the virtual machine. 9596 :type protection_policy: 9597 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVMProtectionPolicy 9598 """ 9599 9600 _validation = { 9601 'id': {'readonly': True}, 9602 'name': {'readonly': True}, 9603 'type': {'readonly': True}, 9604 'location': {'required': True}, 9605 'instance_id': {'readonly': True}, 9606 'sku': {'readonly': True}, 9607 'resources': {'readonly': True}, 9608 'zones': {'readonly': True}, 9609 'latest_model_applied': {'readonly': True}, 9610 'vm_id': {'readonly': True}, 9611 'instance_view': {'readonly': True}, 9612 'provisioning_state': {'readonly': True}, 9613 'model_definition_applied': {'readonly': True}, 9614 } 9615 9616 _attribute_map = { 9617 'id': {'key': 'id', 'type': 'str'}, 9618 'name': {'key': 'name', 'type': 'str'}, 9619 'type': {'key': 'type', 'type': 'str'}, 9620 'location': {'key': 'location', 'type': 'str'}, 9621 'tags': {'key': 'tags', 'type': '{str}'}, 9622 'instance_id': {'key': 'instanceId', 'type': 'str'}, 9623 'sku': {'key': 'sku', 'type': 'Sku'}, 9624 'plan': {'key': 'plan', 'type': 'Plan'}, 9625 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 9626 'zones': {'key': 'zones', 'type': '[str]'}, 9627 'latest_model_applied': {'key': 'properties.latestModelApplied', 'type': 'bool'}, 9628 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 9629 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineScaleSetVMInstanceView'}, 9630 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 9631 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 9632 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 9633 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 9634 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 9635 'network_profile_configuration': {'key': 'properties.networkProfileConfiguration', 'type': 'VirtualMachineScaleSetVMNetworkProfileConfiguration'}, 9636 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 9637 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 9638 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9639 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 9640 'model_definition_applied': {'key': 'properties.modelDefinitionApplied', 'type': 'str'}, 9641 'protection_policy': {'key': 'properties.protectionPolicy', 'type': 'VirtualMachineScaleSetVMProtectionPolicy'}, 9642 } 9643 9644 def __init__( 9645 self, 9646 *, 9647 location: str, 9648 tags: Optional[Dict[str, str]] = None, 9649 plan: Optional["Plan"] = None, 9650 hardware_profile: Optional["HardwareProfile"] = None, 9651 storage_profile: Optional["StorageProfile"] = None, 9652 additional_capabilities: Optional["AdditionalCapabilities"] = None, 9653 os_profile: Optional["OSProfile"] = None, 9654 network_profile: Optional["NetworkProfile"] = None, 9655 network_profile_configuration: Optional["VirtualMachineScaleSetVMNetworkProfileConfiguration"] = None, 9656 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 9657 availability_set: Optional["SubResource"] = None, 9658 license_type: Optional[str] = None, 9659 protection_policy: Optional["VirtualMachineScaleSetVMProtectionPolicy"] = None, 9660 **kwargs 9661 ): 9662 super(VirtualMachineScaleSetVM, self).__init__(location=location, tags=tags, **kwargs) 9663 self.instance_id = None 9664 self.sku = None 9665 self.plan = plan 9666 self.resources = None 9667 self.zones = None 9668 self.latest_model_applied = None 9669 self.vm_id = None 9670 self.instance_view = None 9671 self.hardware_profile = hardware_profile 9672 self.storage_profile = storage_profile 9673 self.additional_capabilities = additional_capabilities 9674 self.os_profile = os_profile 9675 self.network_profile = network_profile 9676 self.network_profile_configuration = network_profile_configuration 9677 self.diagnostics_profile = diagnostics_profile 9678 self.availability_set = availability_set 9679 self.provisioning_state = None 9680 self.license_type = license_type 9681 self.model_definition_applied = None 9682 self.protection_policy = protection_policy 9683 9684 9685class VirtualMachineScaleSetVMExtensionsSummary(msrest.serialization.Model): 9686 """Extensions summary for virtual machines of a virtual machine scale set. 9687 9688 Variables are only populated by the server, and will be ignored when sending a request. 9689 9690 :ivar name: The extension name. 9691 :vartype name: str 9692 :ivar statuses_summary: The extensions information. 9693 :vartype statuses_summary: 9694 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineStatusCodeCount] 9695 """ 9696 9697 _validation = { 9698 'name': {'readonly': True}, 9699 'statuses_summary': {'readonly': True}, 9700 } 9701 9702 _attribute_map = { 9703 'name': {'key': 'name', 'type': 'str'}, 9704 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 9705 } 9706 9707 def __init__( 9708 self, 9709 **kwargs 9710 ): 9711 super(VirtualMachineScaleSetVMExtensionsSummary, self).__init__(**kwargs) 9712 self.name = None 9713 self.statuses_summary = None 9714 9715 9716class VirtualMachineScaleSetVMInstanceIDs(msrest.serialization.Model): 9717 """Specifies a list of virtual machine instance IDs from the VM scale set. 9718 9719 :param instance_ids: The virtual machine scale set instance ids. Omitting the virtual machine 9720 scale set instance ids will result in the operation being performed on all virtual machines in 9721 the virtual machine scale set. 9722 :type instance_ids: list[str] 9723 """ 9724 9725 _attribute_map = { 9726 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 9727 } 9728 9729 def __init__( 9730 self, 9731 *, 9732 instance_ids: Optional[List[str]] = None, 9733 **kwargs 9734 ): 9735 super(VirtualMachineScaleSetVMInstanceIDs, self).__init__(**kwargs) 9736 self.instance_ids = instance_ids 9737 9738 9739class VirtualMachineScaleSetVMInstanceRequiredIDs(msrest.serialization.Model): 9740 """Specifies a list of virtual machine instance IDs from the VM scale set. 9741 9742 All required parameters must be populated in order to send to Azure. 9743 9744 :param instance_ids: Required. The virtual machine scale set instance ids. 9745 :type instance_ids: list[str] 9746 """ 9747 9748 _validation = { 9749 'instance_ids': {'required': True}, 9750 } 9751 9752 _attribute_map = { 9753 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 9754 } 9755 9756 def __init__( 9757 self, 9758 *, 9759 instance_ids: List[str], 9760 **kwargs 9761 ): 9762 super(VirtualMachineScaleSetVMInstanceRequiredIDs, self).__init__(**kwargs) 9763 self.instance_ids = instance_ids 9764 9765 9766class VirtualMachineScaleSetVMInstanceView(msrest.serialization.Model): 9767 """The instance view of a virtual machine scale set VM. 9768 9769 Variables are only populated by the server, and will be ignored when sending a request. 9770 9771 :param platform_update_domain: The Update Domain count. 9772 :type platform_update_domain: int 9773 :param platform_fault_domain: The Fault Domain count. 9774 :type platform_fault_domain: int 9775 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 9776 :type rdp_thumb_print: str 9777 :param vm_agent: The VM Agent running on the virtual machine. 9778 :type vm_agent: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineAgentInstanceView 9779 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 9780 :type maintenance_redeploy_status: 9781 ~azure.mgmt.compute.v2019_07_01.models.MaintenanceRedeployStatus 9782 :param disks: The disks information. 9783 :type disks: list[~azure.mgmt.compute.v2019_07_01.models.DiskInstanceView] 9784 :param extensions: The extensions information. 9785 :type extensions: 9786 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineExtensionInstanceView] 9787 :ivar vm_health: The health status for the VM. 9788 :vartype vm_health: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineHealthStatus 9789 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 9790 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 9791 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 9792 screenshot of the VM from the hypervisor. 9793 :type boot_diagnostics: ~azure.mgmt.compute.v2019_07_01.models.BootDiagnosticsInstanceView 9794 :param statuses: The resource status information. 9795 :type statuses: list[~azure.mgmt.compute.v2019_07_01.models.InstanceViewStatus] 9796 :param placement_group_id: The placement group in which the VM is running. If the VM is 9797 deallocated it will not have a placementGroupId. 9798 :type placement_group_id: str 9799 """ 9800 9801 _validation = { 9802 'vm_health': {'readonly': True}, 9803 } 9804 9805 _attribute_map = { 9806 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 9807 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 9808 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 9809 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 9810 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 9811 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 9812 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 9813 'vm_health': {'key': 'vmHealth', 'type': 'VirtualMachineHealthStatus'}, 9814 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 9815 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 9816 'placement_group_id': {'key': 'placementGroupId', 'type': 'str'}, 9817 } 9818 9819 def __init__( 9820 self, 9821 *, 9822 platform_update_domain: Optional[int] = None, 9823 platform_fault_domain: Optional[int] = None, 9824 rdp_thumb_print: Optional[str] = None, 9825 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 9826 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 9827 disks: Optional[List["DiskInstanceView"]] = None, 9828 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 9829 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 9830 statuses: Optional[List["InstanceViewStatus"]] = None, 9831 placement_group_id: Optional[str] = None, 9832 **kwargs 9833 ): 9834 super(VirtualMachineScaleSetVMInstanceView, self).__init__(**kwargs) 9835 self.platform_update_domain = platform_update_domain 9836 self.platform_fault_domain = platform_fault_domain 9837 self.rdp_thumb_print = rdp_thumb_print 9838 self.vm_agent = vm_agent 9839 self.maintenance_redeploy_status = maintenance_redeploy_status 9840 self.disks = disks 9841 self.extensions = extensions 9842 self.vm_health = None 9843 self.boot_diagnostics = boot_diagnostics 9844 self.statuses = statuses 9845 self.placement_group_id = placement_group_id 9846 9847 9848class VirtualMachineScaleSetVMListResult(msrest.serialization.Model): 9849 """The List Virtual Machine Scale Set VMs operation response. 9850 9851 All required parameters must be populated in order to send to Azure. 9852 9853 :param value: Required. The list of virtual machine scale sets VMs. 9854 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetVM] 9855 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set VMs. Call 9856 ListNext() with this to fetch the next page of VMSS VMs. 9857 :type next_link: str 9858 """ 9859 9860 _validation = { 9861 'value': {'required': True}, 9862 } 9863 9864 _attribute_map = { 9865 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetVM]'}, 9866 'next_link': {'key': 'nextLink', 'type': 'str'}, 9867 } 9868 9869 def __init__( 9870 self, 9871 *, 9872 value: List["VirtualMachineScaleSetVM"], 9873 next_link: Optional[str] = None, 9874 **kwargs 9875 ): 9876 super(VirtualMachineScaleSetVMListResult, self).__init__(**kwargs) 9877 self.value = value 9878 self.next_link = next_link 9879 9880 9881class VirtualMachineScaleSetVMNetworkProfileConfiguration(msrest.serialization.Model): 9882 """Describes a virtual machine scale set VM network profile. 9883 9884 :param network_interface_configurations: The list of network configurations. 9885 :type network_interface_configurations: 9886 list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetNetworkConfiguration] 9887 """ 9888 9889 _attribute_map = { 9890 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetNetworkConfiguration]'}, 9891 } 9892 9893 def __init__( 9894 self, 9895 *, 9896 network_interface_configurations: Optional[List["VirtualMachineScaleSetNetworkConfiguration"]] = None, 9897 **kwargs 9898 ): 9899 super(VirtualMachineScaleSetVMNetworkProfileConfiguration, self).__init__(**kwargs) 9900 self.network_interface_configurations = network_interface_configurations 9901 9902 9903class VirtualMachineScaleSetVMProfile(msrest.serialization.Model): 9904 """Describes a virtual machine scale set virtual machine profile. 9905 9906 :param os_profile: Specifies the operating system settings for the virtual machines in the 9907 scale set. 9908 :type os_profile: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetOSProfile 9909 :param storage_profile: Specifies the storage settings for the virtual machine disks. 9910 :type storage_profile: 9911 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetStorageProfile 9912 :param network_profile: Specifies properties of the network interfaces of the virtual machines 9913 in the scale set. 9914 :type network_profile: 9915 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetNetworkProfile 9916 :param diagnostics_profile: Specifies the boot diagnostic settings state. 9917 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 9918 :type diagnostics_profile: ~azure.mgmt.compute.v2019_07_01.models.DiagnosticsProfile 9919 :param extension_profile: Specifies a collection of settings for extensions installed on 9920 virtual machines in the scale set. 9921 :type extension_profile: 9922 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineScaleSetExtensionProfile 9923 :param license_type: Specifies that the image or disk that is being used was licensed 9924 on-premises. This element is only used for images that contain the Windows Server operating 9925 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 9926 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 9927 a request for an update, the value must match the initial value. This value cannot be updated. 9928 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 9929 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9930 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 9931 :type license_type: str 9932 :param priority: Specifies the priority for the virtual machines in the scale set. 9933 :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview. Possible values include: 9934 "Regular", "Low", "Spot". 9935 :type priority: str or ~azure.mgmt.compute.v2019_07_01.models.VirtualMachinePriorityTypes 9936 :param eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and 9937 Azure Spot scale set. :code:`<br>`:code:`<br>`For Azure Spot virtual machines, the only 9938 supported value is 'Deallocate' and the minimum api-version is 2019-03-01. 9939 :code:`<br>`:code:`<br>`For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported 9940 and the minimum api-version is 2017-10-30-preview. Possible values include: "Deallocate", 9941 "Delete". 9942 :type eviction_policy: str or 9943 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineEvictionPolicyTypes 9944 :param billing_profile: Specifies the billing related details of a Azure Spot VMSS. 9945 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 9946 :type billing_profile: ~azure.mgmt.compute.v2019_07_01.models.BillingProfile 9947 :param scheduled_events_profile: Specifies Scheduled Event related configurations. 9948 :type scheduled_events_profile: ~azure.mgmt.compute.v2019_07_01.models.ScheduledEventsProfile 9949 """ 9950 9951 _attribute_map = { 9952 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetOSProfile'}, 9953 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetStorageProfile'}, 9954 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetNetworkProfile'}, 9955 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 9956 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 9957 'license_type': {'key': 'licenseType', 'type': 'str'}, 9958 'priority': {'key': 'priority', 'type': 'str'}, 9959 'eviction_policy': {'key': 'evictionPolicy', 'type': 'str'}, 9960 'billing_profile': {'key': 'billingProfile', 'type': 'BillingProfile'}, 9961 'scheduled_events_profile': {'key': 'scheduledEventsProfile', 'type': 'ScheduledEventsProfile'}, 9962 } 9963 9964 def __init__( 9965 self, 9966 *, 9967 os_profile: Optional["VirtualMachineScaleSetOSProfile"] = None, 9968 storage_profile: Optional["VirtualMachineScaleSetStorageProfile"] = None, 9969 network_profile: Optional["VirtualMachineScaleSetNetworkProfile"] = None, 9970 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 9971 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 9972 license_type: Optional[str] = None, 9973 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 9974 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 9975 billing_profile: Optional["BillingProfile"] = None, 9976 scheduled_events_profile: Optional["ScheduledEventsProfile"] = None, 9977 **kwargs 9978 ): 9979 super(VirtualMachineScaleSetVMProfile, self).__init__(**kwargs) 9980 self.os_profile = os_profile 9981 self.storage_profile = storage_profile 9982 self.network_profile = network_profile 9983 self.diagnostics_profile = diagnostics_profile 9984 self.extension_profile = extension_profile 9985 self.license_type = license_type 9986 self.priority = priority 9987 self.eviction_policy = eviction_policy 9988 self.billing_profile = billing_profile 9989 self.scheduled_events_profile = scheduled_events_profile 9990 9991 9992class VirtualMachineScaleSetVMProtectionPolicy(msrest.serialization.Model): 9993 """The protection policy of a virtual machine scale set VM. 9994 9995 :param protect_from_scale_in: Indicates that the virtual machine scale set VM shouldn't be 9996 considered for deletion during a scale-in operation. 9997 :type protect_from_scale_in: bool 9998 :param protect_from_scale_set_actions: Indicates that model updates or actions (including 9999 scale-in) initiated on the virtual machine scale set should not be applied to the virtual 10000 machine scale set VM. 10001 :type protect_from_scale_set_actions: bool 10002 """ 10003 10004 _attribute_map = { 10005 'protect_from_scale_in': {'key': 'protectFromScaleIn', 'type': 'bool'}, 10006 'protect_from_scale_set_actions': {'key': 'protectFromScaleSetActions', 'type': 'bool'}, 10007 } 10008 10009 def __init__( 10010 self, 10011 *, 10012 protect_from_scale_in: Optional[bool] = None, 10013 protect_from_scale_set_actions: Optional[bool] = None, 10014 **kwargs 10015 ): 10016 super(VirtualMachineScaleSetVMProtectionPolicy, self).__init__(**kwargs) 10017 self.protect_from_scale_in = protect_from_scale_in 10018 self.protect_from_scale_set_actions = protect_from_scale_set_actions 10019 10020 10021class VirtualMachineSize(msrest.serialization.Model): 10022 """Describes the properties of a VM size. 10023 10024 :param name: The name of the virtual machine size. 10025 :type name: str 10026 :param number_of_cores: The number of cores supported by the virtual machine size. 10027 :type number_of_cores: int 10028 :param os_disk_size_in_mb: The OS disk size, in MB, allowed by the virtual machine size. 10029 :type os_disk_size_in_mb: int 10030 :param resource_disk_size_in_mb: The resource disk size, in MB, allowed by the virtual machine 10031 size. 10032 :type resource_disk_size_in_mb: int 10033 :param memory_in_mb: The amount of memory, in MB, supported by the virtual machine size. 10034 :type memory_in_mb: int 10035 :param max_data_disk_count: The maximum number of data disks that can be attached to the 10036 virtual machine size. 10037 :type max_data_disk_count: int 10038 """ 10039 10040 _attribute_map = { 10041 'name': {'key': 'name', 'type': 'str'}, 10042 'number_of_cores': {'key': 'numberOfCores', 'type': 'int'}, 10043 'os_disk_size_in_mb': {'key': 'osDiskSizeInMB', 'type': 'int'}, 10044 'resource_disk_size_in_mb': {'key': 'resourceDiskSizeInMB', 'type': 'int'}, 10045 'memory_in_mb': {'key': 'memoryInMB', 'type': 'int'}, 10046 'max_data_disk_count': {'key': 'maxDataDiskCount', 'type': 'int'}, 10047 } 10048 10049 def __init__( 10050 self, 10051 *, 10052 name: Optional[str] = None, 10053 number_of_cores: Optional[int] = None, 10054 os_disk_size_in_mb: Optional[int] = None, 10055 resource_disk_size_in_mb: Optional[int] = None, 10056 memory_in_mb: Optional[int] = None, 10057 max_data_disk_count: Optional[int] = None, 10058 **kwargs 10059 ): 10060 super(VirtualMachineSize, self).__init__(**kwargs) 10061 self.name = name 10062 self.number_of_cores = number_of_cores 10063 self.os_disk_size_in_mb = os_disk_size_in_mb 10064 self.resource_disk_size_in_mb = resource_disk_size_in_mb 10065 self.memory_in_mb = memory_in_mb 10066 self.max_data_disk_count = max_data_disk_count 10067 10068 10069class VirtualMachineSizeListResult(msrest.serialization.Model): 10070 """The List Virtual Machine operation response. 10071 10072 :param value: The list of virtual machine sizes. 10073 :type value: list[~azure.mgmt.compute.v2019_07_01.models.VirtualMachineSize] 10074 """ 10075 10076 _attribute_map = { 10077 'value': {'key': 'value', 'type': '[VirtualMachineSize]'}, 10078 } 10079 10080 def __init__( 10081 self, 10082 *, 10083 value: Optional[List["VirtualMachineSize"]] = None, 10084 **kwargs 10085 ): 10086 super(VirtualMachineSizeListResult, self).__init__(**kwargs) 10087 self.value = value 10088 10089 10090class VirtualMachineStatusCodeCount(msrest.serialization.Model): 10091 """The status code and count of the virtual machine scale set instance view status summary. 10092 10093 Variables are only populated by the server, and will be ignored when sending a request. 10094 10095 :ivar code: The instance view status code. 10096 :vartype code: str 10097 :ivar count: The number of instances having a particular status code. 10098 :vartype count: int 10099 """ 10100 10101 _validation = { 10102 'code': {'readonly': True}, 10103 'count': {'readonly': True}, 10104 } 10105 10106 _attribute_map = { 10107 'code': {'key': 'code', 'type': 'str'}, 10108 'count': {'key': 'count', 'type': 'int'}, 10109 } 10110 10111 def __init__( 10112 self, 10113 **kwargs 10114 ): 10115 super(VirtualMachineStatusCodeCount, self).__init__(**kwargs) 10116 self.code = None 10117 self.count = None 10118 10119 10120class VirtualMachineUpdate(UpdateResource): 10121 """Describes a Virtual Machine Update. 10122 10123 Variables are only populated by the server, and will be ignored when sending a request. 10124 10125 :param tags: A set of tags. Resource tags. 10126 :type tags: dict[str, str] 10127 :param plan: Specifies information about the marketplace image used to create the virtual 10128 machine. This element is only used for marketplace images. Before you can use a marketplace 10129 image from an API, you must enable the image for programmatic use. In the Azure portal, find 10130 the marketplace image that you want to use and then click **Want to deploy programmatically, 10131 Get Started ->**. Enter any required information and then click **Save**. 10132 :type plan: ~azure.mgmt.compute.v2019_07_01.models.Plan 10133 :param identity: The identity of the virtual machine, if configured. 10134 :type identity: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineIdentity 10135 :param zones: The virtual machine zones. 10136 :type zones: list[str] 10137 :param hardware_profile: Specifies the hardware settings for the virtual machine. 10138 :type hardware_profile: ~azure.mgmt.compute.v2019_07_01.models.HardwareProfile 10139 :param storage_profile: Specifies the storage settings for the virtual machine disks. 10140 :type storage_profile: ~azure.mgmt.compute.v2019_07_01.models.StorageProfile 10141 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 10142 virtual machine. 10143 :type additional_capabilities: ~azure.mgmt.compute.v2019_07_01.models.AdditionalCapabilities 10144 :param os_profile: Specifies the operating system settings used while creating the virtual 10145 machine. Some of the settings cannot be changed once VM is provisioned. 10146 :type os_profile: ~azure.mgmt.compute.v2019_07_01.models.OSProfile 10147 :param network_profile: Specifies the network interfaces of the virtual machine. 10148 :type network_profile: ~azure.mgmt.compute.v2019_07_01.models.NetworkProfile 10149 :param diagnostics_profile: Specifies the boot diagnostic settings state. 10150 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 10151 :type diagnostics_profile: ~azure.mgmt.compute.v2019_07_01.models.DiagnosticsProfile 10152 :param availability_set: Specifies information about the availability set that the virtual 10153 machine should be assigned to. Virtual machines specified in the same availability set are 10154 allocated to different nodes to maximize availability. For more information about availability 10155 sets, see `Manage the availability of virtual machines 10156 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 10157 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 10158 maintenance for virtual machines in Azure 10159 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 10160 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 10161 time. The availability set to which the VM is being added should be under the same resource 10162 group as the availability set resource. An existing VM cannot be added to an availability set. 10163 :code:`<br>`:code:`<br>`This property cannot exist along with a non-null 10164 properties.virtualMachineScaleSet reference. 10165 :type availability_set: ~azure.mgmt.compute.v2019_07_01.models.SubResource 10166 :param virtual_machine_scale_set: Specifies information about the virtual machine scale set 10167 that the virtual machine should be assigned to. Virtual machines specified in the same virtual 10168 machine scale set are allocated to different nodes to maximize availability. Currently, a VM 10169 can only be added to virtual machine scale set at creation time. An existing VM cannot be added 10170 to a virtual machine scale set. :code:`<br>`:code:`<br>`This property cannot exist along with a 10171 non-null properties.availabilitySet reference. :code:`<br>`:code:`<br>`Minimum api‐version: 10172 2019‐03‐01. 10173 :type virtual_machine_scale_set: ~azure.mgmt.compute.v2019_07_01.models.SubResource 10174 :param proximity_placement_group: Specifies information about the proximity placement group 10175 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 10176 2018-04-01. 10177 :type proximity_placement_group: ~azure.mgmt.compute.v2019_07_01.models.SubResource 10178 :param priority: Specifies the priority for the virtual machine. 10179 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. Possible values include: "Regular", 10180 "Low", "Spot". 10181 :type priority: str or ~azure.mgmt.compute.v2019_07_01.models.VirtualMachinePriorityTypes 10182 :param eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and 10183 Azure Spot scale set. :code:`<br>`:code:`<br>`For Azure Spot virtual machines, the only 10184 supported value is 'Deallocate' and the minimum api-version is 2019-03-01. 10185 :code:`<br>`:code:`<br>`For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported 10186 and the minimum api-version is 2017-10-30-preview. Possible values include: "Deallocate", 10187 "Delete". 10188 :type eviction_policy: str or 10189 ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineEvictionPolicyTypes 10190 :param billing_profile: Specifies the billing related details of a Azure Spot virtual machine. 10191 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 10192 :type billing_profile: ~azure.mgmt.compute.v2019_07_01.models.BillingProfile 10193 :param host: Specifies information about the dedicated host that the virtual machine resides 10194 in. :code:`<br>`:code:`<br>`Minimum api-version: 2018-10-01. 10195 :type host: ~azure.mgmt.compute.v2019_07_01.models.SubResource 10196 :ivar provisioning_state: The provisioning state, which only appears in the response. 10197 :vartype provisioning_state: str 10198 :ivar instance_view: The virtual machine instance view. 10199 :vartype instance_view: ~azure.mgmt.compute.v2019_07_01.models.VirtualMachineInstanceView 10200 :param license_type: Specifies that the image or disk that is being used was licensed 10201 on-premises. This element is only used for images that contain the Windows Server operating 10202 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 10203 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 10204 a request for an update, the value must match the initial value. This value cannot be updated. 10205 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 10206 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 10207 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 10208 :type license_type: str 10209 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 10210 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 10211 :vartype vm_id: str 10212 """ 10213 10214 _validation = { 10215 'provisioning_state': {'readonly': True}, 10216 'instance_view': {'readonly': True}, 10217 'vm_id': {'readonly': True}, 10218 } 10219 10220 _attribute_map = { 10221 'tags': {'key': 'tags', 'type': '{str}'}, 10222 'plan': {'key': 'plan', 'type': 'Plan'}, 10223 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 10224 'zones': {'key': 'zones', 'type': '[str]'}, 10225 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 10226 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 10227 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 10228 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 10229 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 10230 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 10231 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 10232 'virtual_machine_scale_set': {'key': 'properties.virtualMachineScaleSet', 'type': 'SubResource'}, 10233 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 10234 'priority': {'key': 'properties.priority', 'type': 'str'}, 10235 'eviction_policy': {'key': 'properties.evictionPolicy', 'type': 'str'}, 10236 'billing_profile': {'key': 'properties.billingProfile', 'type': 'BillingProfile'}, 10237 'host': {'key': 'properties.host', 'type': 'SubResource'}, 10238 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10239 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 10240 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 10241 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 10242 } 10243 10244 def __init__( 10245 self, 10246 *, 10247 tags: Optional[Dict[str, str]] = None, 10248 plan: Optional["Plan"] = None, 10249 identity: Optional["VirtualMachineIdentity"] = None, 10250 zones: Optional[List[str]] = None, 10251 hardware_profile: Optional["HardwareProfile"] = None, 10252 storage_profile: Optional["StorageProfile"] = None, 10253 additional_capabilities: Optional["AdditionalCapabilities"] = None, 10254 os_profile: Optional["OSProfile"] = None, 10255 network_profile: Optional["NetworkProfile"] = None, 10256 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 10257 availability_set: Optional["SubResource"] = None, 10258 virtual_machine_scale_set: Optional["SubResource"] = None, 10259 proximity_placement_group: Optional["SubResource"] = None, 10260 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 10261 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 10262 billing_profile: Optional["BillingProfile"] = None, 10263 host: Optional["SubResource"] = None, 10264 license_type: Optional[str] = None, 10265 **kwargs 10266 ): 10267 super(VirtualMachineUpdate, self).__init__(tags=tags, **kwargs) 10268 self.plan = plan 10269 self.identity = identity 10270 self.zones = zones 10271 self.hardware_profile = hardware_profile 10272 self.storage_profile = storage_profile 10273 self.additional_capabilities = additional_capabilities 10274 self.os_profile = os_profile 10275 self.network_profile = network_profile 10276 self.diagnostics_profile = diagnostics_profile 10277 self.availability_set = availability_set 10278 self.virtual_machine_scale_set = virtual_machine_scale_set 10279 self.proximity_placement_group = proximity_placement_group 10280 self.priority = priority 10281 self.eviction_policy = eviction_policy 10282 self.billing_profile = billing_profile 10283 self.host = host 10284 self.provisioning_state = None 10285 self.instance_view = None 10286 self.license_type = license_type 10287 self.vm_id = None 10288 10289 10290class VMScaleSetConvertToSinglePlacementGroupInput(msrest.serialization.Model): 10291 """VMScaleSetConvertToSinglePlacementGroupInput. 10292 10293 :param active_placement_group_id: Id of the placement group in which you want future virtual 10294 machine instances to be placed. To query placement group Id, please use Virtual Machine Scale 10295 Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual 10296 machine instances. 10297 :type active_placement_group_id: str 10298 """ 10299 10300 _attribute_map = { 10301 'active_placement_group_id': {'key': 'activePlacementGroupId', 'type': 'str'}, 10302 } 10303 10304 def __init__( 10305 self, 10306 *, 10307 active_placement_group_id: Optional[str] = None, 10308 **kwargs 10309 ): 10310 super(VMScaleSetConvertToSinglePlacementGroupInput, self).__init__(**kwargs) 10311 self.active_placement_group_id = active_placement_group_id 10312 10313 10314class WindowsConfiguration(msrest.serialization.Model): 10315 """Specifies Windows operating system settings on the virtual machine. 10316 10317 :param provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the 10318 virtual machine. :code:`<br>`:code:`<br>` When this property is not specified in the request 10319 body, default behavior is to set it to true. This will ensure that VM Agent is installed on 10320 the VM so that extensions can be added to the VM later. 10321 :type provision_vm_agent: bool 10322 :param enable_automatic_updates: Indicates whether Automatic Updates is enabled for the Windows 10323 virtual machine. Default value is true. :code:`<br>`:code:`<br>` For virtual machine scale 10324 sets, this property can be updated and updates will take effect on OS reprovisioning. 10325 :type enable_automatic_updates: bool 10326 :param time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". 10327 :code:`<br>`:code:`<br>` Possible values can be `TimeZoneInfo.Id 10328 <https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id>`_ 10329 value from time zones returned by `TimeZoneInfo.GetSystemTimeZones 10330 <https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones>`_. 10331 :type time_zone: str 10332 :param additional_unattend_content: Specifies additional base-64 encoded XML formatted 10333 information that can be included in the Unattend.xml file, which is used by Windows Setup. 10334 :type additional_unattend_content: 10335 list[~azure.mgmt.compute.v2019_07_01.models.AdditionalUnattendContent] 10336 :param win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows 10337 PowerShell. 10338 :type win_rm: ~azure.mgmt.compute.v2019_07_01.models.WinRMConfiguration 10339 """ 10340 10341 _attribute_map = { 10342 'provision_vm_agent': {'key': 'provisionVMAgent', 'type': 'bool'}, 10343 'enable_automatic_updates': {'key': 'enableAutomaticUpdates', 'type': 'bool'}, 10344 'time_zone': {'key': 'timeZone', 'type': 'str'}, 10345 'additional_unattend_content': {'key': 'additionalUnattendContent', 'type': '[AdditionalUnattendContent]'}, 10346 'win_rm': {'key': 'winRM', 'type': 'WinRMConfiguration'}, 10347 } 10348 10349 def __init__( 10350 self, 10351 *, 10352 provision_vm_agent: Optional[bool] = None, 10353 enable_automatic_updates: Optional[bool] = None, 10354 time_zone: Optional[str] = None, 10355 additional_unattend_content: Optional[List["AdditionalUnattendContent"]] = None, 10356 win_rm: Optional["WinRMConfiguration"] = None, 10357 **kwargs 10358 ): 10359 super(WindowsConfiguration, self).__init__(**kwargs) 10360 self.provision_vm_agent = provision_vm_agent 10361 self.enable_automatic_updates = enable_automatic_updates 10362 self.time_zone = time_zone 10363 self.additional_unattend_content = additional_unattend_content 10364 self.win_rm = win_rm 10365 10366 10367class WinRMConfiguration(msrest.serialization.Model): 10368 """Describes Windows Remote Management configuration of the VM. 10369 10370 :param listeners: The list of Windows Remote Management listeners. 10371 :type listeners: list[~azure.mgmt.compute.v2019_07_01.models.WinRMListener] 10372 """ 10373 10374 _attribute_map = { 10375 'listeners': {'key': 'listeners', 'type': '[WinRMListener]'}, 10376 } 10377 10378 def __init__( 10379 self, 10380 *, 10381 listeners: Optional[List["WinRMListener"]] = None, 10382 **kwargs 10383 ): 10384 super(WinRMConfiguration, self).__init__(**kwargs) 10385 self.listeners = listeners 10386 10387 10388class WinRMListener(msrest.serialization.Model): 10389 """Describes Protocol and thumbprint of Windows Remote Management listener. 10390 10391 :param protocol: Specifies the protocol of WinRM listener. :code:`<br>`:code:`<br>` Possible 10392 values are: :code:`<br>`\ **http** :code:`<br>`:code:`<br>` **https**. Possible values include: 10393 "Http", "Https". 10394 :type protocol: str or ~azure.mgmt.compute.v2019_07_01.models.ProtocolTypes 10395 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 10396 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 10397 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 10398 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 10399 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 10400 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 10401 "password":":code:`<pfx-file-password>`":code:`<br>`}. 10402 :type certificate_url: str 10403 """ 10404 10405 _attribute_map = { 10406 'protocol': {'key': 'protocol', 'type': 'str'}, 10407 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 10408 } 10409 10410 def __init__( 10411 self, 10412 *, 10413 protocol: Optional[Union[str, "ProtocolTypes"]] = None, 10414 certificate_url: Optional[str] = None, 10415 **kwargs 10416 ): 10417 super(WinRMListener, self).__init__(**kwargs) 10418 self.protocol = protocol 10419 self.certificate_url = certificate_url 10420