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_03_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_03_01.models.ApiErrorBase] 136 :param innererror: The Api inner error. 137 :type innererror: ~azure.mgmt.compute.v2019_03_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_03_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_03_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_03_01.models.SubResource 375 :ivar statuses: The resource status information. 376 :vartype statuses: list[~azure.mgmt.compute.v2019_03_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_03_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_03_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_03_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_03_01.models.SubResource 495 :ivar statuses: The resource status information. 496 :vartype statuses: list[~azure.mgmt.compute.v2019_03_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_03_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_03_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_03_01.models.DiskCreateOption 713 :param storage_account_id: If createOption is Import, the Azure Resource Manager identifier of 714 the storage account containing the blob to import as a disk. Required only if the blob is in a 715 different subscription. 716 :type storage_account_id: str 717 :param image_reference: Disk source information. 718 :type image_reference: ~azure.mgmt.compute.v2019_03_01.models.ImageDiskReference 719 :param source_uri: If createOption is Import, this is the URI of a blob to be imported into a 720 managed disk. 721 :type source_uri: str 722 :param source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot 723 or disk. 724 :type source_resource_id: str 725 :ivar source_unique_id: If this field is set, this is the unique id identifying the source of 726 this resource. 727 :vartype source_unique_id: str 728 :param upload_size_bytes: If createOption is Upload, this is the size of the contents of the 729 upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for 730 the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). 731 :type upload_size_bytes: long 732 """ 733 734 _validation = { 735 'create_option': {'required': True}, 736 'source_unique_id': {'readonly': True}, 737 } 738 739 _attribute_map = { 740 'create_option': {'key': 'createOption', 'type': 'str'}, 741 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, 742 'image_reference': {'key': 'imageReference', 'type': 'ImageDiskReference'}, 743 'source_uri': {'key': 'sourceUri', 'type': 'str'}, 744 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 745 'source_unique_id': {'key': 'sourceUniqueId', 'type': 'str'}, 746 'upload_size_bytes': {'key': 'uploadSizeBytes', 'type': 'long'}, 747 } 748 749 def __init__( 750 self, 751 *, 752 create_option: Union[str, "DiskCreateOption"], 753 storage_account_id: Optional[str] = None, 754 image_reference: Optional["ImageDiskReference"] = None, 755 source_uri: Optional[str] = None, 756 source_resource_id: Optional[str] = None, 757 upload_size_bytes: Optional[int] = None, 758 **kwargs 759 ): 760 super(CreationData, self).__init__(**kwargs) 761 self.create_option = create_option 762 self.storage_account_id = storage_account_id 763 self.image_reference = image_reference 764 self.source_uri = source_uri 765 self.source_resource_id = source_resource_id 766 self.source_unique_id = None 767 self.upload_size_bytes = upload_size_bytes 768 769 770class DataDisk(msrest.serialization.Model): 771 """Describes a data disk. 772 773 All required parameters must be populated in order to send to Azure. 774 775 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 776 identify data disks within the VM and therefore must be unique for each data disk attached to a 777 VM. 778 :type lun: int 779 :param name: The disk name. 780 :type name: str 781 :param vhd: The virtual hard disk. 782 :type vhd: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 783 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 784 before being attached to the virtual machine. If SourceImage is provided, the destination 785 virtual hard drive must not exist. 786 :type image: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 787 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 788 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 789 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 790 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 791 "ReadWrite". 792 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 793 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 794 disabled on the disk. 795 :type write_accelerator_enabled: bool 796 :param create_option: Required. Specifies how the virtual machine should be 797 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 798 This value is used when you are using a specialized disk to create the virtual 799 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 800 image to create the virtual machine. If you are using a platform image, you also use the 801 imageReference element described above. If you are using a marketplace image, you also use the 802 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 803 :type create_option: str or ~azure.mgmt.compute.v2019_03_01.models.DiskCreateOptionTypes 804 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 805 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 806 This value cannot be larger than 1023 GB. 807 :type disk_size_gb: int 808 :param managed_disk: The managed disk parameters. 809 :type managed_disk: ~azure.mgmt.compute.v2019_03_01.models.ManagedDiskParameters 810 :param to_be_detached: Specifies whether the data disk is in process of detachment from the 811 VirtualMachine/VirtualMachineScaleset. 812 :type to_be_detached: bool 813 """ 814 815 _validation = { 816 'lun': {'required': True}, 817 'create_option': {'required': True}, 818 } 819 820 _attribute_map = { 821 'lun': {'key': 'lun', 'type': 'int'}, 822 'name': {'key': 'name', 'type': 'str'}, 823 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 824 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 825 'caching': {'key': 'caching', 'type': 'str'}, 826 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 827 'create_option': {'key': 'createOption', 'type': 'str'}, 828 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 829 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 830 'to_be_detached': {'key': 'toBeDetached', 'type': 'bool'}, 831 } 832 833 def __init__( 834 self, 835 *, 836 lun: int, 837 create_option: Union[str, "DiskCreateOptionTypes"], 838 name: Optional[str] = None, 839 vhd: Optional["VirtualHardDisk"] = None, 840 image: Optional["VirtualHardDisk"] = None, 841 caching: Optional[Union[str, "CachingTypes"]] = None, 842 write_accelerator_enabled: Optional[bool] = None, 843 disk_size_gb: Optional[int] = None, 844 managed_disk: Optional["ManagedDiskParameters"] = None, 845 to_be_detached: Optional[bool] = None, 846 **kwargs 847 ): 848 super(DataDisk, self).__init__(**kwargs) 849 self.lun = lun 850 self.name = name 851 self.vhd = vhd 852 self.image = image 853 self.caching = caching 854 self.write_accelerator_enabled = write_accelerator_enabled 855 self.create_option = create_option 856 self.disk_size_gb = disk_size_gb 857 self.managed_disk = managed_disk 858 self.to_be_detached = to_be_detached 859 860 861class DataDiskImage(msrest.serialization.Model): 862 """Contains the data disk images information. 863 864 Variables are only populated by the server, and will be ignored when sending a request. 865 866 :ivar lun: Specifies the logical unit number of the data disk. This value is used to identify 867 data disks within the VM and therefore must be unique for each data disk attached to a VM. 868 :vartype lun: int 869 """ 870 871 _validation = { 872 'lun': {'readonly': True}, 873 } 874 875 _attribute_map = { 876 'lun': {'key': 'lun', 'type': 'int'}, 877 } 878 879 def __init__( 880 self, 881 **kwargs 882 ): 883 super(DataDiskImage, self).__init__(**kwargs) 884 self.lun = None 885 886 887class DedicatedHost(Resource): 888 """Specifies information about the Dedicated host. 889 890 Variables are only populated by the server, and will be ignored when sending a request. 891 892 All required parameters must be populated in order to send to Azure. 893 894 :ivar id: Resource Id. 895 :vartype id: str 896 :ivar name: Resource name. 897 :vartype name: str 898 :ivar type: Resource type. 899 :vartype type: str 900 :param location: Required. Resource location. 901 :type location: str 902 :param tags: A set of tags. Resource tags. 903 :type tags: dict[str, str] 904 :param sku: Required. SKU of the dedicated host for Hardware Generation and VM family. Only 905 name is required to be set. List Microsoft.Compute SKUs for a list of possible values. 906 :type sku: ~azure.mgmt.compute.v2019_03_01.models.Sku 907 :param platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. 908 :type platform_fault_domain: int 909 :param auto_replace_on_failure: Specifies whether the dedicated host should be replaced 910 automatically in case of a failure. The value is defaulted to 'true' when not provided. 911 :type auto_replace_on_failure: bool 912 :ivar host_id: A unique id generated and assigned to the dedicated host by the platform. 913 :code:`<br>`:code:`<br>` Does not change throughout the lifetime of the host. 914 :vartype host_id: str 915 :ivar virtual_machines: A list of references to all virtual machines in the Dedicated Host. 916 :vartype virtual_machines: list[~azure.mgmt.compute.v2019_03_01.models.SubResourceReadOnly] 917 :param license_type: Specifies the software license type that will be applied to the VMs 918 deployed on the dedicated host. :code:`<br>`:code:`<br>` Possible values are: 919 :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **Windows_Server_Hybrid** 920 :code:`<br>`:code:`<br>` **Windows_Server_Perpetual** :code:`<br>`:code:`<br>` Default: 921 **None**. Possible values include: "None", "Windows_Server_Hybrid", "Windows_Server_Perpetual". 922 :type license_type: str or ~azure.mgmt.compute.v2019_03_01.models.DedicatedHostLicenseTypes 923 :ivar provisioning_time: The date when the host was first provisioned. 924 :vartype provisioning_time: ~datetime.datetime 925 :ivar provisioning_state: The provisioning state, which only appears in the response. 926 :vartype provisioning_state: str 927 :ivar instance_view: The dedicated host instance view. 928 :vartype instance_view: ~azure.mgmt.compute.v2019_03_01.models.DedicatedHostInstanceView 929 """ 930 931 _validation = { 932 'id': {'readonly': True}, 933 'name': {'readonly': True}, 934 'type': {'readonly': True}, 935 'location': {'required': True}, 936 'sku': {'required': True}, 937 'platform_fault_domain': {'maximum': 2, 'minimum': 0}, 938 'host_id': {'readonly': True}, 939 'virtual_machines': {'readonly': True}, 940 'provisioning_time': {'readonly': True}, 941 'provisioning_state': {'readonly': True}, 942 'instance_view': {'readonly': True}, 943 } 944 945 _attribute_map = { 946 'id': {'key': 'id', 'type': 'str'}, 947 'name': {'key': 'name', 'type': 'str'}, 948 'type': {'key': 'type', 'type': 'str'}, 949 'location': {'key': 'location', 'type': 'str'}, 950 'tags': {'key': 'tags', 'type': '{str}'}, 951 'sku': {'key': 'sku', 'type': 'Sku'}, 952 'platform_fault_domain': {'key': 'properties.platformFaultDomain', 'type': 'int'}, 953 'auto_replace_on_failure': {'key': 'properties.autoReplaceOnFailure', 'type': 'bool'}, 954 'host_id': {'key': 'properties.hostId', 'type': 'str'}, 955 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResourceReadOnly]'}, 956 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 957 'provisioning_time': {'key': 'properties.provisioningTime', 'type': 'iso-8601'}, 958 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 959 'instance_view': {'key': 'properties.instanceView', 'type': 'DedicatedHostInstanceView'}, 960 } 961 962 def __init__( 963 self, 964 *, 965 location: str, 966 sku: "Sku", 967 tags: Optional[Dict[str, str]] = None, 968 platform_fault_domain: Optional[int] = None, 969 auto_replace_on_failure: Optional[bool] = None, 970 license_type: Optional[Union[str, "DedicatedHostLicenseTypes"]] = None, 971 **kwargs 972 ): 973 super(DedicatedHost, self).__init__(location=location, tags=tags, **kwargs) 974 self.sku = sku 975 self.platform_fault_domain = platform_fault_domain 976 self.auto_replace_on_failure = auto_replace_on_failure 977 self.host_id = None 978 self.virtual_machines = None 979 self.license_type = license_type 980 self.provisioning_time = None 981 self.provisioning_state = None 982 self.instance_view = None 983 984 985class DedicatedHostAllocatableVM(msrest.serialization.Model): 986 """Represents the dedicated host unutilized capacity in terms of a specific VM size. 987 988 :param vm_size: VM size in terms of which the unutilized capacity is represented. 989 :type vm_size: str 990 :param count: Maximum number of VMs of size vmSize that can fit in the dedicated host's 991 remaining capacity. 992 :type count: float 993 """ 994 995 _attribute_map = { 996 'vm_size': {'key': 'vmSize', 'type': 'str'}, 997 'count': {'key': 'count', 'type': 'float'}, 998 } 999 1000 def __init__( 1001 self, 1002 *, 1003 vm_size: Optional[str] = None, 1004 count: Optional[float] = None, 1005 **kwargs 1006 ): 1007 super(DedicatedHostAllocatableVM, self).__init__(**kwargs) 1008 self.vm_size = vm_size 1009 self.count = count 1010 1011 1012class DedicatedHostAvailableCapacity(msrest.serialization.Model): 1013 """Dedicated host unutilized capacity. 1014 1015 :param allocatable_v_ms: The unutilized capacity of the dedicated host represented in terms of 1016 each VM size that is allowed to be deployed to the dedicated host. 1017 :type allocatable_v_ms: list[~azure.mgmt.compute.v2019_03_01.models.DedicatedHostAllocatableVM] 1018 """ 1019 1020 _attribute_map = { 1021 'allocatable_v_ms': {'key': 'allocatableVMs', 'type': '[DedicatedHostAllocatableVM]'}, 1022 } 1023 1024 def __init__( 1025 self, 1026 *, 1027 allocatable_v_ms: Optional[List["DedicatedHostAllocatableVM"]] = None, 1028 **kwargs 1029 ): 1030 super(DedicatedHostAvailableCapacity, self).__init__(**kwargs) 1031 self.allocatable_v_ms = allocatable_v_ms 1032 1033 1034class DedicatedHostGroup(Resource): 1035 """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. 1036 1037 Variables are only populated by the server, and will be ignored when sending a request. 1038 1039 All required parameters must be populated in order to send to Azure. 1040 1041 :ivar id: Resource Id. 1042 :vartype id: str 1043 :ivar name: Resource name. 1044 :vartype name: str 1045 :ivar type: Resource type. 1046 :vartype type: str 1047 :param location: Required. Resource location. 1048 :type location: str 1049 :param tags: A set of tags. Resource tags. 1050 :type tags: dict[str, str] 1051 :param zones: Availability Zone to use for this host group. Only single zone is supported. The 1052 zone can be assigned only during creation. If not provided, the group supports all zones in the 1053 region. If provided, enforces each host in the group to be in the same zone. 1054 :type zones: list[str] 1055 :param platform_fault_domain_count: Number of fault domains that the host group can span. 1056 :type platform_fault_domain_count: int 1057 :ivar hosts: A list of references to all dedicated hosts in the dedicated host group. 1058 :vartype hosts: list[~azure.mgmt.compute.v2019_03_01.models.SubResourceReadOnly] 1059 """ 1060 1061 _validation = { 1062 'id': {'readonly': True}, 1063 'name': {'readonly': True}, 1064 'type': {'readonly': True}, 1065 'location': {'required': True}, 1066 'platform_fault_domain_count': {'maximum': 3, 'minimum': 1}, 1067 'hosts': {'readonly': True}, 1068 } 1069 1070 _attribute_map = { 1071 'id': {'key': 'id', 'type': 'str'}, 1072 'name': {'key': 'name', 'type': 'str'}, 1073 'type': {'key': 'type', 'type': 'str'}, 1074 'location': {'key': 'location', 'type': 'str'}, 1075 'tags': {'key': 'tags', 'type': '{str}'}, 1076 'zones': {'key': 'zones', 'type': '[str]'}, 1077 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 1078 'hosts': {'key': 'properties.hosts', 'type': '[SubResourceReadOnly]'}, 1079 } 1080 1081 def __init__( 1082 self, 1083 *, 1084 location: str, 1085 tags: Optional[Dict[str, str]] = None, 1086 zones: Optional[List[str]] = None, 1087 platform_fault_domain_count: Optional[int] = None, 1088 **kwargs 1089 ): 1090 super(DedicatedHostGroup, self).__init__(location=location, tags=tags, **kwargs) 1091 self.zones = zones 1092 self.platform_fault_domain_count = platform_fault_domain_count 1093 self.hosts = None 1094 1095 1096class DedicatedHostGroupListResult(msrest.serialization.Model): 1097 """The List Dedicated Host Group with resource group response. 1098 1099 All required parameters must be populated in order to send to Azure. 1100 1101 :param value: Required. The list of dedicated host groups. 1102 :type value: list[~azure.mgmt.compute.v2019_03_01.models.DedicatedHostGroup] 1103 :param next_link: The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with 1104 this URI to fetch the next page of Dedicated Host Groups. 1105 :type next_link: str 1106 """ 1107 1108 _validation = { 1109 'value': {'required': True}, 1110 } 1111 1112 _attribute_map = { 1113 'value': {'key': 'value', 'type': '[DedicatedHostGroup]'}, 1114 'next_link': {'key': 'nextLink', 'type': 'str'}, 1115 } 1116 1117 def __init__( 1118 self, 1119 *, 1120 value: List["DedicatedHostGroup"], 1121 next_link: Optional[str] = None, 1122 **kwargs 1123 ): 1124 super(DedicatedHostGroupListResult, self).__init__(**kwargs) 1125 self.value = value 1126 self.next_link = next_link 1127 1128 1129class DedicatedHostGroupUpdate(UpdateResource): 1130 """Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated. 1131 1132 Variables are only populated by the server, and will be ignored when sending a request. 1133 1134 :param tags: A set of tags. Resource tags. 1135 :type tags: dict[str, str] 1136 :param zones: Availability Zone to use for this host group. Only single zone is supported. The 1137 zone can be assigned only during creation. If not provided, the group supports all zones in the 1138 region. If provided, enforces each host in the group to be in the same zone. 1139 :type zones: list[str] 1140 :param platform_fault_domain_count: Number of fault domains that the host group can span. 1141 :type platform_fault_domain_count: int 1142 :ivar hosts: A list of references to all dedicated hosts in the dedicated host group. 1143 :vartype hosts: list[~azure.mgmt.compute.v2019_03_01.models.SubResourceReadOnly] 1144 """ 1145 1146 _validation = { 1147 'platform_fault_domain_count': {'maximum': 3, 'minimum': 1}, 1148 'hosts': {'readonly': True}, 1149 } 1150 1151 _attribute_map = { 1152 'tags': {'key': 'tags', 'type': '{str}'}, 1153 'zones': {'key': 'zones', 'type': '[str]'}, 1154 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 1155 'hosts': {'key': 'properties.hosts', 'type': '[SubResourceReadOnly]'}, 1156 } 1157 1158 def __init__( 1159 self, 1160 *, 1161 tags: Optional[Dict[str, str]] = None, 1162 zones: Optional[List[str]] = None, 1163 platform_fault_domain_count: Optional[int] = None, 1164 **kwargs 1165 ): 1166 super(DedicatedHostGroupUpdate, self).__init__(tags=tags, **kwargs) 1167 self.zones = zones 1168 self.platform_fault_domain_count = platform_fault_domain_count 1169 self.hosts = None 1170 1171 1172class DedicatedHostInstanceView(msrest.serialization.Model): 1173 """The instance view of a dedicated host. 1174 1175 Variables are only populated by the server, and will be ignored when sending a request. 1176 1177 :ivar asset_id: Specifies the unique id of the dedicated physical machine on which the 1178 dedicated host resides. 1179 :vartype asset_id: str 1180 :param available_capacity: Unutilized capacity of the dedicated host. 1181 :type available_capacity: ~azure.mgmt.compute.v2019_03_01.models.DedicatedHostAvailableCapacity 1182 :param statuses: The resource status information. 1183 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 1184 """ 1185 1186 _validation = { 1187 'asset_id': {'readonly': True}, 1188 } 1189 1190 _attribute_map = { 1191 'asset_id': {'key': 'assetId', 'type': 'str'}, 1192 'available_capacity': {'key': 'availableCapacity', 'type': 'DedicatedHostAvailableCapacity'}, 1193 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 1194 } 1195 1196 def __init__( 1197 self, 1198 *, 1199 available_capacity: Optional["DedicatedHostAvailableCapacity"] = None, 1200 statuses: Optional[List["InstanceViewStatus"]] = None, 1201 **kwargs 1202 ): 1203 super(DedicatedHostInstanceView, self).__init__(**kwargs) 1204 self.asset_id = None 1205 self.available_capacity = available_capacity 1206 self.statuses = statuses 1207 1208 1209class DedicatedHostListResult(msrest.serialization.Model): 1210 """The list dedicated host operation response. 1211 1212 All required parameters must be populated in order to send to Azure. 1213 1214 :param value: Required. The list of dedicated hosts. 1215 :type value: list[~azure.mgmt.compute.v2019_03_01.models.DedicatedHost] 1216 :param next_link: The URI to fetch the next page of dedicated hosts. Call ListNext() with this 1217 URI to fetch the next page of dedicated hosts. 1218 :type next_link: str 1219 """ 1220 1221 _validation = { 1222 'value': {'required': True}, 1223 } 1224 1225 _attribute_map = { 1226 'value': {'key': 'value', 'type': '[DedicatedHost]'}, 1227 'next_link': {'key': 'nextLink', 'type': 'str'}, 1228 } 1229 1230 def __init__( 1231 self, 1232 *, 1233 value: List["DedicatedHost"], 1234 next_link: Optional[str] = None, 1235 **kwargs 1236 ): 1237 super(DedicatedHostListResult, self).__init__(**kwargs) 1238 self.value = value 1239 self.next_link = next_link 1240 1241 1242class DedicatedHostUpdate(UpdateResource): 1243 """Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated. 1244 1245 Variables are only populated by the server, and will be ignored when sending a request. 1246 1247 :param tags: A set of tags. Resource tags. 1248 :type tags: dict[str, str] 1249 :param platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. 1250 :type platform_fault_domain: int 1251 :param auto_replace_on_failure: Specifies whether the dedicated host should be replaced 1252 automatically in case of a failure. The value is defaulted to 'true' when not provided. 1253 :type auto_replace_on_failure: bool 1254 :ivar host_id: A unique id generated and assigned to the dedicated host by the platform. 1255 :code:`<br>`:code:`<br>` Does not change throughout the lifetime of the host. 1256 :vartype host_id: str 1257 :ivar virtual_machines: A list of references to all virtual machines in the Dedicated Host. 1258 :vartype virtual_machines: list[~azure.mgmt.compute.v2019_03_01.models.SubResourceReadOnly] 1259 :param license_type: Specifies the software license type that will be applied to the VMs 1260 deployed on the dedicated host. :code:`<br>`:code:`<br>` Possible values are: 1261 :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **Windows_Server_Hybrid** 1262 :code:`<br>`:code:`<br>` **Windows_Server_Perpetual** :code:`<br>`:code:`<br>` Default: 1263 **None**. Possible values include: "None", "Windows_Server_Hybrid", "Windows_Server_Perpetual". 1264 :type license_type: str or ~azure.mgmt.compute.v2019_03_01.models.DedicatedHostLicenseTypes 1265 :ivar provisioning_time: The date when the host was first provisioned. 1266 :vartype provisioning_time: ~datetime.datetime 1267 :ivar provisioning_state: The provisioning state, which only appears in the response. 1268 :vartype provisioning_state: str 1269 :ivar instance_view: The dedicated host instance view. 1270 :vartype instance_view: ~azure.mgmt.compute.v2019_03_01.models.DedicatedHostInstanceView 1271 """ 1272 1273 _validation = { 1274 'platform_fault_domain': {'maximum': 2, 'minimum': 0}, 1275 'host_id': {'readonly': True}, 1276 'virtual_machines': {'readonly': True}, 1277 'provisioning_time': {'readonly': True}, 1278 'provisioning_state': {'readonly': True}, 1279 'instance_view': {'readonly': True}, 1280 } 1281 1282 _attribute_map = { 1283 'tags': {'key': 'tags', 'type': '{str}'}, 1284 'platform_fault_domain': {'key': 'properties.platformFaultDomain', 'type': 'int'}, 1285 'auto_replace_on_failure': {'key': 'properties.autoReplaceOnFailure', 'type': 'bool'}, 1286 'host_id': {'key': 'properties.hostId', 'type': 'str'}, 1287 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResourceReadOnly]'}, 1288 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 1289 'provisioning_time': {'key': 'properties.provisioningTime', 'type': 'iso-8601'}, 1290 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1291 'instance_view': {'key': 'properties.instanceView', 'type': 'DedicatedHostInstanceView'}, 1292 } 1293 1294 def __init__( 1295 self, 1296 *, 1297 tags: Optional[Dict[str, str]] = None, 1298 platform_fault_domain: Optional[int] = None, 1299 auto_replace_on_failure: Optional[bool] = None, 1300 license_type: Optional[Union[str, "DedicatedHostLicenseTypes"]] = None, 1301 **kwargs 1302 ): 1303 super(DedicatedHostUpdate, self).__init__(tags=tags, **kwargs) 1304 self.platform_fault_domain = platform_fault_domain 1305 self.auto_replace_on_failure = auto_replace_on_failure 1306 self.host_id = None 1307 self.virtual_machines = None 1308 self.license_type = license_type 1309 self.provisioning_time = None 1310 self.provisioning_state = None 1311 self.instance_view = None 1312 1313 1314class DiagnosticsProfile(msrest.serialization.Model): 1315 """Specifies the boot diagnostic settings state. :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 1316 1317 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 1318 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 1319 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 1320 screenshot of the VM from the hypervisor. 1321 :type boot_diagnostics: ~azure.mgmt.compute.v2019_03_01.models.BootDiagnostics 1322 """ 1323 1324 _attribute_map = { 1325 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnostics'}, 1326 } 1327 1328 def __init__( 1329 self, 1330 *, 1331 boot_diagnostics: Optional["BootDiagnostics"] = None, 1332 **kwargs 1333 ): 1334 super(DiagnosticsProfile, self).__init__(**kwargs) 1335 self.boot_diagnostics = boot_diagnostics 1336 1337 1338class DiffDiskSettings(msrest.serialization.Model): 1339 """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. 1340 1341 :param option: Specifies the ephemeral disk settings for operating system disk. Possible values 1342 include: "Local". 1343 :type option: str or ~azure.mgmt.compute.v2019_03_01.models.DiffDiskOptions 1344 """ 1345 1346 _attribute_map = { 1347 'option': {'key': 'option', 'type': 'str'}, 1348 } 1349 1350 def __init__( 1351 self, 1352 *, 1353 option: Optional[Union[str, "DiffDiskOptions"]] = None, 1354 **kwargs 1355 ): 1356 super(DiffDiskSettings, self).__init__(**kwargs) 1357 self.option = option 1358 1359 1360class Disallowed(msrest.serialization.Model): 1361 """Describes the disallowed disk types. 1362 1363 :param disk_types: A list of disk types. 1364 :type disk_types: list[str] 1365 """ 1366 1367 _attribute_map = { 1368 'disk_types': {'key': 'diskTypes', 'type': '[str]'}, 1369 } 1370 1371 def __init__( 1372 self, 1373 *, 1374 disk_types: Optional[List[str]] = None, 1375 **kwargs 1376 ): 1377 super(Disallowed, self).__init__(**kwargs) 1378 self.disk_types = disk_types 1379 1380 1381class Disk(Resource): 1382 """Disk resource. 1383 1384 Variables are only populated by the server, and will be ignored when sending a request. 1385 1386 All required parameters must be populated in order to send to Azure. 1387 1388 :ivar id: Resource Id. 1389 :vartype id: str 1390 :ivar name: Resource name. 1391 :vartype name: str 1392 :ivar type: Resource type. 1393 :vartype type: str 1394 :param location: Required. Resource location. 1395 :type location: str 1396 :param tags: A set of tags. Resource tags. 1397 :type tags: dict[str, str] 1398 :ivar managed_by: A relative URI containing the ID of the VM that has the disk attached. 1399 :vartype managed_by: str 1400 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or 1401 UltraSSD_LRS. 1402 :type sku: ~azure.mgmt.compute.v2019_03_01.models.DiskSku 1403 :param zones: The Logical zone list for Disk. 1404 :type zones: list[str] 1405 :ivar time_created: The time when the disk was created. 1406 :vartype time_created: ~datetime.datetime 1407 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 1408 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 1409 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 1410 disks only. Possible values include: "V1", "V2". 1411 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGeneration 1412 :param creation_data: Disk source information. CreationData information cannot be changed after 1413 the disk has been created. 1414 :type creation_data: ~azure.mgmt.compute.v2019_03_01.models.CreationData 1415 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 1416 indicates the size of the disk to create. If this field is present for updates or creation with 1417 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 1418 running VM, and can only increase the disk's size. 1419 :type disk_size_gb: int 1420 :ivar disk_size_bytes: The size of the disk in bytes. This field is read only. 1421 :vartype disk_size_bytes: long 1422 :ivar unique_id: Unique Guid identifying the resource. 1423 :vartype unique_id: str 1424 :param encryption_settings_collection: Encryption settings collection used for Azure Disk 1425 Encryption, can contain multiple encryption settings per disk or snapshot. 1426 :type encryption_settings_collection: 1427 ~azure.mgmt.compute.v2019_03_01.models.EncryptionSettingsCollection 1428 :ivar provisioning_state: The disk provisioning state. 1429 :vartype provisioning_state: str 1430 :param disk_iops_read_write: The number of IOPS allowed for this disk; only settable for 1431 UltraSSD disks. One operation can transfer between 4k and 256k bytes. 1432 :type disk_iops_read_write: long 1433 :param disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD 1434 disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 1435 10. 1436 :type disk_m_bps_read_write: int 1437 :ivar disk_state: The state of the disk. Possible values include: "Unattached", "Attached", 1438 "Reserved", "ActiveSAS", "ReadyToUpload", "ActiveUpload". 1439 :vartype disk_state: str or ~azure.mgmt.compute.v2019_03_01.models.DiskState 1440 """ 1441 1442 _validation = { 1443 'id': {'readonly': True}, 1444 'name': {'readonly': True}, 1445 'type': {'readonly': True}, 1446 'location': {'required': True}, 1447 'managed_by': {'readonly': True}, 1448 'time_created': {'readonly': True}, 1449 'disk_size_bytes': {'readonly': True}, 1450 'unique_id': {'readonly': True}, 1451 'provisioning_state': {'readonly': True}, 1452 'disk_state': {'readonly': True}, 1453 } 1454 1455 _attribute_map = { 1456 'id': {'key': 'id', 'type': 'str'}, 1457 'name': {'key': 'name', 'type': 'str'}, 1458 'type': {'key': 'type', 'type': 'str'}, 1459 'location': {'key': 'location', 'type': 'str'}, 1460 'tags': {'key': 'tags', 'type': '{str}'}, 1461 'managed_by': {'key': 'managedBy', 'type': 'str'}, 1462 'sku': {'key': 'sku', 'type': 'DiskSku'}, 1463 'zones': {'key': 'zones', 'type': '[str]'}, 1464 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 1465 'os_type': {'key': 'properties.osType', 'type': 'str'}, 1466 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 1467 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 1468 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 1469 'disk_size_bytes': {'key': 'properties.diskSizeBytes', 'type': 'long'}, 1470 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 1471 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 1472 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1473 'disk_iops_read_write': {'key': 'properties.diskIOPSReadWrite', 'type': 'long'}, 1474 'disk_m_bps_read_write': {'key': 'properties.diskMBpsReadWrite', 'type': 'int'}, 1475 'disk_state': {'key': 'properties.diskState', 'type': 'str'}, 1476 } 1477 1478 def __init__( 1479 self, 1480 *, 1481 location: str, 1482 tags: Optional[Dict[str, str]] = None, 1483 sku: Optional["DiskSku"] = None, 1484 zones: Optional[List[str]] = None, 1485 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1486 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 1487 creation_data: Optional["CreationData"] = None, 1488 disk_size_gb: Optional[int] = None, 1489 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 1490 disk_iops_read_write: Optional[int] = None, 1491 disk_m_bps_read_write: Optional[int] = None, 1492 **kwargs 1493 ): 1494 super(Disk, self).__init__(location=location, tags=tags, **kwargs) 1495 self.managed_by = None 1496 self.sku = sku 1497 self.zones = zones 1498 self.time_created = None 1499 self.os_type = os_type 1500 self.hyper_v_generation = hyper_v_generation 1501 self.creation_data = creation_data 1502 self.disk_size_gb = disk_size_gb 1503 self.disk_size_bytes = None 1504 self.unique_id = None 1505 self.encryption_settings_collection = encryption_settings_collection 1506 self.provisioning_state = None 1507 self.disk_iops_read_write = disk_iops_read_write 1508 self.disk_m_bps_read_write = disk_m_bps_read_write 1509 self.disk_state = None 1510 1511 1512class DiskEncryptionSettings(msrest.serialization.Model): 1513 """Describes a Encryption Settings for a Disk. 1514 1515 :param disk_encryption_key: Specifies the location of the disk encryption key, which is a Key 1516 Vault Secret. 1517 :type disk_encryption_key: ~azure.mgmt.compute.v2019_03_01.models.KeyVaultSecretReference 1518 :param key_encryption_key: Specifies the location of the key encryption key in Key Vault. 1519 :type key_encryption_key: ~azure.mgmt.compute.v2019_03_01.models.KeyVaultKeyReference 1520 :param enabled: Specifies whether disk encryption should be enabled on the virtual machine. 1521 :type enabled: bool 1522 """ 1523 1524 _attribute_map = { 1525 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultSecretReference'}, 1526 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultKeyReference'}, 1527 'enabled': {'key': 'enabled', 'type': 'bool'}, 1528 } 1529 1530 def __init__( 1531 self, 1532 *, 1533 disk_encryption_key: Optional["KeyVaultSecretReference"] = None, 1534 key_encryption_key: Optional["KeyVaultKeyReference"] = None, 1535 enabled: Optional[bool] = None, 1536 **kwargs 1537 ): 1538 super(DiskEncryptionSettings, self).__init__(**kwargs) 1539 self.disk_encryption_key = disk_encryption_key 1540 self.key_encryption_key = key_encryption_key 1541 self.enabled = enabled 1542 1543 1544class DiskInstanceView(msrest.serialization.Model): 1545 """The instance view of the disk. 1546 1547 :param name: The disk name. 1548 :type name: str 1549 :param encryption_settings: Specifies the encryption settings for the OS Disk. 1550 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 1551 :type encryption_settings: list[~azure.mgmt.compute.v2019_03_01.models.DiskEncryptionSettings] 1552 :param statuses: The resource status information. 1553 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 1554 """ 1555 1556 _attribute_map = { 1557 'name': {'key': 'name', 'type': 'str'}, 1558 'encryption_settings': {'key': 'encryptionSettings', 'type': '[DiskEncryptionSettings]'}, 1559 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 1560 } 1561 1562 def __init__( 1563 self, 1564 *, 1565 name: Optional[str] = None, 1566 encryption_settings: Optional[List["DiskEncryptionSettings"]] = None, 1567 statuses: Optional[List["InstanceViewStatus"]] = None, 1568 **kwargs 1569 ): 1570 super(DiskInstanceView, self).__init__(**kwargs) 1571 self.name = name 1572 self.encryption_settings = encryption_settings 1573 self.statuses = statuses 1574 1575 1576class DiskList(msrest.serialization.Model): 1577 """The List Disks operation response. 1578 1579 All required parameters must be populated in order to send to Azure. 1580 1581 :param value: Required. A list of disks. 1582 :type value: list[~azure.mgmt.compute.v2019_03_01.models.Disk] 1583 :param next_link: The uri to fetch the next page of disks. Call ListNext() with this to fetch 1584 the next page of disks. 1585 :type next_link: str 1586 """ 1587 1588 _validation = { 1589 'value': {'required': True}, 1590 } 1591 1592 _attribute_map = { 1593 'value': {'key': 'value', 'type': '[Disk]'}, 1594 'next_link': {'key': 'nextLink', 'type': 'str'}, 1595 } 1596 1597 def __init__( 1598 self, 1599 *, 1600 value: List["Disk"], 1601 next_link: Optional[str] = None, 1602 **kwargs 1603 ): 1604 super(DiskList, self).__init__(**kwargs) 1605 self.value = value 1606 self.next_link = next_link 1607 1608 1609class DiskSku(msrest.serialization.Model): 1610 """The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. 1611 1612 Variables are only populated by the server, and will be ignored when sending a request. 1613 1614 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 1615 "StandardSSD_LRS", "UltraSSD_LRS". 1616 :type name: str or ~azure.mgmt.compute.v2019_03_01.models.DiskStorageAccountTypes 1617 :ivar tier: The sku tier. 1618 :vartype tier: str 1619 """ 1620 1621 _validation = { 1622 'tier': {'readonly': True}, 1623 } 1624 1625 _attribute_map = { 1626 'name': {'key': 'name', 'type': 'str'}, 1627 'tier': {'key': 'tier', 'type': 'str'}, 1628 } 1629 1630 def __init__( 1631 self, 1632 *, 1633 name: Optional[Union[str, "DiskStorageAccountTypes"]] = None, 1634 **kwargs 1635 ): 1636 super(DiskSku, self).__init__(**kwargs) 1637 self.name = name 1638 self.tier = None 1639 1640 1641class DiskUpdate(msrest.serialization.Model): 1642 """Disk update resource. 1643 1644 :param tags: A set of tags. Resource tags. 1645 :type tags: dict[str, str] 1646 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or 1647 UltraSSD_LRS. 1648 :type sku: ~azure.mgmt.compute.v2019_03_01.models.DiskSku 1649 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 1650 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 1651 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 1652 indicates the size of the disk to create. If this field is present for updates or creation with 1653 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 1654 running VM, and can only increase the disk's size. 1655 :type disk_size_gb: int 1656 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 1657 Encryption, can contain multiple encryption settings per disk or snapshot. 1658 :type encryption_settings_collection: 1659 ~azure.mgmt.compute.v2019_03_01.models.EncryptionSettingsCollection 1660 :param disk_iops_read_write: The number of IOPS allowed for this disk; only settable for 1661 UltraSSD disks. One operation can transfer between 4k and 256k bytes. 1662 :type disk_iops_read_write: long 1663 :param disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD 1664 disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 1665 10. 1666 :type disk_m_bps_read_write: int 1667 """ 1668 1669 _attribute_map = { 1670 'tags': {'key': 'tags', 'type': '{str}'}, 1671 'sku': {'key': 'sku', 'type': 'DiskSku'}, 1672 'os_type': {'key': 'properties.osType', 'type': 'str'}, 1673 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 1674 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 1675 'disk_iops_read_write': {'key': 'properties.diskIOPSReadWrite', 'type': 'long'}, 1676 'disk_m_bps_read_write': {'key': 'properties.diskMBpsReadWrite', 'type': 'int'}, 1677 } 1678 1679 def __init__( 1680 self, 1681 *, 1682 tags: Optional[Dict[str, str]] = None, 1683 sku: Optional["DiskSku"] = None, 1684 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1685 disk_size_gb: Optional[int] = None, 1686 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 1687 disk_iops_read_write: Optional[int] = None, 1688 disk_m_bps_read_write: Optional[int] = None, 1689 **kwargs 1690 ): 1691 super(DiskUpdate, self).__init__(**kwargs) 1692 self.tags = tags 1693 self.sku = sku 1694 self.os_type = os_type 1695 self.disk_size_gb = disk_size_gb 1696 self.encryption_settings_collection = encryption_settings_collection 1697 self.disk_iops_read_write = disk_iops_read_write 1698 self.disk_m_bps_read_write = disk_m_bps_read_write 1699 1700 1701class EncryptionSettingsCollection(msrest.serialization.Model): 1702 """Encryption settings for disk or snapshot. 1703 1704 All required parameters must be populated in order to send to Azure. 1705 1706 :param enabled: Required. Set this flag to true and provide DiskEncryptionKey and optional 1707 KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and 1708 KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, 1709 the existing settings remain unchanged. 1710 :type enabled: bool 1711 :param encryption_settings: A collection of encryption settings, one for each disk volume. 1712 :type encryption_settings: 1713 list[~azure.mgmt.compute.v2019_03_01.models.EncryptionSettingsElement] 1714 :param encryption_settings_version: Describes what type of encryption is used for the disks. 1715 Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption 1716 with AAD app.'1.1' corresponds to Azure Disk Encryption. 1717 :type encryption_settings_version: str 1718 """ 1719 1720 _validation = { 1721 'enabled': {'required': True}, 1722 } 1723 1724 _attribute_map = { 1725 'enabled': {'key': 'enabled', 'type': 'bool'}, 1726 'encryption_settings': {'key': 'encryptionSettings', 'type': '[EncryptionSettingsElement]'}, 1727 'encryption_settings_version': {'key': 'encryptionSettingsVersion', 'type': 'str'}, 1728 } 1729 1730 def __init__( 1731 self, 1732 *, 1733 enabled: bool, 1734 encryption_settings: Optional[List["EncryptionSettingsElement"]] = None, 1735 encryption_settings_version: Optional[str] = None, 1736 **kwargs 1737 ): 1738 super(EncryptionSettingsCollection, self).__init__(**kwargs) 1739 self.enabled = enabled 1740 self.encryption_settings = encryption_settings 1741 self.encryption_settings_version = encryption_settings_version 1742 1743 1744class EncryptionSettingsElement(msrest.serialization.Model): 1745 """Encryption settings for one disk volume. 1746 1747 :param disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key. 1748 :type disk_encryption_key: ~azure.mgmt.compute.v2019_03_01.models.KeyVaultAndSecretReference 1749 :param key_encryption_key: Key Vault Key Url and vault id of the key encryption key. 1750 KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. 1751 :type key_encryption_key: ~azure.mgmt.compute.v2019_03_01.models.KeyVaultAndKeyReference 1752 """ 1753 1754 _attribute_map = { 1755 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultAndSecretReference'}, 1756 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultAndKeyReference'}, 1757 } 1758 1759 def __init__( 1760 self, 1761 *, 1762 disk_encryption_key: Optional["KeyVaultAndSecretReference"] = None, 1763 key_encryption_key: Optional["KeyVaultAndKeyReference"] = None, 1764 **kwargs 1765 ): 1766 super(EncryptionSettingsElement, self).__init__(**kwargs) 1767 self.disk_encryption_key = disk_encryption_key 1768 self.key_encryption_key = key_encryption_key 1769 1770 1771class Gallery(Resource): 1772 """Specifies information about the Shared Image Gallery that you want to create or update. 1773 1774 Variables are only populated by the server, and will be ignored when sending a request. 1775 1776 All required parameters must be populated in order to send to Azure. 1777 1778 :ivar id: Resource Id. 1779 :vartype id: str 1780 :ivar name: Resource name. 1781 :vartype name: str 1782 :ivar type: Resource type. 1783 :vartype type: str 1784 :param location: Required. Resource location. 1785 :type location: str 1786 :param tags: A set of tags. Resource tags. 1787 :type tags: dict[str, str] 1788 :param description: The description of this Shared Image Gallery resource. This property is 1789 updatable. 1790 :type description: str 1791 :param identifier: Describes the gallery unique name. 1792 :type identifier: ~azure.mgmt.compute.v2019_03_01.models.GalleryIdentifier 1793 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 1794 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 1795 :vartype provisioning_state: str or 1796 ~azure.mgmt.compute.v2019_03_01.models.GalleryPropertiesProvisioningState 1797 """ 1798 1799 _validation = { 1800 'id': {'readonly': True}, 1801 'name': {'readonly': True}, 1802 'type': {'readonly': True}, 1803 'location': {'required': True}, 1804 'provisioning_state': {'readonly': True}, 1805 } 1806 1807 _attribute_map = { 1808 'id': {'key': 'id', 'type': 'str'}, 1809 'name': {'key': 'name', 'type': 'str'}, 1810 'type': {'key': 'type', 'type': 'str'}, 1811 'location': {'key': 'location', 'type': 'str'}, 1812 'tags': {'key': 'tags', 'type': '{str}'}, 1813 'description': {'key': 'properties.description', 'type': 'str'}, 1814 'identifier': {'key': 'properties.identifier', 'type': 'GalleryIdentifier'}, 1815 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1816 } 1817 1818 def __init__( 1819 self, 1820 *, 1821 location: str, 1822 tags: Optional[Dict[str, str]] = None, 1823 description: Optional[str] = None, 1824 identifier: Optional["GalleryIdentifier"] = None, 1825 **kwargs 1826 ): 1827 super(Gallery, self).__init__(location=location, tags=tags, **kwargs) 1828 self.description = description 1829 self.identifier = identifier 1830 self.provisioning_state = None 1831 1832 1833class GalleryApplication(Resource): 1834 """Specifies information about the gallery Application Definition that you want to create or update. 1835 1836 Variables are only populated by the server, and will be ignored when sending a request. 1837 1838 All required parameters must be populated in order to send to Azure. 1839 1840 :ivar id: Resource Id. 1841 :vartype id: str 1842 :ivar name: Resource name. 1843 :vartype name: str 1844 :ivar type: Resource type. 1845 :vartype type: str 1846 :param location: Required. Resource location. 1847 :type location: str 1848 :param tags: A set of tags. Resource tags. 1849 :type tags: dict[str, str] 1850 :param description: The description of this gallery Application Definition resource. This 1851 property is updatable. 1852 :type description: str 1853 :param eula: The Eula agreement for the gallery Application Definition. 1854 :type eula: str 1855 :param privacy_statement_uri: The privacy statement uri. 1856 :type privacy_statement_uri: str 1857 :param release_note_uri: The release note uri. 1858 :type release_note_uri: str 1859 :param end_of_life_date: The end of life date of the gallery Application Definition. This 1860 property can be used for decommissioning purposes. This property is updatable. 1861 :type end_of_life_date: ~datetime.datetime 1862 :param supported_os_type: This property allows you to specify the supported type of the OS that 1863 application is built for. :code:`<br>`:code:`<br>` Possible values are: 1864 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 1865 include: "Windows", "Linux". 1866 :type supported_os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 1867 """ 1868 1869 _validation = { 1870 'id': {'readonly': True}, 1871 'name': {'readonly': True}, 1872 'type': {'readonly': True}, 1873 'location': {'required': True}, 1874 } 1875 1876 _attribute_map = { 1877 'id': {'key': 'id', 'type': 'str'}, 1878 'name': {'key': 'name', 'type': 'str'}, 1879 'type': {'key': 'type', 'type': 'str'}, 1880 'location': {'key': 'location', 'type': 'str'}, 1881 'tags': {'key': 'tags', 'type': '{str}'}, 1882 'description': {'key': 'properties.description', 'type': 'str'}, 1883 'eula': {'key': 'properties.eula', 'type': 'str'}, 1884 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 1885 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 1886 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 1887 'supported_os_type': {'key': 'properties.supportedOSType', 'type': 'str'}, 1888 } 1889 1890 def __init__( 1891 self, 1892 *, 1893 location: str, 1894 tags: Optional[Dict[str, str]] = None, 1895 description: Optional[str] = None, 1896 eula: Optional[str] = None, 1897 privacy_statement_uri: Optional[str] = None, 1898 release_note_uri: Optional[str] = None, 1899 end_of_life_date: Optional[datetime.datetime] = None, 1900 supported_os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1901 **kwargs 1902 ): 1903 super(GalleryApplication, self).__init__(location=location, tags=tags, **kwargs) 1904 self.description = description 1905 self.eula = eula 1906 self.privacy_statement_uri = privacy_statement_uri 1907 self.release_note_uri = release_note_uri 1908 self.end_of_life_date = end_of_life_date 1909 self.supported_os_type = supported_os_type 1910 1911 1912class GalleryApplicationList(msrest.serialization.Model): 1913 """The List Gallery Applications operation response. 1914 1915 All required parameters must be populated in order to send to Azure. 1916 1917 :param value: Required. A list of Gallery Applications. 1918 :type value: list[~azure.mgmt.compute.v2019_03_01.models.GalleryApplication] 1919 :param next_link: The uri to fetch the next page of Application Definitions in the Application 1920 Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions. 1921 :type next_link: str 1922 """ 1923 1924 _validation = { 1925 'value': {'required': True}, 1926 } 1927 1928 _attribute_map = { 1929 'value': {'key': 'value', 'type': '[GalleryApplication]'}, 1930 'next_link': {'key': 'nextLink', 'type': 'str'}, 1931 } 1932 1933 def __init__( 1934 self, 1935 *, 1936 value: List["GalleryApplication"], 1937 next_link: Optional[str] = None, 1938 **kwargs 1939 ): 1940 super(GalleryApplicationList, self).__init__(**kwargs) 1941 self.value = value 1942 self.next_link = next_link 1943 1944 1945class GalleryApplicationVersion(Resource): 1946 """Specifies information about the gallery Application Version that you want to create or update. 1947 1948 Variables are only populated by the server, and will be ignored when sending a request. 1949 1950 All required parameters must be populated in order to send to Azure. 1951 1952 :ivar id: Resource Id. 1953 :vartype id: str 1954 :ivar name: Resource name. 1955 :vartype name: str 1956 :ivar type: Resource type. 1957 :vartype type: str 1958 :param location: Required. Resource location. 1959 :type location: str 1960 :param tags: A set of tags. Resource tags. 1961 :type tags: dict[str, str] 1962 :param publishing_profile: The publishing profile of a gallery image version. 1963 :type publishing_profile: 1964 ~azure.mgmt.compute.v2019_03_01.models.GalleryApplicationVersionPublishingProfile 1965 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 1966 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 1967 :vartype provisioning_state: str or 1968 ~azure.mgmt.compute.v2019_03_01.models.GalleryApplicationVersionPropertiesProvisioningState 1969 :ivar replication_status: This is the replication status of the gallery Image Version. 1970 :vartype replication_status: ~azure.mgmt.compute.v2019_03_01.models.ReplicationStatus 1971 """ 1972 1973 _validation = { 1974 'id': {'readonly': True}, 1975 'name': {'readonly': True}, 1976 'type': {'readonly': True}, 1977 'location': {'required': True}, 1978 'provisioning_state': {'readonly': True}, 1979 'replication_status': {'readonly': True}, 1980 } 1981 1982 _attribute_map = { 1983 'id': {'key': 'id', 'type': 'str'}, 1984 'name': {'key': 'name', 'type': 'str'}, 1985 'type': {'key': 'type', 'type': 'str'}, 1986 'location': {'key': 'location', 'type': 'str'}, 1987 'tags': {'key': 'tags', 'type': '{str}'}, 1988 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryApplicationVersionPublishingProfile'}, 1989 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1990 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 1991 } 1992 1993 def __init__( 1994 self, 1995 *, 1996 location: str, 1997 tags: Optional[Dict[str, str]] = None, 1998 publishing_profile: Optional["GalleryApplicationVersionPublishingProfile"] = None, 1999 **kwargs 2000 ): 2001 super(GalleryApplicationVersion, self).__init__(location=location, tags=tags, **kwargs) 2002 self.publishing_profile = publishing_profile 2003 self.provisioning_state = None 2004 self.replication_status = None 2005 2006 2007class GalleryApplicationVersionList(msrest.serialization.Model): 2008 """The List Gallery Application version operation response. 2009 2010 All required parameters must be populated in order to send to Azure. 2011 2012 :param value: Required. A list of gallery Application Versions. 2013 :type value: list[~azure.mgmt.compute.v2019_03_01.models.GalleryApplicationVersion] 2014 :param next_link: The uri to fetch the next page of gallery Application Versions. Call 2015 ListNext() with this to fetch the next page of gallery Application Versions. 2016 :type next_link: str 2017 """ 2018 2019 _validation = { 2020 'value': {'required': True}, 2021 } 2022 2023 _attribute_map = { 2024 'value': {'key': 'value', 'type': '[GalleryApplicationVersion]'}, 2025 'next_link': {'key': 'nextLink', 'type': 'str'}, 2026 } 2027 2028 def __init__( 2029 self, 2030 *, 2031 value: List["GalleryApplicationVersion"], 2032 next_link: Optional[str] = None, 2033 **kwargs 2034 ): 2035 super(GalleryApplicationVersionList, self).__init__(**kwargs) 2036 self.value = value 2037 self.next_link = next_link 2038 2039 2040class GalleryArtifactPublishingProfileBase(msrest.serialization.Model): 2041 """Describes the basic gallery artifact publishing profile. 2042 2043 Variables are only populated by the server, and will be ignored when sending a request. 2044 2045 :param target_regions: The target regions where the Image Version is going to be replicated to. 2046 This property is updatable. 2047 :type target_regions: list[~azure.mgmt.compute.v2019_03_01.models.TargetRegion] 2048 :param replica_count: The number of replicas of the Image Version to be created per region. 2049 This property would take effect for a region when regionalReplicaCount is not specified. This 2050 property is updatable. 2051 :type replica_count: int 2052 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 2053 of the Image Definition won't use this Image Version. 2054 :type exclude_from_latest: bool 2055 :ivar published_date: The timestamp for when the gallery Image Version is published. 2056 :vartype published_date: ~datetime.datetime 2057 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 2058 be used for decommissioning purposes. This property is updatable. 2059 :type end_of_life_date: ~datetime.datetime 2060 :param storage_account_type: Specifies the storage account type to be used to store the image. 2061 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 2062 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountType 2063 """ 2064 2065 _validation = { 2066 'published_date': {'readonly': True}, 2067 } 2068 2069 _attribute_map = { 2070 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 2071 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 2072 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 2073 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 2074 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 2075 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2076 } 2077 2078 def __init__( 2079 self, 2080 *, 2081 target_regions: Optional[List["TargetRegion"]] = None, 2082 replica_count: Optional[int] = None, 2083 exclude_from_latest: Optional[bool] = None, 2084 end_of_life_date: Optional[datetime.datetime] = None, 2085 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 2086 **kwargs 2087 ): 2088 super(GalleryArtifactPublishingProfileBase, self).__init__(**kwargs) 2089 self.target_regions = target_regions 2090 self.replica_count = replica_count 2091 self.exclude_from_latest = exclude_from_latest 2092 self.published_date = None 2093 self.end_of_life_date = end_of_life_date 2094 self.storage_account_type = storage_account_type 2095 2096 2097class GalleryApplicationVersionPublishingProfile(GalleryArtifactPublishingProfileBase): 2098 """The publishing profile of a gallery image version. 2099 2100 Variables are only populated by the server, and will be ignored when sending a request. 2101 2102 All required parameters must be populated in order to send to Azure. 2103 2104 :param target_regions: The target regions where the Image Version is going to be replicated to. 2105 This property is updatable. 2106 :type target_regions: list[~azure.mgmt.compute.v2019_03_01.models.TargetRegion] 2107 :param replica_count: The number of replicas of the Image Version to be created per region. 2108 This property would take effect for a region when regionalReplicaCount is not specified. This 2109 property is updatable. 2110 :type replica_count: int 2111 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 2112 of the Image Definition won't use this Image Version. 2113 :type exclude_from_latest: bool 2114 :ivar published_date: The timestamp for when the gallery Image Version is published. 2115 :vartype published_date: ~datetime.datetime 2116 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 2117 be used for decommissioning purposes. This property is updatable. 2118 :type end_of_life_date: ~datetime.datetime 2119 :param storage_account_type: Specifies the storage account type to be used to store the image. 2120 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 2121 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountType 2122 :param source: Required. The source image from which the Image Version is going to be created. 2123 :type source: ~azure.mgmt.compute.v2019_03_01.models.UserArtifactSource 2124 :param manage_actions: 2125 :type manage_actions: ~azure.mgmt.compute.v2019_03_01.models.UserArtifactManage 2126 :param enable_health_check: Optional. Whether or not this application reports health. 2127 :type enable_health_check: bool 2128 """ 2129 2130 _validation = { 2131 'published_date': {'readonly': True}, 2132 'source': {'required': True}, 2133 } 2134 2135 _attribute_map = { 2136 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 2137 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 2138 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 2139 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 2140 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 2141 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2142 'source': {'key': 'source', 'type': 'UserArtifactSource'}, 2143 'manage_actions': {'key': 'manageActions', 'type': 'UserArtifactManage'}, 2144 'enable_health_check': {'key': 'enableHealthCheck', 'type': 'bool'}, 2145 } 2146 2147 def __init__( 2148 self, 2149 *, 2150 source: "UserArtifactSource", 2151 target_regions: Optional[List["TargetRegion"]] = None, 2152 replica_count: Optional[int] = None, 2153 exclude_from_latest: Optional[bool] = None, 2154 end_of_life_date: Optional[datetime.datetime] = None, 2155 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 2156 manage_actions: Optional["UserArtifactManage"] = None, 2157 enable_health_check: Optional[bool] = None, 2158 **kwargs 2159 ): 2160 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) 2161 self.source = source 2162 self.manage_actions = manage_actions 2163 self.enable_health_check = enable_health_check 2164 2165 2166class GalleryArtifactSource(msrest.serialization.Model): 2167 """The source image from which the Image Version is going to be created. 2168 2169 All required parameters must be populated in order to send to Azure. 2170 2171 :param managed_image: Required. The managed artifact. 2172 :type managed_image: ~azure.mgmt.compute.v2019_03_01.models.ManagedArtifact 2173 """ 2174 2175 _validation = { 2176 'managed_image': {'required': True}, 2177 } 2178 2179 _attribute_map = { 2180 'managed_image': {'key': 'managedImage', 'type': 'ManagedArtifact'}, 2181 } 2182 2183 def __init__( 2184 self, 2185 *, 2186 managed_image: "ManagedArtifact", 2187 **kwargs 2188 ): 2189 super(GalleryArtifactSource, self).__init__(**kwargs) 2190 self.managed_image = managed_image 2191 2192 2193class GalleryDiskImage(msrest.serialization.Model): 2194 """This is the disk image base class. 2195 2196 Variables are only populated by the server, and will be ignored when sending a request. 2197 2198 :ivar size_in_gb: This property indicates the size of the VHD to be created. 2199 :vartype size_in_gb: int 2200 :ivar host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 2201 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 2202 :vartype host_caching: str or ~azure.mgmt.compute.v2019_03_01.models.HostCaching 2203 """ 2204 2205 _validation = { 2206 'size_in_gb': {'readonly': True}, 2207 'host_caching': {'readonly': True}, 2208 } 2209 2210 _attribute_map = { 2211 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 2212 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 2213 } 2214 2215 def __init__( 2216 self, 2217 **kwargs 2218 ): 2219 super(GalleryDiskImage, self).__init__(**kwargs) 2220 self.size_in_gb = None 2221 self.host_caching = None 2222 2223 2224class GalleryDataDiskImage(GalleryDiskImage): 2225 """This is the data disk image. 2226 2227 Variables are only populated by the server, and will be ignored when sending a request. 2228 2229 :ivar size_in_gb: This property indicates the size of the VHD to be created. 2230 :vartype size_in_gb: int 2231 :ivar host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 2232 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 2233 :vartype host_caching: str or ~azure.mgmt.compute.v2019_03_01.models.HostCaching 2234 :ivar lun: This property specifies the logical unit number of the data disk. This value is used 2235 to identify data disks within the Virtual Machine and therefore must be unique for each data 2236 disk attached to the Virtual Machine. 2237 :vartype lun: int 2238 """ 2239 2240 _validation = { 2241 'size_in_gb': {'readonly': True}, 2242 'host_caching': {'readonly': True}, 2243 'lun': {'readonly': True}, 2244 } 2245 2246 _attribute_map = { 2247 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 2248 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 2249 'lun': {'key': 'lun', 'type': 'int'}, 2250 } 2251 2252 def __init__( 2253 self, 2254 **kwargs 2255 ): 2256 super(GalleryDataDiskImage, self).__init__(**kwargs) 2257 self.lun = None 2258 2259 2260class GalleryIdentifier(msrest.serialization.Model): 2261 """Describes the gallery unique name. 2262 2263 Variables are only populated by the server, and will be ignored when sending a request. 2264 2265 :ivar unique_name: The unique name of the Shared Image Gallery. This name is generated 2266 automatically by Azure. 2267 :vartype unique_name: str 2268 """ 2269 2270 _validation = { 2271 'unique_name': {'readonly': True}, 2272 } 2273 2274 _attribute_map = { 2275 'unique_name': {'key': 'uniqueName', 'type': 'str'}, 2276 } 2277 2278 def __init__( 2279 self, 2280 **kwargs 2281 ): 2282 super(GalleryIdentifier, self).__init__(**kwargs) 2283 self.unique_name = None 2284 2285 2286class GalleryImage(Resource): 2287 """Specifies information about the gallery Image Definition that you want to create or update. 2288 2289 Variables are only populated by the server, and will be ignored when sending a request. 2290 2291 All required parameters must be populated in order to send to Azure. 2292 2293 :ivar id: Resource Id. 2294 :vartype id: str 2295 :ivar name: Resource name. 2296 :vartype name: str 2297 :ivar type: Resource type. 2298 :vartype type: str 2299 :param location: Required. Resource location. 2300 :type location: str 2301 :param tags: A set of tags. Resource tags. 2302 :type tags: dict[str, str] 2303 :param description: The description of this gallery Image Definition resource. This property is 2304 updatable. 2305 :type description: str 2306 :param eula: The Eula agreement for the gallery Image Definition. 2307 :type eula: str 2308 :param privacy_statement_uri: The privacy statement uri. 2309 :type privacy_statement_uri: str 2310 :param release_note_uri: The release note uri. 2311 :type release_note_uri: str 2312 :param os_type: This property allows you to specify the type of the OS that is included in the 2313 disk when creating a VM from a managed image. :code:`<br>`:code:`<br>` Possible values are: 2314 :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible values 2315 include: "Windows", "Linux". 2316 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 2317 :param os_state: This property allows the user to specify whether the virtual machines created 2318 under this image are 'Generalized' or 'Specialized'. Possible values include: "Generalized", 2319 "Specialized". 2320 :type os_state: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemStateTypes 2321 :param end_of_life_date: The end of life date of the gallery Image Definition. This property 2322 can be used for decommissioning purposes. This property is updatable. 2323 :type end_of_life_date: ~datetime.datetime 2324 :param identifier: This is the gallery Image Definition identifier. 2325 :type identifier: ~azure.mgmt.compute.v2019_03_01.models.GalleryImageIdentifier 2326 :param recommended: The properties describe the recommended machine configuration for this 2327 Image Definition. These properties are updatable. 2328 :type recommended: ~azure.mgmt.compute.v2019_03_01.models.RecommendedMachineConfiguration 2329 :param disallowed: Describes the disallowed disk types. 2330 :type disallowed: ~azure.mgmt.compute.v2019_03_01.models.Disallowed 2331 :param purchase_plan: Describes the gallery Image Definition purchase plan. This is used by 2332 marketplace images. 2333 :type purchase_plan: ~azure.mgmt.compute.v2019_03_01.models.ImagePurchasePlan 2334 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2335 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2336 :vartype provisioning_state: str or 2337 ~azure.mgmt.compute.v2019_03_01.models.GalleryImagePropertiesProvisioningState 2338 """ 2339 2340 _validation = { 2341 'id': {'readonly': True}, 2342 'name': {'readonly': True}, 2343 'type': {'readonly': True}, 2344 'location': {'required': True}, 2345 'provisioning_state': {'readonly': True}, 2346 } 2347 2348 _attribute_map = { 2349 'id': {'key': 'id', 'type': 'str'}, 2350 'name': {'key': 'name', 'type': 'str'}, 2351 'type': {'key': 'type', 'type': 'str'}, 2352 'location': {'key': 'location', 'type': 'str'}, 2353 'tags': {'key': 'tags', 'type': '{str}'}, 2354 'description': {'key': 'properties.description', 'type': 'str'}, 2355 'eula': {'key': 'properties.eula', 'type': 'str'}, 2356 'privacy_statement_uri': {'key': 'properties.privacyStatementUri', 'type': 'str'}, 2357 'release_note_uri': {'key': 'properties.releaseNoteUri', 'type': 'str'}, 2358 'os_type': {'key': 'properties.osType', 'type': 'str'}, 2359 'os_state': {'key': 'properties.osState', 'type': 'str'}, 2360 'end_of_life_date': {'key': 'properties.endOfLifeDate', 'type': 'iso-8601'}, 2361 'identifier': {'key': 'properties.identifier', 'type': 'GalleryImageIdentifier'}, 2362 'recommended': {'key': 'properties.recommended', 'type': 'RecommendedMachineConfiguration'}, 2363 'disallowed': {'key': 'properties.disallowed', 'type': 'Disallowed'}, 2364 'purchase_plan': {'key': 'properties.purchasePlan', 'type': 'ImagePurchasePlan'}, 2365 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2366 } 2367 2368 def __init__( 2369 self, 2370 *, 2371 location: str, 2372 tags: Optional[Dict[str, str]] = None, 2373 description: Optional[str] = None, 2374 eula: Optional[str] = None, 2375 privacy_statement_uri: Optional[str] = None, 2376 release_note_uri: Optional[str] = None, 2377 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2378 os_state: Optional[Union[str, "OperatingSystemStateTypes"]] = None, 2379 end_of_life_date: Optional[datetime.datetime] = None, 2380 identifier: Optional["GalleryImageIdentifier"] = None, 2381 recommended: Optional["RecommendedMachineConfiguration"] = None, 2382 disallowed: Optional["Disallowed"] = None, 2383 purchase_plan: Optional["ImagePurchasePlan"] = None, 2384 **kwargs 2385 ): 2386 super(GalleryImage, self).__init__(location=location, tags=tags, **kwargs) 2387 self.description = description 2388 self.eula = eula 2389 self.privacy_statement_uri = privacy_statement_uri 2390 self.release_note_uri = release_note_uri 2391 self.os_type = os_type 2392 self.os_state = os_state 2393 self.end_of_life_date = end_of_life_date 2394 self.identifier = identifier 2395 self.recommended = recommended 2396 self.disallowed = disallowed 2397 self.purchase_plan = purchase_plan 2398 self.provisioning_state = None 2399 2400 2401class GalleryImageIdentifier(msrest.serialization.Model): 2402 """This is the gallery Image Definition identifier. 2403 2404 All required parameters must be populated in order to send to Azure. 2405 2406 :param publisher: Required. The name of the gallery Image Definition publisher. 2407 :type publisher: str 2408 :param offer: Required. The name of the gallery Image Definition offer. 2409 :type offer: str 2410 :param sku: Required. The name of the gallery Image Definition SKU. 2411 :type sku: str 2412 """ 2413 2414 _validation = { 2415 'publisher': {'required': True}, 2416 'offer': {'required': True}, 2417 'sku': {'required': True}, 2418 } 2419 2420 _attribute_map = { 2421 'publisher': {'key': 'publisher', 'type': 'str'}, 2422 'offer': {'key': 'offer', 'type': 'str'}, 2423 'sku': {'key': 'sku', 'type': 'str'}, 2424 } 2425 2426 def __init__( 2427 self, 2428 *, 2429 publisher: str, 2430 offer: str, 2431 sku: str, 2432 **kwargs 2433 ): 2434 super(GalleryImageIdentifier, self).__init__(**kwargs) 2435 self.publisher = publisher 2436 self.offer = offer 2437 self.sku = sku 2438 2439 2440class GalleryImageList(msrest.serialization.Model): 2441 """The List Gallery Images operation response. 2442 2443 All required parameters must be populated in order to send to Azure. 2444 2445 :param value: Required. A list of Shared Image Gallery images. 2446 :type value: list[~azure.mgmt.compute.v2019_03_01.models.GalleryImage] 2447 :param next_link: The uri to fetch the next page of Image Definitions in the Shared Image 2448 Gallery. Call ListNext() with this to fetch the next page of gallery Image Definitions. 2449 :type next_link: str 2450 """ 2451 2452 _validation = { 2453 'value': {'required': True}, 2454 } 2455 2456 _attribute_map = { 2457 'value': {'key': 'value', 'type': '[GalleryImage]'}, 2458 'next_link': {'key': 'nextLink', 'type': 'str'}, 2459 } 2460 2461 def __init__( 2462 self, 2463 *, 2464 value: List["GalleryImage"], 2465 next_link: Optional[str] = None, 2466 **kwargs 2467 ): 2468 super(GalleryImageList, self).__init__(**kwargs) 2469 self.value = value 2470 self.next_link = next_link 2471 2472 2473class GalleryImageVersion(Resource): 2474 """Specifies information about the gallery Image Version that you want to create or update. 2475 2476 Variables are only populated by the server, and will be ignored when sending a request. 2477 2478 All required parameters must be populated in order to send to Azure. 2479 2480 :ivar id: Resource Id. 2481 :vartype id: str 2482 :ivar name: Resource name. 2483 :vartype name: str 2484 :ivar type: Resource type. 2485 :vartype type: str 2486 :param location: Required. Resource location. 2487 :type location: str 2488 :param tags: A set of tags. Resource tags. 2489 :type tags: dict[str, str] 2490 :param publishing_profile: The publishing profile of a gallery Image Version. 2491 :type publishing_profile: 2492 ~azure.mgmt.compute.v2019_03_01.models.GalleryImageVersionPublishingProfile 2493 :ivar provisioning_state: The provisioning state, which only appears in the response. Possible 2494 values include: "Creating", "Updating", "Failed", "Succeeded", "Deleting", "Migrating". 2495 :vartype provisioning_state: str or 2496 ~azure.mgmt.compute.v2019_03_01.models.GalleryImageVersionPropertiesProvisioningState 2497 :ivar storage_profile: This is the storage profile of a Gallery Image Version. 2498 :vartype storage_profile: 2499 ~azure.mgmt.compute.v2019_03_01.models.GalleryImageVersionStorageProfile 2500 :ivar replication_status: This is the replication status of the gallery Image Version. 2501 :vartype replication_status: ~azure.mgmt.compute.v2019_03_01.models.ReplicationStatus 2502 """ 2503 2504 _validation = { 2505 'id': {'readonly': True}, 2506 'name': {'readonly': True}, 2507 'type': {'readonly': True}, 2508 'location': {'required': True}, 2509 'provisioning_state': {'readonly': True}, 2510 'storage_profile': {'readonly': True}, 2511 'replication_status': {'readonly': True}, 2512 } 2513 2514 _attribute_map = { 2515 'id': {'key': 'id', 'type': 'str'}, 2516 'name': {'key': 'name', 'type': 'str'}, 2517 'type': {'key': 'type', 'type': 'str'}, 2518 'location': {'key': 'location', 'type': 'str'}, 2519 'tags': {'key': 'tags', 'type': '{str}'}, 2520 'publishing_profile': {'key': 'properties.publishingProfile', 'type': 'GalleryImageVersionPublishingProfile'}, 2521 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2522 'storage_profile': {'key': 'properties.storageProfile', 'type': 'GalleryImageVersionStorageProfile'}, 2523 'replication_status': {'key': 'properties.replicationStatus', 'type': 'ReplicationStatus'}, 2524 } 2525 2526 def __init__( 2527 self, 2528 *, 2529 location: str, 2530 tags: Optional[Dict[str, str]] = None, 2531 publishing_profile: Optional["GalleryImageVersionPublishingProfile"] = None, 2532 **kwargs 2533 ): 2534 super(GalleryImageVersion, self).__init__(location=location, tags=tags, **kwargs) 2535 self.publishing_profile = publishing_profile 2536 self.provisioning_state = None 2537 self.storage_profile = None 2538 self.replication_status = None 2539 2540 2541class GalleryImageVersionList(msrest.serialization.Model): 2542 """The List Gallery Image version operation response. 2543 2544 All required parameters must be populated in order to send to Azure. 2545 2546 :param value: Required. A list of gallery Image Versions. 2547 :type value: list[~azure.mgmt.compute.v2019_03_01.models.GalleryImageVersion] 2548 :param next_link: The uri to fetch the next page of gallery Image Versions. Call ListNext() 2549 with this to fetch the next page of gallery Image Versions. 2550 :type next_link: str 2551 """ 2552 2553 _validation = { 2554 'value': {'required': True}, 2555 } 2556 2557 _attribute_map = { 2558 'value': {'key': 'value', 'type': '[GalleryImageVersion]'}, 2559 'next_link': {'key': 'nextLink', 'type': 'str'}, 2560 } 2561 2562 def __init__( 2563 self, 2564 *, 2565 value: List["GalleryImageVersion"], 2566 next_link: Optional[str] = None, 2567 **kwargs 2568 ): 2569 super(GalleryImageVersionList, self).__init__(**kwargs) 2570 self.value = value 2571 self.next_link = next_link 2572 2573 2574class GalleryImageVersionPublishingProfile(GalleryArtifactPublishingProfileBase): 2575 """The publishing profile of a gallery Image Version. 2576 2577 Variables are only populated by the server, and will be ignored when sending a request. 2578 2579 All required parameters must be populated in order to send to Azure. 2580 2581 :param target_regions: The target regions where the Image Version is going to be replicated to. 2582 This property is updatable. 2583 :type target_regions: list[~azure.mgmt.compute.v2019_03_01.models.TargetRegion] 2584 :param replica_count: The number of replicas of the Image Version to be created per region. 2585 This property would take effect for a region when regionalReplicaCount is not specified. This 2586 property is updatable. 2587 :type replica_count: int 2588 :param exclude_from_latest: If set to true, Virtual Machines deployed from the latest version 2589 of the Image Definition won't use this Image Version. 2590 :type exclude_from_latest: bool 2591 :ivar published_date: The timestamp for when the gallery Image Version is published. 2592 :vartype published_date: ~datetime.datetime 2593 :param end_of_life_date: The end of life date of the gallery Image Version. This property can 2594 be used for decommissioning purposes. This property is updatable. 2595 :type end_of_life_date: ~datetime.datetime 2596 :param storage_account_type: Specifies the storage account type to be used to store the image. 2597 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 2598 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountType 2599 :param source: Required. The source image from which the Image Version is going to be created. 2600 :type source: ~azure.mgmt.compute.v2019_03_01.models.GalleryArtifactSource 2601 """ 2602 2603 _validation = { 2604 'published_date': {'readonly': True}, 2605 'source': {'required': True}, 2606 } 2607 2608 _attribute_map = { 2609 'target_regions': {'key': 'targetRegions', 'type': '[TargetRegion]'}, 2610 'replica_count': {'key': 'replicaCount', 'type': 'int'}, 2611 'exclude_from_latest': {'key': 'excludeFromLatest', 'type': 'bool'}, 2612 'published_date': {'key': 'publishedDate', 'type': 'iso-8601'}, 2613 'end_of_life_date': {'key': 'endOfLifeDate', 'type': 'iso-8601'}, 2614 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2615 'source': {'key': 'source', 'type': 'GalleryArtifactSource'}, 2616 } 2617 2618 def __init__( 2619 self, 2620 *, 2621 source: "GalleryArtifactSource", 2622 target_regions: Optional[List["TargetRegion"]] = None, 2623 replica_count: Optional[int] = None, 2624 exclude_from_latest: Optional[bool] = None, 2625 end_of_life_date: Optional[datetime.datetime] = None, 2626 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 2627 **kwargs 2628 ): 2629 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) 2630 self.source = source 2631 2632 2633class GalleryImageVersionStorageProfile(msrest.serialization.Model): 2634 """This is the storage profile of a Gallery Image Version. 2635 2636 Variables are only populated by the server, and will be ignored when sending a request. 2637 2638 :ivar os_disk_image: This is the OS disk image. 2639 :vartype os_disk_image: ~azure.mgmt.compute.v2019_03_01.models.GalleryOSDiskImage 2640 :ivar data_disk_images: A list of data disk images. 2641 :vartype data_disk_images: list[~azure.mgmt.compute.v2019_03_01.models.GalleryDataDiskImage] 2642 """ 2643 2644 _validation = { 2645 'os_disk_image': {'readonly': True}, 2646 'data_disk_images': {'readonly': True}, 2647 } 2648 2649 _attribute_map = { 2650 'os_disk_image': {'key': 'osDiskImage', 'type': 'GalleryOSDiskImage'}, 2651 'data_disk_images': {'key': 'dataDiskImages', 'type': '[GalleryDataDiskImage]'}, 2652 } 2653 2654 def __init__( 2655 self, 2656 **kwargs 2657 ): 2658 super(GalleryImageVersionStorageProfile, self).__init__(**kwargs) 2659 self.os_disk_image = None 2660 self.data_disk_images = None 2661 2662 2663class GalleryList(msrest.serialization.Model): 2664 """The List Galleries operation response. 2665 2666 All required parameters must be populated in order to send to Azure. 2667 2668 :param value: Required. A list of galleries. 2669 :type value: list[~azure.mgmt.compute.v2019_03_01.models.Gallery] 2670 :param next_link: The uri to fetch the next page of galleries. Call ListNext() with this to 2671 fetch the next page of galleries. 2672 :type next_link: str 2673 """ 2674 2675 _validation = { 2676 'value': {'required': True}, 2677 } 2678 2679 _attribute_map = { 2680 'value': {'key': 'value', 'type': '[Gallery]'}, 2681 'next_link': {'key': 'nextLink', 'type': 'str'}, 2682 } 2683 2684 def __init__( 2685 self, 2686 *, 2687 value: List["Gallery"], 2688 next_link: Optional[str] = None, 2689 **kwargs 2690 ): 2691 super(GalleryList, self).__init__(**kwargs) 2692 self.value = value 2693 self.next_link = next_link 2694 2695 2696class GalleryOSDiskImage(GalleryDiskImage): 2697 """This is the OS disk image. 2698 2699 Variables are only populated by the server, and will be ignored when sending a request. 2700 2701 :ivar size_in_gb: This property indicates the size of the VHD to be created. 2702 :vartype size_in_gb: int 2703 :ivar host_caching: The host caching of the disk. Valid values are 'None', 'ReadOnly', and 2704 'ReadWrite'. Possible values include: "None", "ReadOnly", "ReadWrite". 2705 :vartype host_caching: str or ~azure.mgmt.compute.v2019_03_01.models.HostCaching 2706 """ 2707 2708 _validation = { 2709 'size_in_gb': {'readonly': True}, 2710 'host_caching': {'readonly': True}, 2711 } 2712 2713 _attribute_map = { 2714 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, 2715 'host_caching': {'key': 'hostCaching', 'type': 'str'}, 2716 } 2717 2718 def __init__( 2719 self, 2720 **kwargs 2721 ): 2722 super(GalleryOSDiskImage, self).__init__(**kwargs) 2723 2724 2725class GrantAccessData(msrest.serialization.Model): 2726 """Data used for requesting a SAS. 2727 2728 All required parameters must be populated in order to send to Azure. 2729 2730 :param access: Required. Possible values include: "None", "Read", "Write". 2731 :type access: str or ~azure.mgmt.compute.v2019_03_01.models.AccessLevel 2732 :param duration_in_seconds: Required. Time duration in seconds until the SAS access expires. 2733 :type duration_in_seconds: int 2734 """ 2735 2736 _validation = { 2737 'access': {'required': True}, 2738 'duration_in_seconds': {'required': True}, 2739 } 2740 2741 _attribute_map = { 2742 'access': {'key': 'access', 'type': 'str'}, 2743 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'int'}, 2744 } 2745 2746 def __init__( 2747 self, 2748 *, 2749 access: Union[str, "AccessLevel"], 2750 duration_in_seconds: int, 2751 **kwargs 2752 ): 2753 super(GrantAccessData, self).__init__(**kwargs) 2754 self.access = access 2755 self.duration_in_seconds = duration_in_seconds 2756 2757 2758class HardwareProfile(msrest.serialization.Model): 2759 """Specifies the hardware settings for the virtual machine. 2760 2761 :param vm_size: Specifies the size of the virtual machine. For more information about virtual 2762 machine sizes, see `Sizes for virtual machines 2763 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 2764 :code:`<br>`:code:`<br>` The available VM sizes depend on region and availability set. For a 2765 list of available sizes use these APIs: :code:`<br>`:code:`<br>` `List all available virtual 2766 machine sizes in an availability set 2767 <https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes>`_ 2768 :code:`<br>`:code:`<br>` `List all available virtual machine sizes in a region 2769 <https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list>`_ 2770 :code:`<br>`:code:`<br>` `List all available virtual machine sizes for resizing 2771 <https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes>`_. Possible 2772 values include: "Basic_A0", "Basic_A1", "Basic_A2", "Basic_A3", "Basic_A4", "Standard_A0", 2773 "Standard_A1", "Standard_A2", "Standard_A3", "Standard_A4", "Standard_A5", "Standard_A6", 2774 "Standard_A7", "Standard_A8", "Standard_A9", "Standard_A10", "Standard_A11", "Standard_A1_v2", 2775 "Standard_A2_v2", "Standard_A4_v2", "Standard_A8_v2", "Standard_A2m_v2", "Standard_A4m_v2", 2776 "Standard_A8m_v2", "Standard_B1s", "Standard_B1ms", "Standard_B2s", "Standard_B2ms", 2777 "Standard_B4ms", "Standard_B8ms", "Standard_D1", "Standard_D2", "Standard_D3", "Standard_D4", 2778 "Standard_D11", "Standard_D12", "Standard_D13", "Standard_D14", "Standard_D1_v2", 2779 "Standard_D2_v2", "Standard_D3_v2", "Standard_D4_v2", "Standard_D5_v2", "Standard_D2_v3", 2780 "Standard_D4_v3", "Standard_D8_v3", "Standard_D16_v3", "Standard_D32_v3", "Standard_D64_v3", 2781 "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", 2782 "Standard_D32s_v3", "Standard_D64s_v3", "Standard_D11_v2", "Standard_D12_v2", 2783 "Standard_D13_v2", "Standard_D14_v2", "Standard_D15_v2", "Standard_DS1", "Standard_DS2", 2784 "Standard_DS3", "Standard_DS4", "Standard_DS11", "Standard_DS12", "Standard_DS13", 2785 "Standard_DS14", "Standard_DS1_v2", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", 2786 "Standard_DS5_v2", "Standard_DS11_v2", "Standard_DS12_v2", "Standard_DS13_v2", 2787 "Standard_DS14_v2", "Standard_DS15_v2", "Standard_DS13-4_v2", "Standard_DS13-2_v2", 2788 "Standard_DS14-8_v2", "Standard_DS14-4_v2", "Standard_E2_v3", "Standard_E4_v3", 2789 "Standard_E8_v3", "Standard_E16_v3", "Standard_E32_v3", "Standard_E64_v3", "Standard_E2s_v3", 2790 "Standard_E4s_v3", "Standard_E8s_v3", "Standard_E16s_v3", "Standard_E32s_v3", 2791 "Standard_E64s_v3", "Standard_E32-16_v3", "Standard_E32-8s_v3", "Standard_E64-32s_v3", 2792 "Standard_E64-16s_v3", "Standard_F1", "Standard_F2", "Standard_F4", "Standard_F8", 2793 "Standard_F16", "Standard_F1s", "Standard_F2s", "Standard_F4s", "Standard_F8s", 2794 "Standard_F16s", "Standard_F2s_v2", "Standard_F4s_v2", "Standard_F8s_v2", "Standard_F16s_v2", 2795 "Standard_F32s_v2", "Standard_F64s_v2", "Standard_F72s_v2", "Standard_G1", "Standard_G2", 2796 "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", 2797 "Standard_GS4", "Standard_GS5", "Standard_GS4-8", "Standard_GS4-4", "Standard_GS5-16", 2798 "Standard_GS5-8", "Standard_H8", "Standard_H16", "Standard_H8m", "Standard_H16m", 2799 "Standard_H16r", "Standard_H16mr", "Standard_L4s", "Standard_L8s", "Standard_L16s", 2800 "Standard_L32s", "Standard_M64s", "Standard_M64ms", "Standard_M128s", "Standard_M128ms", 2801 "Standard_M64-32ms", "Standard_M64-16ms", "Standard_M128-64ms", "Standard_M128-32ms", 2802 "Standard_NC6", "Standard_NC12", "Standard_NC24", "Standard_NC24r", "Standard_NC6s_v2", 2803 "Standard_NC12s_v2", "Standard_NC24s_v2", "Standard_NC24rs_v2", "Standard_NC6s_v3", 2804 "Standard_NC12s_v3", "Standard_NC24s_v3", "Standard_NC24rs_v3", "Standard_ND6s", 2805 "Standard_ND12s", "Standard_ND24s", "Standard_ND24rs", "Standard_NV6", "Standard_NV12", 2806 "Standard_NV24". 2807 :type vm_size: str or ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineSizeTypes 2808 """ 2809 2810 _attribute_map = { 2811 'vm_size': {'key': 'vmSize', 'type': 'str'}, 2812 } 2813 2814 def __init__( 2815 self, 2816 *, 2817 vm_size: Optional[Union[str, "VirtualMachineSizeTypes"]] = None, 2818 **kwargs 2819 ): 2820 super(HardwareProfile, self).__init__(**kwargs) 2821 self.vm_size = vm_size 2822 2823 2824class Image(Resource): 2825 """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. 2826 2827 Variables are only populated by the server, and will be ignored when sending a request. 2828 2829 All required parameters must be populated in order to send to Azure. 2830 2831 :ivar id: Resource Id. 2832 :vartype id: str 2833 :ivar name: Resource name. 2834 :vartype name: str 2835 :ivar type: Resource type. 2836 :vartype type: str 2837 :param location: Required. Resource location. 2838 :type location: str 2839 :param tags: A set of tags. Resource tags. 2840 :type tags: dict[str, str] 2841 :param source_virtual_machine: The source virtual machine from which Image is created. 2842 :type source_virtual_machine: ~azure.mgmt.compute.v2019_03_01.models.SubResource 2843 :param storage_profile: Specifies the storage settings for the virtual machine disks. 2844 :type storage_profile: ~azure.mgmt.compute.v2019_03_01.models.ImageStorageProfile 2845 :ivar provisioning_state: The provisioning state. 2846 :vartype provisioning_state: str 2847 :param hyper_v_generation: Gets the HyperVGenerationType of the VirtualMachine created from the 2848 image. Possible values include: "V1", "V2". 2849 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGenerationTypes 2850 """ 2851 2852 _validation = { 2853 'id': {'readonly': True}, 2854 'name': {'readonly': True}, 2855 'type': {'readonly': True}, 2856 'location': {'required': True}, 2857 'provisioning_state': {'readonly': True}, 2858 } 2859 2860 _attribute_map = { 2861 'id': {'key': 'id', 'type': 'str'}, 2862 'name': {'key': 'name', 'type': 'str'}, 2863 'type': {'key': 'type', 'type': 'str'}, 2864 'location': {'key': 'location', 'type': 'str'}, 2865 'tags': {'key': 'tags', 'type': '{str}'}, 2866 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 2867 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 2868 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2869 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 2870 } 2871 2872 def __init__( 2873 self, 2874 *, 2875 location: str, 2876 tags: Optional[Dict[str, str]] = None, 2877 source_virtual_machine: Optional["SubResource"] = None, 2878 storage_profile: Optional["ImageStorageProfile"] = None, 2879 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 2880 **kwargs 2881 ): 2882 super(Image, self).__init__(location=location, tags=tags, **kwargs) 2883 self.source_virtual_machine = source_virtual_machine 2884 self.storage_profile = storage_profile 2885 self.provisioning_state = None 2886 self.hyper_v_generation = hyper_v_generation 2887 2888 2889class ImageDataDisk(msrest.serialization.Model): 2890 """Describes a data disk. 2891 2892 All required parameters must be populated in order to send to Azure. 2893 2894 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 2895 identify data disks within the VM and therefore must be unique for each data disk attached to a 2896 VM. 2897 :type lun: int 2898 :param snapshot: The snapshot. 2899 :type snapshot: ~azure.mgmt.compute.v2019_03_01.models.SubResource 2900 :param managed_disk: The managedDisk. 2901 :type managed_disk: ~azure.mgmt.compute.v2019_03_01.models.SubResource 2902 :param blob_uri: The Virtual Hard Disk. 2903 :type blob_uri: str 2904 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 2905 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 2906 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 2907 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 2908 "ReadWrite". 2909 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 2910 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 2911 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 2912 This value cannot be larger than 1023 GB. 2913 :type disk_size_gb: int 2914 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 2915 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 2916 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 2917 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountTypes 2918 """ 2919 2920 _validation = { 2921 'lun': {'required': True}, 2922 } 2923 2924 _attribute_map = { 2925 'lun': {'key': 'lun', 'type': 'int'}, 2926 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 2927 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 2928 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 2929 'caching': {'key': 'caching', 'type': 'str'}, 2930 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 2931 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2932 } 2933 2934 def __init__( 2935 self, 2936 *, 2937 lun: int, 2938 snapshot: Optional["SubResource"] = None, 2939 managed_disk: Optional["SubResource"] = None, 2940 blob_uri: Optional[str] = None, 2941 caching: Optional[Union[str, "CachingTypes"]] = None, 2942 disk_size_gb: Optional[int] = None, 2943 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 2944 **kwargs 2945 ): 2946 super(ImageDataDisk, self).__init__(**kwargs) 2947 self.lun = lun 2948 self.snapshot = snapshot 2949 self.managed_disk = managed_disk 2950 self.blob_uri = blob_uri 2951 self.caching = caching 2952 self.disk_size_gb = disk_size_gb 2953 self.storage_account_type = storage_account_type 2954 2955 2956class ImageDiskReference(msrest.serialization.Model): 2957 """The source image used for creating the disk. 2958 2959 All required parameters must be populated in order to send to Azure. 2960 2961 :param id: Required. A relative uri containing either a Platform Image Repository or user image 2962 reference. 2963 :type id: str 2964 :param lun: If the disk is created from an image's data disk, this is an index that indicates 2965 which of the data disks in the image to use. For OS disks, this field is null. 2966 :type lun: int 2967 """ 2968 2969 _validation = { 2970 'id': {'required': True}, 2971 } 2972 2973 _attribute_map = { 2974 'id': {'key': 'id', 'type': 'str'}, 2975 'lun': {'key': 'lun', 'type': 'int'}, 2976 } 2977 2978 def __init__( 2979 self, 2980 *, 2981 id: str, 2982 lun: Optional[int] = None, 2983 **kwargs 2984 ): 2985 super(ImageDiskReference, self).__init__(**kwargs) 2986 self.id = id 2987 self.lun = lun 2988 2989 2990class ImageListResult(msrest.serialization.Model): 2991 """The List Image operation response. 2992 2993 All required parameters must be populated in order to send to Azure. 2994 2995 :param value: Required. The list of Images. 2996 :type value: list[~azure.mgmt.compute.v2019_03_01.models.Image] 2997 :param next_link: The uri to fetch the next page of Images. Call ListNext() with this to fetch 2998 the next page of Images. 2999 :type next_link: str 3000 """ 3001 3002 _validation = { 3003 'value': {'required': True}, 3004 } 3005 3006 _attribute_map = { 3007 'value': {'key': 'value', 'type': '[Image]'}, 3008 'next_link': {'key': 'nextLink', 'type': 'str'}, 3009 } 3010 3011 def __init__( 3012 self, 3013 *, 3014 value: List["Image"], 3015 next_link: Optional[str] = None, 3016 **kwargs 3017 ): 3018 super(ImageListResult, self).__init__(**kwargs) 3019 self.value = value 3020 self.next_link = next_link 3021 3022 3023class ImageOSDisk(msrest.serialization.Model): 3024 """Describes an Operating System disk. 3025 3026 All required parameters must be populated in order to send to Azure. 3027 3028 :param os_type: Required. This property allows you to specify the type of the OS that is 3029 included in the disk if creating a VM from a custom image. :code:`<br>`:code:`<br>` Possible 3030 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 3031 values include: "Windows", "Linux". 3032 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 3033 :param os_state: Required. The OS State. Possible values include: "Generalized", "Specialized". 3034 :type os_state: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemStateTypes 3035 :param snapshot: The snapshot. 3036 :type snapshot: ~azure.mgmt.compute.v2019_03_01.models.SubResource 3037 :param managed_disk: The managedDisk. 3038 :type managed_disk: ~azure.mgmt.compute.v2019_03_01.models.SubResource 3039 :param blob_uri: The Virtual Hard Disk. 3040 :type blob_uri: str 3041 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 3042 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 3043 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 3044 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 3045 "ReadWrite". 3046 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 3047 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 3048 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 3049 This value cannot be larger than 1023 GB. 3050 :type disk_size_gb: int 3051 :param storage_account_type: Specifies the storage account type for the managed disk. 3052 UltraSSD_LRS cannot be used with OS Disk. Possible values include: "Standard_LRS", 3053 "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 3054 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountTypes 3055 """ 3056 3057 _validation = { 3058 'os_type': {'required': True}, 3059 'os_state': {'required': True}, 3060 } 3061 3062 _attribute_map = { 3063 'os_type': {'key': 'osType', 'type': 'str'}, 3064 'os_state': {'key': 'osState', 'type': 'str'}, 3065 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 3066 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 3067 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 3068 'caching': {'key': 'caching', 'type': 'str'}, 3069 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 3070 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3071 } 3072 3073 def __init__( 3074 self, 3075 *, 3076 os_type: Union[str, "OperatingSystemTypes"], 3077 os_state: Union[str, "OperatingSystemStateTypes"], 3078 snapshot: Optional["SubResource"] = None, 3079 managed_disk: Optional["SubResource"] = None, 3080 blob_uri: Optional[str] = None, 3081 caching: Optional[Union[str, "CachingTypes"]] = None, 3082 disk_size_gb: Optional[int] = None, 3083 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 3084 **kwargs 3085 ): 3086 super(ImageOSDisk, self).__init__(**kwargs) 3087 self.os_type = os_type 3088 self.os_state = os_state 3089 self.snapshot = snapshot 3090 self.managed_disk = managed_disk 3091 self.blob_uri = blob_uri 3092 self.caching = caching 3093 self.disk_size_gb = disk_size_gb 3094 self.storage_account_type = storage_account_type 3095 3096 3097class ImagePurchasePlan(msrest.serialization.Model): 3098 """Describes the gallery Image Definition purchase plan. This is used by marketplace images. 3099 3100 :param name: The plan ID. 3101 :type name: str 3102 :param publisher: The publisher ID. 3103 :type publisher: str 3104 :param product: The product ID. 3105 :type product: str 3106 """ 3107 3108 _attribute_map = { 3109 'name': {'key': 'name', 'type': 'str'}, 3110 'publisher': {'key': 'publisher', 'type': 'str'}, 3111 'product': {'key': 'product', 'type': 'str'}, 3112 } 3113 3114 def __init__( 3115 self, 3116 *, 3117 name: Optional[str] = None, 3118 publisher: Optional[str] = None, 3119 product: Optional[str] = None, 3120 **kwargs 3121 ): 3122 super(ImagePurchasePlan, self).__init__(**kwargs) 3123 self.name = name 3124 self.publisher = publisher 3125 self.product = product 3126 3127 3128class SubResource(msrest.serialization.Model): 3129 """SubResource. 3130 3131 :param id: Resource Id. 3132 :type id: str 3133 """ 3134 3135 _attribute_map = { 3136 'id': {'key': 'id', 'type': 'str'}, 3137 } 3138 3139 def __init__( 3140 self, 3141 *, 3142 id: Optional[str] = None, 3143 **kwargs 3144 ): 3145 super(SubResource, self).__init__(**kwargs) 3146 self.id = id 3147 3148 3149class ImageReference(SubResource): 3150 """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. 3151 3152 :param id: Resource Id. 3153 :type id: str 3154 :param publisher: The image publisher. 3155 :type publisher: str 3156 :param offer: Specifies the offer of the platform image or marketplace image used to create the 3157 virtual machine. 3158 :type offer: str 3159 :param sku: The image SKU. 3160 :type sku: str 3161 :param version: Specifies the version of the platform image or marketplace image used to create 3162 the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and 3163 Build are decimal numbers. Specify 'latest' to use the latest version of an image available at 3164 deploy time. Even if you use 'latest', the VM image will not automatically update after deploy 3165 time even if a new version becomes available. 3166 :type version: str 3167 """ 3168 3169 _attribute_map = { 3170 'id': {'key': 'id', 'type': 'str'}, 3171 'publisher': {'key': 'publisher', 'type': 'str'}, 3172 'offer': {'key': 'offer', 'type': 'str'}, 3173 'sku': {'key': 'sku', 'type': 'str'}, 3174 'version': {'key': 'version', 'type': 'str'}, 3175 } 3176 3177 def __init__( 3178 self, 3179 *, 3180 id: Optional[str] = None, 3181 publisher: Optional[str] = None, 3182 offer: Optional[str] = None, 3183 sku: Optional[str] = None, 3184 version: Optional[str] = None, 3185 **kwargs 3186 ): 3187 super(ImageReference, self).__init__(id=id, **kwargs) 3188 self.publisher = publisher 3189 self.offer = offer 3190 self.sku = sku 3191 self.version = version 3192 3193 3194class ImageStorageProfile(msrest.serialization.Model): 3195 """Describes a storage profile. 3196 3197 :param os_disk: Specifies information about the operating system disk used by the virtual 3198 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3199 for Azure virtual machines 3200 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3201 :type os_disk: ~azure.mgmt.compute.v2019_03_01.models.ImageOSDisk 3202 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 3203 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3204 for Azure virtual machines 3205 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3206 :type data_disks: list[~azure.mgmt.compute.v2019_03_01.models.ImageDataDisk] 3207 :param zone_resilient: Specifies whether an image is zone resilient or not. Default is false. 3208 Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). 3209 :type zone_resilient: bool 3210 """ 3211 3212 _attribute_map = { 3213 'os_disk': {'key': 'osDisk', 'type': 'ImageOSDisk'}, 3214 'data_disks': {'key': 'dataDisks', 'type': '[ImageDataDisk]'}, 3215 'zone_resilient': {'key': 'zoneResilient', 'type': 'bool'}, 3216 } 3217 3218 def __init__( 3219 self, 3220 *, 3221 os_disk: Optional["ImageOSDisk"] = None, 3222 data_disks: Optional[List["ImageDataDisk"]] = None, 3223 zone_resilient: Optional[bool] = None, 3224 **kwargs 3225 ): 3226 super(ImageStorageProfile, self).__init__(**kwargs) 3227 self.os_disk = os_disk 3228 self.data_disks = data_disks 3229 self.zone_resilient = zone_resilient 3230 3231 3232class ImageUpdate(UpdateResource): 3233 """The source user image virtual hard disk. Only tags may be updated. 3234 3235 Variables are only populated by the server, and will be ignored when sending a request. 3236 3237 :param tags: A set of tags. Resource tags. 3238 :type tags: dict[str, str] 3239 :param source_virtual_machine: The source virtual machine from which Image is created. 3240 :type source_virtual_machine: ~azure.mgmt.compute.v2019_03_01.models.SubResource 3241 :param storage_profile: Specifies the storage settings for the virtual machine disks. 3242 :type storage_profile: ~azure.mgmt.compute.v2019_03_01.models.ImageStorageProfile 3243 :ivar provisioning_state: The provisioning state. 3244 :vartype provisioning_state: str 3245 :param hyper_v_generation: Gets the HyperVGenerationType of the VirtualMachine created from the 3246 image. Possible values include: "V1", "V2". 3247 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGenerationTypes 3248 """ 3249 3250 _validation = { 3251 'provisioning_state': {'readonly': True}, 3252 } 3253 3254 _attribute_map = { 3255 'tags': {'key': 'tags', 'type': '{str}'}, 3256 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 3257 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 3258 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3259 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 3260 } 3261 3262 def __init__( 3263 self, 3264 *, 3265 tags: Optional[Dict[str, str]] = None, 3266 source_virtual_machine: Optional["SubResource"] = None, 3267 storage_profile: Optional["ImageStorageProfile"] = None, 3268 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 3269 **kwargs 3270 ): 3271 super(ImageUpdate, self).__init__(tags=tags, **kwargs) 3272 self.source_virtual_machine = source_virtual_machine 3273 self.storage_profile = storage_profile 3274 self.provisioning_state = None 3275 self.hyper_v_generation = hyper_v_generation 3276 3277 3278class InnerError(msrest.serialization.Model): 3279 """Inner error details. 3280 3281 :param exceptiontype: The exception type. 3282 :type exceptiontype: str 3283 :param errordetail: The internal error message or exception dump. 3284 :type errordetail: str 3285 """ 3286 3287 _attribute_map = { 3288 'exceptiontype': {'key': 'exceptiontype', 'type': 'str'}, 3289 'errordetail': {'key': 'errordetail', 'type': 'str'}, 3290 } 3291 3292 def __init__( 3293 self, 3294 *, 3295 exceptiontype: Optional[str] = None, 3296 errordetail: Optional[str] = None, 3297 **kwargs 3298 ): 3299 super(InnerError, self).__init__(**kwargs) 3300 self.exceptiontype = exceptiontype 3301 self.errordetail = errordetail 3302 3303 3304class InstanceViewStatus(msrest.serialization.Model): 3305 """Instance view status. 3306 3307 :param code: The status code. 3308 :type code: str 3309 :param level: The level code. Possible values include: "Info", "Warning", "Error". 3310 :type level: str or ~azure.mgmt.compute.v2019_03_01.models.StatusLevelTypes 3311 :param display_status: The short localizable label for the status. 3312 :type display_status: str 3313 :param message: The detailed status message, including for alerts and error messages. 3314 :type message: str 3315 :param time: The time of the status. 3316 :type time: ~datetime.datetime 3317 """ 3318 3319 _attribute_map = { 3320 'code': {'key': 'code', 'type': 'str'}, 3321 'level': {'key': 'level', 'type': 'str'}, 3322 'display_status': {'key': 'displayStatus', 'type': 'str'}, 3323 'message': {'key': 'message', 'type': 'str'}, 3324 'time': {'key': 'time', 'type': 'iso-8601'}, 3325 } 3326 3327 def __init__( 3328 self, 3329 *, 3330 code: Optional[str] = None, 3331 level: Optional[Union[str, "StatusLevelTypes"]] = None, 3332 display_status: Optional[str] = None, 3333 message: Optional[str] = None, 3334 time: Optional[datetime.datetime] = None, 3335 **kwargs 3336 ): 3337 super(InstanceViewStatus, self).__init__(**kwargs) 3338 self.code = code 3339 self.level = level 3340 self.display_status = display_status 3341 self.message = message 3342 self.time = time 3343 3344 3345class KeyVaultAndKeyReference(msrest.serialization.Model): 3346 """Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey. 3347 3348 All required parameters must be populated in order to send to Azure. 3349 3350 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 3351 :type source_vault: ~azure.mgmt.compute.v2019_03_01.models.SourceVault 3352 :param key_url: Required. Url pointing to a key or secret in KeyVault. 3353 :type key_url: str 3354 """ 3355 3356 _validation = { 3357 'source_vault': {'required': True}, 3358 'key_url': {'required': True}, 3359 } 3360 3361 _attribute_map = { 3362 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 3363 'key_url': {'key': 'keyUrl', 'type': 'str'}, 3364 } 3365 3366 def __init__( 3367 self, 3368 *, 3369 source_vault: "SourceVault", 3370 key_url: str, 3371 **kwargs 3372 ): 3373 super(KeyVaultAndKeyReference, self).__init__(**kwargs) 3374 self.source_vault = source_vault 3375 self.key_url = key_url 3376 3377 3378class KeyVaultAndSecretReference(msrest.serialization.Model): 3379 """Key Vault Secret Url and vault id of the encryption key. 3380 3381 All required parameters must be populated in order to send to Azure. 3382 3383 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 3384 :type source_vault: ~azure.mgmt.compute.v2019_03_01.models.SourceVault 3385 :param secret_url: Required. Url pointing to a key or secret in KeyVault. 3386 :type secret_url: str 3387 """ 3388 3389 _validation = { 3390 'source_vault': {'required': True}, 3391 'secret_url': {'required': True}, 3392 } 3393 3394 _attribute_map = { 3395 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 3396 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 3397 } 3398 3399 def __init__( 3400 self, 3401 *, 3402 source_vault: "SourceVault", 3403 secret_url: str, 3404 **kwargs 3405 ): 3406 super(KeyVaultAndSecretReference, self).__init__(**kwargs) 3407 self.source_vault = source_vault 3408 self.secret_url = secret_url 3409 3410 3411class KeyVaultKeyReference(msrest.serialization.Model): 3412 """Describes a reference to Key Vault Key. 3413 3414 All required parameters must be populated in order to send to Azure. 3415 3416 :param key_url: Required. The URL referencing a key encryption key in Key Vault. 3417 :type key_url: str 3418 :param source_vault: Required. The relative URL of the Key Vault containing the key. 3419 :type source_vault: ~azure.mgmt.compute.v2019_03_01.models.SubResource 3420 """ 3421 3422 _validation = { 3423 'key_url': {'required': True}, 3424 'source_vault': {'required': True}, 3425 } 3426 3427 _attribute_map = { 3428 'key_url': {'key': 'keyUrl', 'type': 'str'}, 3429 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 3430 } 3431 3432 def __init__( 3433 self, 3434 *, 3435 key_url: str, 3436 source_vault: "SubResource", 3437 **kwargs 3438 ): 3439 super(KeyVaultKeyReference, self).__init__(**kwargs) 3440 self.key_url = key_url 3441 self.source_vault = source_vault 3442 3443 3444class KeyVaultSecretReference(msrest.serialization.Model): 3445 """Describes a reference to Key Vault Secret. 3446 3447 All required parameters must be populated in order to send to Azure. 3448 3449 :param secret_url: Required. The URL referencing a secret in a Key Vault. 3450 :type secret_url: str 3451 :param source_vault: Required. The relative URL of the Key Vault containing the secret. 3452 :type source_vault: ~azure.mgmt.compute.v2019_03_01.models.SubResource 3453 """ 3454 3455 _validation = { 3456 'secret_url': {'required': True}, 3457 'source_vault': {'required': True}, 3458 } 3459 3460 _attribute_map = { 3461 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 3462 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 3463 } 3464 3465 def __init__( 3466 self, 3467 *, 3468 secret_url: str, 3469 source_vault: "SubResource", 3470 **kwargs 3471 ): 3472 super(KeyVaultSecretReference, self).__init__(**kwargs) 3473 self.secret_url = secret_url 3474 self.source_vault = source_vault 3475 3476 3477class LinuxConfiguration(msrest.serialization.Model): 3478 """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>`_. 3479 3480 :param disable_password_authentication: Specifies whether password authentication should be 3481 disabled. 3482 :type disable_password_authentication: bool 3483 :param ssh: Specifies the ssh key configuration for a Linux OS. 3484 :type ssh: ~azure.mgmt.compute.v2019_03_01.models.SshConfiguration 3485 :param provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the 3486 virtual machine. :code:`<br>`:code:`<br>` When this property is not specified in the request 3487 body, default behavior is to set it to true. This will ensure that VM Agent is installed on 3488 the VM so that extensions can be added to the VM later. 3489 :type provision_vm_agent: bool 3490 """ 3491 3492 _attribute_map = { 3493 'disable_password_authentication': {'key': 'disablePasswordAuthentication', 'type': 'bool'}, 3494 'ssh': {'key': 'ssh', 'type': 'SshConfiguration'}, 3495 'provision_vm_agent': {'key': 'provisionVMAgent', 'type': 'bool'}, 3496 } 3497 3498 def __init__( 3499 self, 3500 *, 3501 disable_password_authentication: Optional[bool] = None, 3502 ssh: Optional["SshConfiguration"] = None, 3503 provision_vm_agent: Optional[bool] = None, 3504 **kwargs 3505 ): 3506 super(LinuxConfiguration, self).__init__(**kwargs) 3507 self.disable_password_authentication = disable_password_authentication 3508 self.ssh = ssh 3509 self.provision_vm_agent = provision_vm_agent 3510 3511 3512class ListUsagesResult(msrest.serialization.Model): 3513 """The List Usages operation response. 3514 3515 All required parameters must be populated in order to send to Azure. 3516 3517 :param value: Required. The list of compute resource usages. 3518 :type value: list[~azure.mgmt.compute.v2019_03_01.models.Usage] 3519 :param next_link: The URI to fetch the next page of compute resource usage information. Call 3520 ListNext() with this to fetch the next page of compute resource usage information. 3521 :type next_link: str 3522 """ 3523 3524 _validation = { 3525 'value': {'required': True}, 3526 } 3527 3528 _attribute_map = { 3529 'value': {'key': 'value', 'type': '[Usage]'}, 3530 'next_link': {'key': 'nextLink', 'type': 'str'}, 3531 } 3532 3533 def __init__( 3534 self, 3535 *, 3536 value: List["Usage"], 3537 next_link: Optional[str] = None, 3538 **kwargs 3539 ): 3540 super(ListUsagesResult, self).__init__(**kwargs) 3541 self.value = value 3542 self.next_link = next_link 3543 3544 3545class LogAnalyticsInputBase(msrest.serialization.Model): 3546 """Api input base class for LogAnalytics Api. 3547 3548 All required parameters must be populated in order to send to Azure. 3549 3550 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 3551 LogAnalytics Api writes output logs to. 3552 :type blob_container_sas_uri: str 3553 :param from_time: Required. From time of the query. 3554 :type from_time: ~datetime.datetime 3555 :param to_time: Required. To time of the query. 3556 :type to_time: ~datetime.datetime 3557 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 3558 :type group_by_throttle_policy: bool 3559 :param group_by_operation_name: Group query result by Operation Name. 3560 :type group_by_operation_name: bool 3561 :param group_by_resource_name: Group query result by Resource Name. 3562 :type group_by_resource_name: bool 3563 """ 3564 3565 _validation = { 3566 'blob_container_sas_uri': {'required': True}, 3567 'from_time': {'required': True}, 3568 'to_time': {'required': True}, 3569 } 3570 3571 _attribute_map = { 3572 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 3573 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 3574 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 3575 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 3576 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 3577 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 3578 } 3579 3580 def __init__( 3581 self, 3582 *, 3583 blob_container_sas_uri: str, 3584 from_time: datetime.datetime, 3585 to_time: datetime.datetime, 3586 group_by_throttle_policy: Optional[bool] = None, 3587 group_by_operation_name: Optional[bool] = None, 3588 group_by_resource_name: Optional[bool] = None, 3589 **kwargs 3590 ): 3591 super(LogAnalyticsInputBase, self).__init__(**kwargs) 3592 self.blob_container_sas_uri = blob_container_sas_uri 3593 self.from_time = from_time 3594 self.to_time = to_time 3595 self.group_by_throttle_policy = group_by_throttle_policy 3596 self.group_by_operation_name = group_by_operation_name 3597 self.group_by_resource_name = group_by_resource_name 3598 3599 3600class LogAnalyticsOperationResult(msrest.serialization.Model): 3601 """LogAnalytics operation status response. 3602 3603 Variables are only populated by the server, and will be ignored when sending a request. 3604 3605 :ivar properties: LogAnalyticsOutput. 3606 :vartype properties: ~azure.mgmt.compute.v2019_03_01.models.LogAnalyticsOutput 3607 """ 3608 3609 _validation = { 3610 'properties': {'readonly': True}, 3611 } 3612 3613 _attribute_map = { 3614 'properties': {'key': 'properties', 'type': 'LogAnalyticsOutput'}, 3615 } 3616 3617 def __init__( 3618 self, 3619 **kwargs 3620 ): 3621 super(LogAnalyticsOperationResult, self).__init__(**kwargs) 3622 self.properties = None 3623 3624 3625class LogAnalyticsOutput(msrest.serialization.Model): 3626 """LogAnalytics output properties. 3627 3628 Variables are only populated by the server, and will be ignored when sending a request. 3629 3630 :ivar output: Output file Uri path to blob container. 3631 :vartype output: str 3632 """ 3633 3634 _validation = { 3635 'output': {'readonly': True}, 3636 } 3637 3638 _attribute_map = { 3639 'output': {'key': 'output', 'type': 'str'}, 3640 } 3641 3642 def __init__( 3643 self, 3644 **kwargs 3645 ): 3646 super(LogAnalyticsOutput, self).__init__(**kwargs) 3647 self.output = None 3648 3649 3650class MaintenanceRedeployStatus(msrest.serialization.Model): 3651 """Maintenance Operation Status. 3652 3653 :param is_customer_initiated_maintenance_allowed: True, if customer is allowed to perform 3654 Maintenance. 3655 :type is_customer_initiated_maintenance_allowed: bool 3656 :param pre_maintenance_window_start_time: Start Time for the Pre Maintenance Window. 3657 :type pre_maintenance_window_start_time: ~datetime.datetime 3658 :param pre_maintenance_window_end_time: End Time for the Pre Maintenance Window. 3659 :type pre_maintenance_window_end_time: ~datetime.datetime 3660 :param maintenance_window_start_time: Start Time for the Maintenance Window. 3661 :type maintenance_window_start_time: ~datetime.datetime 3662 :param maintenance_window_end_time: End Time for the Maintenance Window. 3663 :type maintenance_window_end_time: ~datetime.datetime 3664 :param last_operation_result_code: The Last Maintenance Operation Result Code. Possible values 3665 include: "None", "RetryLater", "MaintenanceAborted", "MaintenanceCompleted". 3666 :type last_operation_result_code: str or 3667 ~azure.mgmt.compute.v2019_03_01.models.MaintenanceOperationResultCodeTypes 3668 :param last_operation_message: Message returned for the last Maintenance Operation. 3669 :type last_operation_message: str 3670 """ 3671 3672 _attribute_map = { 3673 'is_customer_initiated_maintenance_allowed': {'key': 'isCustomerInitiatedMaintenanceAllowed', 'type': 'bool'}, 3674 'pre_maintenance_window_start_time': {'key': 'preMaintenanceWindowStartTime', 'type': 'iso-8601'}, 3675 'pre_maintenance_window_end_time': {'key': 'preMaintenanceWindowEndTime', 'type': 'iso-8601'}, 3676 'maintenance_window_start_time': {'key': 'maintenanceWindowStartTime', 'type': 'iso-8601'}, 3677 'maintenance_window_end_time': {'key': 'maintenanceWindowEndTime', 'type': 'iso-8601'}, 3678 'last_operation_result_code': {'key': 'lastOperationResultCode', 'type': 'str'}, 3679 'last_operation_message': {'key': 'lastOperationMessage', 'type': 'str'}, 3680 } 3681 3682 def __init__( 3683 self, 3684 *, 3685 is_customer_initiated_maintenance_allowed: Optional[bool] = None, 3686 pre_maintenance_window_start_time: Optional[datetime.datetime] = None, 3687 pre_maintenance_window_end_time: Optional[datetime.datetime] = None, 3688 maintenance_window_start_time: Optional[datetime.datetime] = None, 3689 maintenance_window_end_time: Optional[datetime.datetime] = None, 3690 last_operation_result_code: Optional[Union[str, "MaintenanceOperationResultCodeTypes"]] = None, 3691 last_operation_message: Optional[str] = None, 3692 **kwargs 3693 ): 3694 super(MaintenanceRedeployStatus, self).__init__(**kwargs) 3695 self.is_customer_initiated_maintenance_allowed = is_customer_initiated_maintenance_allowed 3696 self.pre_maintenance_window_start_time = pre_maintenance_window_start_time 3697 self.pre_maintenance_window_end_time = pre_maintenance_window_end_time 3698 self.maintenance_window_start_time = maintenance_window_start_time 3699 self.maintenance_window_end_time = maintenance_window_end_time 3700 self.last_operation_result_code = last_operation_result_code 3701 self.last_operation_message = last_operation_message 3702 3703 3704class ManagedArtifact(msrest.serialization.Model): 3705 """The managed artifact. 3706 3707 All required parameters must be populated in order to send to Azure. 3708 3709 :param id: Required. The managed artifact id. 3710 :type id: str 3711 """ 3712 3713 _validation = { 3714 'id': {'required': True}, 3715 } 3716 3717 _attribute_map = { 3718 'id': {'key': 'id', 'type': 'str'}, 3719 } 3720 3721 def __init__( 3722 self, 3723 *, 3724 id: str, 3725 **kwargs 3726 ): 3727 super(ManagedArtifact, self).__init__(**kwargs) 3728 self.id = id 3729 3730 3731class ManagedDiskParameters(SubResource): 3732 """The parameters of a managed disk. 3733 3734 :param id: Resource Id. 3735 :type id: str 3736 :param storage_account_type: Specifies the storage account type for the managed disk. NOTE: 3737 UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Possible values 3738 include: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 3739 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountTypes 3740 """ 3741 3742 _attribute_map = { 3743 'id': {'key': 'id', 'type': 'str'}, 3744 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 3745 } 3746 3747 def __init__( 3748 self, 3749 *, 3750 id: Optional[str] = None, 3751 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 3752 **kwargs 3753 ): 3754 super(ManagedDiskParameters, self).__init__(id=id, **kwargs) 3755 self.storage_account_type = storage_account_type 3756 3757 3758class NetworkInterfaceReference(SubResource): 3759 """Describes a network interface reference. 3760 3761 :param id: Resource Id. 3762 :type id: str 3763 :param primary: Specifies the primary network interface in case the virtual machine has more 3764 than 1 network interface. 3765 :type primary: bool 3766 """ 3767 3768 _attribute_map = { 3769 'id': {'key': 'id', 'type': 'str'}, 3770 'primary': {'key': 'properties.primary', 'type': 'bool'}, 3771 } 3772 3773 def __init__( 3774 self, 3775 *, 3776 id: Optional[str] = None, 3777 primary: Optional[bool] = None, 3778 **kwargs 3779 ): 3780 super(NetworkInterfaceReference, self).__init__(id=id, **kwargs) 3781 self.primary = primary 3782 3783 3784class NetworkProfile(msrest.serialization.Model): 3785 """Specifies the network interfaces of the virtual machine. 3786 3787 :param network_interfaces: Specifies the list of resource Ids for the network interfaces 3788 associated with the virtual machine. 3789 :type network_interfaces: 3790 list[~azure.mgmt.compute.v2019_03_01.models.NetworkInterfaceReference] 3791 """ 3792 3793 _attribute_map = { 3794 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceReference]'}, 3795 } 3796 3797 def __init__( 3798 self, 3799 *, 3800 network_interfaces: Optional[List["NetworkInterfaceReference"]] = None, 3801 **kwargs 3802 ): 3803 super(NetworkProfile, self).__init__(**kwargs) 3804 self.network_interfaces = network_interfaces 3805 3806 3807class OSDisk(msrest.serialization.Model): 3808 """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>`_. 3809 3810 All required parameters must be populated in order to send to Azure. 3811 3812 :param os_type: This property allows you to specify the type of the OS that is included in the 3813 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 3814 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 3815 values include: "Windows", "Linux". 3816 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 3817 :param encryption_settings: Specifies the encryption settings for the OS Disk. 3818 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 3819 :type encryption_settings: ~azure.mgmt.compute.v2019_03_01.models.DiskEncryptionSettings 3820 :param name: The disk name. 3821 :type name: str 3822 :param vhd: The virtual hard disk. 3823 :type vhd: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 3824 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 3825 before being attached to the virtual machine. If SourceImage is provided, the destination 3826 virtual hard drive must not exist. 3827 :type image: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 3828 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 3829 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 3830 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 3831 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 3832 "ReadWrite". 3833 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 3834 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 3835 disabled on the disk. 3836 :type write_accelerator_enabled: bool 3837 :param diff_disk_settings: Specifies the ephemeral Disk Settings for the operating system disk 3838 used by the virtual machine. 3839 :type diff_disk_settings: ~azure.mgmt.compute.v2019_03_01.models.DiffDiskSettings 3840 :param create_option: Required. Specifies how the virtual machine should be 3841 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 3842 This value is used when you are using a specialized disk to create the virtual 3843 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 3844 image to create the virtual machine. If you are using a platform image, you also use the 3845 imageReference element described above. If you are using a marketplace image, you also use the 3846 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 3847 :type create_option: str or ~azure.mgmt.compute.v2019_03_01.models.DiskCreateOptionTypes 3848 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 3849 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 3850 This value cannot be larger than 1023 GB. 3851 :type disk_size_gb: int 3852 :param managed_disk: The managed disk parameters. 3853 :type managed_disk: ~azure.mgmt.compute.v2019_03_01.models.ManagedDiskParameters 3854 """ 3855 3856 _validation = { 3857 'create_option': {'required': True}, 3858 } 3859 3860 _attribute_map = { 3861 'os_type': {'key': 'osType', 'type': 'str'}, 3862 'encryption_settings': {'key': 'encryptionSettings', 'type': 'DiskEncryptionSettings'}, 3863 'name': {'key': 'name', 'type': 'str'}, 3864 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 3865 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 3866 'caching': {'key': 'caching', 'type': 'str'}, 3867 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 3868 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 3869 'create_option': {'key': 'createOption', 'type': 'str'}, 3870 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 3871 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 3872 } 3873 3874 def __init__( 3875 self, 3876 *, 3877 create_option: Union[str, "DiskCreateOptionTypes"], 3878 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 3879 encryption_settings: Optional["DiskEncryptionSettings"] = None, 3880 name: Optional[str] = None, 3881 vhd: Optional["VirtualHardDisk"] = None, 3882 image: Optional["VirtualHardDisk"] = None, 3883 caching: Optional[Union[str, "CachingTypes"]] = None, 3884 write_accelerator_enabled: Optional[bool] = None, 3885 diff_disk_settings: Optional["DiffDiskSettings"] = None, 3886 disk_size_gb: Optional[int] = None, 3887 managed_disk: Optional["ManagedDiskParameters"] = None, 3888 **kwargs 3889 ): 3890 super(OSDisk, self).__init__(**kwargs) 3891 self.os_type = os_type 3892 self.encryption_settings = encryption_settings 3893 self.name = name 3894 self.vhd = vhd 3895 self.image = image 3896 self.caching = caching 3897 self.write_accelerator_enabled = write_accelerator_enabled 3898 self.diff_disk_settings = diff_disk_settings 3899 self.create_option = create_option 3900 self.disk_size_gb = disk_size_gb 3901 self.managed_disk = managed_disk 3902 3903 3904class OSDiskImage(msrest.serialization.Model): 3905 """Contains the os disk image information. 3906 3907 All required parameters must be populated in order to send to Azure. 3908 3909 :param operating_system: Required. The operating system of the osDiskImage. Possible values 3910 include: "Windows", "Linux". 3911 :type operating_system: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 3912 """ 3913 3914 _validation = { 3915 'operating_system': {'required': True}, 3916 } 3917 3918 _attribute_map = { 3919 'operating_system': {'key': 'operatingSystem', 'type': 'str'}, 3920 } 3921 3922 def __init__( 3923 self, 3924 *, 3925 operating_system: Union[str, "OperatingSystemTypes"], 3926 **kwargs 3927 ): 3928 super(OSDiskImage, self).__init__(**kwargs) 3929 self.operating_system = operating_system 3930 3931 3932class OSProfile(msrest.serialization.Model): 3933 """Specifies the operating system settings for the virtual machine. 3934 3935 :param computer_name: Specifies the host OS name of the virtual machine. 3936 :code:`<br>`:code:`<br>` This name cannot be updated after the VM is created. 3937 :code:`<br>`:code:`<br>` **Max-length (Windows):** 15 characters :code:`<br>`:code:`<br>` 3938 **Max-length (Linux):** 64 characters. :code:`<br>`:code:`<br>` For naming conventions and 3939 restrictions see `Azure infrastructure services implementation guidelines 3940 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions>`_. 3941 :type computer_name: str 3942 :param admin_username: Specifies the name of the administrator account. 3943 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 3944 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 3945 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 3946 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 3947 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 3948 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 3949 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 3950 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 3951 root privileges on Linux virtual machines in Azure 3952 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 3953 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 3954 in this field, see `Selecting User Names for Linux on Azure 3955 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 3956 :type admin_username: str 3957 :param admin_password: Specifies the password of the administrator account. 3958 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 3959 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 3960 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 3961 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 3962 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 3963 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 3964 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 3965 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 3966 resetting the password, see `How to reset the Remote Desktop service or its login password in a 3967 Windows VM 3968 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 3969 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 3970 repair disks on Azure Linux VMs using the VMAccess Extension 3971 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 3972 :type admin_password: str 3973 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 3974 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 3975 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` For using cloud-init for 3976 your VM, see `Using cloud-init to customize a Linux VM during creation 3977 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 3978 :type custom_data: str 3979 :param windows_configuration: Specifies Windows operating system settings on the virtual 3980 machine. 3981 :type windows_configuration: ~azure.mgmt.compute.v2019_03_01.models.WindowsConfiguration 3982 :param linux_configuration: Specifies the Linux operating system settings on the virtual 3983 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 3984 Azure-Endorsed Distributions 3985 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 3986 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 3987 Non-Endorsed Distributions 3988 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 3989 :type linux_configuration: ~azure.mgmt.compute.v2019_03_01.models.LinuxConfiguration 3990 :param secrets: Specifies set of certificates that should be installed onto the virtual 3991 machine. 3992 :type secrets: list[~azure.mgmt.compute.v2019_03_01.models.VaultSecretGroup] 3993 :param allow_extension_operations: Specifies whether extension operations should be allowed on 3994 the virtual machine. :code:`<br>`:code:`<br>`This may only be set to False when no extensions 3995 are present on the virtual machine. 3996 :type allow_extension_operations: bool 3997 :param require_guest_provision_signal: Specifies whether the guest provision signal is required 3998 from the virtual machine. 3999 :type require_guest_provision_signal: bool 4000 """ 4001 4002 _attribute_map = { 4003 'computer_name': {'key': 'computerName', 'type': 'str'}, 4004 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 4005 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 4006 'custom_data': {'key': 'customData', 'type': 'str'}, 4007 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 4008 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 4009 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 4010 'allow_extension_operations': {'key': 'allowExtensionOperations', 'type': 'bool'}, 4011 'require_guest_provision_signal': {'key': 'requireGuestProvisionSignal', 'type': 'bool'}, 4012 } 4013 4014 def __init__( 4015 self, 4016 *, 4017 computer_name: Optional[str] = None, 4018 admin_username: Optional[str] = None, 4019 admin_password: Optional[str] = None, 4020 custom_data: Optional[str] = None, 4021 windows_configuration: Optional["WindowsConfiguration"] = None, 4022 linux_configuration: Optional["LinuxConfiguration"] = None, 4023 secrets: Optional[List["VaultSecretGroup"]] = None, 4024 allow_extension_operations: Optional[bool] = None, 4025 require_guest_provision_signal: Optional[bool] = None, 4026 **kwargs 4027 ): 4028 super(OSProfile, self).__init__(**kwargs) 4029 self.computer_name = computer_name 4030 self.admin_username = admin_username 4031 self.admin_password = admin_password 4032 self.custom_data = custom_data 4033 self.windows_configuration = windows_configuration 4034 self.linux_configuration = linux_configuration 4035 self.secrets = secrets 4036 self.allow_extension_operations = allow_extension_operations 4037 self.require_guest_provision_signal = require_guest_provision_signal 4038 4039 4040class Plan(msrest.serialization.Model): 4041 """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**. 4042 4043 :param name: The plan ID. 4044 :type name: str 4045 :param publisher: The publisher ID. 4046 :type publisher: str 4047 :param product: Specifies the product of the image from the marketplace. This is the same value 4048 as Offer under the imageReference element. 4049 :type product: str 4050 :param promotion_code: The promotion code. 4051 :type promotion_code: str 4052 """ 4053 4054 _attribute_map = { 4055 'name': {'key': 'name', 'type': 'str'}, 4056 'publisher': {'key': 'publisher', 'type': 'str'}, 4057 'product': {'key': 'product', 'type': 'str'}, 4058 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, 4059 } 4060 4061 def __init__( 4062 self, 4063 *, 4064 name: Optional[str] = None, 4065 publisher: Optional[str] = None, 4066 product: Optional[str] = None, 4067 promotion_code: Optional[str] = None, 4068 **kwargs 4069 ): 4070 super(Plan, self).__init__(**kwargs) 4071 self.name = name 4072 self.publisher = publisher 4073 self.product = product 4074 self.promotion_code = promotion_code 4075 4076 4077class ProximityPlacementGroup(Resource): 4078 """Specifies information about the proximity placement group. 4079 4080 Variables are only populated by the server, and will be ignored when sending a request. 4081 4082 All required parameters must be populated in order to send to Azure. 4083 4084 :ivar id: Resource Id. 4085 :vartype id: str 4086 :ivar name: Resource name. 4087 :vartype name: str 4088 :ivar type: Resource type. 4089 :vartype type: str 4090 :param location: Required. Resource location. 4091 :type location: str 4092 :param tags: A set of tags. Resource tags. 4093 :type tags: dict[str, str] 4094 :param proximity_placement_group_type: Specifies the type of the proximity placement group. 4095 :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` **Standard** : Co-locate 4096 resources within an Azure region or Availability Zone. :code:`<br>`:code:`<br>` **Ultra** : For 4097 future use. Possible values include: "Standard", "Ultra". 4098 :type proximity_placement_group_type: str or 4099 ~azure.mgmt.compute.v2019_03_01.models.ProximityPlacementGroupType 4100 :ivar virtual_machines: A list of references to all virtual machines in the proximity placement 4101 group. 4102 :vartype virtual_machines: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 4103 :ivar virtual_machine_scale_sets: A list of references to all virtual machine scale sets in the 4104 proximity placement group. 4105 :vartype virtual_machine_scale_sets: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 4106 :ivar availability_sets: A list of references to all availability sets in the proximity 4107 placement group. 4108 :vartype availability_sets: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 4109 """ 4110 4111 _validation = { 4112 'id': {'readonly': True}, 4113 'name': {'readonly': True}, 4114 'type': {'readonly': True}, 4115 'location': {'required': True}, 4116 'virtual_machines': {'readonly': True}, 4117 'virtual_machine_scale_sets': {'readonly': True}, 4118 'availability_sets': {'readonly': True}, 4119 } 4120 4121 _attribute_map = { 4122 'id': {'key': 'id', 'type': 'str'}, 4123 'name': {'key': 'name', 'type': 'str'}, 4124 'type': {'key': 'type', 'type': 'str'}, 4125 'location': {'key': 'location', 'type': 'str'}, 4126 'tags': {'key': 'tags', 'type': '{str}'}, 4127 'proximity_placement_group_type': {'key': 'properties.proximityPlacementGroupType', 'type': 'str'}, 4128 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 4129 'virtual_machine_scale_sets': {'key': 'properties.virtualMachineScaleSets', 'type': '[SubResource]'}, 4130 'availability_sets': {'key': 'properties.availabilitySets', 'type': '[SubResource]'}, 4131 } 4132 4133 def __init__( 4134 self, 4135 *, 4136 location: str, 4137 tags: Optional[Dict[str, str]] = None, 4138 proximity_placement_group_type: Optional[Union[str, "ProximityPlacementGroupType"]] = None, 4139 **kwargs 4140 ): 4141 super(ProximityPlacementGroup, self).__init__(location=location, tags=tags, **kwargs) 4142 self.proximity_placement_group_type = proximity_placement_group_type 4143 self.virtual_machines = None 4144 self.virtual_machine_scale_sets = None 4145 self.availability_sets = None 4146 4147 4148class ProximityPlacementGroupListResult(msrest.serialization.Model): 4149 """The List Proximity Placement Group operation response. 4150 4151 All required parameters must be populated in order to send to Azure. 4152 4153 :param value: Required. The list of proximity placement groups. 4154 :type value: list[~azure.mgmt.compute.v2019_03_01.models.ProximityPlacementGroup] 4155 :param next_link: The URI to fetch the next page of proximity placement groups. 4156 :type next_link: str 4157 """ 4158 4159 _validation = { 4160 'value': {'required': True}, 4161 } 4162 4163 _attribute_map = { 4164 'value': {'key': 'value', 'type': '[ProximityPlacementGroup]'}, 4165 'next_link': {'key': 'nextLink', 'type': 'str'}, 4166 } 4167 4168 def __init__( 4169 self, 4170 *, 4171 value: List["ProximityPlacementGroup"], 4172 next_link: Optional[str] = None, 4173 **kwargs 4174 ): 4175 super(ProximityPlacementGroupListResult, self).__init__(**kwargs) 4176 self.value = value 4177 self.next_link = next_link 4178 4179 4180class ProximityPlacementGroupUpdate(UpdateResource): 4181 """Specifies information about the proximity placement group. 4182 4183 :param tags: A set of tags. Resource tags. 4184 :type tags: dict[str, str] 4185 """ 4186 4187 _attribute_map = { 4188 'tags': {'key': 'tags', 'type': '{str}'}, 4189 } 4190 4191 def __init__( 4192 self, 4193 *, 4194 tags: Optional[Dict[str, str]] = None, 4195 **kwargs 4196 ): 4197 super(ProximityPlacementGroupUpdate, self).__init__(tags=tags, **kwargs) 4198 4199 4200class PurchasePlan(msrest.serialization.Model): 4201 """Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. 4202 4203 All required parameters must be populated in order to send to Azure. 4204 4205 :param publisher: Required. The publisher ID. 4206 :type publisher: str 4207 :param name: Required. The plan ID. 4208 :type name: str 4209 :param product: Required. Specifies the product of the image from the marketplace. This is the 4210 same value as Offer under the imageReference element. 4211 :type product: str 4212 """ 4213 4214 _validation = { 4215 'publisher': {'required': True}, 4216 'name': {'required': True}, 4217 'product': {'required': True}, 4218 } 4219 4220 _attribute_map = { 4221 'publisher': {'key': 'publisher', 'type': 'str'}, 4222 'name': {'key': 'name', 'type': 'str'}, 4223 'product': {'key': 'product', 'type': 'str'}, 4224 } 4225 4226 def __init__( 4227 self, 4228 *, 4229 publisher: str, 4230 name: str, 4231 product: str, 4232 **kwargs 4233 ): 4234 super(PurchasePlan, self).__init__(**kwargs) 4235 self.publisher = publisher 4236 self.name = name 4237 self.product = product 4238 4239 4240class RecommendedMachineConfiguration(msrest.serialization.Model): 4241 """The properties describe the recommended machine configuration for this Image Definition. These properties are updatable. 4242 4243 :param v_cp_us: Describes the resource range. 4244 :type v_cp_us: ~azure.mgmt.compute.v2019_03_01.models.ResourceRange 4245 :param memory: Describes the resource range. 4246 :type memory: ~azure.mgmt.compute.v2019_03_01.models.ResourceRange 4247 """ 4248 4249 _attribute_map = { 4250 'v_cp_us': {'key': 'vCPUs', 'type': 'ResourceRange'}, 4251 'memory': {'key': 'memory', 'type': 'ResourceRange'}, 4252 } 4253 4254 def __init__( 4255 self, 4256 *, 4257 v_cp_us: Optional["ResourceRange"] = None, 4258 memory: Optional["ResourceRange"] = None, 4259 **kwargs 4260 ): 4261 super(RecommendedMachineConfiguration, self).__init__(**kwargs) 4262 self.v_cp_us = v_cp_us 4263 self.memory = memory 4264 4265 4266class RecoveryWalkResponse(msrest.serialization.Model): 4267 """Response after calling a manual recovery walk. 4268 4269 Variables are only populated by the server, and will be ignored when sending a request. 4270 4271 :ivar walk_performed: Whether the recovery walk was performed. 4272 :vartype walk_performed: bool 4273 :ivar next_platform_update_domain: The next update domain that needs to be walked. Null means 4274 walk spanning all update domains has been completed. 4275 :vartype next_platform_update_domain: int 4276 """ 4277 4278 _validation = { 4279 'walk_performed': {'readonly': True}, 4280 'next_platform_update_domain': {'readonly': True}, 4281 } 4282 4283 _attribute_map = { 4284 'walk_performed': {'key': 'walkPerformed', 'type': 'bool'}, 4285 'next_platform_update_domain': {'key': 'nextPlatformUpdateDomain', 'type': 'int'}, 4286 } 4287 4288 def __init__( 4289 self, 4290 **kwargs 4291 ): 4292 super(RecoveryWalkResponse, self).__init__(**kwargs) 4293 self.walk_performed = None 4294 self.next_platform_update_domain = None 4295 4296 4297class RegionalReplicationStatus(msrest.serialization.Model): 4298 """This is the regional replication status. 4299 4300 Variables are only populated by the server, and will be ignored when sending a request. 4301 4302 :ivar region: The region to which the gallery Image Version is being replicated to. 4303 :vartype region: str 4304 :ivar state: This is the regional replication state. Possible values include: "Unknown", 4305 "Replicating", "Completed", "Failed". 4306 :vartype state: str or ~azure.mgmt.compute.v2019_03_01.models.ReplicationState 4307 :ivar details: The details of the replication status. 4308 :vartype details: str 4309 :ivar progress: It indicates progress of the replication job. 4310 :vartype progress: int 4311 """ 4312 4313 _validation = { 4314 'region': {'readonly': True}, 4315 'state': {'readonly': True}, 4316 'details': {'readonly': True}, 4317 'progress': {'readonly': True}, 4318 } 4319 4320 _attribute_map = { 4321 'region': {'key': 'region', 'type': 'str'}, 4322 'state': {'key': 'state', 'type': 'str'}, 4323 'details': {'key': 'details', 'type': 'str'}, 4324 'progress': {'key': 'progress', 'type': 'int'}, 4325 } 4326 4327 def __init__( 4328 self, 4329 **kwargs 4330 ): 4331 super(RegionalReplicationStatus, self).__init__(**kwargs) 4332 self.region = None 4333 self.state = None 4334 self.details = None 4335 self.progress = None 4336 4337 4338class ReplicationStatus(msrest.serialization.Model): 4339 """This is the replication status of the gallery Image Version. 4340 4341 Variables are only populated by the server, and will be ignored when sending a request. 4342 4343 :ivar aggregated_state: This is the aggregated replication status based on all the regional 4344 replication status flags. Possible values include: "Unknown", "InProgress", "Completed", 4345 "Failed". 4346 :vartype aggregated_state: str or 4347 ~azure.mgmt.compute.v2019_03_01.models.AggregatedReplicationState 4348 :ivar summary: This is a summary of replication status for each region. 4349 :vartype summary: list[~azure.mgmt.compute.v2019_03_01.models.RegionalReplicationStatus] 4350 """ 4351 4352 _validation = { 4353 'aggregated_state': {'readonly': True}, 4354 'summary': {'readonly': True}, 4355 } 4356 4357 _attribute_map = { 4358 'aggregated_state': {'key': 'aggregatedState', 'type': 'str'}, 4359 'summary': {'key': 'summary', 'type': '[RegionalReplicationStatus]'}, 4360 } 4361 4362 def __init__( 4363 self, 4364 **kwargs 4365 ): 4366 super(ReplicationStatus, self).__init__(**kwargs) 4367 self.aggregated_state = None 4368 self.summary = None 4369 4370 4371class RequestRateByIntervalInput(LogAnalyticsInputBase): 4372 """Api request input for LogAnalytics getRequestRateByInterval Api. 4373 4374 All required parameters must be populated in order to send to Azure. 4375 4376 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 4377 LogAnalytics Api writes output logs to. 4378 :type blob_container_sas_uri: str 4379 :param from_time: Required. From time of the query. 4380 :type from_time: ~datetime.datetime 4381 :param to_time: Required. To time of the query. 4382 :type to_time: ~datetime.datetime 4383 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 4384 :type group_by_throttle_policy: bool 4385 :param group_by_operation_name: Group query result by Operation Name. 4386 :type group_by_operation_name: bool 4387 :param group_by_resource_name: Group query result by Resource Name. 4388 :type group_by_resource_name: bool 4389 :param interval_length: Required. Interval value in minutes used to create LogAnalytics call 4390 rate logs. Possible values include: "ThreeMins", "FiveMins", "ThirtyMins", "SixtyMins". 4391 :type interval_length: str or ~azure.mgmt.compute.v2019_03_01.models.IntervalInMins 4392 """ 4393 4394 _validation = { 4395 'blob_container_sas_uri': {'required': True}, 4396 'from_time': {'required': True}, 4397 'to_time': {'required': True}, 4398 'interval_length': {'required': True}, 4399 } 4400 4401 _attribute_map = { 4402 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 4403 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 4404 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 4405 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 4406 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 4407 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 4408 'interval_length': {'key': 'intervalLength', 'type': 'str'}, 4409 } 4410 4411 def __init__( 4412 self, 4413 *, 4414 blob_container_sas_uri: str, 4415 from_time: datetime.datetime, 4416 to_time: datetime.datetime, 4417 interval_length: Union[str, "IntervalInMins"], 4418 group_by_throttle_policy: Optional[bool] = None, 4419 group_by_operation_name: Optional[bool] = None, 4420 group_by_resource_name: Optional[bool] = None, 4421 **kwargs 4422 ): 4423 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) 4424 self.interval_length = interval_length 4425 4426 4427class ResourceRange(msrest.serialization.Model): 4428 """Describes the resource range. 4429 4430 :param min: The minimum number of the resource. 4431 :type min: int 4432 :param max: The maximum number of the resource. 4433 :type max: int 4434 """ 4435 4436 _attribute_map = { 4437 'min': {'key': 'min', 'type': 'int'}, 4438 'max': {'key': 'max', 'type': 'int'}, 4439 } 4440 4441 def __init__( 4442 self, 4443 *, 4444 min: Optional[int] = None, 4445 max: Optional[int] = None, 4446 **kwargs 4447 ): 4448 super(ResourceRange, self).__init__(**kwargs) 4449 self.min = min 4450 self.max = max 4451 4452 4453class RollbackStatusInfo(msrest.serialization.Model): 4454 """Information about rollback on failed VM instances after a OS Upgrade operation. 4455 4456 Variables are only populated by the server, and will be ignored when sending a request. 4457 4458 :ivar successfully_rolledback_instance_count: The number of instances which have been 4459 successfully rolled back. 4460 :vartype successfully_rolledback_instance_count: int 4461 :ivar failed_rolledback_instance_count: The number of instances which failed to rollback. 4462 :vartype failed_rolledback_instance_count: int 4463 :ivar rollback_error: Error details if OS rollback failed. 4464 :vartype rollback_error: ~azure.mgmt.compute.v2019_03_01.models.ApiError 4465 """ 4466 4467 _validation = { 4468 'successfully_rolledback_instance_count': {'readonly': True}, 4469 'failed_rolledback_instance_count': {'readonly': True}, 4470 'rollback_error': {'readonly': True}, 4471 } 4472 4473 _attribute_map = { 4474 'successfully_rolledback_instance_count': {'key': 'successfullyRolledbackInstanceCount', 'type': 'int'}, 4475 'failed_rolledback_instance_count': {'key': 'failedRolledbackInstanceCount', 'type': 'int'}, 4476 'rollback_error': {'key': 'rollbackError', 'type': 'ApiError'}, 4477 } 4478 4479 def __init__( 4480 self, 4481 **kwargs 4482 ): 4483 super(RollbackStatusInfo, self).__init__(**kwargs) 4484 self.successfully_rolledback_instance_count = None 4485 self.failed_rolledback_instance_count = None 4486 self.rollback_error = None 4487 4488 4489class RollingUpgradePolicy(msrest.serialization.Model): 4490 """The configuration parameters used while performing a rolling upgrade. 4491 4492 :param max_batch_instance_percent: The maximum percent of total virtual machine instances that 4493 will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, 4494 unhealthy instances in previous or future batches can cause the percentage of instances in a 4495 batch to decrease to ensure higher reliability. The default value for this parameter is 20%. 4496 :type max_batch_instance_percent: int 4497 :param max_unhealthy_instance_percent: The maximum percentage of the total virtual machine 4498 instances in the scale set that can be simultaneously unhealthy, either as a result of being 4499 upgraded, or by being found in an unhealthy state by the virtual machine health checks before 4500 the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The 4501 default value for this parameter is 20%. 4502 :type max_unhealthy_instance_percent: int 4503 :param max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual 4504 machine instances that can be found to be in an unhealthy state. This check will happen after 4505 each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The 4506 default value for this parameter is 20%. 4507 :type max_unhealthy_upgraded_instance_percent: int 4508 :param pause_time_between_batches: The wait time between completing the update for all virtual 4509 machines in one batch and starting the next batch. The time duration should be specified in ISO 4510 8601 format. The default value is 0 seconds (PT0S). 4511 :type pause_time_between_batches: str 4512 """ 4513 4514 _validation = { 4515 'max_batch_instance_percent': {'maximum': 100, 'minimum': 5}, 4516 'max_unhealthy_instance_percent': {'maximum': 100, 'minimum': 5}, 4517 'max_unhealthy_upgraded_instance_percent': {'maximum': 100, 'minimum': 0}, 4518 } 4519 4520 _attribute_map = { 4521 'max_batch_instance_percent': {'key': 'maxBatchInstancePercent', 'type': 'int'}, 4522 'max_unhealthy_instance_percent': {'key': 'maxUnhealthyInstancePercent', 'type': 'int'}, 4523 'max_unhealthy_upgraded_instance_percent': {'key': 'maxUnhealthyUpgradedInstancePercent', 'type': 'int'}, 4524 'pause_time_between_batches': {'key': 'pauseTimeBetweenBatches', 'type': 'str'}, 4525 } 4526 4527 def __init__( 4528 self, 4529 *, 4530 max_batch_instance_percent: Optional[int] = None, 4531 max_unhealthy_instance_percent: Optional[int] = None, 4532 max_unhealthy_upgraded_instance_percent: Optional[int] = None, 4533 pause_time_between_batches: Optional[str] = None, 4534 **kwargs 4535 ): 4536 super(RollingUpgradePolicy, self).__init__(**kwargs) 4537 self.max_batch_instance_percent = max_batch_instance_percent 4538 self.max_unhealthy_instance_percent = max_unhealthy_instance_percent 4539 self.max_unhealthy_upgraded_instance_percent = max_unhealthy_upgraded_instance_percent 4540 self.pause_time_between_batches = pause_time_between_batches 4541 4542 4543class RollingUpgradeProgressInfo(msrest.serialization.Model): 4544 """Information about the number of virtual machine instances in each upgrade state. 4545 4546 Variables are only populated by the server, and will be ignored when sending a request. 4547 4548 :ivar successful_instance_count: The number of instances that have been successfully upgraded. 4549 :vartype successful_instance_count: int 4550 :ivar failed_instance_count: The number of instances that have failed to be upgraded 4551 successfully. 4552 :vartype failed_instance_count: int 4553 :ivar in_progress_instance_count: The number of instances that are currently being upgraded. 4554 :vartype in_progress_instance_count: int 4555 :ivar pending_instance_count: The number of instances that have not yet begun to be upgraded. 4556 :vartype pending_instance_count: int 4557 """ 4558 4559 _validation = { 4560 'successful_instance_count': {'readonly': True}, 4561 'failed_instance_count': {'readonly': True}, 4562 'in_progress_instance_count': {'readonly': True}, 4563 'pending_instance_count': {'readonly': True}, 4564 } 4565 4566 _attribute_map = { 4567 'successful_instance_count': {'key': 'successfulInstanceCount', 'type': 'int'}, 4568 'failed_instance_count': {'key': 'failedInstanceCount', 'type': 'int'}, 4569 'in_progress_instance_count': {'key': 'inProgressInstanceCount', 'type': 'int'}, 4570 'pending_instance_count': {'key': 'pendingInstanceCount', 'type': 'int'}, 4571 } 4572 4573 def __init__( 4574 self, 4575 **kwargs 4576 ): 4577 super(RollingUpgradeProgressInfo, self).__init__(**kwargs) 4578 self.successful_instance_count = None 4579 self.failed_instance_count = None 4580 self.in_progress_instance_count = None 4581 self.pending_instance_count = None 4582 4583 4584class RollingUpgradeRunningStatus(msrest.serialization.Model): 4585 """Information about the current running state of the overall upgrade. 4586 4587 Variables are only populated by the server, and will be ignored when sending a request. 4588 4589 :ivar code: Code indicating the current status of the upgrade. Possible values include: 4590 "RollingForward", "Cancelled", "Completed", "Faulted". 4591 :vartype code: str or ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradeStatusCode 4592 :ivar start_time: Start time of the upgrade. 4593 :vartype start_time: ~datetime.datetime 4594 :ivar last_action: The last action performed on the rolling upgrade. Possible values include: 4595 "Start", "Cancel". 4596 :vartype last_action: str or ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradeActionType 4597 :ivar last_action_time: Last action time of the upgrade. 4598 :vartype last_action_time: ~datetime.datetime 4599 """ 4600 4601 _validation = { 4602 'code': {'readonly': True}, 4603 'start_time': {'readonly': True}, 4604 'last_action': {'readonly': True}, 4605 'last_action_time': {'readonly': True}, 4606 } 4607 4608 _attribute_map = { 4609 'code': {'key': 'code', 'type': 'str'}, 4610 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 4611 'last_action': {'key': 'lastAction', 'type': 'str'}, 4612 'last_action_time': {'key': 'lastActionTime', 'type': 'iso-8601'}, 4613 } 4614 4615 def __init__( 4616 self, 4617 **kwargs 4618 ): 4619 super(RollingUpgradeRunningStatus, self).__init__(**kwargs) 4620 self.code = None 4621 self.start_time = None 4622 self.last_action = None 4623 self.last_action_time = None 4624 4625 4626class RollingUpgradeStatusInfo(Resource): 4627 """The status of the latest virtual machine scale set rolling upgrade. 4628 4629 Variables are only populated by the server, and will be ignored when sending a request. 4630 4631 All required parameters must be populated in order to send to Azure. 4632 4633 :ivar id: Resource Id. 4634 :vartype id: str 4635 :ivar name: Resource name. 4636 :vartype name: str 4637 :ivar type: Resource type. 4638 :vartype type: str 4639 :param location: Required. Resource location. 4640 :type location: str 4641 :param tags: A set of tags. Resource tags. 4642 :type tags: dict[str, str] 4643 :ivar policy: The rolling upgrade policies applied for this upgrade. 4644 :vartype policy: ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradePolicy 4645 :ivar running_status: Information about the current running state of the overall upgrade. 4646 :vartype running_status: ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradeRunningStatus 4647 :ivar progress: Information about the number of virtual machine instances in each upgrade 4648 state. 4649 :vartype progress: ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradeProgressInfo 4650 :ivar error: Error details for this upgrade, if there are any. 4651 :vartype error: ~azure.mgmt.compute.v2019_03_01.models.ApiError 4652 """ 4653 4654 _validation = { 4655 'id': {'readonly': True}, 4656 'name': {'readonly': True}, 4657 'type': {'readonly': True}, 4658 'location': {'required': True}, 4659 'policy': {'readonly': True}, 4660 'running_status': {'readonly': True}, 4661 'progress': {'readonly': True}, 4662 'error': {'readonly': True}, 4663 } 4664 4665 _attribute_map = { 4666 'id': {'key': 'id', 'type': 'str'}, 4667 'name': {'key': 'name', 'type': 'str'}, 4668 'type': {'key': 'type', 'type': 'str'}, 4669 'location': {'key': 'location', 'type': 'str'}, 4670 'tags': {'key': 'tags', 'type': '{str}'}, 4671 'policy': {'key': 'properties.policy', 'type': 'RollingUpgradePolicy'}, 4672 'running_status': {'key': 'properties.runningStatus', 'type': 'RollingUpgradeRunningStatus'}, 4673 'progress': {'key': 'properties.progress', 'type': 'RollingUpgradeProgressInfo'}, 4674 'error': {'key': 'properties.error', 'type': 'ApiError'}, 4675 } 4676 4677 def __init__( 4678 self, 4679 *, 4680 location: str, 4681 tags: Optional[Dict[str, str]] = None, 4682 **kwargs 4683 ): 4684 super(RollingUpgradeStatusInfo, self).__init__(location=location, tags=tags, **kwargs) 4685 self.policy = None 4686 self.running_status = None 4687 self.progress = None 4688 self.error = None 4689 4690 4691class RunCommandDocumentBase(msrest.serialization.Model): 4692 """Describes the properties of a Run Command metadata. 4693 4694 All required parameters must be populated in order to send to Azure. 4695 4696 :param schema: Required. The VM run command schema. 4697 :type schema: str 4698 :param id: Required. The VM run command id. 4699 :type id: str 4700 :param os_type: Required. The Operating System type. Possible values include: "Windows", 4701 "Linux". 4702 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 4703 :param label: Required. The VM run command label. 4704 :type label: str 4705 :param description: Required. The VM run command description. 4706 :type description: str 4707 """ 4708 4709 _validation = { 4710 'schema': {'required': True}, 4711 'id': {'required': True}, 4712 'os_type': {'required': True}, 4713 'label': {'required': True}, 4714 'description': {'required': True}, 4715 } 4716 4717 _attribute_map = { 4718 'schema': {'key': '$schema', 'type': 'str'}, 4719 'id': {'key': 'id', 'type': 'str'}, 4720 'os_type': {'key': 'osType', 'type': 'str'}, 4721 'label': {'key': 'label', 'type': 'str'}, 4722 'description': {'key': 'description', 'type': 'str'}, 4723 } 4724 4725 def __init__( 4726 self, 4727 *, 4728 schema: str, 4729 id: str, 4730 os_type: Union[str, "OperatingSystemTypes"], 4731 label: str, 4732 description: str, 4733 **kwargs 4734 ): 4735 super(RunCommandDocumentBase, self).__init__(**kwargs) 4736 self.schema = schema 4737 self.id = id 4738 self.os_type = os_type 4739 self.label = label 4740 self.description = description 4741 4742 4743class RunCommandDocument(RunCommandDocumentBase): 4744 """Describes the properties of a Run Command. 4745 4746 All required parameters must be populated in order to send to Azure. 4747 4748 :param schema: Required. The VM run command schema. 4749 :type schema: str 4750 :param id: Required. The VM run command id. 4751 :type id: str 4752 :param os_type: Required. The Operating System type. Possible values include: "Windows", 4753 "Linux". 4754 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 4755 :param label: Required. The VM run command label. 4756 :type label: str 4757 :param description: Required. The VM run command description. 4758 :type description: str 4759 :param script: Required. The script to be executed. 4760 :type script: list[str] 4761 :param parameters: The parameters used by the script. 4762 :type parameters: list[~azure.mgmt.compute.v2019_03_01.models.RunCommandParameterDefinition] 4763 """ 4764 4765 _validation = { 4766 'schema': {'required': True}, 4767 'id': {'required': True}, 4768 'os_type': {'required': True}, 4769 'label': {'required': True}, 4770 'description': {'required': True}, 4771 'script': {'required': True}, 4772 } 4773 4774 _attribute_map = { 4775 'schema': {'key': '$schema', 'type': 'str'}, 4776 'id': {'key': 'id', 'type': 'str'}, 4777 'os_type': {'key': 'osType', 'type': 'str'}, 4778 'label': {'key': 'label', 'type': 'str'}, 4779 'description': {'key': 'description', 'type': 'str'}, 4780 'script': {'key': 'script', 'type': '[str]'}, 4781 'parameters': {'key': 'parameters', 'type': '[RunCommandParameterDefinition]'}, 4782 } 4783 4784 def __init__( 4785 self, 4786 *, 4787 schema: str, 4788 id: str, 4789 os_type: Union[str, "OperatingSystemTypes"], 4790 label: str, 4791 description: str, 4792 script: List[str], 4793 parameters: Optional[List["RunCommandParameterDefinition"]] = None, 4794 **kwargs 4795 ): 4796 super(RunCommandDocument, self).__init__(schema=schema, id=id, os_type=os_type, label=label, description=description, **kwargs) 4797 self.script = script 4798 self.parameters = parameters 4799 4800 4801class RunCommandInput(msrest.serialization.Model): 4802 """Capture Virtual Machine parameters. 4803 4804 All required parameters must be populated in order to send to Azure. 4805 4806 :param command_id: Required. The run command id. 4807 :type command_id: str 4808 :param script: Optional. The script to be executed. When this value is given, the given script 4809 will override the default script of the command. 4810 :type script: list[str] 4811 :param parameters: The run command parameters. 4812 :type parameters: list[~azure.mgmt.compute.v2019_03_01.models.RunCommandInputParameter] 4813 """ 4814 4815 _validation = { 4816 'command_id': {'required': True}, 4817 } 4818 4819 _attribute_map = { 4820 'command_id': {'key': 'commandId', 'type': 'str'}, 4821 'script': {'key': 'script', 'type': '[str]'}, 4822 'parameters': {'key': 'parameters', 'type': '[RunCommandInputParameter]'}, 4823 } 4824 4825 def __init__( 4826 self, 4827 *, 4828 command_id: str, 4829 script: Optional[List[str]] = None, 4830 parameters: Optional[List["RunCommandInputParameter"]] = None, 4831 **kwargs 4832 ): 4833 super(RunCommandInput, self).__init__(**kwargs) 4834 self.command_id = command_id 4835 self.script = script 4836 self.parameters = parameters 4837 4838 4839class RunCommandInputParameter(msrest.serialization.Model): 4840 """Describes the properties of a run command parameter. 4841 4842 All required parameters must be populated in order to send to Azure. 4843 4844 :param name: Required. The run command parameter name. 4845 :type name: str 4846 :param value: Required. The run command parameter value. 4847 :type value: str 4848 """ 4849 4850 _validation = { 4851 'name': {'required': True}, 4852 'value': {'required': True}, 4853 } 4854 4855 _attribute_map = { 4856 'name': {'key': 'name', 'type': 'str'}, 4857 'value': {'key': 'value', 'type': 'str'}, 4858 } 4859 4860 def __init__( 4861 self, 4862 *, 4863 name: str, 4864 value: str, 4865 **kwargs 4866 ): 4867 super(RunCommandInputParameter, self).__init__(**kwargs) 4868 self.name = name 4869 self.value = value 4870 4871 4872class RunCommandListResult(msrest.serialization.Model): 4873 """The List Virtual Machine operation response. 4874 4875 All required parameters must be populated in order to send to Azure. 4876 4877 :param value: Required. The list of virtual machine run commands. 4878 :type value: list[~azure.mgmt.compute.v2019_03_01.models.RunCommandDocumentBase] 4879 :param next_link: The uri to fetch the next page of run commands. Call ListNext() with this to 4880 fetch the next page of run commands. 4881 :type next_link: str 4882 """ 4883 4884 _validation = { 4885 'value': {'required': True}, 4886 } 4887 4888 _attribute_map = { 4889 'value': {'key': 'value', 'type': '[RunCommandDocumentBase]'}, 4890 'next_link': {'key': 'nextLink', 'type': 'str'}, 4891 } 4892 4893 def __init__( 4894 self, 4895 *, 4896 value: List["RunCommandDocumentBase"], 4897 next_link: Optional[str] = None, 4898 **kwargs 4899 ): 4900 super(RunCommandListResult, self).__init__(**kwargs) 4901 self.value = value 4902 self.next_link = next_link 4903 4904 4905class RunCommandParameterDefinition(msrest.serialization.Model): 4906 """Describes the properties of a run command parameter. 4907 4908 All required parameters must be populated in order to send to Azure. 4909 4910 :param name: Required. The run command parameter name. 4911 :type name: str 4912 :param type: Required. The run command parameter type. 4913 :type type: str 4914 :param default_value: The run command parameter default value. 4915 :type default_value: str 4916 :param required: The run command parameter required. 4917 :type required: bool 4918 """ 4919 4920 _validation = { 4921 'name': {'required': True}, 4922 'type': {'required': True}, 4923 } 4924 4925 _attribute_map = { 4926 'name': {'key': 'name', 'type': 'str'}, 4927 'type': {'key': 'type', 'type': 'str'}, 4928 'default_value': {'key': 'defaultValue', 'type': 'str'}, 4929 'required': {'key': 'required', 'type': 'bool'}, 4930 } 4931 4932 def __init__( 4933 self, 4934 *, 4935 name: str, 4936 type: str, 4937 default_value: Optional[str] = None, 4938 required: Optional[bool] = False, 4939 **kwargs 4940 ): 4941 super(RunCommandParameterDefinition, self).__init__(**kwargs) 4942 self.name = name 4943 self.type = type 4944 self.default_value = default_value 4945 self.required = required 4946 4947 4948class RunCommandResult(msrest.serialization.Model): 4949 """RunCommandResult. 4950 4951 :param value: Run command operation response. 4952 :type value: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 4953 """ 4954 4955 _attribute_map = { 4956 'value': {'key': 'value', 'type': '[InstanceViewStatus]'}, 4957 } 4958 4959 def __init__( 4960 self, 4961 *, 4962 value: Optional[List["InstanceViewStatus"]] = None, 4963 **kwargs 4964 ): 4965 super(RunCommandResult, self).__init__(**kwargs) 4966 self.value = value 4967 4968 4969class ScaleInPolicy(msrest.serialization.Model): 4970 """Describes a scale-in policy for a virtual machine scale set. 4971 4972 :param rules: The rules to be followed when scaling-in a virtual machine scale set. 4973 :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` **Default** When a 4974 virtual machine scale set is scaled in, the scale set will first be balanced across zones if it 4975 is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within 4976 each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not 4977 protected from scale-in. :code:`<br>`:code:`<br>` **OldestVM** When a virtual machine scale set 4978 is being scaled-in, the oldest virtual machines that are not protected from scale-in will be 4979 chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced 4980 across zones. Within each zone, the oldest virtual machines that are not protected will be 4981 chosen for removal. :code:`<br>`:code:`<br>` **NewestVM** When a virtual machine scale set is 4982 being scaled-in, the newest virtual machines that are not protected from scale-in will be 4983 chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced 4984 across zones. Within each zone, the newest virtual machines that are not protected will be 4985 chosen for removal. :code:`<br>`:code:`<br>`. 4986 :type rules: list[str or 4987 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetScaleInRules] 4988 """ 4989 4990 _attribute_map = { 4991 'rules': {'key': 'rules', 'type': '[str]'}, 4992 } 4993 4994 def __init__( 4995 self, 4996 *, 4997 rules: Optional[List[Union[str, "VirtualMachineScaleSetScaleInRules"]]] = None, 4998 **kwargs 4999 ): 5000 super(ScaleInPolicy, self).__init__(**kwargs) 5001 self.rules = rules 5002 5003 5004class ScheduledEventsProfile(msrest.serialization.Model): 5005 """ScheduledEventsProfile. 5006 5007 :param terminate_notification_profile: Specifies Terminate Scheduled Event related 5008 configurations. 5009 :type terminate_notification_profile: 5010 ~azure.mgmt.compute.v2019_03_01.models.TerminateNotificationProfile 5011 """ 5012 5013 _attribute_map = { 5014 'terminate_notification_profile': {'key': 'terminateNotificationProfile', 'type': 'TerminateNotificationProfile'}, 5015 } 5016 5017 def __init__( 5018 self, 5019 *, 5020 terminate_notification_profile: Optional["TerminateNotificationProfile"] = None, 5021 **kwargs 5022 ): 5023 super(ScheduledEventsProfile, self).__init__(**kwargs) 5024 self.terminate_notification_profile = terminate_notification_profile 5025 5026 5027class Sku(msrest.serialization.Model): 5028 """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. 5029 5030 :param name: The sku name. 5031 :type name: str 5032 :param tier: Specifies the tier of virtual machines in a scale set.:code:`<br />`:code:`<br />` 5033 Possible Values::code:`<br />`:code:`<br />` **Standard**\ :code:`<br />`:code:`<br />` 5034 **Basic**. 5035 :type tier: str 5036 :param capacity: Specifies the number of virtual machines in the scale set. 5037 :type capacity: long 5038 """ 5039 5040 _attribute_map = { 5041 'name': {'key': 'name', 'type': 'str'}, 5042 'tier': {'key': 'tier', 'type': 'str'}, 5043 'capacity': {'key': 'capacity', 'type': 'long'}, 5044 } 5045 5046 def __init__( 5047 self, 5048 *, 5049 name: Optional[str] = None, 5050 tier: Optional[str] = None, 5051 capacity: Optional[int] = None, 5052 **kwargs 5053 ): 5054 super(Sku, self).__init__(**kwargs) 5055 self.name = name 5056 self.tier = tier 5057 self.capacity = capacity 5058 5059 5060class Snapshot(Resource): 5061 """Snapshot resource. 5062 5063 Variables are only populated by the server, and will be ignored when sending a request. 5064 5065 All required parameters must be populated in order to send to Azure. 5066 5067 :ivar id: Resource Id. 5068 :vartype id: str 5069 :ivar name: Resource name. 5070 :vartype name: str 5071 :ivar type: Resource type. 5072 :vartype type: str 5073 :param location: Required. Resource location. 5074 :type location: str 5075 :param tags: A set of tags. Resource tags. 5076 :type tags: dict[str, str] 5077 :ivar managed_by: Unused. Always Null. 5078 :vartype managed_by: str 5079 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5080 :type sku: ~azure.mgmt.compute.v2019_03_01.models.SnapshotSku 5081 :ivar time_created: The time when the disk was created. 5082 :vartype time_created: ~datetime.datetime 5083 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 5084 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 5085 :param hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS 5086 disks only. Possible values include: "V1", "V2". 5087 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGeneration 5088 :param creation_data: Disk source information. CreationData information cannot be changed after 5089 the disk has been created. 5090 :type creation_data: ~azure.mgmt.compute.v2019_03_01.models.CreationData 5091 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 5092 indicates the size of the disk to create. If this field is present for updates or creation with 5093 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 5094 running VM, and can only increase the disk's size. 5095 :type disk_size_gb: int 5096 :ivar disk_size_bytes: The size of the disk in bytes. This field is read only. 5097 :vartype disk_size_bytes: long 5098 :ivar unique_id: Unique Guid identifying the resource. 5099 :vartype unique_id: str 5100 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 5101 Encryption, can contain multiple encryption settings per disk or snapshot. 5102 :type encryption_settings_collection: 5103 ~azure.mgmt.compute.v2019_03_01.models.EncryptionSettingsCollection 5104 :ivar provisioning_state: The disk provisioning state. 5105 :vartype provisioning_state: str 5106 :param incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk 5107 occupy less space than full snapshots and can be diffed. 5108 :type incremental: bool 5109 """ 5110 5111 _validation = { 5112 'id': {'readonly': True}, 5113 'name': {'readonly': True}, 5114 'type': {'readonly': True}, 5115 'location': {'required': True}, 5116 'managed_by': {'readonly': True}, 5117 'time_created': {'readonly': True}, 5118 'disk_size_bytes': {'readonly': True}, 5119 'unique_id': {'readonly': True}, 5120 'provisioning_state': {'readonly': True}, 5121 } 5122 5123 _attribute_map = { 5124 'id': {'key': 'id', 'type': 'str'}, 5125 'name': {'key': 'name', 'type': 'str'}, 5126 'type': {'key': 'type', 'type': 'str'}, 5127 'location': {'key': 'location', 'type': 'str'}, 5128 'tags': {'key': 'tags', 'type': '{str}'}, 5129 'managed_by': {'key': 'managedBy', 'type': 'str'}, 5130 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 5131 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 5132 'os_type': {'key': 'properties.osType', 'type': 'str'}, 5133 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 5134 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 5135 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 5136 'disk_size_bytes': {'key': 'properties.diskSizeBytes', 'type': 'long'}, 5137 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 5138 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 5139 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5140 'incremental': {'key': 'properties.incremental', 'type': 'bool'}, 5141 } 5142 5143 def __init__( 5144 self, 5145 *, 5146 location: str, 5147 tags: Optional[Dict[str, str]] = None, 5148 sku: Optional["SnapshotSku"] = None, 5149 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 5150 hyper_v_generation: Optional[Union[str, "HyperVGeneration"]] = None, 5151 creation_data: Optional["CreationData"] = None, 5152 disk_size_gb: Optional[int] = None, 5153 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 5154 incremental: Optional[bool] = None, 5155 **kwargs 5156 ): 5157 super(Snapshot, self).__init__(location=location, tags=tags, **kwargs) 5158 self.managed_by = None 5159 self.sku = sku 5160 self.time_created = None 5161 self.os_type = os_type 5162 self.hyper_v_generation = hyper_v_generation 5163 self.creation_data = creation_data 5164 self.disk_size_gb = disk_size_gb 5165 self.disk_size_bytes = None 5166 self.unique_id = None 5167 self.encryption_settings_collection = encryption_settings_collection 5168 self.provisioning_state = None 5169 self.incremental = incremental 5170 5171 5172class SnapshotList(msrest.serialization.Model): 5173 """The List Snapshots operation response. 5174 5175 All required parameters must be populated in order to send to Azure. 5176 5177 :param value: Required. A list of snapshots. 5178 :type value: list[~azure.mgmt.compute.v2019_03_01.models.Snapshot] 5179 :param next_link: The uri to fetch the next page of snapshots. Call ListNext() with this to 5180 fetch the next page of snapshots. 5181 :type next_link: str 5182 """ 5183 5184 _validation = { 5185 'value': {'required': True}, 5186 } 5187 5188 _attribute_map = { 5189 'value': {'key': 'value', 'type': '[Snapshot]'}, 5190 'next_link': {'key': 'nextLink', 'type': 'str'}, 5191 } 5192 5193 def __init__( 5194 self, 5195 *, 5196 value: List["Snapshot"], 5197 next_link: Optional[str] = None, 5198 **kwargs 5199 ): 5200 super(SnapshotList, self).__init__(**kwargs) 5201 self.value = value 5202 self.next_link = next_link 5203 5204 5205class SnapshotSku(msrest.serialization.Model): 5206 """The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5207 5208 Variables are only populated by the server, and will be ignored when sending a request. 5209 5210 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 5211 "Standard_ZRS". 5212 :type name: str or ~azure.mgmt.compute.v2019_03_01.models.SnapshotStorageAccountTypes 5213 :ivar tier: The sku tier. 5214 :vartype tier: str 5215 """ 5216 5217 _validation = { 5218 'tier': {'readonly': True}, 5219 } 5220 5221 _attribute_map = { 5222 'name': {'key': 'name', 'type': 'str'}, 5223 'tier': {'key': 'tier', 'type': 'str'}, 5224 } 5225 5226 def __init__( 5227 self, 5228 *, 5229 name: Optional[Union[str, "SnapshotStorageAccountTypes"]] = None, 5230 **kwargs 5231 ): 5232 super(SnapshotSku, self).__init__(**kwargs) 5233 self.name = name 5234 self.tier = None 5235 5236 5237class SnapshotUpdate(msrest.serialization.Model): 5238 """Snapshot update resource. 5239 5240 :param tags: A set of tags. Resource tags. 5241 :type tags: dict[str, str] 5242 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 5243 :type sku: ~azure.mgmt.compute.v2019_03_01.models.SnapshotSku 5244 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 5245 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 5246 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 5247 indicates the size of the disk to create. If this field is present for updates or creation with 5248 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 5249 running VM, and can only increase the disk's size. 5250 :type disk_size_gb: int 5251 :param encryption_settings_collection: Encryption settings collection used be Azure Disk 5252 Encryption, can contain multiple encryption settings per disk or snapshot. 5253 :type encryption_settings_collection: 5254 ~azure.mgmt.compute.v2019_03_01.models.EncryptionSettingsCollection 5255 """ 5256 5257 _attribute_map = { 5258 'tags': {'key': 'tags', 'type': '{str}'}, 5259 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 5260 'os_type': {'key': 'properties.osType', 'type': 'str'}, 5261 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 5262 'encryption_settings_collection': {'key': 'properties.encryptionSettingsCollection', 'type': 'EncryptionSettingsCollection'}, 5263 } 5264 5265 def __init__( 5266 self, 5267 *, 5268 tags: Optional[Dict[str, str]] = None, 5269 sku: Optional["SnapshotSku"] = None, 5270 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 5271 disk_size_gb: Optional[int] = None, 5272 encryption_settings_collection: Optional["EncryptionSettingsCollection"] = None, 5273 **kwargs 5274 ): 5275 super(SnapshotUpdate, self).__init__(**kwargs) 5276 self.tags = tags 5277 self.sku = sku 5278 self.os_type = os_type 5279 self.disk_size_gb = disk_size_gb 5280 self.encryption_settings_collection = encryption_settings_collection 5281 5282 5283class SourceVault(msrest.serialization.Model): 5284 """The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}. 5285 5286 :param id: Resource Id. 5287 :type id: str 5288 """ 5289 5290 _attribute_map = { 5291 'id': {'key': 'id', 'type': 'str'}, 5292 } 5293 5294 def __init__( 5295 self, 5296 *, 5297 id: Optional[str] = None, 5298 **kwargs 5299 ): 5300 super(SourceVault, self).__init__(**kwargs) 5301 self.id = id 5302 5303 5304class SshConfiguration(msrest.serialization.Model): 5305 """SSH configuration for Linux based VMs running on Azure. 5306 5307 :param public_keys: The list of SSH public keys used to authenticate with linux based VMs. 5308 :type public_keys: list[~azure.mgmt.compute.v2019_03_01.models.SshPublicKey] 5309 """ 5310 5311 _attribute_map = { 5312 'public_keys': {'key': 'publicKeys', 'type': '[SshPublicKey]'}, 5313 } 5314 5315 def __init__( 5316 self, 5317 *, 5318 public_keys: Optional[List["SshPublicKey"]] = None, 5319 **kwargs 5320 ): 5321 super(SshConfiguration, self).__init__(**kwargs) 5322 self.public_keys = public_keys 5323 5324 5325class SshPublicKey(msrest.serialization.Model): 5326 """Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. 5327 5328 :param path: Specifies the full path on the created VM where ssh public key is stored. If the 5329 file already exists, the specified key is appended to the file. Example: 5330 /home/user/.ssh/authorized_keys. 5331 :type path: str 5332 :param key_data: SSH public key certificate used to authenticate with the VM through ssh. The 5333 key needs to be at least 2048-bit and in ssh-rsa format. :code:`<br>`:code:`<br>` For creating 5334 ssh keys, see `Create SSH keys on Linux and Mac for Linux VMs in Azure 5335 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 5336 :type key_data: str 5337 """ 5338 5339 _attribute_map = { 5340 'path': {'key': 'path', 'type': 'str'}, 5341 'key_data': {'key': 'keyData', 'type': 'str'}, 5342 } 5343 5344 def __init__( 5345 self, 5346 *, 5347 path: Optional[str] = None, 5348 key_data: Optional[str] = None, 5349 **kwargs 5350 ): 5351 super(SshPublicKey, self).__init__(**kwargs) 5352 self.path = path 5353 self.key_data = key_data 5354 5355 5356class StorageProfile(msrest.serialization.Model): 5357 """Specifies the storage settings for the virtual machine disks. 5358 5359 :param image_reference: Specifies information about the image to use. You can specify 5360 information about platform images, marketplace images, or virtual machine images. This element 5361 is required when you want to use a platform image, marketplace image, or virtual machine image, 5362 but is not used in other creation operations. 5363 :type image_reference: ~azure.mgmt.compute.v2019_03_01.models.ImageReference 5364 :param os_disk: Specifies information about the operating system disk used by the virtual 5365 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 5366 for Azure virtual machines 5367 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 5368 :type os_disk: ~azure.mgmt.compute.v2019_03_01.models.OSDisk 5369 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 5370 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 5371 for Azure virtual machines 5372 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 5373 :type data_disks: list[~azure.mgmt.compute.v2019_03_01.models.DataDisk] 5374 """ 5375 5376 _attribute_map = { 5377 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 5378 'os_disk': {'key': 'osDisk', 'type': 'OSDisk'}, 5379 'data_disks': {'key': 'dataDisks', 'type': '[DataDisk]'}, 5380 } 5381 5382 def __init__( 5383 self, 5384 *, 5385 image_reference: Optional["ImageReference"] = None, 5386 os_disk: Optional["OSDisk"] = None, 5387 data_disks: Optional[List["DataDisk"]] = None, 5388 **kwargs 5389 ): 5390 super(StorageProfile, self).__init__(**kwargs) 5391 self.image_reference = image_reference 5392 self.os_disk = os_disk 5393 self.data_disks = data_disks 5394 5395 5396class SubResourceReadOnly(msrest.serialization.Model): 5397 """SubResourceReadOnly. 5398 5399 Variables are only populated by the server, and will be ignored when sending a request. 5400 5401 :ivar id: Resource Id. 5402 :vartype id: str 5403 """ 5404 5405 _validation = { 5406 'id': {'readonly': True}, 5407 } 5408 5409 _attribute_map = { 5410 'id': {'key': 'id', 'type': 'str'}, 5411 } 5412 5413 def __init__( 5414 self, 5415 **kwargs 5416 ): 5417 super(SubResourceReadOnly, self).__init__(**kwargs) 5418 self.id = None 5419 5420 5421class TargetRegion(msrest.serialization.Model): 5422 """Describes the target region information. 5423 5424 All required parameters must be populated in order to send to Azure. 5425 5426 :param name: Required. The name of the region. 5427 :type name: str 5428 :param regional_replica_count: The number of replicas of the Image Version to be created per 5429 region. This property is updatable. 5430 :type regional_replica_count: int 5431 :param storage_account_type: Specifies the storage account type to be used to store the image. 5432 This property is not updatable. Possible values include: "Standard_LRS", "Standard_ZRS". 5433 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountType 5434 """ 5435 5436 _validation = { 5437 'name': {'required': True}, 5438 } 5439 5440 _attribute_map = { 5441 'name': {'key': 'name', 'type': 'str'}, 5442 'regional_replica_count': {'key': 'regionalReplicaCount', 'type': 'int'}, 5443 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 5444 } 5445 5446 def __init__( 5447 self, 5448 *, 5449 name: str, 5450 regional_replica_count: Optional[int] = None, 5451 storage_account_type: Optional[Union[str, "StorageAccountType"]] = None, 5452 **kwargs 5453 ): 5454 super(TargetRegion, self).__init__(**kwargs) 5455 self.name = name 5456 self.regional_replica_count = regional_replica_count 5457 self.storage_account_type = storage_account_type 5458 5459 5460class TerminateNotificationProfile(msrest.serialization.Model): 5461 """TerminateNotificationProfile. 5462 5463 :param not_before_timeout: Configurable length of time a Virtual Machine being deleted will 5464 have to potentially approve the Terminate Scheduled Event before the event is auto approved 5465 (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 5466 minutes (PT5M). 5467 :type not_before_timeout: str 5468 :param enable: Specifies whether the Terminate Scheduled event is enabled or disabled. 5469 :type enable: bool 5470 """ 5471 5472 _attribute_map = { 5473 'not_before_timeout': {'key': 'notBeforeTimeout', 'type': 'str'}, 5474 'enable': {'key': 'enable', 'type': 'bool'}, 5475 } 5476 5477 def __init__( 5478 self, 5479 *, 5480 not_before_timeout: Optional[str] = None, 5481 enable: Optional[bool] = None, 5482 **kwargs 5483 ): 5484 super(TerminateNotificationProfile, self).__init__(**kwargs) 5485 self.not_before_timeout = not_before_timeout 5486 self.enable = enable 5487 5488 5489class ThrottledRequestsInput(LogAnalyticsInputBase): 5490 """Api request input for LogAnalytics getThrottledRequests Api. 5491 5492 All required parameters must be populated in order to send to Azure. 5493 5494 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 5495 LogAnalytics Api writes output logs to. 5496 :type blob_container_sas_uri: str 5497 :param from_time: Required. From time of the query. 5498 :type from_time: ~datetime.datetime 5499 :param to_time: Required. To time of the query. 5500 :type to_time: ~datetime.datetime 5501 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 5502 :type group_by_throttle_policy: bool 5503 :param group_by_operation_name: Group query result by Operation Name. 5504 :type group_by_operation_name: bool 5505 :param group_by_resource_name: Group query result by Resource Name. 5506 :type group_by_resource_name: bool 5507 """ 5508 5509 _validation = { 5510 'blob_container_sas_uri': {'required': True}, 5511 'from_time': {'required': True}, 5512 'to_time': {'required': True}, 5513 } 5514 5515 _attribute_map = { 5516 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 5517 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 5518 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 5519 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 5520 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 5521 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 5522 } 5523 5524 def __init__( 5525 self, 5526 *, 5527 blob_container_sas_uri: str, 5528 from_time: datetime.datetime, 5529 to_time: datetime.datetime, 5530 group_by_throttle_policy: Optional[bool] = None, 5531 group_by_operation_name: Optional[bool] = None, 5532 group_by_resource_name: Optional[bool] = None, 5533 **kwargs 5534 ): 5535 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) 5536 5537 5538class UpgradeOperationHistoricalStatusInfo(msrest.serialization.Model): 5539 """Virtual Machine Scale Set OS Upgrade History operation response. 5540 5541 Variables are only populated by the server, and will be ignored when sending a request. 5542 5543 :ivar properties: Information about the properties of the upgrade operation. 5544 :vartype properties: 5545 ~azure.mgmt.compute.v2019_03_01.models.UpgradeOperationHistoricalStatusInfoProperties 5546 :ivar type: Resource type. 5547 :vartype type: str 5548 :ivar location: Resource location. 5549 :vartype location: str 5550 """ 5551 5552 _validation = { 5553 'properties': {'readonly': True}, 5554 'type': {'readonly': True}, 5555 'location': {'readonly': True}, 5556 } 5557 5558 _attribute_map = { 5559 'properties': {'key': 'properties', 'type': 'UpgradeOperationHistoricalStatusInfoProperties'}, 5560 'type': {'key': 'type', 'type': 'str'}, 5561 'location': {'key': 'location', 'type': 'str'}, 5562 } 5563 5564 def __init__( 5565 self, 5566 **kwargs 5567 ): 5568 super(UpgradeOperationHistoricalStatusInfo, self).__init__(**kwargs) 5569 self.properties = None 5570 self.type = None 5571 self.location = None 5572 5573 5574class UpgradeOperationHistoricalStatusInfoProperties(msrest.serialization.Model): 5575 """Describes each OS upgrade on the Virtual Machine Scale Set. 5576 5577 Variables are only populated by the server, and will be ignored when sending a request. 5578 5579 :ivar running_status: Information about the overall status of the upgrade operation. 5580 :vartype running_status: ~azure.mgmt.compute.v2019_03_01.models.UpgradeOperationHistoryStatus 5581 :ivar progress: Counts of the VMs in each state. 5582 :vartype progress: ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradeProgressInfo 5583 :ivar error: Error Details for this upgrade if there are any. 5584 :vartype error: ~azure.mgmt.compute.v2019_03_01.models.ApiError 5585 :ivar started_by: Invoker of the Upgrade Operation. Possible values include: "Unknown", "User", 5586 "Platform". 5587 :vartype started_by: str or ~azure.mgmt.compute.v2019_03_01.models.UpgradeOperationInvoker 5588 :ivar target_image_reference: Image Reference details. 5589 :vartype target_image_reference: ~azure.mgmt.compute.v2019_03_01.models.ImageReference 5590 :ivar rollback_info: Information about OS rollback if performed. 5591 :vartype rollback_info: ~azure.mgmt.compute.v2019_03_01.models.RollbackStatusInfo 5592 """ 5593 5594 _validation = { 5595 'running_status': {'readonly': True}, 5596 'progress': {'readonly': True}, 5597 'error': {'readonly': True}, 5598 'started_by': {'readonly': True}, 5599 'target_image_reference': {'readonly': True}, 5600 'rollback_info': {'readonly': True}, 5601 } 5602 5603 _attribute_map = { 5604 'running_status': {'key': 'runningStatus', 'type': 'UpgradeOperationHistoryStatus'}, 5605 'progress': {'key': 'progress', 'type': 'RollingUpgradeProgressInfo'}, 5606 'error': {'key': 'error', 'type': 'ApiError'}, 5607 'started_by': {'key': 'startedBy', 'type': 'str'}, 5608 'target_image_reference': {'key': 'targetImageReference', 'type': 'ImageReference'}, 5609 'rollback_info': {'key': 'rollbackInfo', 'type': 'RollbackStatusInfo'}, 5610 } 5611 5612 def __init__( 5613 self, 5614 **kwargs 5615 ): 5616 super(UpgradeOperationHistoricalStatusInfoProperties, self).__init__(**kwargs) 5617 self.running_status = None 5618 self.progress = None 5619 self.error = None 5620 self.started_by = None 5621 self.target_image_reference = None 5622 self.rollback_info = None 5623 5624 5625class UpgradeOperationHistoryStatus(msrest.serialization.Model): 5626 """Information about the current running state of the overall upgrade. 5627 5628 Variables are only populated by the server, and will be ignored when sending a request. 5629 5630 :ivar code: Code indicating the current status of the upgrade. Possible values include: 5631 "RollingForward", "Cancelled", "Completed", "Faulted". 5632 :vartype code: str or ~azure.mgmt.compute.v2019_03_01.models.UpgradeState 5633 :ivar start_time: Start time of the upgrade. 5634 :vartype start_time: ~datetime.datetime 5635 :ivar end_time: End time of the upgrade. 5636 :vartype end_time: ~datetime.datetime 5637 """ 5638 5639 _validation = { 5640 'code': {'readonly': True}, 5641 'start_time': {'readonly': True}, 5642 'end_time': {'readonly': True}, 5643 } 5644 5645 _attribute_map = { 5646 'code': {'key': 'code', 'type': 'str'}, 5647 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5648 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5649 } 5650 5651 def __init__( 5652 self, 5653 **kwargs 5654 ): 5655 super(UpgradeOperationHistoryStatus, self).__init__(**kwargs) 5656 self.code = None 5657 self.start_time = None 5658 self.end_time = None 5659 5660 5661class UpgradePolicy(msrest.serialization.Model): 5662 """Describes an upgrade policy - automatic, manual, or rolling. 5663 5664 :param mode: Specifies the mode of an upgrade to virtual machines in the scale set.:code:`<br 5665 />`:code:`<br />` Possible values are::code:`<br />`:code:`<br />` **Manual** - You control 5666 the application of updates to virtual machines in the scale set. You do this by using the 5667 manualUpgrade action.:code:`<br />`:code:`<br />` **Automatic** - All virtual machines in the 5668 scale set are automatically updated at the same time. Possible values include: "Automatic", 5669 "Manual", "Rolling". 5670 :type mode: str or ~azure.mgmt.compute.v2019_03_01.models.UpgradeMode 5671 :param rolling_upgrade_policy: The configuration parameters used while performing a rolling 5672 upgrade. 5673 :type rolling_upgrade_policy: ~azure.mgmt.compute.v2019_03_01.models.RollingUpgradePolicy 5674 :param automatic_os_upgrade_policy: Configuration parameters used for performing automatic OS 5675 Upgrade. 5676 :type automatic_os_upgrade_policy: 5677 ~azure.mgmt.compute.v2019_03_01.models.AutomaticOSUpgradePolicy 5678 """ 5679 5680 _attribute_map = { 5681 'mode': {'key': 'mode', 'type': 'str'}, 5682 'rolling_upgrade_policy': {'key': 'rollingUpgradePolicy', 'type': 'RollingUpgradePolicy'}, 5683 'automatic_os_upgrade_policy': {'key': 'automaticOSUpgradePolicy', 'type': 'AutomaticOSUpgradePolicy'}, 5684 } 5685 5686 def __init__( 5687 self, 5688 *, 5689 mode: Optional[Union[str, "UpgradeMode"]] = None, 5690 rolling_upgrade_policy: Optional["RollingUpgradePolicy"] = None, 5691 automatic_os_upgrade_policy: Optional["AutomaticOSUpgradePolicy"] = None, 5692 **kwargs 5693 ): 5694 super(UpgradePolicy, self).__init__(**kwargs) 5695 self.mode = mode 5696 self.rolling_upgrade_policy = rolling_upgrade_policy 5697 self.automatic_os_upgrade_policy = automatic_os_upgrade_policy 5698 5699 5700class Usage(msrest.serialization.Model): 5701 """Describes Compute Resource Usage. 5702 5703 Variables are only populated by the server, and will be ignored when sending a request. 5704 5705 All required parameters must be populated in order to send to Azure. 5706 5707 :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". 5708 :vartype unit: str 5709 :param current_value: Required. The current usage of the resource. 5710 :type current_value: int 5711 :param limit: Required. The maximum permitted usage of the resource. 5712 :type limit: long 5713 :param name: Required. The name of the type of usage. 5714 :type name: ~azure.mgmt.compute.v2019_03_01.models.UsageName 5715 """ 5716 5717 _validation = { 5718 'unit': {'required': True, 'constant': True}, 5719 'current_value': {'required': True}, 5720 'limit': {'required': True}, 5721 'name': {'required': True}, 5722 } 5723 5724 _attribute_map = { 5725 'unit': {'key': 'unit', 'type': 'str'}, 5726 'current_value': {'key': 'currentValue', 'type': 'int'}, 5727 'limit': {'key': 'limit', 'type': 'long'}, 5728 'name': {'key': 'name', 'type': 'UsageName'}, 5729 } 5730 5731 unit = "Count" 5732 5733 def __init__( 5734 self, 5735 *, 5736 current_value: int, 5737 limit: int, 5738 name: "UsageName", 5739 **kwargs 5740 ): 5741 super(Usage, self).__init__(**kwargs) 5742 self.current_value = current_value 5743 self.limit = limit 5744 self.name = name 5745 5746 5747class UsageName(msrest.serialization.Model): 5748 """The Usage Names. 5749 5750 :param value: The name of the resource. 5751 :type value: str 5752 :param localized_value: The localized name of the resource. 5753 :type localized_value: str 5754 """ 5755 5756 _attribute_map = { 5757 'value': {'key': 'value', 'type': 'str'}, 5758 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 5759 } 5760 5761 def __init__( 5762 self, 5763 *, 5764 value: Optional[str] = None, 5765 localized_value: Optional[str] = None, 5766 **kwargs 5767 ): 5768 super(UsageName, self).__init__(**kwargs) 5769 self.value = value 5770 self.localized_value = localized_value 5771 5772 5773class UserArtifactManage(msrest.serialization.Model): 5774 """UserArtifactManage. 5775 5776 All required parameters must be populated in order to send to Azure. 5777 5778 :param install: Required. Required. The path and arguments to install the gallery application. 5779 This is limited to 4096 characters. 5780 :type install: str 5781 :param remove: Required. Required. The path and arguments to remove the gallery application. 5782 This is limited to 4096 characters. 5783 :type remove: str 5784 :param update: Optional. The path and arguments to update the gallery application. If not 5785 present, then update operation will invoke remove command on the previous version and install 5786 command on the current version of the gallery application. This is limited to 4096 characters. 5787 :type update: str 5788 """ 5789 5790 _validation = { 5791 'install': {'required': True}, 5792 'remove': {'required': True}, 5793 } 5794 5795 _attribute_map = { 5796 'install': {'key': 'install', 'type': 'str'}, 5797 'remove': {'key': 'remove', 'type': 'str'}, 5798 'update': {'key': 'update', 'type': 'str'}, 5799 } 5800 5801 def __init__( 5802 self, 5803 *, 5804 install: str, 5805 remove: str, 5806 update: Optional[str] = None, 5807 **kwargs 5808 ): 5809 super(UserArtifactManage, self).__init__(**kwargs) 5810 self.install = install 5811 self.remove = remove 5812 self.update = update 5813 5814 5815class UserArtifactSource(msrest.serialization.Model): 5816 """The source image from which the Image Version is going to be created. 5817 5818 All required parameters must be populated in order to send to Azure. 5819 5820 :param media_link: Required. Required. The mediaLink of the artifact, must be a readable 5821 storage page blob. 5822 :type media_link: str 5823 :param default_configuration_link: Optional. The defaultConfigurationLink of the artifact, must 5824 be a readable storage page blob. 5825 :type default_configuration_link: str 5826 """ 5827 5828 _validation = { 5829 'media_link': {'required': True}, 5830 } 5831 5832 _attribute_map = { 5833 'media_link': {'key': 'mediaLink', 'type': 'str'}, 5834 'default_configuration_link': {'key': 'defaultConfigurationLink', 'type': 'str'}, 5835 } 5836 5837 def __init__( 5838 self, 5839 *, 5840 media_link: str, 5841 default_configuration_link: Optional[str] = None, 5842 **kwargs 5843 ): 5844 super(UserArtifactSource, self).__init__(**kwargs) 5845 self.media_link = media_link 5846 self.default_configuration_link = default_configuration_link 5847 5848 5849class UserAssignedIdentitiesValue(msrest.serialization.Model): 5850 """UserAssignedIdentitiesValue. 5851 5852 Variables are only populated by the server, and will be ignored when sending a request. 5853 5854 :ivar principal_id: The principal id of user assigned identity. 5855 :vartype principal_id: str 5856 :ivar client_id: The client id of user assigned identity. 5857 :vartype client_id: str 5858 """ 5859 5860 _validation = { 5861 'principal_id': {'readonly': True}, 5862 'client_id': {'readonly': True}, 5863 } 5864 5865 _attribute_map = { 5866 'principal_id': {'key': 'principalId', 'type': 'str'}, 5867 'client_id': {'key': 'clientId', 'type': 'str'}, 5868 } 5869 5870 def __init__( 5871 self, 5872 **kwargs 5873 ): 5874 super(UserAssignedIdentitiesValue, self).__init__(**kwargs) 5875 self.principal_id = None 5876 self.client_id = None 5877 5878 5879class VaultCertificate(msrest.serialization.Model): 5880 """Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. 5881 5882 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 5883 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 5884 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 5885 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 5886 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 5887 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 5888 "password":":code:`<pfx-file-password>`":code:`<br>`}. 5889 :type certificate_url: str 5890 :param certificate_store: For Windows VMs, specifies the certificate store on the Virtual 5891 Machine to which the certificate should be added. The specified certificate store is implicitly 5892 in the LocalMachine account. :code:`<br>`:code:`<br>`For Linux VMs, the certificate file is 5893 placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt 5894 for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of 5895 these files are .pem formatted. 5896 :type certificate_store: str 5897 """ 5898 5899 _attribute_map = { 5900 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 5901 'certificate_store': {'key': 'certificateStore', 'type': 'str'}, 5902 } 5903 5904 def __init__( 5905 self, 5906 *, 5907 certificate_url: Optional[str] = None, 5908 certificate_store: Optional[str] = None, 5909 **kwargs 5910 ): 5911 super(VaultCertificate, self).__init__(**kwargs) 5912 self.certificate_url = certificate_url 5913 self.certificate_store = certificate_store 5914 5915 5916class VaultSecretGroup(msrest.serialization.Model): 5917 """Describes a set of certificates which are all in the same Key Vault. 5918 5919 :param source_vault: The relative URL of the Key Vault containing all of the certificates in 5920 VaultCertificates. 5921 :type source_vault: ~azure.mgmt.compute.v2019_03_01.models.SubResource 5922 :param vault_certificates: The list of key vault references in SourceVault which contain 5923 certificates. 5924 :type vault_certificates: list[~azure.mgmt.compute.v2019_03_01.models.VaultCertificate] 5925 """ 5926 5927 _attribute_map = { 5928 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 5929 'vault_certificates': {'key': 'vaultCertificates', 'type': '[VaultCertificate]'}, 5930 } 5931 5932 def __init__( 5933 self, 5934 *, 5935 source_vault: Optional["SubResource"] = None, 5936 vault_certificates: Optional[List["VaultCertificate"]] = None, 5937 **kwargs 5938 ): 5939 super(VaultSecretGroup, self).__init__(**kwargs) 5940 self.source_vault = source_vault 5941 self.vault_certificates = vault_certificates 5942 5943 5944class VirtualHardDisk(msrest.serialization.Model): 5945 """Describes the uri of a disk. 5946 5947 :param uri: Specifies the virtual hard disk's uri. 5948 :type uri: str 5949 """ 5950 5951 _attribute_map = { 5952 'uri': {'key': 'uri', 'type': 'str'}, 5953 } 5954 5955 def __init__( 5956 self, 5957 *, 5958 uri: Optional[str] = None, 5959 **kwargs 5960 ): 5961 super(VirtualHardDisk, self).__init__(**kwargs) 5962 self.uri = uri 5963 5964 5965class VirtualMachine(Resource): 5966 """Describes a Virtual Machine. 5967 5968 Variables are only populated by the server, and will be ignored when sending a request. 5969 5970 All required parameters must be populated in order to send to Azure. 5971 5972 :ivar id: Resource Id. 5973 :vartype id: str 5974 :ivar name: Resource name. 5975 :vartype name: str 5976 :ivar type: Resource type. 5977 :vartype type: str 5978 :param location: Required. Resource location. 5979 :type location: str 5980 :param tags: A set of tags. Resource tags. 5981 :type tags: dict[str, str] 5982 :param plan: Specifies information about the marketplace image used to create the virtual 5983 machine. This element is only used for marketplace images. Before you can use a marketplace 5984 image from an API, you must enable the image for programmatic use. In the Azure portal, find 5985 the marketplace image that you want to use and then click **Want to deploy programmatically, 5986 Get Started ->**. Enter any required information and then click **Save**. 5987 :type plan: ~azure.mgmt.compute.v2019_03_01.models.Plan 5988 :ivar resources: The virtual machine child extension resources. 5989 :vartype resources: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtension] 5990 :param identity: The identity of the virtual machine, if configured. 5991 :type identity: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineIdentity 5992 :param zones: The virtual machine zones. 5993 :type zones: list[str] 5994 :param hardware_profile: Specifies the hardware settings for the virtual machine. 5995 :type hardware_profile: ~azure.mgmt.compute.v2019_03_01.models.HardwareProfile 5996 :param storage_profile: Specifies the storage settings for the virtual machine disks. 5997 :type storage_profile: ~azure.mgmt.compute.v2019_03_01.models.StorageProfile 5998 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 5999 virtual machine. 6000 :type additional_capabilities: ~azure.mgmt.compute.v2019_03_01.models.AdditionalCapabilities 6001 :param os_profile: Specifies the operating system settings for the virtual machine. 6002 :type os_profile: ~azure.mgmt.compute.v2019_03_01.models.OSProfile 6003 :param network_profile: Specifies the network interfaces of the virtual machine. 6004 :type network_profile: ~azure.mgmt.compute.v2019_03_01.models.NetworkProfile 6005 :param diagnostics_profile: Specifies the boot diagnostic settings state. 6006 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 6007 :type diagnostics_profile: ~azure.mgmt.compute.v2019_03_01.models.DiagnosticsProfile 6008 :param availability_set: Specifies information about the availability set that the virtual 6009 machine should be assigned to. Virtual machines specified in the same availability set are 6010 allocated to different nodes to maximize availability. For more information about availability 6011 sets, see `Manage the availability of virtual machines 6012 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6013 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 6014 maintenance for virtual machines in Azure 6015 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6016 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 6017 time. An existing VM cannot be added to an availability set. :code:`<br>`:code:`<br>`This 6018 property cannot exist along with a non-null properties.virtualMachineScaleSet reference. 6019 :type availability_set: ~azure.mgmt.compute.v2019_03_01.models.SubResource 6020 :param virtual_machine_scale_set: Specifies information about the virtual machine scale set 6021 that the virtual machine should be assigned to. Virtual machines specified in the same virtual 6022 machine scale set are allocated to different nodes to maximize availability. Currently, a VM 6023 can only be added to virtual machine scale set at creation time. An existing VM cannot be added 6024 to a virtual machine scale set. :code:`<br>`:code:`<br>`This property cannot exist along with a 6025 non-null properties.availabilitySet reference. :code:`<br>`:code:`<br>`Minimum api‐version: 6026 2019‐03‐01. 6027 :type virtual_machine_scale_set: ~azure.mgmt.compute.v2019_03_01.models.SubResource 6028 :param proximity_placement_group: Specifies information about the proximity placement group 6029 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 6030 2018-04-01. 6031 :type proximity_placement_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 6032 :param priority: Specifies the priority for the virtual machine. 6033 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. Possible values include: "Regular", 6034 "Low", "Spot". 6035 :type priority: str or ~azure.mgmt.compute.v2019_03_01.models.VirtualMachinePriorityTypes 6036 :param eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine. Only 6037 supported value is 'Deallocate'. :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 6038 Possible values include: "Deallocate", "Delete". 6039 :type eviction_policy: str or 6040 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineEvictionPolicyTypes 6041 :param billing_profile: Specifies the billing related details of a Azure Spot virtual machine. 6042 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 6043 :type billing_profile: ~azure.mgmt.compute.v2019_03_01.models.BillingProfile 6044 :param host: Specifies information about the dedicated host that the virtual machine resides 6045 in. :code:`<br>`:code:`<br>`Minimum api-version: 2018-10-01. 6046 :type host: ~azure.mgmt.compute.v2019_03_01.models.SubResource 6047 :ivar provisioning_state: The provisioning state, which only appears in the response. 6048 :vartype provisioning_state: str 6049 :ivar instance_view: The virtual machine instance view. 6050 :vartype instance_view: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineInstanceView 6051 :param license_type: Specifies that the image or disk that is being used was licensed 6052 on-premises. This element is only used for images that contain the Windows Server operating 6053 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 6054 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 6055 a request for an update, the value must match the initial value. This value cannot be updated. 6056 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 6057 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6058 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 6059 :type license_type: str 6060 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 6061 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 6062 :vartype vm_id: str 6063 """ 6064 6065 _validation = { 6066 'id': {'readonly': True}, 6067 'name': {'readonly': True}, 6068 'type': {'readonly': True}, 6069 'location': {'required': True}, 6070 'resources': {'readonly': True}, 6071 'provisioning_state': {'readonly': True}, 6072 'instance_view': {'readonly': True}, 6073 'vm_id': {'readonly': True}, 6074 } 6075 6076 _attribute_map = { 6077 'id': {'key': 'id', 'type': 'str'}, 6078 'name': {'key': 'name', 'type': 'str'}, 6079 'type': {'key': 'type', 'type': 'str'}, 6080 'location': {'key': 'location', 'type': 'str'}, 6081 'tags': {'key': 'tags', 'type': '{str}'}, 6082 'plan': {'key': 'plan', 'type': 'Plan'}, 6083 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 6084 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 6085 'zones': {'key': 'zones', 'type': '[str]'}, 6086 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 6087 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 6088 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 6089 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 6090 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 6091 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6092 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 6093 'virtual_machine_scale_set': {'key': 'properties.virtualMachineScaleSet', 'type': 'SubResource'}, 6094 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 6095 'priority': {'key': 'properties.priority', 'type': 'str'}, 6096 'eviction_policy': {'key': 'properties.evictionPolicy', 'type': 'str'}, 6097 'billing_profile': {'key': 'properties.billingProfile', 'type': 'BillingProfile'}, 6098 'host': {'key': 'properties.host', 'type': 'SubResource'}, 6099 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6100 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 6101 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 6102 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 6103 } 6104 6105 def __init__( 6106 self, 6107 *, 6108 location: str, 6109 tags: Optional[Dict[str, str]] = None, 6110 plan: Optional["Plan"] = None, 6111 identity: Optional["VirtualMachineIdentity"] = None, 6112 zones: Optional[List[str]] = None, 6113 hardware_profile: Optional["HardwareProfile"] = None, 6114 storage_profile: Optional["StorageProfile"] = None, 6115 additional_capabilities: Optional["AdditionalCapabilities"] = None, 6116 os_profile: Optional["OSProfile"] = None, 6117 network_profile: Optional["NetworkProfile"] = None, 6118 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6119 availability_set: Optional["SubResource"] = None, 6120 virtual_machine_scale_set: Optional["SubResource"] = None, 6121 proximity_placement_group: Optional["SubResource"] = None, 6122 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 6123 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 6124 billing_profile: Optional["BillingProfile"] = None, 6125 host: Optional["SubResource"] = None, 6126 license_type: Optional[str] = None, 6127 **kwargs 6128 ): 6129 super(VirtualMachine, self).__init__(location=location, tags=tags, **kwargs) 6130 self.plan = plan 6131 self.resources = None 6132 self.identity = identity 6133 self.zones = zones 6134 self.hardware_profile = hardware_profile 6135 self.storage_profile = storage_profile 6136 self.additional_capabilities = additional_capabilities 6137 self.os_profile = os_profile 6138 self.network_profile = network_profile 6139 self.diagnostics_profile = diagnostics_profile 6140 self.availability_set = availability_set 6141 self.virtual_machine_scale_set = virtual_machine_scale_set 6142 self.proximity_placement_group = proximity_placement_group 6143 self.priority = priority 6144 self.eviction_policy = eviction_policy 6145 self.billing_profile = billing_profile 6146 self.host = host 6147 self.provisioning_state = None 6148 self.instance_view = None 6149 self.license_type = license_type 6150 self.vm_id = None 6151 6152 6153class VirtualMachineAgentInstanceView(msrest.serialization.Model): 6154 """The instance view of the VM Agent running on the virtual machine. 6155 6156 :param vm_agent_version: The VM Agent full version. 6157 :type vm_agent_version: str 6158 :param extension_handlers: The virtual machine extension handler instance view. 6159 :type extension_handlers: 6160 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtensionHandlerInstanceView] 6161 :param statuses: The resource status information. 6162 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 6163 """ 6164 6165 _attribute_map = { 6166 'vm_agent_version': {'key': 'vmAgentVersion', 'type': 'str'}, 6167 'extension_handlers': {'key': 'extensionHandlers', 'type': '[VirtualMachineExtensionHandlerInstanceView]'}, 6168 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 6169 } 6170 6171 def __init__( 6172 self, 6173 *, 6174 vm_agent_version: Optional[str] = None, 6175 extension_handlers: Optional[List["VirtualMachineExtensionHandlerInstanceView"]] = None, 6176 statuses: Optional[List["InstanceViewStatus"]] = None, 6177 **kwargs 6178 ): 6179 super(VirtualMachineAgentInstanceView, self).__init__(**kwargs) 6180 self.vm_agent_version = vm_agent_version 6181 self.extension_handlers = extension_handlers 6182 self.statuses = statuses 6183 6184 6185class VirtualMachineCaptureParameters(msrest.serialization.Model): 6186 """Capture Virtual Machine parameters. 6187 6188 All required parameters must be populated in order to send to Azure. 6189 6190 :param vhd_prefix: Required. The captured virtual hard disk's name prefix. 6191 :type vhd_prefix: str 6192 :param destination_container_name: Required. The destination container name. 6193 :type destination_container_name: str 6194 :param overwrite_vhds: Required. Specifies whether to overwrite the destination virtual hard 6195 disk, in case of conflict. 6196 :type overwrite_vhds: bool 6197 """ 6198 6199 _validation = { 6200 'vhd_prefix': {'required': True}, 6201 'destination_container_name': {'required': True}, 6202 'overwrite_vhds': {'required': True}, 6203 } 6204 6205 _attribute_map = { 6206 'vhd_prefix': {'key': 'vhdPrefix', 'type': 'str'}, 6207 'destination_container_name': {'key': 'destinationContainerName', 'type': 'str'}, 6208 'overwrite_vhds': {'key': 'overwriteVhds', 'type': 'bool'}, 6209 } 6210 6211 def __init__( 6212 self, 6213 *, 6214 vhd_prefix: str, 6215 destination_container_name: str, 6216 overwrite_vhds: bool, 6217 **kwargs 6218 ): 6219 super(VirtualMachineCaptureParameters, self).__init__(**kwargs) 6220 self.vhd_prefix = vhd_prefix 6221 self.destination_container_name = destination_container_name 6222 self.overwrite_vhds = overwrite_vhds 6223 6224 6225class VirtualMachineCaptureResult(SubResource): 6226 """Output of virtual machine capture operation. 6227 6228 Variables are only populated by the server, and will be ignored when sending a request. 6229 6230 :param id: Resource Id. 6231 :type id: str 6232 :ivar schema: the schema of the captured virtual machine. 6233 :vartype schema: str 6234 :ivar content_version: the version of the content. 6235 :vartype content_version: str 6236 :ivar parameters: parameters of the captured virtual machine. 6237 :vartype parameters: any 6238 :ivar resources: a list of resource items of the captured virtual machine. 6239 :vartype resources: list[any] 6240 """ 6241 6242 _validation = { 6243 'schema': {'readonly': True}, 6244 'content_version': {'readonly': True}, 6245 'parameters': {'readonly': True}, 6246 'resources': {'readonly': True}, 6247 } 6248 6249 _attribute_map = { 6250 'id': {'key': 'id', 'type': 'str'}, 6251 'schema': {'key': '$schema', 'type': 'str'}, 6252 'content_version': {'key': 'contentVersion', 'type': 'str'}, 6253 'parameters': {'key': 'parameters', 'type': 'object'}, 6254 'resources': {'key': 'resources', 'type': '[object]'}, 6255 } 6256 6257 def __init__( 6258 self, 6259 *, 6260 id: Optional[str] = None, 6261 **kwargs 6262 ): 6263 super(VirtualMachineCaptureResult, self).__init__(id=id, **kwargs) 6264 self.schema = None 6265 self.content_version = None 6266 self.parameters = None 6267 self.resources = None 6268 6269 6270class VirtualMachineExtension(Resource): 6271 """Describes a Virtual Machine Extension. 6272 6273 Variables are only populated by the server, and will be ignored when sending a request. 6274 6275 All required parameters must be populated in order to send to Azure. 6276 6277 :ivar id: Resource Id. 6278 :vartype id: str 6279 :ivar name: Resource name. 6280 :vartype name: str 6281 :ivar type: Resource type. 6282 :vartype type: str 6283 :param location: Required. Resource location. 6284 :type location: str 6285 :param tags: A set of tags. Resource tags. 6286 :type tags: dict[str, str] 6287 :param force_update_tag: How the extension handler should be forced to update even if the 6288 extension configuration has not changed. 6289 :type force_update_tag: str 6290 :param publisher: The name of the extension handler publisher. 6291 :type publisher: str 6292 :param type_properties_type: Specifies the type of the extension; an example is 6293 "CustomScriptExtension". 6294 :type type_properties_type: str 6295 :param type_handler_version: Specifies the version of the script handler. 6296 :type type_handler_version: str 6297 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 6298 version if one is available at deployment time. Once deployed, however, the extension will not 6299 upgrade minor versions unless redeployed, even with this property set to true. 6300 :type auto_upgrade_minor_version: bool 6301 :param settings: Json formatted public settings for the extension. 6302 :type settings: any 6303 :param protected_settings: The extension can contain either protectedSettings or 6304 protectedSettingsFromKeyVault or no protected settings at all. 6305 :type protected_settings: any 6306 :ivar provisioning_state: The provisioning state, which only appears in the response. 6307 :vartype provisioning_state: str 6308 :param instance_view: The virtual machine extension instance view. 6309 :type instance_view: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtensionInstanceView 6310 """ 6311 6312 _validation = { 6313 'id': {'readonly': True}, 6314 'name': {'readonly': True}, 6315 'type': {'readonly': True}, 6316 'location': {'required': True}, 6317 'provisioning_state': {'readonly': True}, 6318 } 6319 6320 _attribute_map = { 6321 'id': {'key': 'id', 'type': 'str'}, 6322 'name': {'key': 'name', 'type': 'str'}, 6323 'type': {'key': 'type', 'type': 'str'}, 6324 'location': {'key': 'location', 'type': 'str'}, 6325 'tags': {'key': 'tags', 'type': '{str}'}, 6326 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 6327 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 6328 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 6329 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 6330 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 6331 'settings': {'key': 'properties.settings', 'type': 'object'}, 6332 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 6333 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6334 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineExtensionInstanceView'}, 6335 } 6336 6337 def __init__( 6338 self, 6339 *, 6340 location: str, 6341 tags: Optional[Dict[str, str]] = None, 6342 force_update_tag: Optional[str] = None, 6343 publisher: Optional[str] = None, 6344 type_properties_type: Optional[str] = None, 6345 type_handler_version: Optional[str] = None, 6346 auto_upgrade_minor_version: Optional[bool] = None, 6347 settings: Optional[Any] = None, 6348 protected_settings: Optional[Any] = None, 6349 instance_view: Optional["VirtualMachineExtensionInstanceView"] = None, 6350 **kwargs 6351 ): 6352 super(VirtualMachineExtension, self).__init__(location=location, tags=tags, **kwargs) 6353 self.force_update_tag = force_update_tag 6354 self.publisher = publisher 6355 self.type_properties_type = type_properties_type 6356 self.type_handler_version = type_handler_version 6357 self.auto_upgrade_minor_version = auto_upgrade_minor_version 6358 self.settings = settings 6359 self.protected_settings = protected_settings 6360 self.provisioning_state = None 6361 self.instance_view = instance_view 6362 6363 6364class VirtualMachineExtensionHandlerInstanceView(msrest.serialization.Model): 6365 """The instance view of a virtual machine extension handler. 6366 6367 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 6368 :type type: str 6369 :param type_handler_version: Specifies the version of the script handler. 6370 :type type_handler_version: str 6371 :param status: The extension handler status. 6372 :type status: ~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus 6373 """ 6374 6375 _attribute_map = { 6376 'type': {'key': 'type', 'type': 'str'}, 6377 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 6378 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 6379 } 6380 6381 def __init__( 6382 self, 6383 *, 6384 type: Optional[str] = None, 6385 type_handler_version: Optional[str] = None, 6386 status: Optional["InstanceViewStatus"] = None, 6387 **kwargs 6388 ): 6389 super(VirtualMachineExtensionHandlerInstanceView, self).__init__(**kwargs) 6390 self.type = type 6391 self.type_handler_version = type_handler_version 6392 self.status = status 6393 6394 6395class VirtualMachineExtensionImage(Resource): 6396 """Describes a Virtual Machine Extension Image. 6397 6398 Variables are only populated by the server, and will be ignored when sending a request. 6399 6400 All required parameters must be populated in order to send to Azure. 6401 6402 :ivar id: Resource Id. 6403 :vartype id: str 6404 :ivar name: Resource name. 6405 :vartype name: str 6406 :ivar type: Resource type. 6407 :vartype type: str 6408 :param location: Required. Resource location. 6409 :type location: str 6410 :param tags: A set of tags. Resource tags. 6411 :type tags: dict[str, str] 6412 :param operating_system: The operating system this extension supports. 6413 :type operating_system: str 6414 :param compute_role: The type of role (IaaS or PaaS) this extension supports. 6415 :type compute_role: str 6416 :param handler_schema: The schema defined by publisher, where extension consumers should 6417 provide settings in a matching schema. 6418 :type handler_schema: str 6419 :param vm_scale_set_enabled: Whether the extension can be used on xRP VMScaleSets. By default 6420 existing extensions are usable on scalesets, but there might be cases where a publisher wants 6421 to explicitly indicate the extension is only enabled for CRP VMs but not VMSS. 6422 :type vm_scale_set_enabled: bool 6423 :param supports_multiple_extensions: Whether the handler can support multiple extensions. 6424 :type supports_multiple_extensions: bool 6425 """ 6426 6427 _validation = { 6428 'id': {'readonly': True}, 6429 'name': {'readonly': True}, 6430 'type': {'readonly': True}, 6431 'location': {'required': True}, 6432 } 6433 6434 _attribute_map = { 6435 'id': {'key': 'id', 'type': 'str'}, 6436 'name': {'key': 'name', 'type': 'str'}, 6437 'type': {'key': 'type', 'type': 'str'}, 6438 'location': {'key': 'location', 'type': 'str'}, 6439 'tags': {'key': 'tags', 'type': '{str}'}, 6440 'operating_system': {'key': 'properties.operatingSystem', 'type': 'str'}, 6441 'compute_role': {'key': 'properties.computeRole', 'type': 'str'}, 6442 'handler_schema': {'key': 'properties.handlerSchema', 'type': 'str'}, 6443 'vm_scale_set_enabled': {'key': 'properties.vmScaleSetEnabled', 'type': 'bool'}, 6444 'supports_multiple_extensions': {'key': 'properties.supportsMultipleExtensions', 'type': 'bool'}, 6445 } 6446 6447 def __init__( 6448 self, 6449 *, 6450 location: str, 6451 tags: Optional[Dict[str, str]] = None, 6452 operating_system: Optional[str] = None, 6453 compute_role: Optional[str] = None, 6454 handler_schema: Optional[str] = None, 6455 vm_scale_set_enabled: Optional[bool] = None, 6456 supports_multiple_extensions: Optional[bool] = None, 6457 **kwargs 6458 ): 6459 super(VirtualMachineExtensionImage, self).__init__(location=location, tags=tags, **kwargs) 6460 self.operating_system = operating_system 6461 self.compute_role = compute_role 6462 self.handler_schema = handler_schema 6463 self.vm_scale_set_enabled = vm_scale_set_enabled 6464 self.supports_multiple_extensions = supports_multiple_extensions 6465 6466 6467class VirtualMachineExtensionInstanceView(msrest.serialization.Model): 6468 """The instance view of a virtual machine extension. 6469 6470 :param name: The virtual machine extension name. 6471 :type name: str 6472 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 6473 :type type: str 6474 :param type_handler_version: Specifies the version of the script handler. 6475 :type type_handler_version: str 6476 :param substatuses: The resource status information. 6477 :type substatuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 6478 :param statuses: The resource status information. 6479 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 6480 """ 6481 6482 _attribute_map = { 6483 'name': {'key': 'name', 'type': 'str'}, 6484 'type': {'key': 'type', 'type': 'str'}, 6485 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 6486 'substatuses': {'key': 'substatuses', 'type': '[InstanceViewStatus]'}, 6487 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 6488 } 6489 6490 def __init__( 6491 self, 6492 *, 6493 name: Optional[str] = None, 6494 type: Optional[str] = None, 6495 type_handler_version: Optional[str] = None, 6496 substatuses: Optional[List["InstanceViewStatus"]] = None, 6497 statuses: Optional[List["InstanceViewStatus"]] = None, 6498 **kwargs 6499 ): 6500 super(VirtualMachineExtensionInstanceView, self).__init__(**kwargs) 6501 self.name = name 6502 self.type = type 6503 self.type_handler_version = type_handler_version 6504 self.substatuses = substatuses 6505 self.statuses = statuses 6506 6507 6508class VirtualMachineExtensionsListResult(msrest.serialization.Model): 6509 """The List Extension operation response. 6510 6511 :param value: The list of extensions. 6512 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtension] 6513 """ 6514 6515 _attribute_map = { 6516 'value': {'key': 'value', 'type': '[VirtualMachineExtension]'}, 6517 } 6518 6519 def __init__( 6520 self, 6521 *, 6522 value: Optional[List["VirtualMachineExtension"]] = None, 6523 **kwargs 6524 ): 6525 super(VirtualMachineExtensionsListResult, self).__init__(**kwargs) 6526 self.value = value 6527 6528 6529class VirtualMachineExtensionUpdate(UpdateResource): 6530 """Describes a Virtual Machine Extension. 6531 6532 :param tags: A set of tags. Resource tags. 6533 :type tags: dict[str, str] 6534 :param force_update_tag: How the extension handler should be forced to update even if the 6535 extension configuration has not changed. 6536 :type force_update_tag: str 6537 :param publisher: The name of the extension handler publisher. 6538 :type publisher: str 6539 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 6540 :type type: str 6541 :param type_handler_version: Specifies the version of the script handler. 6542 :type type_handler_version: str 6543 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 6544 version if one is available at deployment time. Once deployed, however, the extension will not 6545 upgrade minor versions unless redeployed, even with this property set to true. 6546 :type auto_upgrade_minor_version: bool 6547 :param settings: Json formatted public settings for the extension. 6548 :type settings: any 6549 :param protected_settings: The extension can contain either protectedSettings or 6550 protectedSettingsFromKeyVault or no protected settings at all. 6551 :type protected_settings: any 6552 """ 6553 6554 _attribute_map = { 6555 'tags': {'key': 'tags', 'type': '{str}'}, 6556 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 6557 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 6558 'type': {'key': 'properties.type', 'type': 'str'}, 6559 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 6560 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 6561 'settings': {'key': 'properties.settings', 'type': 'object'}, 6562 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 6563 } 6564 6565 def __init__( 6566 self, 6567 *, 6568 tags: Optional[Dict[str, str]] = None, 6569 force_update_tag: Optional[str] = None, 6570 publisher: Optional[str] = None, 6571 type: Optional[str] = None, 6572 type_handler_version: Optional[str] = None, 6573 auto_upgrade_minor_version: Optional[bool] = None, 6574 settings: Optional[Any] = None, 6575 protected_settings: Optional[Any] = None, 6576 **kwargs 6577 ): 6578 super(VirtualMachineExtensionUpdate, self).__init__(tags=tags, **kwargs) 6579 self.force_update_tag = force_update_tag 6580 self.publisher = publisher 6581 self.type = type 6582 self.type_handler_version = type_handler_version 6583 self.auto_upgrade_minor_version = auto_upgrade_minor_version 6584 self.settings = settings 6585 self.protected_settings = protected_settings 6586 6587 6588class VirtualMachineHealthStatus(msrest.serialization.Model): 6589 """The health status of the VM. 6590 6591 Variables are only populated by the server, and will be ignored when sending a request. 6592 6593 :ivar status: The health status information for the VM. 6594 :vartype status: ~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus 6595 """ 6596 6597 _validation = { 6598 'status': {'readonly': True}, 6599 } 6600 6601 _attribute_map = { 6602 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 6603 } 6604 6605 def __init__( 6606 self, 6607 **kwargs 6608 ): 6609 super(VirtualMachineHealthStatus, self).__init__(**kwargs) 6610 self.status = None 6611 6612 6613class VirtualMachineIdentity(msrest.serialization.Model): 6614 """Identity for the virtual machine. 6615 6616 Variables are only populated by the server, and will be ignored when sending a request. 6617 6618 :ivar principal_id: The principal id of virtual machine identity. This property will only be 6619 provided for a system assigned identity. 6620 :vartype principal_id: str 6621 :ivar tenant_id: The tenant id associated with the virtual machine. This property will only be 6622 provided for a system assigned identity. 6623 :vartype tenant_id: str 6624 :param type: The type of identity used for the virtual machine. The type 'SystemAssigned, 6625 UserAssigned' includes both an implicitly created identity and a set of user assigned 6626 identities. The type 'None' will remove any identities from the virtual machine. Possible 6627 values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 6628 :type type: str or ~azure.mgmt.compute.v2019_03_01.models.ResourceIdentityType 6629 :param user_assigned_identities: The list of user identities associated with the Virtual 6630 Machine. The user identity dictionary key references will be ARM resource ids in the form: 6631 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 6632 :type user_assigned_identities: dict[str, 6633 ~azure.mgmt.compute.v2019_03_01.models.UserAssignedIdentitiesValue] 6634 """ 6635 6636 _validation = { 6637 'principal_id': {'readonly': True}, 6638 'tenant_id': {'readonly': True}, 6639 } 6640 6641 _attribute_map = { 6642 'principal_id': {'key': 'principalId', 'type': 'str'}, 6643 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 6644 'type': {'key': 'type', 'type': 'str'}, 6645 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentitiesValue}'}, 6646 } 6647 6648 def __init__( 6649 self, 6650 *, 6651 type: Optional[Union[str, "ResourceIdentityType"]] = None, 6652 user_assigned_identities: Optional[Dict[str, "UserAssignedIdentitiesValue"]] = None, 6653 **kwargs 6654 ): 6655 super(VirtualMachineIdentity, self).__init__(**kwargs) 6656 self.principal_id = None 6657 self.tenant_id = None 6658 self.type = type 6659 self.user_assigned_identities = user_assigned_identities 6660 6661 6662class VirtualMachineImageResource(SubResource): 6663 """Virtual machine image resource information. 6664 6665 All required parameters must be populated in order to send to Azure. 6666 6667 :param id: Resource Id. 6668 :type id: str 6669 :param name: Required. The name of the resource. 6670 :type name: str 6671 :param location: Required. The supported Azure location of the resource. 6672 :type location: str 6673 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 6674 more information about using tags, see `Using tags to organize your Azure resources 6675 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 6676 :type tags: dict[str, str] 6677 """ 6678 6679 _validation = { 6680 'name': {'required': True}, 6681 'location': {'required': True}, 6682 } 6683 6684 _attribute_map = { 6685 'id': {'key': 'id', 'type': 'str'}, 6686 'name': {'key': 'name', 'type': 'str'}, 6687 'location': {'key': 'location', 'type': 'str'}, 6688 'tags': {'key': 'tags', 'type': '{str}'}, 6689 } 6690 6691 def __init__( 6692 self, 6693 *, 6694 name: str, 6695 location: str, 6696 id: Optional[str] = None, 6697 tags: Optional[Dict[str, str]] = None, 6698 **kwargs 6699 ): 6700 super(VirtualMachineImageResource, self).__init__(id=id, **kwargs) 6701 self.name = name 6702 self.location = location 6703 self.tags = tags 6704 6705 6706class VirtualMachineImage(VirtualMachineImageResource): 6707 """Describes a Virtual Machine Image. 6708 6709 All required parameters must be populated in order to send to Azure. 6710 6711 :param id: Resource Id. 6712 :type id: str 6713 :param name: Required. The name of the resource. 6714 :type name: str 6715 :param location: Required. The supported Azure location of the resource. 6716 :type location: str 6717 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 6718 more information about using tags, see `Using tags to organize your Azure resources 6719 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 6720 :type tags: dict[str, str] 6721 :param plan: Used for establishing the purchase context of any 3rd Party artifact through 6722 MarketPlace. 6723 :type plan: ~azure.mgmt.compute.v2019_03_01.models.PurchasePlan 6724 :param os_disk_image: Contains the os disk image information. 6725 :type os_disk_image: ~azure.mgmt.compute.v2019_03_01.models.OSDiskImage 6726 :param data_disk_images: 6727 :type data_disk_images: list[~azure.mgmt.compute.v2019_03_01.models.DataDiskImage] 6728 :param automatic_os_upgrade_properties: Describes automatic OS upgrade properties on the image. 6729 :type automatic_os_upgrade_properties: 6730 ~azure.mgmt.compute.v2019_03_01.models.AutomaticOSUpgradeProperties 6731 :param hyper_v_generation: Specifies the HyperVGeneration Type. Possible values include: "V1", 6732 "V2". 6733 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGenerationTypes 6734 """ 6735 6736 _validation = { 6737 'name': {'required': True}, 6738 'location': {'required': True}, 6739 } 6740 6741 _attribute_map = { 6742 'id': {'key': 'id', 'type': 'str'}, 6743 'name': {'key': 'name', 'type': 'str'}, 6744 'location': {'key': 'location', 'type': 'str'}, 6745 'tags': {'key': 'tags', 'type': '{str}'}, 6746 'plan': {'key': 'properties.plan', 'type': 'PurchasePlan'}, 6747 'os_disk_image': {'key': 'properties.osDiskImage', 'type': 'OSDiskImage'}, 6748 'data_disk_images': {'key': 'properties.dataDiskImages', 'type': '[DataDiskImage]'}, 6749 'automatic_os_upgrade_properties': {'key': 'properties.automaticOSUpgradeProperties', 'type': 'AutomaticOSUpgradeProperties'}, 6750 'hyper_v_generation': {'key': 'properties.hyperVGeneration', 'type': 'str'}, 6751 } 6752 6753 def __init__( 6754 self, 6755 *, 6756 name: str, 6757 location: str, 6758 id: Optional[str] = None, 6759 tags: Optional[Dict[str, str]] = None, 6760 plan: Optional["PurchasePlan"] = None, 6761 os_disk_image: Optional["OSDiskImage"] = None, 6762 data_disk_images: Optional[List["DataDiskImage"]] = None, 6763 automatic_os_upgrade_properties: Optional["AutomaticOSUpgradeProperties"] = None, 6764 hyper_v_generation: Optional[Union[str, "HyperVGenerationTypes"]] = None, 6765 **kwargs 6766 ): 6767 super(VirtualMachineImage, self).__init__(id=id, name=name, location=location, tags=tags, **kwargs) 6768 self.plan = plan 6769 self.os_disk_image = os_disk_image 6770 self.data_disk_images = data_disk_images 6771 self.automatic_os_upgrade_properties = automatic_os_upgrade_properties 6772 self.hyper_v_generation = hyper_v_generation 6773 6774 6775class VirtualMachineInstanceView(msrest.serialization.Model): 6776 """The instance view of a virtual machine. 6777 6778 :param platform_update_domain: Specifies the update domain of the virtual machine. 6779 :type platform_update_domain: int 6780 :param platform_fault_domain: Specifies the fault domain of the virtual machine. 6781 :type platform_fault_domain: int 6782 :param computer_name: The computer name assigned to the virtual machine. 6783 :type computer_name: str 6784 :param os_name: The Operating System running on the virtual machine. 6785 :type os_name: str 6786 :param os_version: The version of Operating System running on the virtual machine. 6787 :type os_version: str 6788 :param hyper_v_generation: Specifies the HyperVGeneration Type associated with a resource. 6789 Possible values include: "V1", "V2". 6790 :type hyper_v_generation: str or ~azure.mgmt.compute.v2019_03_01.models.HyperVGenerationType 6791 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 6792 :type rdp_thumb_print: str 6793 :param vm_agent: The VM Agent running on the virtual machine. 6794 :type vm_agent: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineAgentInstanceView 6795 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 6796 :type maintenance_redeploy_status: 6797 ~azure.mgmt.compute.v2019_03_01.models.MaintenanceRedeployStatus 6798 :param disks: The virtual machine disk information. 6799 :type disks: list[~azure.mgmt.compute.v2019_03_01.models.DiskInstanceView] 6800 :param extensions: The extensions information. 6801 :type extensions: 6802 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtensionInstanceView] 6803 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 6804 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 6805 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 6806 screenshot of the VM from the hypervisor. 6807 :type boot_diagnostics: ~azure.mgmt.compute.v2019_03_01.models.BootDiagnosticsInstanceView 6808 :param statuses: The resource status information. 6809 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 6810 """ 6811 6812 _attribute_map = { 6813 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 6814 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 6815 'computer_name': {'key': 'computerName', 'type': 'str'}, 6816 'os_name': {'key': 'osName', 'type': 'str'}, 6817 'os_version': {'key': 'osVersion', 'type': 'str'}, 6818 'hyper_v_generation': {'key': 'hyperVGeneration', 'type': 'str'}, 6819 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 6820 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 6821 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 6822 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 6823 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 6824 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 6825 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 6826 } 6827 6828 def __init__( 6829 self, 6830 *, 6831 platform_update_domain: Optional[int] = None, 6832 platform_fault_domain: Optional[int] = None, 6833 computer_name: Optional[str] = None, 6834 os_name: Optional[str] = None, 6835 os_version: Optional[str] = None, 6836 hyper_v_generation: Optional[Union[str, "HyperVGenerationType"]] = None, 6837 rdp_thumb_print: Optional[str] = None, 6838 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 6839 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 6840 disks: Optional[List["DiskInstanceView"]] = None, 6841 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 6842 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 6843 statuses: Optional[List["InstanceViewStatus"]] = None, 6844 **kwargs 6845 ): 6846 super(VirtualMachineInstanceView, self).__init__(**kwargs) 6847 self.platform_update_domain = platform_update_domain 6848 self.platform_fault_domain = platform_fault_domain 6849 self.computer_name = computer_name 6850 self.os_name = os_name 6851 self.os_version = os_version 6852 self.hyper_v_generation = hyper_v_generation 6853 self.rdp_thumb_print = rdp_thumb_print 6854 self.vm_agent = vm_agent 6855 self.maintenance_redeploy_status = maintenance_redeploy_status 6856 self.disks = disks 6857 self.extensions = extensions 6858 self.boot_diagnostics = boot_diagnostics 6859 self.statuses = statuses 6860 6861 6862class VirtualMachineListResult(msrest.serialization.Model): 6863 """The List Virtual Machine operation response. 6864 6865 All required parameters must be populated in order to send to Azure. 6866 6867 :param value: Required. The list of virtual machines. 6868 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachine] 6869 :param next_link: The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch 6870 the next page of Virtual Machines. 6871 :type next_link: str 6872 """ 6873 6874 _validation = { 6875 'value': {'required': True}, 6876 } 6877 6878 _attribute_map = { 6879 'value': {'key': 'value', 'type': '[VirtualMachine]'}, 6880 'next_link': {'key': 'nextLink', 'type': 'str'}, 6881 } 6882 6883 def __init__( 6884 self, 6885 *, 6886 value: List["VirtualMachine"], 6887 next_link: Optional[str] = None, 6888 **kwargs 6889 ): 6890 super(VirtualMachineListResult, self).__init__(**kwargs) 6891 self.value = value 6892 self.next_link = next_link 6893 6894 6895class VirtualMachineReimageParameters(msrest.serialization.Model): 6896 """Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged. 6897 6898 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 6899 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 6900 :type temp_disk: bool 6901 """ 6902 6903 _attribute_map = { 6904 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 6905 } 6906 6907 def __init__( 6908 self, 6909 *, 6910 temp_disk: Optional[bool] = None, 6911 **kwargs 6912 ): 6913 super(VirtualMachineReimageParameters, self).__init__(**kwargs) 6914 self.temp_disk = temp_disk 6915 6916 6917class VirtualMachineScaleSet(Resource): 6918 """Describes a Virtual Machine Scale Set. 6919 6920 Variables are only populated by the server, and will be ignored when sending a request. 6921 6922 All required parameters must be populated in order to send to Azure. 6923 6924 :ivar id: Resource Id. 6925 :vartype id: str 6926 :ivar name: Resource name. 6927 :vartype name: str 6928 :ivar type: Resource type. 6929 :vartype type: str 6930 :param location: Required. Resource location. 6931 :type location: str 6932 :param tags: A set of tags. Resource tags. 6933 :type tags: dict[str, str] 6934 :param sku: The virtual machine scale set sku. 6935 :type sku: ~azure.mgmt.compute.v2019_03_01.models.Sku 6936 :param plan: Specifies information about the marketplace image used to create the virtual 6937 machine. This element is only used for marketplace images. Before you can use a marketplace 6938 image from an API, you must enable the image for programmatic use. In the Azure portal, find 6939 the marketplace image that you want to use and then click **Want to deploy programmatically, 6940 Get Started ->**. Enter any required information and then click **Save**. 6941 :type plan: ~azure.mgmt.compute.v2019_03_01.models.Plan 6942 :param identity: The identity of the virtual machine scale set, if configured. 6943 :type identity: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetIdentity 6944 :param zones: The virtual machine scale set zones. NOTE: Availability zones can only be set 6945 when you create the scale set. 6946 :type zones: list[str] 6947 :param upgrade_policy: The upgrade policy. 6948 :type upgrade_policy: ~azure.mgmt.compute.v2019_03_01.models.UpgradePolicy 6949 :param automatic_repairs_policy: Policy for automatic repairs. 6950 :type automatic_repairs_policy: ~azure.mgmt.compute.v2019_03_01.models.AutomaticRepairsPolicy 6951 :param virtual_machine_profile: The virtual machine profile. 6952 :type virtual_machine_profile: 6953 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVMProfile 6954 :ivar provisioning_state: The provisioning state, which only appears in the response. 6955 :vartype provisioning_state: str 6956 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 6957 overprovisioned. 6958 :type overprovision: bool 6959 :param do_not_run_extensions_on_overprovisioned_v_ms: When Overprovision is enabled, extensions 6960 are launched only on the requested number of VMs which are finally kept. This property will 6961 hence ensure that the extensions do not run on the extra overprovisioned VMs. 6962 :type do_not_run_extensions_on_overprovisioned_v_ms: bool 6963 :ivar unique_id: Specifies the ID which uniquely identifies a Virtual Machine Scale Set. 6964 :vartype unique_id: str 6965 :param single_placement_group: When true this limits the scale set to a single placement group, 6966 of max size 100 virtual machines. 6967 :type single_placement_group: bool 6968 :param zone_balance: Whether to force strictly even Virtual Machine distribution cross x-zones 6969 in case there is zone outage. 6970 :type zone_balance: bool 6971 :param platform_fault_domain_count: Fault Domain count for each placement group. 6972 :type platform_fault_domain_count: int 6973 :param proximity_placement_group: Specifies information about the proximity placement group 6974 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 6975 api-version: 2018-04-01. 6976 :type proximity_placement_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 6977 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 6978 Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines 6979 have the capability to support attaching managed data disks with UltraSSD_LRS storage account 6980 type. 6981 :type additional_capabilities: ~azure.mgmt.compute.v2019_03_01.models.AdditionalCapabilities 6982 :param scale_in_policy: Specifies the scale-in policy that decides which virtual machines are 6983 chosen for removal when a Virtual Machine Scale Set is scaled-in. 6984 :type scale_in_policy: ~azure.mgmt.compute.v2019_03_01.models.ScaleInPolicy 6985 """ 6986 6987 _validation = { 6988 'id': {'readonly': True}, 6989 'name': {'readonly': True}, 6990 'type': {'readonly': True}, 6991 'location': {'required': True}, 6992 'provisioning_state': {'readonly': True}, 6993 'unique_id': {'readonly': True}, 6994 } 6995 6996 _attribute_map = { 6997 'id': {'key': 'id', 'type': 'str'}, 6998 'name': {'key': 'name', 'type': 'str'}, 6999 'type': {'key': 'type', 'type': 'str'}, 7000 'location': {'key': 'location', 'type': 'str'}, 7001 'tags': {'key': 'tags', 'type': '{str}'}, 7002 'sku': {'key': 'sku', 'type': 'Sku'}, 7003 'plan': {'key': 'plan', 'type': 'Plan'}, 7004 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 7005 'zones': {'key': 'zones', 'type': '[str]'}, 7006 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 7007 'automatic_repairs_policy': {'key': 'properties.automaticRepairsPolicy', 'type': 'AutomaticRepairsPolicy'}, 7008 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetVMProfile'}, 7009 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7010 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 7011 'do_not_run_extensions_on_overprovisioned_v_ms': {'key': 'properties.doNotRunExtensionsOnOverprovisionedVMs', 'type': 'bool'}, 7012 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 7013 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 7014 'zone_balance': {'key': 'properties.zoneBalance', 'type': 'bool'}, 7015 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 7016 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 7017 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 7018 'scale_in_policy': {'key': 'properties.scaleInPolicy', 'type': 'ScaleInPolicy'}, 7019 } 7020 7021 def __init__( 7022 self, 7023 *, 7024 location: str, 7025 tags: Optional[Dict[str, str]] = None, 7026 sku: Optional["Sku"] = None, 7027 plan: Optional["Plan"] = None, 7028 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 7029 zones: Optional[List[str]] = None, 7030 upgrade_policy: Optional["UpgradePolicy"] = None, 7031 automatic_repairs_policy: Optional["AutomaticRepairsPolicy"] = None, 7032 virtual_machine_profile: Optional["VirtualMachineScaleSetVMProfile"] = None, 7033 overprovision: Optional[bool] = None, 7034 do_not_run_extensions_on_overprovisioned_v_ms: Optional[bool] = None, 7035 single_placement_group: Optional[bool] = None, 7036 zone_balance: Optional[bool] = None, 7037 platform_fault_domain_count: Optional[int] = None, 7038 proximity_placement_group: Optional["SubResource"] = None, 7039 additional_capabilities: Optional["AdditionalCapabilities"] = None, 7040 scale_in_policy: Optional["ScaleInPolicy"] = None, 7041 **kwargs 7042 ): 7043 super(VirtualMachineScaleSet, self).__init__(location=location, tags=tags, **kwargs) 7044 self.sku = sku 7045 self.plan = plan 7046 self.identity = identity 7047 self.zones = zones 7048 self.upgrade_policy = upgrade_policy 7049 self.automatic_repairs_policy = automatic_repairs_policy 7050 self.virtual_machine_profile = virtual_machine_profile 7051 self.provisioning_state = None 7052 self.overprovision = overprovision 7053 self.do_not_run_extensions_on_overprovisioned_v_ms = do_not_run_extensions_on_overprovisioned_v_ms 7054 self.unique_id = None 7055 self.single_placement_group = single_placement_group 7056 self.zone_balance = zone_balance 7057 self.platform_fault_domain_count = platform_fault_domain_count 7058 self.proximity_placement_group = proximity_placement_group 7059 self.additional_capabilities = additional_capabilities 7060 self.scale_in_policy = scale_in_policy 7061 7062 7063class VirtualMachineScaleSetDataDisk(msrest.serialization.Model): 7064 """Describes a virtual machine scale set data disk. 7065 7066 All required parameters must be populated in order to send to Azure. 7067 7068 :param name: The disk name. 7069 :type name: str 7070 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 7071 identify data disks within the VM and therefore must be unique for each data disk attached to a 7072 VM. 7073 :type lun: int 7074 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 7075 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 7076 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 7077 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 7078 "ReadWrite". 7079 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 7080 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 7081 disabled on the disk. 7082 :type write_accelerator_enabled: bool 7083 :param create_option: Required. The create option. Possible values include: "FromImage", 7084 "Empty", "Attach". 7085 :type create_option: str or ~azure.mgmt.compute.v2019_03_01.models.DiskCreateOptionTypes 7086 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 7087 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 7088 This value cannot be larger than 1023 GB. 7089 :type disk_size_gb: int 7090 :param managed_disk: The managed disk parameters. 7091 :type managed_disk: 7092 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetManagedDiskParameters 7093 """ 7094 7095 _validation = { 7096 'lun': {'required': True}, 7097 'create_option': {'required': True}, 7098 } 7099 7100 _attribute_map = { 7101 'name': {'key': 'name', 'type': 'str'}, 7102 'lun': {'key': 'lun', 'type': 'int'}, 7103 'caching': {'key': 'caching', 'type': 'str'}, 7104 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 7105 'create_option': {'key': 'createOption', 'type': 'str'}, 7106 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 7107 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 7108 } 7109 7110 def __init__( 7111 self, 7112 *, 7113 lun: int, 7114 create_option: Union[str, "DiskCreateOptionTypes"], 7115 name: Optional[str] = None, 7116 caching: Optional[Union[str, "CachingTypes"]] = None, 7117 write_accelerator_enabled: Optional[bool] = None, 7118 disk_size_gb: Optional[int] = None, 7119 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 7120 **kwargs 7121 ): 7122 super(VirtualMachineScaleSetDataDisk, self).__init__(**kwargs) 7123 self.name = name 7124 self.lun = lun 7125 self.caching = caching 7126 self.write_accelerator_enabled = write_accelerator_enabled 7127 self.create_option = create_option 7128 self.disk_size_gb = disk_size_gb 7129 self.managed_disk = managed_disk 7130 7131 7132class VirtualMachineScaleSetExtension(SubResourceReadOnly): 7133 """Describes a Virtual Machine Scale Set Extension. 7134 7135 Variables are only populated by the server, and will be ignored when sending a request. 7136 7137 :ivar id: Resource Id. 7138 :vartype id: str 7139 :param name: The name of the extension. 7140 :type name: str 7141 :param force_update_tag: If a value is provided and is different from the previous value, the 7142 extension handler will be forced to update even if the extension configuration has not changed. 7143 :type force_update_tag: str 7144 :param publisher: The name of the extension handler publisher. 7145 :type publisher: str 7146 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 7147 :type type: str 7148 :param type_handler_version: Specifies the version of the script handler. 7149 :type type_handler_version: str 7150 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 7151 version if one is available at deployment time. Once deployed, however, the extension will not 7152 upgrade minor versions unless redeployed, even with this property set to true. 7153 :type auto_upgrade_minor_version: bool 7154 :param settings: Json formatted public settings for the extension. 7155 :type settings: any 7156 :param protected_settings: The extension can contain either protectedSettings or 7157 protectedSettingsFromKeyVault or no protected settings at all. 7158 :type protected_settings: any 7159 :ivar provisioning_state: The provisioning state, which only appears in the response. 7160 :vartype provisioning_state: str 7161 :param provision_after_extensions: Collection of extension names after which this extension 7162 needs to be provisioned. 7163 :type provision_after_extensions: list[str] 7164 """ 7165 7166 _validation = { 7167 'id': {'readonly': True}, 7168 'provisioning_state': {'readonly': True}, 7169 } 7170 7171 _attribute_map = { 7172 'id': {'key': 'id', 'type': 'str'}, 7173 'name': {'key': 'name', 'type': 'str'}, 7174 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 7175 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 7176 'type': {'key': 'properties.type', 'type': 'str'}, 7177 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 7178 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 7179 'settings': {'key': 'properties.settings', 'type': 'object'}, 7180 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 7181 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7182 'provision_after_extensions': {'key': 'properties.provisionAfterExtensions', 'type': '[str]'}, 7183 } 7184 7185 def __init__( 7186 self, 7187 *, 7188 name: Optional[str] = None, 7189 force_update_tag: Optional[str] = None, 7190 publisher: Optional[str] = None, 7191 type: Optional[str] = None, 7192 type_handler_version: Optional[str] = None, 7193 auto_upgrade_minor_version: Optional[bool] = None, 7194 settings: Optional[Any] = None, 7195 protected_settings: Optional[Any] = None, 7196 provision_after_extensions: Optional[List[str]] = None, 7197 **kwargs 7198 ): 7199 super(VirtualMachineScaleSetExtension, self).__init__(**kwargs) 7200 self.name = name 7201 self.force_update_tag = force_update_tag 7202 self.publisher = publisher 7203 self.type = type 7204 self.type_handler_version = type_handler_version 7205 self.auto_upgrade_minor_version = auto_upgrade_minor_version 7206 self.settings = settings 7207 self.protected_settings = protected_settings 7208 self.provisioning_state = None 7209 self.provision_after_extensions = provision_after_extensions 7210 7211 7212class VirtualMachineScaleSetExtensionListResult(msrest.serialization.Model): 7213 """The List VM scale set extension operation response. 7214 7215 All required parameters must be populated in order to send to Azure. 7216 7217 :param value: Required. The list of VM scale set extensions. 7218 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetExtension] 7219 :param next_link: The uri to fetch the next page of VM scale set extensions. Call ListNext() 7220 with this to fetch the next page of VM scale set extensions. 7221 :type next_link: str 7222 """ 7223 7224 _validation = { 7225 'value': {'required': True}, 7226 } 7227 7228 _attribute_map = { 7229 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetExtension]'}, 7230 'next_link': {'key': 'nextLink', 'type': 'str'}, 7231 } 7232 7233 def __init__( 7234 self, 7235 *, 7236 value: List["VirtualMachineScaleSetExtension"], 7237 next_link: Optional[str] = None, 7238 **kwargs 7239 ): 7240 super(VirtualMachineScaleSetExtensionListResult, self).__init__(**kwargs) 7241 self.value = value 7242 self.next_link = next_link 7243 7244 7245class VirtualMachineScaleSetExtensionProfile(msrest.serialization.Model): 7246 """Describes a virtual machine scale set extension profile. 7247 7248 :param extensions: The virtual machine scale set child extension resources. 7249 :type extensions: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetExtension] 7250 """ 7251 7252 _attribute_map = { 7253 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetExtension]'}, 7254 } 7255 7256 def __init__( 7257 self, 7258 *, 7259 extensions: Optional[List["VirtualMachineScaleSetExtension"]] = None, 7260 **kwargs 7261 ): 7262 super(VirtualMachineScaleSetExtensionProfile, self).__init__(**kwargs) 7263 self.extensions = extensions 7264 7265 7266class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 7267 """Identity for the virtual machine scale set. 7268 7269 Variables are only populated by the server, and will be ignored when sending a request. 7270 7271 :ivar principal_id: The principal id of virtual machine scale set identity. This property will 7272 only be provided for a system assigned identity. 7273 :vartype principal_id: str 7274 :ivar tenant_id: The tenant id associated with the virtual machine scale set. This property 7275 will only be provided for a system assigned identity. 7276 :vartype tenant_id: str 7277 :param type: The type of identity used for the virtual machine scale set. The type 7278 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user 7279 assigned identities. The type 'None' will remove any identities from the virtual machine scale 7280 set. Possible values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", 7281 "None". 7282 :type type: str or ~azure.mgmt.compute.v2019_03_01.models.ResourceIdentityType 7283 :param user_assigned_identities: The list of user identities associated with the virtual 7284 machine scale set. The user identity dictionary key references will be ARM resource ids in the 7285 form: 7286 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 7287 :type user_assigned_identities: dict[str, 7288 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue] 7289 """ 7290 7291 _validation = { 7292 'principal_id': {'readonly': True}, 7293 'tenant_id': {'readonly': True}, 7294 } 7295 7296 _attribute_map = { 7297 'principal_id': {'key': 'principalId', 'type': 'str'}, 7298 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 7299 'type': {'key': 'type', 'type': 'str'}, 7300 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue}'}, 7301 } 7302 7303 def __init__( 7304 self, 7305 *, 7306 type: Optional[Union[str, "ResourceIdentityType"]] = None, 7307 user_assigned_identities: Optional[Dict[str, "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue"]] = None, 7308 **kwargs 7309 ): 7310 super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) 7311 self.principal_id = None 7312 self.tenant_id = None 7313 self.type = type 7314 self.user_assigned_identities = user_assigned_identities 7315 7316 7317class VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): 7318 """VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue. 7319 7320 Variables are only populated by the server, and will be ignored when sending a request. 7321 7322 :ivar principal_id: The principal id of user assigned identity. 7323 :vartype principal_id: str 7324 :ivar client_id: The client id of user assigned identity. 7325 :vartype client_id: str 7326 """ 7327 7328 _validation = { 7329 'principal_id': {'readonly': True}, 7330 'client_id': {'readonly': True}, 7331 } 7332 7333 _attribute_map = { 7334 'principal_id': {'key': 'principalId', 'type': 'str'}, 7335 'client_id': {'key': 'clientId', 'type': 'str'}, 7336 } 7337 7338 def __init__( 7339 self, 7340 **kwargs 7341 ): 7342 super(VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) 7343 self.principal_id = None 7344 self.client_id = None 7345 7346 7347class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): 7348 """The instance view of a virtual machine scale set. 7349 7350 Variables are only populated by the server, and will be ignored when sending a request. 7351 7352 :ivar virtual_machine: The instance view status summary for the virtual machine scale set. 7353 :vartype virtual_machine: 7354 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetInstanceViewStatusesSummary 7355 :ivar extensions: The extensions information. 7356 :vartype extensions: 7357 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVMExtensionsSummary] 7358 :param statuses: The resource status information. 7359 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 7360 """ 7361 7362 _validation = { 7363 'virtual_machine': {'readonly': True}, 7364 'extensions': {'readonly': True}, 7365 } 7366 7367 _attribute_map = { 7368 'virtual_machine': {'key': 'virtualMachine', 'type': 'VirtualMachineScaleSetInstanceViewStatusesSummary'}, 7369 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetVMExtensionsSummary]'}, 7370 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 7371 } 7372 7373 def __init__( 7374 self, 7375 *, 7376 statuses: Optional[List["InstanceViewStatus"]] = None, 7377 **kwargs 7378 ): 7379 super(VirtualMachineScaleSetInstanceView, self).__init__(**kwargs) 7380 self.virtual_machine = None 7381 self.extensions = None 7382 self.statuses = statuses 7383 7384 7385class VirtualMachineScaleSetInstanceViewStatusesSummary(msrest.serialization.Model): 7386 """Instance view statuses summary for virtual machines of a virtual machine scale set. 7387 7388 Variables are only populated by the server, and will be ignored when sending a request. 7389 7390 :ivar statuses_summary: The extensions information. 7391 :vartype statuses_summary: 7392 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineStatusCodeCount] 7393 """ 7394 7395 _validation = { 7396 'statuses_summary': {'readonly': True}, 7397 } 7398 7399 _attribute_map = { 7400 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 7401 } 7402 7403 def __init__( 7404 self, 7405 **kwargs 7406 ): 7407 super(VirtualMachineScaleSetInstanceViewStatusesSummary, self).__init__(**kwargs) 7408 self.statuses_summary = None 7409 7410 7411class VirtualMachineScaleSetIPConfiguration(SubResource): 7412 """Describes a virtual machine scale set network profile's IP configuration. 7413 7414 All required parameters must be populated in order to send to Azure. 7415 7416 :param id: Resource Id. 7417 :type id: str 7418 :param name: Required. The IP configuration name. 7419 :type name: str 7420 :param subnet: Specifies the identifier of the subnet. 7421 :type subnet: ~azure.mgmt.compute.v2019_03_01.models.ApiEntityReference 7422 :param primary: Specifies the primary network interface in case the virtual machine has more 7423 than 1 network interface. 7424 :type primary: bool 7425 :param public_ip_address_configuration: The publicIPAddressConfiguration. 7426 :type public_ip_address_configuration: 7427 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetPublicIPAddressConfiguration 7428 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 7429 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 7430 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 7431 :type private_ip_address_version: str or ~azure.mgmt.compute.v2019_03_01.models.IPVersion 7432 :param application_gateway_backend_address_pools: Specifies an array of references to backend 7433 address pools of application gateways. A scale set can reference backend address pools of 7434 multiple application gateways. Multiple scale sets cannot use the same application gateway. 7435 :type application_gateway_backend_address_pools: 7436 list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 7437 :param application_security_groups: Specifies an array of references to application security 7438 group. 7439 :type application_security_groups: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 7440 :param load_balancer_backend_address_pools: Specifies an array of references to backend address 7441 pools of load balancers. A scale set can reference backend address pools of one public and one 7442 internal load balancer. Multiple scale sets cannot use the same load balancer. 7443 :type load_balancer_backend_address_pools: 7444 list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 7445 :param load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools 7446 of the load balancers. A scale set can reference inbound nat pools of one public and one 7447 internal load balancer. Multiple scale sets cannot use the same load balancer. 7448 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 7449 """ 7450 7451 _validation = { 7452 'name': {'required': True}, 7453 } 7454 7455 _attribute_map = { 7456 'id': {'key': 'id', 'type': 'str'}, 7457 'name': {'key': 'name', 'type': 'str'}, 7458 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 7459 'primary': {'key': 'properties.primary', 'type': 'bool'}, 7460 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetPublicIPAddressConfiguration'}, 7461 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 7462 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 7463 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[SubResource]'}, 7464 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 7465 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 7466 } 7467 7468 def __init__( 7469 self, 7470 *, 7471 name: str, 7472 id: Optional[str] = None, 7473 subnet: Optional["ApiEntityReference"] = None, 7474 primary: Optional[bool] = None, 7475 public_ip_address_configuration: Optional["VirtualMachineScaleSetPublicIPAddressConfiguration"] = None, 7476 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 7477 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 7478 application_security_groups: Optional[List["SubResource"]] = None, 7479 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 7480 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 7481 **kwargs 7482 ): 7483 super(VirtualMachineScaleSetIPConfiguration, self).__init__(id=id, **kwargs) 7484 self.name = name 7485 self.subnet = subnet 7486 self.primary = primary 7487 self.public_ip_address_configuration = public_ip_address_configuration 7488 self.private_ip_address_version = private_ip_address_version 7489 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 7490 self.application_security_groups = application_security_groups 7491 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 7492 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 7493 7494 7495class VirtualMachineScaleSetIpTag(msrest.serialization.Model): 7496 """Contains the IP tag associated with the public IP address. 7497 7498 :param ip_tag_type: IP tag type. Example: FirstPartyUsage. 7499 :type ip_tag_type: str 7500 :param tag: IP tag associated with the public IP. Example: SQL, Storage etc. 7501 :type tag: str 7502 """ 7503 7504 _attribute_map = { 7505 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 7506 'tag': {'key': 'tag', 'type': 'str'}, 7507 } 7508 7509 def __init__( 7510 self, 7511 *, 7512 ip_tag_type: Optional[str] = None, 7513 tag: Optional[str] = None, 7514 **kwargs 7515 ): 7516 super(VirtualMachineScaleSetIpTag, self).__init__(**kwargs) 7517 self.ip_tag_type = ip_tag_type 7518 self.tag = tag 7519 7520 7521class VirtualMachineScaleSetListOSUpgradeHistory(msrest.serialization.Model): 7522 """List of Virtual Machine Scale Set OS Upgrade History operation response. 7523 7524 All required parameters must be populated in order to send to Azure. 7525 7526 :param value: Required. The list of OS upgrades performed on the virtual machine scale set. 7527 :type value: list[~azure.mgmt.compute.v2019_03_01.models.UpgradeOperationHistoricalStatusInfo] 7528 :param next_link: The uri to fetch the next page of OS Upgrade History. Call ListNext() with 7529 this to fetch the next page of history of upgrades. 7530 :type next_link: str 7531 """ 7532 7533 _validation = { 7534 'value': {'required': True}, 7535 } 7536 7537 _attribute_map = { 7538 'value': {'key': 'value', 'type': '[UpgradeOperationHistoricalStatusInfo]'}, 7539 'next_link': {'key': 'nextLink', 'type': 'str'}, 7540 } 7541 7542 def __init__( 7543 self, 7544 *, 7545 value: List["UpgradeOperationHistoricalStatusInfo"], 7546 next_link: Optional[str] = None, 7547 **kwargs 7548 ): 7549 super(VirtualMachineScaleSetListOSUpgradeHistory, self).__init__(**kwargs) 7550 self.value = value 7551 self.next_link = next_link 7552 7553 7554class VirtualMachineScaleSetListResult(msrest.serialization.Model): 7555 """The List Virtual Machine operation response. 7556 7557 All required parameters must be populated in order to send to Azure. 7558 7559 :param value: Required. The list of virtual machine scale sets. 7560 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSet] 7561 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 7562 with this to fetch the next page of VMSS. 7563 :type next_link: str 7564 """ 7565 7566 _validation = { 7567 'value': {'required': True}, 7568 } 7569 7570 _attribute_map = { 7571 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 7572 'next_link': {'key': 'nextLink', 'type': 'str'}, 7573 } 7574 7575 def __init__( 7576 self, 7577 *, 7578 value: List["VirtualMachineScaleSet"], 7579 next_link: Optional[str] = None, 7580 **kwargs 7581 ): 7582 super(VirtualMachineScaleSetListResult, self).__init__(**kwargs) 7583 self.value = value 7584 self.next_link = next_link 7585 7586 7587class VirtualMachineScaleSetListSkusResult(msrest.serialization.Model): 7588 """The Virtual Machine Scale Set List Skus operation response. 7589 7590 All required parameters must be populated in order to send to Azure. 7591 7592 :param value: Required. The list of skus available for the virtual machine scale set. 7593 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetSku] 7594 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set Skus. Call 7595 ListNext() with this to fetch the next page of VMSS Skus. 7596 :type next_link: str 7597 """ 7598 7599 _validation = { 7600 'value': {'required': True}, 7601 } 7602 7603 _attribute_map = { 7604 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetSku]'}, 7605 'next_link': {'key': 'nextLink', 'type': 'str'}, 7606 } 7607 7608 def __init__( 7609 self, 7610 *, 7611 value: List["VirtualMachineScaleSetSku"], 7612 next_link: Optional[str] = None, 7613 **kwargs 7614 ): 7615 super(VirtualMachineScaleSetListSkusResult, self).__init__(**kwargs) 7616 self.value = value 7617 self.next_link = next_link 7618 7619 7620class VirtualMachineScaleSetListWithLinkResult(msrest.serialization.Model): 7621 """The List Virtual Machine operation response. 7622 7623 All required parameters must be populated in order to send to Azure. 7624 7625 :param value: Required. The list of virtual machine scale sets. 7626 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSet] 7627 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 7628 with this to fetch the next page of Virtual Machine Scale Sets. 7629 :type next_link: str 7630 """ 7631 7632 _validation = { 7633 'value': {'required': True}, 7634 } 7635 7636 _attribute_map = { 7637 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 7638 'next_link': {'key': 'nextLink', 'type': 'str'}, 7639 } 7640 7641 def __init__( 7642 self, 7643 *, 7644 value: List["VirtualMachineScaleSet"], 7645 next_link: Optional[str] = None, 7646 **kwargs 7647 ): 7648 super(VirtualMachineScaleSetListWithLinkResult, self).__init__(**kwargs) 7649 self.value = value 7650 self.next_link = next_link 7651 7652 7653class VirtualMachineScaleSetManagedDiskParameters(msrest.serialization.Model): 7654 """Describes the parameters of a ScaleSet managed disk. 7655 7656 :param storage_account_type: Specifies the storage account type for the managed disk. Managed 7657 OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS 7658 can only be used with data disks, it cannot be used with OS Disk. Possible values include: 7659 "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS". 7660 :type storage_account_type: str or ~azure.mgmt.compute.v2019_03_01.models.StorageAccountTypes 7661 """ 7662 7663 _attribute_map = { 7664 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 7665 } 7666 7667 def __init__( 7668 self, 7669 *, 7670 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 7671 **kwargs 7672 ): 7673 super(VirtualMachineScaleSetManagedDiskParameters, self).__init__(**kwargs) 7674 self.storage_account_type = storage_account_type 7675 7676 7677class VirtualMachineScaleSetNetworkConfiguration(SubResource): 7678 """Describes a virtual machine scale set network profile's network configurations. 7679 7680 All required parameters must be populated in order to send to Azure. 7681 7682 :param id: Resource Id. 7683 :type id: str 7684 :param name: Required. The network configuration name. 7685 :type name: str 7686 :param primary: Specifies the primary network interface in case the virtual machine has more 7687 than 1 network interface. 7688 :type primary: bool 7689 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 7690 networking-enabled. 7691 :type enable_accelerated_networking: bool 7692 :param network_security_group: The network security group. 7693 :type network_security_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 7694 :param dns_settings: The dns settings to be applied on the network interfaces. 7695 :type dns_settings: 7696 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 7697 :param ip_configurations: Specifies the IP configurations of the network interface. 7698 :type ip_configurations: 7699 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetIPConfiguration] 7700 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 7701 :type enable_ip_forwarding: bool 7702 """ 7703 7704 _validation = { 7705 'name': {'required': True}, 7706 } 7707 7708 _attribute_map = { 7709 'id': {'key': 'id', 'type': 'str'}, 7710 'name': {'key': 'name', 'type': 'str'}, 7711 'primary': {'key': 'properties.primary', 'type': 'bool'}, 7712 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 7713 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 7714 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 7715 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetIPConfiguration]'}, 7716 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 7717 } 7718 7719 def __init__( 7720 self, 7721 *, 7722 name: str, 7723 id: Optional[str] = None, 7724 primary: Optional[bool] = None, 7725 enable_accelerated_networking: Optional[bool] = None, 7726 network_security_group: Optional["SubResource"] = None, 7727 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 7728 ip_configurations: Optional[List["VirtualMachineScaleSetIPConfiguration"]] = None, 7729 enable_ip_forwarding: Optional[bool] = None, 7730 **kwargs 7731 ): 7732 super(VirtualMachineScaleSetNetworkConfiguration, self).__init__(id=id, **kwargs) 7733 self.name = name 7734 self.primary = primary 7735 self.enable_accelerated_networking = enable_accelerated_networking 7736 self.network_security_group = network_security_group 7737 self.dns_settings = dns_settings 7738 self.ip_configurations = ip_configurations 7739 self.enable_ip_forwarding = enable_ip_forwarding 7740 7741 7742class VirtualMachineScaleSetNetworkConfigurationDnsSettings(msrest.serialization.Model): 7743 """Describes a virtual machines scale sets network configuration's DNS settings. 7744 7745 :param dns_servers: List of DNS servers IP addresses. 7746 :type dns_servers: list[str] 7747 """ 7748 7749 _attribute_map = { 7750 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 7751 } 7752 7753 def __init__( 7754 self, 7755 *, 7756 dns_servers: Optional[List[str]] = None, 7757 **kwargs 7758 ): 7759 super(VirtualMachineScaleSetNetworkConfigurationDnsSettings, self).__init__(**kwargs) 7760 self.dns_servers = dns_servers 7761 7762 7763class VirtualMachineScaleSetNetworkProfile(msrest.serialization.Model): 7764 """Describes a virtual machine scale set network profile. 7765 7766 :param health_probe: A reference to a load balancer probe used to determine the health of an 7767 instance in the virtual machine scale set. The reference will be in the form: 7768 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. 7769 :type health_probe: ~azure.mgmt.compute.v2019_03_01.models.ApiEntityReference 7770 :param network_interface_configurations: The list of network configurations. 7771 :type network_interface_configurations: 7772 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetNetworkConfiguration] 7773 """ 7774 7775 _attribute_map = { 7776 'health_probe': {'key': 'healthProbe', 'type': 'ApiEntityReference'}, 7777 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetNetworkConfiguration]'}, 7778 } 7779 7780 def __init__( 7781 self, 7782 *, 7783 health_probe: Optional["ApiEntityReference"] = None, 7784 network_interface_configurations: Optional[List["VirtualMachineScaleSetNetworkConfiguration"]] = None, 7785 **kwargs 7786 ): 7787 super(VirtualMachineScaleSetNetworkProfile, self).__init__(**kwargs) 7788 self.health_probe = health_probe 7789 self.network_interface_configurations = network_interface_configurations 7790 7791 7792class VirtualMachineScaleSetOSDisk(msrest.serialization.Model): 7793 """Describes a virtual machine scale set operating system disk. 7794 7795 All required parameters must be populated in order to send to Azure. 7796 7797 :param name: The disk name. 7798 :type name: str 7799 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 7800 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 7801 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 7802 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 7803 "ReadWrite". 7804 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 7805 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 7806 disabled on the disk. 7807 :type write_accelerator_enabled: bool 7808 :param create_option: Required. Specifies how the virtual machines in the scale set should be 7809 created.:code:`<br>`:code:`<br>` The only allowed value is: **FromImage** \u2013 This value is 7810 used when you are using an image to create the virtual machine. If you are using a platform 7811 image, you also use the imageReference element described above. If you are using a marketplace 7812 image, you also use the plan element previously described. Possible values include: 7813 "FromImage", "Empty", "Attach". 7814 :type create_option: str or ~azure.mgmt.compute.v2019_03_01.models.DiskCreateOptionTypes 7815 :param diff_disk_settings: Specifies the ephemeral disk Settings for the operating system disk 7816 used by the virtual machine scale set. 7817 :type diff_disk_settings: ~azure.mgmt.compute.v2019_03_01.models.DiffDiskSettings 7818 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 7819 can be used to overwrite the size of the disk in a virtual machine image. 7820 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 7821 :type disk_size_gb: int 7822 :param os_type: This property allows you to specify the type of the OS that is included in the 7823 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 7824 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 7825 values include: "Windows", "Linux". 7826 :type os_type: str or ~azure.mgmt.compute.v2019_03_01.models.OperatingSystemTypes 7827 :param image: Specifies information about the unmanaged user image to base the scale set on. 7828 :type image: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 7829 :param vhd_containers: Specifies the container urls that are used to store operating system 7830 disks for the scale set. 7831 :type vhd_containers: list[str] 7832 :param managed_disk: The managed disk parameters. 7833 :type managed_disk: 7834 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetManagedDiskParameters 7835 """ 7836 7837 _validation = { 7838 'create_option': {'required': True}, 7839 } 7840 7841 _attribute_map = { 7842 'name': {'key': 'name', 'type': 'str'}, 7843 'caching': {'key': 'caching', 'type': 'str'}, 7844 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 7845 'create_option': {'key': 'createOption', 'type': 'str'}, 7846 'diff_disk_settings': {'key': 'diffDiskSettings', 'type': 'DiffDiskSettings'}, 7847 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 7848 'os_type': {'key': 'osType', 'type': 'str'}, 7849 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 7850 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 7851 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 7852 } 7853 7854 def __init__( 7855 self, 7856 *, 7857 create_option: Union[str, "DiskCreateOptionTypes"], 7858 name: Optional[str] = None, 7859 caching: Optional[Union[str, "CachingTypes"]] = None, 7860 write_accelerator_enabled: Optional[bool] = None, 7861 diff_disk_settings: Optional["DiffDiskSettings"] = None, 7862 disk_size_gb: Optional[int] = None, 7863 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 7864 image: Optional["VirtualHardDisk"] = None, 7865 vhd_containers: Optional[List[str]] = None, 7866 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 7867 **kwargs 7868 ): 7869 super(VirtualMachineScaleSetOSDisk, self).__init__(**kwargs) 7870 self.name = name 7871 self.caching = caching 7872 self.write_accelerator_enabled = write_accelerator_enabled 7873 self.create_option = create_option 7874 self.diff_disk_settings = diff_disk_settings 7875 self.disk_size_gb = disk_size_gb 7876 self.os_type = os_type 7877 self.image = image 7878 self.vhd_containers = vhd_containers 7879 self.managed_disk = managed_disk 7880 7881 7882class VirtualMachineScaleSetOSProfile(msrest.serialization.Model): 7883 """Describes a virtual machine scale set OS profile. 7884 7885 :param computer_name_prefix: Specifies the computer name prefix for all of the virtual machines 7886 in the scale set. Computer name prefixes must be 1 to 15 characters long. 7887 :type computer_name_prefix: str 7888 :param admin_username: Specifies the name of the administrator account. 7889 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 7890 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 7891 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 7892 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 7893 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 7894 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 7895 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 7896 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 7897 root privileges on Linux virtual machines in Azure 7898 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 7899 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 7900 in this field, see `Selecting User Names for Linux on Azure 7901 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 7902 :type admin_username: str 7903 :param admin_password: Specifies the password of the administrator account. 7904 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 7905 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 7906 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 7907 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 7908 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 7909 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 7910 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 7911 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 7912 resetting the password, see `How to reset the Remote Desktop service or its login password in a 7913 Windows VM 7914 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 7915 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 7916 repair disks on Azure Linux VMs using the VMAccess Extension 7917 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 7918 :type admin_password: str 7919 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 7920 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 7921 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` For using cloud-init for 7922 your VM, see `Using cloud-init to customize a Linux VM during creation 7923 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 7924 :type custom_data: str 7925 :param windows_configuration: Specifies Windows operating system settings on the virtual 7926 machine. 7927 :type windows_configuration: ~azure.mgmt.compute.v2019_03_01.models.WindowsConfiguration 7928 :param linux_configuration: Specifies the Linux operating system settings on the virtual 7929 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 7930 Azure-Endorsed Distributions 7931 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 7932 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 7933 Non-Endorsed Distributions 7934 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 7935 :type linux_configuration: ~azure.mgmt.compute.v2019_03_01.models.LinuxConfiguration 7936 :param secrets: Specifies set of certificates that should be installed onto the virtual 7937 machines in the scale set. 7938 :type secrets: list[~azure.mgmt.compute.v2019_03_01.models.VaultSecretGroup] 7939 """ 7940 7941 _attribute_map = { 7942 'computer_name_prefix': {'key': 'computerNamePrefix', 'type': 'str'}, 7943 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 7944 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 7945 'custom_data': {'key': 'customData', 'type': 'str'}, 7946 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 7947 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 7948 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 7949 } 7950 7951 def __init__( 7952 self, 7953 *, 7954 computer_name_prefix: Optional[str] = None, 7955 admin_username: Optional[str] = None, 7956 admin_password: Optional[str] = None, 7957 custom_data: Optional[str] = None, 7958 windows_configuration: Optional["WindowsConfiguration"] = None, 7959 linux_configuration: Optional["LinuxConfiguration"] = None, 7960 secrets: Optional[List["VaultSecretGroup"]] = None, 7961 **kwargs 7962 ): 7963 super(VirtualMachineScaleSetOSProfile, self).__init__(**kwargs) 7964 self.computer_name_prefix = computer_name_prefix 7965 self.admin_username = admin_username 7966 self.admin_password = admin_password 7967 self.custom_data = custom_data 7968 self.windows_configuration = windows_configuration 7969 self.linux_configuration = linux_configuration 7970 self.secrets = secrets 7971 7972 7973class VirtualMachineScaleSetPublicIPAddressConfiguration(msrest.serialization.Model): 7974 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 7975 7976 All required parameters must be populated in order to send to Azure. 7977 7978 :param name: Required. The publicIP address configuration name. 7979 :type name: str 7980 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 7981 :type idle_timeout_in_minutes: int 7982 :param dns_settings: The dns settings to be applied on the publicIP addresses . 7983 :type dns_settings: 7984 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 7985 :param ip_tags: The list of IP tags associated with the public IP address. 7986 :type ip_tags: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetIpTag] 7987 :param public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. 7988 :type public_ip_prefix: ~azure.mgmt.compute.v2019_03_01.models.SubResource 7989 """ 7990 7991 _validation = { 7992 'name': {'required': True}, 7993 } 7994 7995 _attribute_map = { 7996 'name': {'key': 'name', 'type': 'str'}, 7997 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 7998 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 7999 'ip_tags': {'key': 'properties.ipTags', 'type': '[VirtualMachineScaleSetIpTag]'}, 8000 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 8001 } 8002 8003 def __init__( 8004 self, 8005 *, 8006 name: str, 8007 idle_timeout_in_minutes: Optional[int] = None, 8008 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 8009 ip_tags: Optional[List["VirtualMachineScaleSetIpTag"]] = None, 8010 public_ip_prefix: Optional["SubResource"] = None, 8011 **kwargs 8012 ): 8013 super(VirtualMachineScaleSetPublicIPAddressConfiguration, self).__init__(**kwargs) 8014 self.name = name 8015 self.idle_timeout_in_minutes = idle_timeout_in_minutes 8016 self.dns_settings = dns_settings 8017 self.ip_tags = ip_tags 8018 self.public_ip_prefix = public_ip_prefix 8019 8020 8021class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings(msrest.serialization.Model): 8022 """Describes a virtual machines scale sets network configuration's DNS settings. 8023 8024 All required parameters must be populated in order to send to Azure. 8025 8026 :param domain_name_label: Required. The Domain name label.The concatenation of the domain name 8027 label and vm index will be the domain name labels of the PublicIPAddress resources that will be 8028 created. 8029 :type domain_name_label: str 8030 """ 8031 8032 _validation = { 8033 'domain_name_label': {'required': True}, 8034 } 8035 8036 _attribute_map = { 8037 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 8038 } 8039 8040 def __init__( 8041 self, 8042 *, 8043 domain_name_label: str, 8044 **kwargs 8045 ): 8046 super(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, self).__init__(**kwargs) 8047 self.domain_name_label = domain_name_label 8048 8049 8050class VirtualMachineScaleSetVMReimageParameters(VirtualMachineReimageParameters): 8051 """Describes a Virtual Machine Scale Set VM Reimage Parameters. 8052 8053 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 8054 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 8055 :type temp_disk: bool 8056 """ 8057 8058 _attribute_map = { 8059 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 8060 } 8061 8062 def __init__( 8063 self, 8064 *, 8065 temp_disk: Optional[bool] = None, 8066 **kwargs 8067 ): 8068 super(VirtualMachineScaleSetVMReimageParameters, self).__init__(temp_disk=temp_disk, **kwargs) 8069 8070 8071class VirtualMachineScaleSetReimageParameters(VirtualMachineScaleSetVMReimageParameters): 8072 """Describes a Virtual Machine Scale Set VM Reimage Parameters. 8073 8074 :param temp_disk: Specifies whether to reimage temp disk. Default value: false. Note: This temp 8075 disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk. 8076 :type temp_disk: bool 8077 :param instance_ids: The virtual machine scale set instance ids. Omitting the virtual machine 8078 scale set instance ids will result in the operation being performed on all virtual machines in 8079 the virtual machine scale set. 8080 :type instance_ids: list[str] 8081 """ 8082 8083 _attribute_map = { 8084 'temp_disk': {'key': 'tempDisk', 'type': 'bool'}, 8085 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 8086 } 8087 8088 def __init__( 8089 self, 8090 *, 8091 temp_disk: Optional[bool] = None, 8092 instance_ids: Optional[List[str]] = None, 8093 **kwargs 8094 ): 8095 super(VirtualMachineScaleSetReimageParameters, self).__init__(temp_disk=temp_disk, **kwargs) 8096 self.instance_ids = instance_ids 8097 8098 8099class VirtualMachineScaleSetSku(msrest.serialization.Model): 8100 """Describes an available virtual machine scale set sku. 8101 8102 Variables are only populated by the server, and will be ignored when sending a request. 8103 8104 :ivar resource_type: The type of resource the sku applies to. 8105 :vartype resource_type: str 8106 :ivar sku: The Sku. 8107 :vartype sku: ~azure.mgmt.compute.v2019_03_01.models.Sku 8108 :ivar capacity: Specifies the number of virtual machines in the scale set. 8109 :vartype capacity: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetSkuCapacity 8110 """ 8111 8112 _validation = { 8113 'resource_type': {'readonly': True}, 8114 'sku': {'readonly': True}, 8115 'capacity': {'readonly': True}, 8116 } 8117 8118 _attribute_map = { 8119 'resource_type': {'key': 'resourceType', 'type': 'str'}, 8120 'sku': {'key': 'sku', 'type': 'Sku'}, 8121 'capacity': {'key': 'capacity', 'type': 'VirtualMachineScaleSetSkuCapacity'}, 8122 } 8123 8124 def __init__( 8125 self, 8126 **kwargs 8127 ): 8128 super(VirtualMachineScaleSetSku, self).__init__(**kwargs) 8129 self.resource_type = None 8130 self.sku = None 8131 self.capacity = None 8132 8133 8134class VirtualMachineScaleSetSkuCapacity(msrest.serialization.Model): 8135 """Describes scaling information of a sku. 8136 8137 Variables are only populated by the server, and will be ignored when sending a request. 8138 8139 :ivar minimum: The minimum capacity. 8140 :vartype minimum: long 8141 :ivar maximum: The maximum capacity that can be set. 8142 :vartype maximum: long 8143 :ivar default_capacity: The default capacity. 8144 :vartype default_capacity: long 8145 :ivar scale_type: The scale type applicable to the sku. Possible values include: "Automatic", 8146 "None". 8147 :vartype scale_type: str or 8148 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetSkuScaleType 8149 """ 8150 8151 _validation = { 8152 'minimum': {'readonly': True}, 8153 'maximum': {'readonly': True}, 8154 'default_capacity': {'readonly': True}, 8155 'scale_type': {'readonly': True}, 8156 } 8157 8158 _attribute_map = { 8159 'minimum': {'key': 'minimum', 'type': 'long'}, 8160 'maximum': {'key': 'maximum', 'type': 'long'}, 8161 'default_capacity': {'key': 'defaultCapacity', 'type': 'long'}, 8162 'scale_type': {'key': 'scaleType', 'type': 'str'}, 8163 } 8164 8165 def __init__( 8166 self, 8167 **kwargs 8168 ): 8169 super(VirtualMachineScaleSetSkuCapacity, self).__init__(**kwargs) 8170 self.minimum = None 8171 self.maximum = None 8172 self.default_capacity = None 8173 self.scale_type = None 8174 8175 8176class VirtualMachineScaleSetStorageProfile(msrest.serialization.Model): 8177 """Describes a virtual machine scale set storage profile. 8178 8179 :param image_reference: Specifies information about the image to use. You can specify 8180 information about platform images, marketplace images, or virtual machine images. This element 8181 is required when you want to use a platform image, marketplace image, or virtual machine image, 8182 but is not used in other creation operations. 8183 :type image_reference: ~azure.mgmt.compute.v2019_03_01.models.ImageReference 8184 :param os_disk: Specifies information about the operating system disk used by the virtual 8185 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 8186 `About disks and VHDs for Azure virtual machines 8187 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 8188 :type os_disk: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetOSDisk 8189 :param data_disks: Specifies the parameters that are used to add data disks to the virtual 8190 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 8191 `About disks and VHDs for Azure virtual machines 8192 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 8193 :type data_disks: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetDataDisk] 8194 """ 8195 8196 _attribute_map = { 8197 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 8198 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetOSDisk'}, 8199 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 8200 } 8201 8202 def __init__( 8203 self, 8204 *, 8205 image_reference: Optional["ImageReference"] = None, 8206 os_disk: Optional["VirtualMachineScaleSetOSDisk"] = None, 8207 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 8208 **kwargs 8209 ): 8210 super(VirtualMachineScaleSetStorageProfile, self).__init__(**kwargs) 8211 self.image_reference = image_reference 8212 self.os_disk = os_disk 8213 self.data_disks = data_disks 8214 8215 8216class VirtualMachineScaleSetUpdate(UpdateResource): 8217 """Describes a Virtual Machine Scale Set. 8218 8219 :param tags: A set of tags. Resource tags. 8220 :type tags: dict[str, str] 8221 :param sku: The virtual machine scale set sku. 8222 :type sku: ~azure.mgmt.compute.v2019_03_01.models.Sku 8223 :param plan: The purchase plan when deploying a virtual machine scale set from VM Marketplace 8224 images. 8225 :type plan: ~azure.mgmt.compute.v2019_03_01.models.Plan 8226 :param identity: The identity of the virtual machine scale set, if configured. 8227 :type identity: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetIdentity 8228 :param upgrade_policy: The upgrade policy. 8229 :type upgrade_policy: ~azure.mgmt.compute.v2019_03_01.models.UpgradePolicy 8230 :param automatic_repairs_policy: Policy for automatic repairs. 8231 :type automatic_repairs_policy: ~azure.mgmt.compute.v2019_03_01.models.AutomaticRepairsPolicy 8232 :param virtual_machine_profile: The virtual machine profile. 8233 :type virtual_machine_profile: 8234 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateVMProfile 8235 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 8236 overprovisioned. 8237 :type overprovision: bool 8238 :param do_not_run_extensions_on_overprovisioned_v_ms: When Overprovision is enabled, extensions 8239 are launched only on the requested number of VMs which are finally kept. This property will 8240 hence ensure that the extensions do not run on the extra overprovisioned VMs. 8241 :type do_not_run_extensions_on_overprovisioned_v_ms: bool 8242 :param single_placement_group: When true this limits the scale set to a single placement group, 8243 of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to 8244 false. However, if singlePlacementGroup is false, it may not be modified to true. 8245 :type single_placement_group: bool 8246 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 8247 Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines 8248 have the capability to support attaching managed data disks with UltraSSD_LRS storage account 8249 type. 8250 :type additional_capabilities: ~azure.mgmt.compute.v2019_03_01.models.AdditionalCapabilities 8251 :param scale_in_policy: Specifies the scale-in policy that decides which virtual machines are 8252 chosen for removal when a Virtual Machine Scale Set is scaled-in. 8253 :type scale_in_policy: ~azure.mgmt.compute.v2019_03_01.models.ScaleInPolicy 8254 :param proximity_placement_group: Specifies information about the proximity placement group 8255 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 8256 api-version: 2018-04-01. 8257 :type proximity_placement_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 8258 """ 8259 8260 _attribute_map = { 8261 'tags': {'key': 'tags', 'type': '{str}'}, 8262 'sku': {'key': 'sku', 'type': 'Sku'}, 8263 'plan': {'key': 'plan', 'type': 'Plan'}, 8264 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 8265 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 8266 'automatic_repairs_policy': {'key': 'properties.automaticRepairsPolicy', 'type': 'AutomaticRepairsPolicy'}, 8267 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetUpdateVMProfile'}, 8268 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 8269 'do_not_run_extensions_on_overprovisioned_v_ms': {'key': 'properties.doNotRunExtensionsOnOverprovisionedVMs', 'type': 'bool'}, 8270 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 8271 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 8272 'scale_in_policy': {'key': 'properties.scaleInPolicy', 'type': 'ScaleInPolicy'}, 8273 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 8274 } 8275 8276 def __init__( 8277 self, 8278 *, 8279 tags: Optional[Dict[str, str]] = None, 8280 sku: Optional["Sku"] = None, 8281 plan: Optional["Plan"] = None, 8282 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 8283 upgrade_policy: Optional["UpgradePolicy"] = None, 8284 automatic_repairs_policy: Optional["AutomaticRepairsPolicy"] = None, 8285 virtual_machine_profile: Optional["VirtualMachineScaleSetUpdateVMProfile"] = None, 8286 overprovision: Optional[bool] = None, 8287 do_not_run_extensions_on_overprovisioned_v_ms: Optional[bool] = None, 8288 single_placement_group: Optional[bool] = None, 8289 additional_capabilities: Optional["AdditionalCapabilities"] = None, 8290 scale_in_policy: Optional["ScaleInPolicy"] = None, 8291 proximity_placement_group: Optional["SubResource"] = None, 8292 **kwargs 8293 ): 8294 super(VirtualMachineScaleSetUpdate, self).__init__(tags=tags, **kwargs) 8295 self.sku = sku 8296 self.plan = plan 8297 self.identity = identity 8298 self.upgrade_policy = upgrade_policy 8299 self.automatic_repairs_policy = automatic_repairs_policy 8300 self.virtual_machine_profile = virtual_machine_profile 8301 self.overprovision = overprovision 8302 self.do_not_run_extensions_on_overprovisioned_v_ms = do_not_run_extensions_on_overprovisioned_v_ms 8303 self.single_placement_group = single_placement_group 8304 self.additional_capabilities = additional_capabilities 8305 self.scale_in_policy = scale_in_policy 8306 self.proximity_placement_group = proximity_placement_group 8307 8308 8309class VirtualMachineScaleSetUpdateIPConfiguration(SubResource): 8310 """Describes a virtual machine scale set network profile's IP configuration. 8311 8312 :param id: Resource Id. 8313 :type id: str 8314 :param name: The IP configuration name. 8315 :type name: str 8316 :param subnet: The subnet. 8317 :type subnet: ~azure.mgmt.compute.v2019_03_01.models.ApiEntityReference 8318 :param primary: Specifies the primary IP Configuration in case the network interface has more 8319 than one IP Configuration. 8320 :type primary: bool 8321 :param public_ip_address_configuration: The publicIPAddressConfiguration. 8322 :type public_ip_address_configuration: 8323 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdatePublicIPAddressConfiguration 8324 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 8325 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 8326 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 8327 :type private_ip_address_version: str or ~azure.mgmt.compute.v2019_03_01.models.IPVersion 8328 :param application_gateway_backend_address_pools: The application gateway backend address 8329 pools. 8330 :type application_gateway_backend_address_pools: 8331 list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 8332 :param application_security_groups: Specifies an array of references to application security 8333 group. 8334 :type application_security_groups: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 8335 :param load_balancer_backend_address_pools: The load balancer backend address pools. 8336 :type load_balancer_backend_address_pools: 8337 list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 8338 :param load_balancer_inbound_nat_pools: The load balancer inbound nat pools. 8339 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2019_03_01.models.SubResource] 8340 """ 8341 8342 _attribute_map = { 8343 'id': {'key': 'id', 'type': 'str'}, 8344 'name': {'key': 'name', 'type': 'str'}, 8345 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 8346 'primary': {'key': 'properties.primary', 'type': 'bool'}, 8347 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetUpdatePublicIPAddressConfiguration'}, 8348 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 8349 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 8350 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[SubResource]'}, 8351 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 8352 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 8353 } 8354 8355 def __init__( 8356 self, 8357 *, 8358 id: Optional[str] = None, 8359 name: Optional[str] = None, 8360 subnet: Optional["ApiEntityReference"] = None, 8361 primary: Optional[bool] = None, 8362 public_ip_address_configuration: Optional["VirtualMachineScaleSetUpdatePublicIPAddressConfiguration"] = None, 8363 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 8364 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 8365 application_security_groups: Optional[List["SubResource"]] = None, 8366 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 8367 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 8368 **kwargs 8369 ): 8370 super(VirtualMachineScaleSetUpdateIPConfiguration, self).__init__(id=id, **kwargs) 8371 self.name = name 8372 self.subnet = subnet 8373 self.primary = primary 8374 self.public_ip_address_configuration = public_ip_address_configuration 8375 self.private_ip_address_version = private_ip_address_version 8376 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 8377 self.application_security_groups = application_security_groups 8378 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 8379 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 8380 8381 8382class VirtualMachineScaleSetUpdateNetworkConfiguration(SubResource): 8383 """Describes a virtual machine scale set network profile's network configurations. 8384 8385 :param id: Resource Id. 8386 :type id: str 8387 :param name: The network configuration name. 8388 :type name: str 8389 :param primary: Whether this is a primary NIC on a virtual machine. 8390 :type primary: bool 8391 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 8392 networking-enabled. 8393 :type enable_accelerated_networking: bool 8394 :param network_security_group: The network security group. 8395 :type network_security_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 8396 :param dns_settings: The dns settings to be applied on the network interfaces. 8397 :type dns_settings: 8398 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 8399 :param ip_configurations: The virtual machine scale set IP Configuration. 8400 :type ip_configurations: 8401 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateIPConfiguration] 8402 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 8403 :type enable_ip_forwarding: bool 8404 """ 8405 8406 _attribute_map = { 8407 'id': {'key': 'id', 'type': 'str'}, 8408 'name': {'key': 'name', 'type': 'str'}, 8409 'primary': {'key': 'properties.primary', 'type': 'bool'}, 8410 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 8411 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 8412 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 8413 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetUpdateIPConfiguration]'}, 8414 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 8415 } 8416 8417 def __init__( 8418 self, 8419 *, 8420 id: Optional[str] = None, 8421 name: Optional[str] = None, 8422 primary: Optional[bool] = None, 8423 enable_accelerated_networking: Optional[bool] = None, 8424 network_security_group: Optional["SubResource"] = None, 8425 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 8426 ip_configurations: Optional[List["VirtualMachineScaleSetUpdateIPConfiguration"]] = None, 8427 enable_ip_forwarding: Optional[bool] = None, 8428 **kwargs 8429 ): 8430 super(VirtualMachineScaleSetUpdateNetworkConfiguration, self).__init__(id=id, **kwargs) 8431 self.name = name 8432 self.primary = primary 8433 self.enable_accelerated_networking = enable_accelerated_networking 8434 self.network_security_group = network_security_group 8435 self.dns_settings = dns_settings 8436 self.ip_configurations = ip_configurations 8437 self.enable_ip_forwarding = enable_ip_forwarding 8438 8439 8440class VirtualMachineScaleSetUpdateNetworkProfile(msrest.serialization.Model): 8441 """Describes a virtual machine scale set network profile. 8442 8443 :param health_probe: A reference to a load balancer probe used to determine the health of an 8444 instance in the virtual machine scale set. The reference will be in the form: 8445 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. 8446 :type health_probe: ~azure.mgmt.compute.v2019_03_01.models.ApiEntityReference 8447 :param network_interface_configurations: The list of network configurations. 8448 :type network_interface_configurations: 8449 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateNetworkConfiguration] 8450 """ 8451 8452 _attribute_map = { 8453 'health_probe': {'key': 'healthProbe', 'type': 'ApiEntityReference'}, 8454 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetUpdateNetworkConfiguration]'}, 8455 } 8456 8457 def __init__( 8458 self, 8459 *, 8460 health_probe: Optional["ApiEntityReference"] = None, 8461 network_interface_configurations: Optional[List["VirtualMachineScaleSetUpdateNetworkConfiguration"]] = None, 8462 **kwargs 8463 ): 8464 super(VirtualMachineScaleSetUpdateNetworkProfile, self).__init__(**kwargs) 8465 self.health_probe = health_probe 8466 self.network_interface_configurations = network_interface_configurations 8467 8468 8469class VirtualMachineScaleSetUpdateOSDisk(msrest.serialization.Model): 8470 """Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk. 8471 8472 :param caching: The caching type. Possible values include: "None", "ReadOnly", "ReadWrite". 8473 :type caching: str or ~azure.mgmt.compute.v2019_03_01.models.CachingTypes 8474 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 8475 disabled on the disk. 8476 :type write_accelerator_enabled: bool 8477 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 8478 can be used to overwrite the size of the disk in a virtual machine image. 8479 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 8480 :type disk_size_gb: int 8481 :param image: The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before 8482 using it to attach to the Virtual Machine. If SourceImage is provided, the destination 8483 VirtualHardDisk should not exist. 8484 :type image: ~azure.mgmt.compute.v2019_03_01.models.VirtualHardDisk 8485 :param vhd_containers: The list of virtual hard disk container uris. 8486 :type vhd_containers: list[str] 8487 :param managed_disk: The managed disk parameters. 8488 :type managed_disk: 8489 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetManagedDiskParameters 8490 """ 8491 8492 _attribute_map = { 8493 'caching': {'key': 'caching', 'type': 'str'}, 8494 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 8495 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 8496 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 8497 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 8498 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 8499 } 8500 8501 def __init__( 8502 self, 8503 *, 8504 caching: Optional[Union[str, "CachingTypes"]] = None, 8505 write_accelerator_enabled: Optional[bool] = None, 8506 disk_size_gb: Optional[int] = None, 8507 image: Optional["VirtualHardDisk"] = None, 8508 vhd_containers: Optional[List[str]] = None, 8509 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 8510 **kwargs 8511 ): 8512 super(VirtualMachineScaleSetUpdateOSDisk, self).__init__(**kwargs) 8513 self.caching = caching 8514 self.write_accelerator_enabled = write_accelerator_enabled 8515 self.disk_size_gb = disk_size_gb 8516 self.image = image 8517 self.vhd_containers = vhd_containers 8518 self.managed_disk = managed_disk 8519 8520 8521class VirtualMachineScaleSetUpdateOSProfile(msrest.serialization.Model): 8522 """Describes a virtual machine scale set OS profile. 8523 8524 :param custom_data: A base-64 encoded string of custom data. 8525 :type custom_data: str 8526 :param windows_configuration: The Windows Configuration of the OS profile. 8527 :type windows_configuration: ~azure.mgmt.compute.v2019_03_01.models.WindowsConfiguration 8528 :param linux_configuration: The Linux Configuration of the OS profile. 8529 :type linux_configuration: ~azure.mgmt.compute.v2019_03_01.models.LinuxConfiguration 8530 :param secrets: The List of certificates for addition to the VM. 8531 :type secrets: list[~azure.mgmt.compute.v2019_03_01.models.VaultSecretGroup] 8532 """ 8533 8534 _attribute_map = { 8535 'custom_data': {'key': 'customData', 'type': 'str'}, 8536 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 8537 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 8538 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 8539 } 8540 8541 def __init__( 8542 self, 8543 *, 8544 custom_data: Optional[str] = None, 8545 windows_configuration: Optional["WindowsConfiguration"] = None, 8546 linux_configuration: Optional["LinuxConfiguration"] = None, 8547 secrets: Optional[List["VaultSecretGroup"]] = None, 8548 **kwargs 8549 ): 8550 super(VirtualMachineScaleSetUpdateOSProfile, self).__init__(**kwargs) 8551 self.custom_data = custom_data 8552 self.windows_configuration = windows_configuration 8553 self.linux_configuration = linux_configuration 8554 self.secrets = secrets 8555 8556 8557class VirtualMachineScaleSetUpdatePublicIPAddressConfiguration(msrest.serialization.Model): 8558 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 8559 8560 :param name: The publicIP address configuration name. 8561 :type name: str 8562 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 8563 :type idle_timeout_in_minutes: int 8564 :param dns_settings: The dns settings to be applied on the publicIP addresses . 8565 :type dns_settings: 8566 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 8567 """ 8568 8569 _attribute_map = { 8570 'name': {'key': 'name', 'type': 'str'}, 8571 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 8572 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 8573 } 8574 8575 def __init__( 8576 self, 8577 *, 8578 name: Optional[str] = None, 8579 idle_timeout_in_minutes: Optional[int] = None, 8580 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 8581 **kwargs 8582 ): 8583 super(VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, self).__init__(**kwargs) 8584 self.name = name 8585 self.idle_timeout_in_minutes = idle_timeout_in_minutes 8586 self.dns_settings = dns_settings 8587 8588 8589class VirtualMachineScaleSetUpdateStorageProfile(msrest.serialization.Model): 8590 """Describes a virtual machine scale set storage profile. 8591 8592 :param image_reference: The image reference. 8593 :type image_reference: ~azure.mgmt.compute.v2019_03_01.models.ImageReference 8594 :param os_disk: The OS disk. 8595 :type os_disk: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateOSDisk 8596 :param data_disks: The data disks. 8597 :type data_disks: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetDataDisk] 8598 """ 8599 8600 _attribute_map = { 8601 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 8602 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetUpdateOSDisk'}, 8603 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 8604 } 8605 8606 def __init__( 8607 self, 8608 *, 8609 image_reference: Optional["ImageReference"] = None, 8610 os_disk: Optional["VirtualMachineScaleSetUpdateOSDisk"] = None, 8611 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 8612 **kwargs 8613 ): 8614 super(VirtualMachineScaleSetUpdateStorageProfile, self).__init__(**kwargs) 8615 self.image_reference = image_reference 8616 self.os_disk = os_disk 8617 self.data_disks = data_disks 8618 8619 8620class VirtualMachineScaleSetUpdateVMProfile(msrest.serialization.Model): 8621 """Describes a virtual machine scale set virtual machine profile. 8622 8623 :param os_profile: The virtual machine scale set OS profile. 8624 :type os_profile: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateOSProfile 8625 :param storage_profile: The virtual machine scale set storage profile. 8626 :type storage_profile: 8627 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateStorageProfile 8628 :param network_profile: The virtual machine scale set network profile. 8629 :type network_profile: 8630 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetUpdateNetworkProfile 8631 :param diagnostics_profile: The virtual machine scale set diagnostics profile. 8632 :type diagnostics_profile: ~azure.mgmt.compute.v2019_03_01.models.DiagnosticsProfile 8633 :param extension_profile: The virtual machine scale set extension profile. 8634 :type extension_profile: 8635 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetExtensionProfile 8636 :param license_type: The license type, which is for bring your own license scenario. 8637 :type license_type: str 8638 :param billing_profile: Specifies the billing related details of a low priority VMSS. 8639 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 8640 :type billing_profile: ~azure.mgmt.compute.v2019_03_01.models.BillingProfile 8641 :param scheduled_events_profile: Specifies Scheduled Event related configurations. 8642 :type scheduled_events_profile: ~azure.mgmt.compute.v2019_03_01.models.ScheduledEventsProfile 8643 """ 8644 8645 _attribute_map = { 8646 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetUpdateOSProfile'}, 8647 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetUpdateStorageProfile'}, 8648 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetUpdateNetworkProfile'}, 8649 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 8650 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 8651 'license_type': {'key': 'licenseType', 'type': 'str'}, 8652 'billing_profile': {'key': 'billingProfile', 'type': 'BillingProfile'}, 8653 'scheduled_events_profile': {'key': 'scheduledEventsProfile', 'type': 'ScheduledEventsProfile'}, 8654 } 8655 8656 def __init__( 8657 self, 8658 *, 8659 os_profile: Optional["VirtualMachineScaleSetUpdateOSProfile"] = None, 8660 storage_profile: Optional["VirtualMachineScaleSetUpdateStorageProfile"] = None, 8661 network_profile: Optional["VirtualMachineScaleSetUpdateNetworkProfile"] = None, 8662 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 8663 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 8664 license_type: Optional[str] = None, 8665 billing_profile: Optional["BillingProfile"] = None, 8666 scheduled_events_profile: Optional["ScheduledEventsProfile"] = None, 8667 **kwargs 8668 ): 8669 super(VirtualMachineScaleSetUpdateVMProfile, self).__init__(**kwargs) 8670 self.os_profile = os_profile 8671 self.storage_profile = storage_profile 8672 self.network_profile = network_profile 8673 self.diagnostics_profile = diagnostics_profile 8674 self.extension_profile = extension_profile 8675 self.license_type = license_type 8676 self.billing_profile = billing_profile 8677 self.scheduled_events_profile = scheduled_events_profile 8678 8679 8680class VirtualMachineScaleSetVM(Resource): 8681 """Describes a virtual machine scale set virtual machine. 8682 8683 Variables are only populated by the server, and will be ignored when sending a request. 8684 8685 All required parameters must be populated in order to send to Azure. 8686 8687 :ivar id: Resource Id. 8688 :vartype id: str 8689 :ivar name: Resource name. 8690 :vartype name: str 8691 :ivar type: Resource type. 8692 :vartype type: str 8693 :param location: Required. Resource location. 8694 :type location: str 8695 :param tags: A set of tags. Resource tags. 8696 :type tags: dict[str, str] 8697 :ivar instance_id: The virtual machine instance ID. 8698 :vartype instance_id: str 8699 :ivar sku: The virtual machine SKU. 8700 :vartype sku: ~azure.mgmt.compute.v2019_03_01.models.Sku 8701 :param plan: Specifies information about the marketplace image used to create the virtual 8702 machine. This element is only used for marketplace images. Before you can use a marketplace 8703 image from an API, you must enable the image for programmatic use. In the Azure portal, find 8704 the marketplace image that you want to use and then click **Want to deploy programmatically, 8705 Get Started ->**. Enter any required information and then click **Save**. 8706 :type plan: ~azure.mgmt.compute.v2019_03_01.models.Plan 8707 :ivar resources: The virtual machine child extension resources. 8708 :vartype resources: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtension] 8709 :ivar zones: The virtual machine zones. 8710 :vartype zones: list[str] 8711 :ivar latest_model_applied: Specifies whether the latest model has been applied to the virtual 8712 machine. 8713 :vartype latest_model_applied: bool 8714 :ivar vm_id: Azure VM unique ID. 8715 :vartype vm_id: str 8716 :ivar instance_view: The virtual machine instance view. 8717 :vartype instance_view: 8718 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVMInstanceView 8719 :param hardware_profile: Specifies the hardware settings for the virtual machine. 8720 :type hardware_profile: ~azure.mgmt.compute.v2019_03_01.models.HardwareProfile 8721 :param storage_profile: Specifies the storage settings for the virtual machine disks. 8722 :type storage_profile: ~azure.mgmt.compute.v2019_03_01.models.StorageProfile 8723 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 8724 virtual machine in the scale set. For instance: whether the virtual machine has the capability 8725 to support attaching managed data disks with UltraSSD_LRS storage account type. 8726 :type additional_capabilities: ~azure.mgmt.compute.v2019_03_01.models.AdditionalCapabilities 8727 :param os_profile: Specifies the operating system settings for the virtual machine. 8728 :type os_profile: ~azure.mgmt.compute.v2019_03_01.models.OSProfile 8729 :param network_profile: Specifies the network interfaces of the virtual machine. 8730 :type network_profile: ~azure.mgmt.compute.v2019_03_01.models.NetworkProfile 8731 :param network_profile_configuration: Specifies the network profile configuration of the 8732 virtual machine. 8733 :type network_profile_configuration: 8734 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVMNetworkProfileConfiguration 8735 :param diagnostics_profile: Specifies the boot diagnostic settings state. 8736 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 8737 :type diagnostics_profile: ~azure.mgmt.compute.v2019_03_01.models.DiagnosticsProfile 8738 :param availability_set: Specifies information about the availability set that the virtual 8739 machine should be assigned to. Virtual machines specified in the same availability set are 8740 allocated to different nodes to maximize availability. For more information about availability 8741 sets, see `Manage the availability of virtual machines 8742 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 8743 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 8744 maintenance for virtual machines in Azure 8745 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 8746 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 8747 time. An existing VM cannot be added to an availability set. 8748 :type availability_set: ~azure.mgmt.compute.v2019_03_01.models.SubResource 8749 :ivar provisioning_state: The provisioning state, which only appears in the response. 8750 :vartype provisioning_state: str 8751 :param license_type: Specifies that the image or disk that is being used was licensed 8752 on-premises. This element is only used for images that contain the Windows Server operating 8753 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 8754 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 8755 a request for an update, the value must match the initial value. This value cannot be updated. 8756 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 8757 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 8758 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 8759 :type license_type: str 8760 :ivar model_definition_applied: Specifies whether the model applied to the virtual machine is 8761 the model of the virtual machine scale set or the customized model for the virtual machine. 8762 :vartype model_definition_applied: str 8763 :param protection_policy: Specifies the protection policy of the virtual machine. 8764 :type protection_policy: 8765 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVMProtectionPolicy 8766 """ 8767 8768 _validation = { 8769 'id': {'readonly': True}, 8770 'name': {'readonly': True}, 8771 'type': {'readonly': True}, 8772 'location': {'required': True}, 8773 'instance_id': {'readonly': True}, 8774 'sku': {'readonly': True}, 8775 'resources': {'readonly': True}, 8776 'zones': {'readonly': True}, 8777 'latest_model_applied': {'readonly': True}, 8778 'vm_id': {'readonly': True}, 8779 'instance_view': {'readonly': True}, 8780 'provisioning_state': {'readonly': True}, 8781 'model_definition_applied': {'readonly': True}, 8782 } 8783 8784 _attribute_map = { 8785 'id': {'key': 'id', 'type': 'str'}, 8786 'name': {'key': 'name', 'type': 'str'}, 8787 'type': {'key': 'type', 'type': 'str'}, 8788 'location': {'key': 'location', 'type': 'str'}, 8789 'tags': {'key': 'tags', 'type': '{str}'}, 8790 'instance_id': {'key': 'instanceId', 'type': 'str'}, 8791 'sku': {'key': 'sku', 'type': 'Sku'}, 8792 'plan': {'key': 'plan', 'type': 'Plan'}, 8793 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 8794 'zones': {'key': 'zones', 'type': '[str]'}, 8795 'latest_model_applied': {'key': 'properties.latestModelApplied', 'type': 'bool'}, 8796 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 8797 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineScaleSetVMInstanceView'}, 8798 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 8799 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 8800 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 8801 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 8802 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 8803 'network_profile_configuration': {'key': 'properties.networkProfileConfiguration', 'type': 'VirtualMachineScaleSetVMNetworkProfileConfiguration'}, 8804 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 8805 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 8806 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8807 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 8808 'model_definition_applied': {'key': 'properties.modelDefinitionApplied', 'type': 'str'}, 8809 'protection_policy': {'key': 'properties.protectionPolicy', 'type': 'VirtualMachineScaleSetVMProtectionPolicy'}, 8810 } 8811 8812 def __init__( 8813 self, 8814 *, 8815 location: str, 8816 tags: Optional[Dict[str, str]] = None, 8817 plan: Optional["Plan"] = None, 8818 hardware_profile: Optional["HardwareProfile"] = None, 8819 storage_profile: Optional["StorageProfile"] = None, 8820 additional_capabilities: Optional["AdditionalCapabilities"] = None, 8821 os_profile: Optional["OSProfile"] = None, 8822 network_profile: Optional["NetworkProfile"] = None, 8823 network_profile_configuration: Optional["VirtualMachineScaleSetVMNetworkProfileConfiguration"] = None, 8824 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 8825 availability_set: Optional["SubResource"] = None, 8826 license_type: Optional[str] = None, 8827 protection_policy: Optional["VirtualMachineScaleSetVMProtectionPolicy"] = None, 8828 **kwargs 8829 ): 8830 super(VirtualMachineScaleSetVM, self).__init__(location=location, tags=tags, **kwargs) 8831 self.instance_id = None 8832 self.sku = None 8833 self.plan = plan 8834 self.resources = None 8835 self.zones = None 8836 self.latest_model_applied = None 8837 self.vm_id = None 8838 self.instance_view = None 8839 self.hardware_profile = hardware_profile 8840 self.storage_profile = storage_profile 8841 self.additional_capabilities = additional_capabilities 8842 self.os_profile = os_profile 8843 self.network_profile = network_profile 8844 self.network_profile_configuration = network_profile_configuration 8845 self.diagnostics_profile = diagnostics_profile 8846 self.availability_set = availability_set 8847 self.provisioning_state = None 8848 self.license_type = license_type 8849 self.model_definition_applied = None 8850 self.protection_policy = protection_policy 8851 8852 8853class VirtualMachineScaleSetVMExtensionsSummary(msrest.serialization.Model): 8854 """Extensions summary for virtual machines of a virtual machine scale set. 8855 8856 Variables are only populated by the server, and will be ignored when sending a request. 8857 8858 :ivar name: The extension name. 8859 :vartype name: str 8860 :ivar statuses_summary: The extensions information. 8861 :vartype statuses_summary: 8862 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineStatusCodeCount] 8863 """ 8864 8865 _validation = { 8866 'name': {'readonly': True}, 8867 'statuses_summary': {'readonly': True}, 8868 } 8869 8870 _attribute_map = { 8871 'name': {'key': 'name', 'type': 'str'}, 8872 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 8873 } 8874 8875 def __init__( 8876 self, 8877 **kwargs 8878 ): 8879 super(VirtualMachineScaleSetVMExtensionsSummary, self).__init__(**kwargs) 8880 self.name = None 8881 self.statuses_summary = None 8882 8883 8884class VirtualMachineScaleSetVMInstanceIDs(msrest.serialization.Model): 8885 """Specifies a list of virtual machine instance IDs from the VM scale set. 8886 8887 :param instance_ids: The virtual machine scale set instance ids. Omitting the virtual machine 8888 scale set instance ids will result in the operation being performed on all virtual machines in 8889 the virtual machine scale set. 8890 :type instance_ids: list[str] 8891 """ 8892 8893 _attribute_map = { 8894 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 8895 } 8896 8897 def __init__( 8898 self, 8899 *, 8900 instance_ids: Optional[List[str]] = None, 8901 **kwargs 8902 ): 8903 super(VirtualMachineScaleSetVMInstanceIDs, self).__init__(**kwargs) 8904 self.instance_ids = instance_ids 8905 8906 8907class VirtualMachineScaleSetVMInstanceRequiredIDs(msrest.serialization.Model): 8908 """Specifies a list of virtual machine instance IDs from the VM scale set. 8909 8910 All required parameters must be populated in order to send to Azure. 8911 8912 :param instance_ids: Required. The virtual machine scale set instance ids. 8913 :type instance_ids: list[str] 8914 """ 8915 8916 _validation = { 8917 'instance_ids': {'required': True}, 8918 } 8919 8920 _attribute_map = { 8921 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 8922 } 8923 8924 def __init__( 8925 self, 8926 *, 8927 instance_ids: List[str], 8928 **kwargs 8929 ): 8930 super(VirtualMachineScaleSetVMInstanceRequiredIDs, self).__init__(**kwargs) 8931 self.instance_ids = instance_ids 8932 8933 8934class VirtualMachineScaleSetVMInstanceView(msrest.serialization.Model): 8935 """The instance view of a virtual machine scale set VM. 8936 8937 Variables are only populated by the server, and will be ignored when sending a request. 8938 8939 :param platform_update_domain: The Update Domain count. 8940 :type platform_update_domain: int 8941 :param platform_fault_domain: The Fault Domain count. 8942 :type platform_fault_domain: int 8943 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 8944 :type rdp_thumb_print: str 8945 :param vm_agent: The VM Agent running on the virtual machine. 8946 :type vm_agent: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineAgentInstanceView 8947 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 8948 :type maintenance_redeploy_status: 8949 ~azure.mgmt.compute.v2019_03_01.models.MaintenanceRedeployStatus 8950 :param disks: The disks information. 8951 :type disks: list[~azure.mgmt.compute.v2019_03_01.models.DiskInstanceView] 8952 :param extensions: The extensions information. 8953 :type extensions: 8954 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineExtensionInstanceView] 8955 :ivar vm_health: The health status for the VM. 8956 :vartype vm_health: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineHealthStatus 8957 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 8958 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 8959 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 8960 screenshot of the VM from the hypervisor. 8961 :type boot_diagnostics: ~azure.mgmt.compute.v2019_03_01.models.BootDiagnosticsInstanceView 8962 :param statuses: The resource status information. 8963 :type statuses: list[~azure.mgmt.compute.v2019_03_01.models.InstanceViewStatus] 8964 :param placement_group_id: The placement group in which the VM is running. If the VM is 8965 deallocated it will not have a placementGroupId. 8966 :type placement_group_id: str 8967 """ 8968 8969 _validation = { 8970 'vm_health': {'readonly': True}, 8971 } 8972 8973 _attribute_map = { 8974 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 8975 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 8976 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 8977 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 8978 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 8979 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 8980 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 8981 'vm_health': {'key': 'vmHealth', 'type': 'VirtualMachineHealthStatus'}, 8982 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 8983 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 8984 'placement_group_id': {'key': 'placementGroupId', 'type': 'str'}, 8985 } 8986 8987 def __init__( 8988 self, 8989 *, 8990 platform_update_domain: Optional[int] = None, 8991 platform_fault_domain: Optional[int] = None, 8992 rdp_thumb_print: Optional[str] = None, 8993 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 8994 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 8995 disks: Optional[List["DiskInstanceView"]] = None, 8996 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 8997 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 8998 statuses: Optional[List["InstanceViewStatus"]] = None, 8999 placement_group_id: Optional[str] = None, 9000 **kwargs 9001 ): 9002 super(VirtualMachineScaleSetVMInstanceView, self).__init__(**kwargs) 9003 self.platform_update_domain = platform_update_domain 9004 self.platform_fault_domain = platform_fault_domain 9005 self.rdp_thumb_print = rdp_thumb_print 9006 self.vm_agent = vm_agent 9007 self.maintenance_redeploy_status = maintenance_redeploy_status 9008 self.disks = disks 9009 self.extensions = extensions 9010 self.vm_health = None 9011 self.boot_diagnostics = boot_diagnostics 9012 self.statuses = statuses 9013 self.placement_group_id = placement_group_id 9014 9015 9016class VirtualMachineScaleSetVMListResult(msrest.serialization.Model): 9017 """The List Virtual Machine Scale Set VMs operation response. 9018 9019 All required parameters must be populated in order to send to Azure. 9020 9021 :param value: Required. The list of virtual machine scale sets VMs. 9022 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetVM] 9023 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set VMs. Call 9024 ListNext() with this to fetch the next page of VMSS VMs. 9025 :type next_link: str 9026 """ 9027 9028 _validation = { 9029 'value': {'required': True}, 9030 } 9031 9032 _attribute_map = { 9033 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetVM]'}, 9034 'next_link': {'key': 'nextLink', 'type': 'str'}, 9035 } 9036 9037 def __init__( 9038 self, 9039 *, 9040 value: List["VirtualMachineScaleSetVM"], 9041 next_link: Optional[str] = None, 9042 **kwargs 9043 ): 9044 super(VirtualMachineScaleSetVMListResult, self).__init__(**kwargs) 9045 self.value = value 9046 self.next_link = next_link 9047 9048 9049class VirtualMachineScaleSetVMNetworkProfileConfiguration(msrest.serialization.Model): 9050 """Describes a virtual machine scale set VM network profile. 9051 9052 :param network_interface_configurations: The list of network configurations. 9053 :type network_interface_configurations: 9054 list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetNetworkConfiguration] 9055 """ 9056 9057 _attribute_map = { 9058 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetNetworkConfiguration]'}, 9059 } 9060 9061 def __init__( 9062 self, 9063 *, 9064 network_interface_configurations: Optional[List["VirtualMachineScaleSetNetworkConfiguration"]] = None, 9065 **kwargs 9066 ): 9067 super(VirtualMachineScaleSetVMNetworkProfileConfiguration, self).__init__(**kwargs) 9068 self.network_interface_configurations = network_interface_configurations 9069 9070 9071class VirtualMachineScaleSetVMProfile(msrest.serialization.Model): 9072 """Describes a virtual machine scale set virtual machine profile. 9073 9074 :param os_profile: Specifies the operating system settings for the virtual machines in the 9075 scale set. 9076 :type os_profile: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetOSProfile 9077 :param storage_profile: Specifies the storage settings for the virtual machine disks. 9078 :type storage_profile: 9079 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetStorageProfile 9080 :param network_profile: Specifies properties of the network interfaces of the virtual machines 9081 in the scale set. 9082 :type network_profile: 9083 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetNetworkProfile 9084 :param diagnostics_profile: Specifies the boot diagnostic settings state. 9085 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 9086 :type diagnostics_profile: ~azure.mgmt.compute.v2019_03_01.models.DiagnosticsProfile 9087 :param extension_profile: Specifies a collection of settings for extensions installed on 9088 virtual machines in the scale set. 9089 :type extension_profile: 9090 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineScaleSetExtensionProfile 9091 :param license_type: Specifies that the image or disk that is being used was licensed 9092 on-premises. This element is only used for images that contain the Windows Server operating 9093 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 9094 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 9095 a request for an update, the value must match the initial value. This value cannot be updated. 9096 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 9097 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9098 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 9099 :type license_type: str 9100 :param priority: Specifies the priority for the virtual machines in the scale set. 9101 :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview. Possible values include: 9102 "Regular", "Low", "Spot". 9103 :type priority: str or ~azure.mgmt.compute.v2019_03_01.models.VirtualMachinePriorityTypes 9104 :param eviction_policy: Specifies the eviction policy for virtual machines in a Azure Spot 9105 scale set. :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview. Possible values 9106 include: "Deallocate", "Delete". 9107 :type eviction_policy: str or 9108 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineEvictionPolicyTypes 9109 :param billing_profile: Specifies the billing related details of a Azure Spot VMSS. 9110 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 9111 :type billing_profile: ~azure.mgmt.compute.v2019_03_01.models.BillingProfile 9112 :param scheduled_events_profile: Specifies Scheduled Event related configurations. 9113 :type scheduled_events_profile: ~azure.mgmt.compute.v2019_03_01.models.ScheduledEventsProfile 9114 """ 9115 9116 _attribute_map = { 9117 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetOSProfile'}, 9118 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetStorageProfile'}, 9119 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetNetworkProfile'}, 9120 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 9121 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 9122 'license_type': {'key': 'licenseType', 'type': 'str'}, 9123 'priority': {'key': 'priority', 'type': 'str'}, 9124 'eviction_policy': {'key': 'evictionPolicy', 'type': 'str'}, 9125 'billing_profile': {'key': 'billingProfile', 'type': 'BillingProfile'}, 9126 'scheduled_events_profile': {'key': 'scheduledEventsProfile', 'type': 'ScheduledEventsProfile'}, 9127 } 9128 9129 def __init__( 9130 self, 9131 *, 9132 os_profile: Optional["VirtualMachineScaleSetOSProfile"] = None, 9133 storage_profile: Optional["VirtualMachineScaleSetStorageProfile"] = None, 9134 network_profile: Optional["VirtualMachineScaleSetNetworkProfile"] = None, 9135 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 9136 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 9137 license_type: Optional[str] = None, 9138 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 9139 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 9140 billing_profile: Optional["BillingProfile"] = None, 9141 scheduled_events_profile: Optional["ScheduledEventsProfile"] = None, 9142 **kwargs 9143 ): 9144 super(VirtualMachineScaleSetVMProfile, self).__init__(**kwargs) 9145 self.os_profile = os_profile 9146 self.storage_profile = storage_profile 9147 self.network_profile = network_profile 9148 self.diagnostics_profile = diagnostics_profile 9149 self.extension_profile = extension_profile 9150 self.license_type = license_type 9151 self.priority = priority 9152 self.eviction_policy = eviction_policy 9153 self.billing_profile = billing_profile 9154 self.scheduled_events_profile = scheduled_events_profile 9155 9156 9157class VirtualMachineScaleSetVMProtectionPolicy(msrest.serialization.Model): 9158 """The protection policy of a virtual machine scale set VM. 9159 9160 :param protect_from_scale_in: Indicates that the virtual machine scale set VM shouldn't be 9161 considered for deletion during a scale-in operation. 9162 :type protect_from_scale_in: bool 9163 :param protect_from_scale_set_actions: Indicates that model updates or actions (including 9164 scale-in) initiated on the virtual machine scale set should not be applied to the virtual 9165 machine scale set VM. 9166 :type protect_from_scale_set_actions: bool 9167 """ 9168 9169 _attribute_map = { 9170 'protect_from_scale_in': {'key': 'protectFromScaleIn', 'type': 'bool'}, 9171 'protect_from_scale_set_actions': {'key': 'protectFromScaleSetActions', 'type': 'bool'}, 9172 } 9173 9174 def __init__( 9175 self, 9176 *, 9177 protect_from_scale_in: Optional[bool] = None, 9178 protect_from_scale_set_actions: Optional[bool] = None, 9179 **kwargs 9180 ): 9181 super(VirtualMachineScaleSetVMProtectionPolicy, self).__init__(**kwargs) 9182 self.protect_from_scale_in = protect_from_scale_in 9183 self.protect_from_scale_set_actions = protect_from_scale_set_actions 9184 9185 9186class VirtualMachineSize(msrest.serialization.Model): 9187 """Describes the properties of a VM size. 9188 9189 :param name: The name of the virtual machine size. 9190 :type name: str 9191 :param number_of_cores: The number of cores supported by the virtual machine size. 9192 :type number_of_cores: int 9193 :param os_disk_size_in_mb: The OS disk size, in MB, allowed by the virtual machine size. 9194 :type os_disk_size_in_mb: int 9195 :param resource_disk_size_in_mb: The resource disk size, in MB, allowed by the virtual machine 9196 size. 9197 :type resource_disk_size_in_mb: int 9198 :param memory_in_mb: The amount of memory, in MB, supported by the virtual machine size. 9199 :type memory_in_mb: int 9200 :param max_data_disk_count: The maximum number of data disks that can be attached to the 9201 virtual machine size. 9202 :type max_data_disk_count: int 9203 """ 9204 9205 _attribute_map = { 9206 'name': {'key': 'name', 'type': 'str'}, 9207 'number_of_cores': {'key': 'numberOfCores', 'type': 'int'}, 9208 'os_disk_size_in_mb': {'key': 'osDiskSizeInMB', 'type': 'int'}, 9209 'resource_disk_size_in_mb': {'key': 'resourceDiskSizeInMB', 'type': 'int'}, 9210 'memory_in_mb': {'key': 'memoryInMB', 'type': 'int'}, 9211 'max_data_disk_count': {'key': 'maxDataDiskCount', 'type': 'int'}, 9212 } 9213 9214 def __init__( 9215 self, 9216 *, 9217 name: Optional[str] = None, 9218 number_of_cores: Optional[int] = None, 9219 os_disk_size_in_mb: Optional[int] = None, 9220 resource_disk_size_in_mb: Optional[int] = None, 9221 memory_in_mb: Optional[int] = None, 9222 max_data_disk_count: Optional[int] = None, 9223 **kwargs 9224 ): 9225 super(VirtualMachineSize, self).__init__(**kwargs) 9226 self.name = name 9227 self.number_of_cores = number_of_cores 9228 self.os_disk_size_in_mb = os_disk_size_in_mb 9229 self.resource_disk_size_in_mb = resource_disk_size_in_mb 9230 self.memory_in_mb = memory_in_mb 9231 self.max_data_disk_count = max_data_disk_count 9232 9233 9234class VirtualMachineSizeListResult(msrest.serialization.Model): 9235 """The List Virtual Machine operation response. 9236 9237 :param value: The list of virtual machine sizes. 9238 :type value: list[~azure.mgmt.compute.v2019_03_01.models.VirtualMachineSize] 9239 """ 9240 9241 _attribute_map = { 9242 'value': {'key': 'value', 'type': '[VirtualMachineSize]'}, 9243 } 9244 9245 def __init__( 9246 self, 9247 *, 9248 value: Optional[List["VirtualMachineSize"]] = None, 9249 **kwargs 9250 ): 9251 super(VirtualMachineSizeListResult, self).__init__(**kwargs) 9252 self.value = value 9253 9254 9255class VirtualMachineStatusCodeCount(msrest.serialization.Model): 9256 """The status code and count of the virtual machine scale set instance view status summary. 9257 9258 Variables are only populated by the server, and will be ignored when sending a request. 9259 9260 :ivar code: The instance view status code. 9261 :vartype code: str 9262 :ivar count: The number of instances having a particular status code. 9263 :vartype count: int 9264 """ 9265 9266 _validation = { 9267 'code': {'readonly': True}, 9268 'count': {'readonly': True}, 9269 } 9270 9271 _attribute_map = { 9272 'code': {'key': 'code', 'type': 'str'}, 9273 'count': {'key': 'count', 'type': 'int'}, 9274 } 9275 9276 def __init__( 9277 self, 9278 **kwargs 9279 ): 9280 super(VirtualMachineStatusCodeCount, self).__init__(**kwargs) 9281 self.code = None 9282 self.count = None 9283 9284 9285class VirtualMachineUpdate(UpdateResource): 9286 """Describes a Virtual Machine Update. 9287 9288 Variables are only populated by the server, and will be ignored when sending a request. 9289 9290 :param tags: A set of tags. Resource tags. 9291 :type tags: dict[str, str] 9292 :param plan: Specifies information about the marketplace image used to create the virtual 9293 machine. This element is only used for marketplace images. Before you can use a marketplace 9294 image from an API, you must enable the image for programmatic use. In the Azure portal, find 9295 the marketplace image that you want to use and then click **Want to deploy programmatically, 9296 Get Started ->**. Enter any required information and then click **Save**. 9297 :type plan: ~azure.mgmt.compute.v2019_03_01.models.Plan 9298 :param identity: The identity of the virtual machine, if configured. 9299 :type identity: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineIdentity 9300 :param zones: The virtual machine zones. 9301 :type zones: list[str] 9302 :param hardware_profile: Specifies the hardware settings for the virtual machine. 9303 :type hardware_profile: ~azure.mgmt.compute.v2019_03_01.models.HardwareProfile 9304 :param storage_profile: Specifies the storage settings for the virtual machine disks. 9305 :type storage_profile: ~azure.mgmt.compute.v2019_03_01.models.StorageProfile 9306 :param additional_capabilities: Specifies additional capabilities enabled or disabled on the 9307 virtual machine. 9308 :type additional_capabilities: ~azure.mgmt.compute.v2019_03_01.models.AdditionalCapabilities 9309 :param os_profile: Specifies the operating system settings for the virtual machine. 9310 :type os_profile: ~azure.mgmt.compute.v2019_03_01.models.OSProfile 9311 :param network_profile: Specifies the network interfaces of the virtual machine. 9312 :type network_profile: ~azure.mgmt.compute.v2019_03_01.models.NetworkProfile 9313 :param diagnostics_profile: Specifies the boot diagnostic settings state. 9314 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 9315 :type diagnostics_profile: ~azure.mgmt.compute.v2019_03_01.models.DiagnosticsProfile 9316 :param availability_set: Specifies information about the availability set that the virtual 9317 machine should be assigned to. Virtual machines specified in the same availability set are 9318 allocated to different nodes to maximize availability. For more information about availability 9319 sets, see `Manage the availability of virtual machines 9320 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 9321 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 9322 maintenance for virtual machines in Azure 9323 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9324 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 9325 time. An existing VM cannot be added to an availability set. :code:`<br>`:code:`<br>`This 9326 property cannot exist along with a non-null properties.virtualMachineScaleSet reference. 9327 :type availability_set: ~azure.mgmt.compute.v2019_03_01.models.SubResource 9328 :param virtual_machine_scale_set: Specifies information about the virtual machine scale set 9329 that the virtual machine should be assigned to. Virtual machines specified in the same virtual 9330 machine scale set are allocated to different nodes to maximize availability. Currently, a VM 9331 can only be added to virtual machine scale set at creation time. An existing VM cannot be added 9332 to a virtual machine scale set. :code:`<br>`:code:`<br>`This property cannot exist along with a 9333 non-null properties.availabilitySet reference. :code:`<br>`:code:`<br>`Minimum api‐version: 9334 2019‐03‐01. 9335 :type virtual_machine_scale_set: ~azure.mgmt.compute.v2019_03_01.models.SubResource 9336 :param proximity_placement_group: Specifies information about the proximity placement group 9337 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 9338 2018-04-01. 9339 :type proximity_placement_group: ~azure.mgmt.compute.v2019_03_01.models.SubResource 9340 :param priority: Specifies the priority for the virtual machine. 9341 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. Possible values include: "Regular", 9342 "Low", "Spot". 9343 :type priority: str or ~azure.mgmt.compute.v2019_03_01.models.VirtualMachinePriorityTypes 9344 :param eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine. Only 9345 supported value is 'Deallocate'. :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 9346 Possible values include: "Deallocate", "Delete". 9347 :type eviction_policy: str or 9348 ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineEvictionPolicyTypes 9349 :param billing_profile: Specifies the billing related details of a Azure Spot virtual machine. 9350 :code:`<br>`:code:`<br>`Minimum api-version: 2019-03-01. 9351 :type billing_profile: ~azure.mgmt.compute.v2019_03_01.models.BillingProfile 9352 :param host: Specifies information about the dedicated host that the virtual machine resides 9353 in. :code:`<br>`:code:`<br>`Minimum api-version: 2018-10-01. 9354 :type host: ~azure.mgmt.compute.v2019_03_01.models.SubResource 9355 :ivar provisioning_state: The provisioning state, which only appears in the response. 9356 :vartype provisioning_state: str 9357 :ivar instance_view: The virtual machine instance view. 9358 :vartype instance_view: ~azure.mgmt.compute.v2019_03_01.models.VirtualMachineInstanceView 9359 :param license_type: Specifies that the image or disk that is being used was licensed 9360 on-premises. This element is only used for images that contain the Windows Server operating 9361 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 9362 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 9363 a request for an update, the value must match the initial value. This value cannot be updated. 9364 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 9365 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 9366 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 9367 :type license_type: str 9368 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 9369 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 9370 :vartype vm_id: str 9371 """ 9372 9373 _validation = { 9374 'provisioning_state': {'readonly': True}, 9375 'instance_view': {'readonly': True}, 9376 'vm_id': {'readonly': True}, 9377 } 9378 9379 _attribute_map = { 9380 'tags': {'key': 'tags', 'type': '{str}'}, 9381 'plan': {'key': 'plan', 'type': 'Plan'}, 9382 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 9383 'zones': {'key': 'zones', 'type': '[str]'}, 9384 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 9385 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 9386 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': 'AdditionalCapabilities'}, 9387 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 9388 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 9389 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 9390 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 9391 'virtual_machine_scale_set': {'key': 'properties.virtualMachineScaleSet', 'type': 'SubResource'}, 9392 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 9393 'priority': {'key': 'properties.priority', 'type': 'str'}, 9394 'eviction_policy': {'key': 'properties.evictionPolicy', 'type': 'str'}, 9395 'billing_profile': {'key': 'properties.billingProfile', 'type': 'BillingProfile'}, 9396 'host': {'key': 'properties.host', 'type': 'SubResource'}, 9397 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9398 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 9399 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 9400 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 9401 } 9402 9403 def __init__( 9404 self, 9405 *, 9406 tags: Optional[Dict[str, str]] = None, 9407 plan: Optional["Plan"] = None, 9408 identity: Optional["VirtualMachineIdentity"] = None, 9409 zones: Optional[List[str]] = None, 9410 hardware_profile: Optional["HardwareProfile"] = None, 9411 storage_profile: Optional["StorageProfile"] = None, 9412 additional_capabilities: Optional["AdditionalCapabilities"] = None, 9413 os_profile: Optional["OSProfile"] = None, 9414 network_profile: Optional["NetworkProfile"] = None, 9415 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 9416 availability_set: Optional["SubResource"] = None, 9417 virtual_machine_scale_set: Optional["SubResource"] = None, 9418 proximity_placement_group: Optional["SubResource"] = None, 9419 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 9420 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 9421 billing_profile: Optional["BillingProfile"] = None, 9422 host: Optional["SubResource"] = None, 9423 license_type: Optional[str] = None, 9424 **kwargs 9425 ): 9426 super(VirtualMachineUpdate, self).__init__(tags=tags, **kwargs) 9427 self.plan = plan 9428 self.identity = identity 9429 self.zones = zones 9430 self.hardware_profile = hardware_profile 9431 self.storage_profile = storage_profile 9432 self.additional_capabilities = additional_capabilities 9433 self.os_profile = os_profile 9434 self.network_profile = network_profile 9435 self.diagnostics_profile = diagnostics_profile 9436 self.availability_set = availability_set 9437 self.virtual_machine_scale_set = virtual_machine_scale_set 9438 self.proximity_placement_group = proximity_placement_group 9439 self.priority = priority 9440 self.eviction_policy = eviction_policy 9441 self.billing_profile = billing_profile 9442 self.host = host 9443 self.provisioning_state = None 9444 self.instance_view = None 9445 self.license_type = license_type 9446 self.vm_id = None 9447 9448 9449class VMScaleSetConvertToSinglePlacementGroupInput(msrest.serialization.Model): 9450 """VMScaleSetConvertToSinglePlacementGroupInput. 9451 9452 :param active_placement_group_id: Id of the placement group in which you want future virtual 9453 machine instances to be placed. To query placement group Id, please use Virtual Machine Scale 9454 Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual 9455 machine instances. 9456 :type active_placement_group_id: str 9457 """ 9458 9459 _attribute_map = { 9460 'active_placement_group_id': {'key': 'activePlacementGroupId', 'type': 'str'}, 9461 } 9462 9463 def __init__( 9464 self, 9465 *, 9466 active_placement_group_id: Optional[str] = None, 9467 **kwargs 9468 ): 9469 super(VMScaleSetConvertToSinglePlacementGroupInput, self).__init__(**kwargs) 9470 self.active_placement_group_id = active_placement_group_id 9471 9472 9473class WindowsConfiguration(msrest.serialization.Model): 9474 """Specifies Windows operating system settings on the virtual machine. 9475 9476 :param provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the 9477 virtual machine. :code:`<br>`:code:`<br>` When this property is not specified in the request 9478 body, default behavior is to set it to true. This will ensure that VM Agent is installed on 9479 the VM so that extensions can be added to the VM later. 9480 :type provision_vm_agent: bool 9481 :param enable_automatic_updates: Indicates whether Automatic Updates is enabled for the Windows 9482 virtual machine. Default value is true. :code:`<br>`:code:`<br>` For virtual machine scale 9483 sets, this property can be updated and updates will take effect on OS reprovisioning. 9484 :type enable_automatic_updates: bool 9485 :param time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". 9486 :type time_zone: str 9487 :param additional_unattend_content: Specifies additional base-64 encoded XML formatted 9488 information that can be included in the Unattend.xml file, which is used by Windows Setup. 9489 :type additional_unattend_content: 9490 list[~azure.mgmt.compute.v2019_03_01.models.AdditionalUnattendContent] 9491 :param win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows 9492 PowerShell. 9493 :type win_rm: ~azure.mgmt.compute.v2019_03_01.models.WinRMConfiguration 9494 """ 9495 9496 _attribute_map = { 9497 'provision_vm_agent': {'key': 'provisionVMAgent', 'type': 'bool'}, 9498 'enable_automatic_updates': {'key': 'enableAutomaticUpdates', 'type': 'bool'}, 9499 'time_zone': {'key': 'timeZone', 'type': 'str'}, 9500 'additional_unattend_content': {'key': 'additionalUnattendContent', 'type': '[AdditionalUnattendContent]'}, 9501 'win_rm': {'key': 'winRM', 'type': 'WinRMConfiguration'}, 9502 } 9503 9504 def __init__( 9505 self, 9506 *, 9507 provision_vm_agent: Optional[bool] = None, 9508 enable_automatic_updates: Optional[bool] = None, 9509 time_zone: Optional[str] = None, 9510 additional_unattend_content: Optional[List["AdditionalUnattendContent"]] = None, 9511 win_rm: Optional["WinRMConfiguration"] = None, 9512 **kwargs 9513 ): 9514 super(WindowsConfiguration, self).__init__(**kwargs) 9515 self.provision_vm_agent = provision_vm_agent 9516 self.enable_automatic_updates = enable_automatic_updates 9517 self.time_zone = time_zone 9518 self.additional_unattend_content = additional_unattend_content 9519 self.win_rm = win_rm 9520 9521 9522class WinRMConfiguration(msrest.serialization.Model): 9523 """Describes Windows Remote Management configuration of the VM. 9524 9525 :param listeners: The list of Windows Remote Management listeners. 9526 :type listeners: list[~azure.mgmt.compute.v2019_03_01.models.WinRMListener] 9527 """ 9528 9529 _attribute_map = { 9530 'listeners': {'key': 'listeners', 'type': '[WinRMListener]'}, 9531 } 9532 9533 def __init__( 9534 self, 9535 *, 9536 listeners: Optional[List["WinRMListener"]] = None, 9537 **kwargs 9538 ): 9539 super(WinRMConfiguration, self).__init__(**kwargs) 9540 self.listeners = listeners 9541 9542 9543class WinRMListener(msrest.serialization.Model): 9544 """Describes Protocol and thumbprint of Windows Remote Management listener. 9545 9546 :param protocol: Specifies the protocol of listener. :code:`<br>`:code:`<br>` Possible values 9547 are: :code:`<br>`\ **http** :code:`<br>`:code:`<br>` **https**. Possible values include: 9548 "Http", "Https". 9549 :type protocol: str or ~azure.mgmt.compute.v2019_03_01.models.ProtocolTypes 9550 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 9551 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 9552 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 9553 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 9554 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 9555 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 9556 "password":":code:`<pfx-file-password>`":code:`<br>`}. 9557 :type certificate_url: str 9558 """ 9559 9560 _attribute_map = { 9561 'protocol': {'key': 'protocol', 'type': 'str'}, 9562 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 9563 } 9564 9565 def __init__( 9566 self, 9567 *, 9568 protocol: Optional[Union[str, "ProtocolTypes"]] = None, 9569 certificate_url: Optional[str] = None, 9570 **kwargs 9571 ): 9572 super(WinRMListener, self).__init__(**kwargs) 9573 self.protocol = protocol 9574 self.certificate_url = certificate_url 9575