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 AdditionalUnattendContent(msrest.serialization.Model): 43 """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. 44 45 :param pass_name: The pass name. Currently, the only allowable value is OobeSystem. The only 46 acceptable values to pass in are None and "OobeSystem". The default value is None. 47 :type pass_name: str 48 :param component_name: The component name. Currently, the only allowable value is 49 Microsoft-Windows-Shell-Setup. The only acceptable values to pass in are None and 50 "Microsoft-Windows-Shell-Setup". The default value is None. 51 :type component_name: str 52 :param setting_name: Specifies the name of the setting to which the content applies. Possible 53 values are: FirstLogonCommands and AutoLogon. Possible values include: "AutoLogon", 54 "FirstLogonCommands". 55 :type setting_name: str or ~azure.mgmt.compute.v2018_04_01.models.SettingNames 56 :param content: Specifies the XML formatted content that is added to the unattend.xml file for 57 the specified path and component. The XML must be less than 4KB and must include the root 58 element for the setting or feature that is being inserted. 59 :type content: str 60 """ 61 62 _attribute_map = { 63 'pass_name': {'key': 'passName', 'type': 'str'}, 64 'component_name': {'key': 'componentName', 'type': 'str'}, 65 'setting_name': {'key': 'settingName', 'type': 'str'}, 66 'content': {'key': 'content', 'type': 'str'}, 67 } 68 69 def __init__( 70 self, 71 *, 72 pass_name: Optional[str] = None, 73 component_name: Optional[str] = None, 74 setting_name: Optional[Union[str, "SettingNames"]] = None, 75 content: Optional[str] = None, 76 **kwargs 77 ): 78 super(AdditionalUnattendContent, self).__init__(**kwargs) 79 self.pass_name = pass_name 80 self.component_name = component_name 81 self.setting_name = setting_name 82 self.content = content 83 84 85class ApiEntityReference(msrest.serialization.Model): 86 """The API entity reference. 87 88 :param id: The ARM resource id in the form of 89 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 90 :type id: str 91 """ 92 93 _attribute_map = { 94 'id': {'key': 'id', 'type': 'str'}, 95 } 96 97 def __init__( 98 self, 99 *, 100 id: Optional[str] = None, 101 **kwargs 102 ): 103 super(ApiEntityReference, self).__init__(**kwargs) 104 self.id = id 105 106 107class ApiError(msrest.serialization.Model): 108 """Api error. 109 110 :param details: The Api error details. 111 :type details: list[~azure.mgmt.compute.v2018_04_01.models.ApiErrorBase] 112 :param innererror: The Api inner error. 113 :type innererror: ~azure.mgmt.compute.v2018_04_01.models.InnerError 114 :param code: The error code. 115 :type code: str 116 :param target: The target of the particular error. 117 :type target: str 118 :param message: The error message. 119 :type message: str 120 """ 121 122 _attribute_map = { 123 'details': {'key': 'details', 'type': '[ApiErrorBase]'}, 124 'innererror': {'key': 'innererror', 'type': 'InnerError'}, 125 'code': {'key': 'code', 'type': 'str'}, 126 'target': {'key': 'target', 'type': 'str'}, 127 'message': {'key': 'message', 'type': 'str'}, 128 } 129 130 def __init__( 131 self, 132 *, 133 details: Optional[List["ApiErrorBase"]] = None, 134 innererror: Optional["InnerError"] = None, 135 code: Optional[str] = None, 136 target: Optional[str] = None, 137 message: Optional[str] = None, 138 **kwargs 139 ): 140 super(ApiError, self).__init__(**kwargs) 141 self.details = details 142 self.innererror = innererror 143 self.code = code 144 self.target = target 145 self.message = message 146 147 148class ApiErrorBase(msrest.serialization.Model): 149 """Api error base. 150 151 :param code: The error code. 152 :type code: str 153 :param target: The target of the particular error. 154 :type target: str 155 :param message: The error message. 156 :type message: str 157 """ 158 159 _attribute_map = { 160 'code': {'key': 'code', 'type': 'str'}, 161 'target': {'key': 'target', 'type': 'str'}, 162 'message': {'key': 'message', 'type': 'str'}, 163 } 164 165 def __init__( 166 self, 167 *, 168 code: Optional[str] = None, 169 target: Optional[str] = None, 170 message: Optional[str] = None, 171 **kwargs 172 ): 173 super(ApiErrorBase, self).__init__(**kwargs) 174 self.code = code 175 self.target = target 176 self.message = message 177 178 179class AutoOSUpgradePolicy(msrest.serialization.Model): 180 """The configuration parameters used for performing automatic OS upgrade. 181 182 :param disable_auto_rollback: Whether OS image rollback feature should be disabled. Default 183 value is false. 184 :type disable_auto_rollback: bool 185 """ 186 187 _attribute_map = { 188 'disable_auto_rollback': {'key': 'disableAutoRollback', 'type': 'bool'}, 189 } 190 191 def __init__( 192 self, 193 *, 194 disable_auto_rollback: Optional[bool] = None, 195 **kwargs 196 ): 197 super(AutoOSUpgradePolicy, self).__init__(**kwargs) 198 self.disable_auto_rollback = disable_auto_rollback 199 200 201class Resource(msrest.serialization.Model): 202 """The Resource model definition. 203 204 Variables are only populated by the server, and will be ignored when sending a request. 205 206 All required parameters must be populated in order to send to Azure. 207 208 :ivar id: Resource Id. 209 :vartype id: str 210 :ivar name: Resource name. 211 :vartype name: str 212 :ivar type: Resource type. 213 :vartype type: str 214 :param location: Required. Resource location. 215 :type location: str 216 :param tags: A set of tags. Resource tags. 217 :type tags: dict[str, str] 218 """ 219 220 _validation = { 221 'id': {'readonly': True}, 222 'name': {'readonly': True}, 223 'type': {'readonly': True}, 224 'location': {'required': True}, 225 } 226 227 _attribute_map = { 228 'id': {'key': 'id', 'type': 'str'}, 229 'name': {'key': 'name', 'type': 'str'}, 230 'type': {'key': 'type', 'type': 'str'}, 231 'location': {'key': 'location', 'type': 'str'}, 232 'tags': {'key': 'tags', 'type': '{str}'}, 233 } 234 235 def __init__( 236 self, 237 *, 238 location: str, 239 tags: Optional[Dict[str, str]] = None, 240 **kwargs 241 ): 242 super(Resource, self).__init__(**kwargs) 243 self.id = None 244 self.name = None 245 self.type = None 246 self.location = location 247 self.tags = tags 248 249 250class AvailabilitySet(Resource): 251 """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. 252 253 Variables are only populated by the server, and will be ignored when sending a request. 254 255 All required parameters must be populated in order to send to Azure. 256 257 :ivar id: Resource Id. 258 :vartype id: str 259 :ivar name: Resource name. 260 :vartype name: str 261 :ivar type: Resource type. 262 :vartype type: str 263 :param location: Required. Resource location. 264 :type location: str 265 :param tags: A set of tags. Resource tags. 266 :type tags: dict[str, str] 267 :param sku: Sku of the availability set. 268 :type sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 269 :param platform_update_domain_count: Update Domain count. 270 :type platform_update_domain_count: int 271 :param platform_fault_domain_count: Fault Domain count. 272 :type platform_fault_domain_count: int 273 :param virtual_machines: A list of references to all virtual machines in the availability set. 274 :type virtual_machines: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 275 :param proximity_placement_group: Specifies information about the proximity placement group 276 that the availability set should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 277 2018-04-01. 278 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 279 :ivar statuses: The resource status information. 280 :vartype statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 281 """ 282 283 _validation = { 284 'id': {'readonly': True}, 285 'name': {'readonly': True}, 286 'type': {'readonly': True}, 287 'location': {'required': True}, 288 'statuses': {'readonly': True}, 289 } 290 291 _attribute_map = { 292 'id': {'key': 'id', 'type': 'str'}, 293 'name': {'key': 'name', 'type': 'str'}, 294 'type': {'key': 'type', 'type': 'str'}, 295 'location': {'key': 'location', 'type': 'str'}, 296 'tags': {'key': 'tags', 'type': '{str}'}, 297 'sku': {'key': 'sku', 'type': 'Sku'}, 298 'platform_update_domain_count': {'key': 'properties.platformUpdateDomainCount', 'type': 'int'}, 299 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 300 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 301 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 302 'statuses': {'key': 'properties.statuses', 'type': '[InstanceViewStatus]'}, 303 } 304 305 def __init__( 306 self, 307 *, 308 location: str, 309 tags: Optional[Dict[str, str]] = None, 310 sku: Optional["Sku"] = None, 311 platform_update_domain_count: Optional[int] = None, 312 platform_fault_domain_count: Optional[int] = None, 313 virtual_machines: Optional[List["SubResource"]] = None, 314 proximity_placement_group: Optional["SubResource"] = None, 315 **kwargs 316 ): 317 super(AvailabilitySet, self).__init__(location=location, tags=tags, **kwargs) 318 self.sku = sku 319 self.platform_update_domain_count = platform_update_domain_count 320 self.platform_fault_domain_count = platform_fault_domain_count 321 self.virtual_machines = virtual_machines 322 self.proximity_placement_group = proximity_placement_group 323 self.statuses = None 324 325 326class AvailabilitySetListResult(msrest.serialization.Model): 327 """The List Availability Set operation response. 328 329 All required parameters must be populated in order to send to Azure. 330 331 :param value: Required. The list of availability sets. 332 :type value: list[~azure.mgmt.compute.v2018_04_01.models.AvailabilitySet] 333 :param next_link: The URI to fetch the next page of AvailabilitySets. Call ListNext() with this 334 URI to fetch the next page of AvailabilitySets. 335 :type next_link: str 336 """ 337 338 _validation = { 339 'value': {'required': True}, 340 } 341 342 _attribute_map = { 343 'value': {'key': 'value', 'type': '[AvailabilitySet]'}, 344 'next_link': {'key': 'nextLink', 'type': 'str'}, 345 } 346 347 def __init__( 348 self, 349 *, 350 value: List["AvailabilitySet"], 351 next_link: Optional[str] = None, 352 **kwargs 353 ): 354 super(AvailabilitySetListResult, self).__init__(**kwargs) 355 self.value = value 356 self.next_link = next_link 357 358 359class UpdateResource(msrest.serialization.Model): 360 """The Update Resource model definition. 361 362 :param tags: A set of tags. Resource tags. 363 :type tags: dict[str, str] 364 """ 365 366 _attribute_map = { 367 'tags': {'key': 'tags', 'type': '{str}'}, 368 } 369 370 def __init__( 371 self, 372 *, 373 tags: Optional[Dict[str, str]] = None, 374 **kwargs 375 ): 376 super(UpdateResource, self).__init__(**kwargs) 377 self.tags = tags 378 379 380class AvailabilitySetUpdate(UpdateResource): 381 """Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated. 382 383 Variables are only populated by the server, and will be ignored when sending a request. 384 385 :param tags: A set of tags. Resource tags. 386 :type tags: dict[str, str] 387 :param sku: Sku of the availability set. 388 :type sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 389 :param platform_update_domain_count: Update Domain count. 390 :type platform_update_domain_count: int 391 :param platform_fault_domain_count: Fault Domain count. 392 :type platform_fault_domain_count: int 393 :param virtual_machines: A list of references to all virtual machines in the availability set. 394 :type virtual_machines: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 395 :param proximity_placement_group: Specifies information about the proximity placement group 396 that the availability set should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 397 2018-04-01. 398 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 399 :ivar statuses: The resource status information. 400 :vartype statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 401 """ 402 403 _validation = { 404 'statuses': {'readonly': True}, 405 } 406 407 _attribute_map = { 408 'tags': {'key': 'tags', 'type': '{str}'}, 409 'sku': {'key': 'sku', 'type': 'Sku'}, 410 'platform_update_domain_count': {'key': 'properties.platformUpdateDomainCount', 'type': 'int'}, 411 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 412 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 413 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 414 'statuses': {'key': 'properties.statuses', 'type': '[InstanceViewStatus]'}, 415 } 416 417 def __init__( 418 self, 419 *, 420 tags: Optional[Dict[str, str]] = None, 421 sku: Optional["Sku"] = None, 422 platform_update_domain_count: Optional[int] = None, 423 platform_fault_domain_count: Optional[int] = None, 424 virtual_machines: Optional[List["SubResource"]] = None, 425 proximity_placement_group: Optional["SubResource"] = None, 426 **kwargs 427 ): 428 super(AvailabilitySetUpdate, self).__init__(tags=tags, **kwargs) 429 self.sku = sku 430 self.platform_update_domain_count = platform_update_domain_count 431 self.platform_fault_domain_count = platform_fault_domain_count 432 self.virtual_machines = virtual_machines 433 self.proximity_placement_group = proximity_placement_group 434 self.statuses = None 435 436 437class BootDiagnostics(msrest.serialization.Model): 438 """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. 439 440 :param enabled: Whether boot diagnostics should be enabled on the Virtual Machine. 441 :type enabled: bool 442 :param storage_uri: Uri of the storage account to use for placing the console output and 443 screenshot. 444 :type storage_uri: str 445 """ 446 447 _attribute_map = { 448 'enabled': {'key': 'enabled', 'type': 'bool'}, 449 'storage_uri': {'key': 'storageUri', 'type': 'str'}, 450 } 451 452 def __init__( 453 self, 454 *, 455 enabled: Optional[bool] = None, 456 storage_uri: Optional[str] = None, 457 **kwargs 458 ): 459 super(BootDiagnostics, self).__init__(**kwargs) 460 self.enabled = enabled 461 self.storage_uri = storage_uri 462 463 464class BootDiagnosticsInstanceView(msrest.serialization.Model): 465 """The instance view of a virtual machine boot diagnostics. 466 467 Variables are only populated by the server, and will be ignored when sending a request. 468 469 :ivar console_screenshot_blob_uri: The console screenshot blob URI. 470 :vartype console_screenshot_blob_uri: str 471 :ivar serial_console_log_blob_uri: The Linux serial console log blob Uri. 472 :vartype serial_console_log_blob_uri: str 473 :ivar status: The boot diagnostics status information for the VM. :code:`<br>`:code:`<br>` 474 NOTE: It will be set only if there are errors encountered in enabling boot diagnostics. 475 :vartype status: ~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus 476 """ 477 478 _validation = { 479 'console_screenshot_blob_uri': {'readonly': True}, 480 'serial_console_log_blob_uri': {'readonly': True}, 481 'status': {'readonly': True}, 482 } 483 484 _attribute_map = { 485 'console_screenshot_blob_uri': {'key': 'consoleScreenshotBlobUri', 'type': 'str'}, 486 'serial_console_log_blob_uri': {'key': 'serialConsoleLogBlobUri', 'type': 'str'}, 487 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 488 } 489 490 def __init__( 491 self, 492 **kwargs 493 ): 494 super(BootDiagnosticsInstanceView, self).__init__(**kwargs) 495 self.console_screenshot_blob_uri = None 496 self.serial_console_log_blob_uri = None 497 self.status = None 498 499 500class ComputeOperationListResult(msrest.serialization.Model): 501 """The List Compute Operation operation response. 502 503 Variables are only populated by the server, and will be ignored when sending a request. 504 505 :ivar value: The list of compute operations. 506 :vartype value: list[~azure.mgmt.compute.v2018_04_01.models.ComputeOperationValue] 507 """ 508 509 _validation = { 510 'value': {'readonly': True}, 511 } 512 513 _attribute_map = { 514 'value': {'key': 'value', 'type': '[ComputeOperationValue]'}, 515 } 516 517 def __init__( 518 self, 519 **kwargs 520 ): 521 super(ComputeOperationListResult, self).__init__(**kwargs) 522 self.value = None 523 524 525class ComputeOperationValue(msrest.serialization.Model): 526 """Describes the properties of a Compute Operation value. 527 528 Variables are only populated by the server, and will be ignored when sending a request. 529 530 :ivar origin: The origin of the compute operation. 531 :vartype origin: str 532 :ivar name: The name of the compute operation. 533 :vartype name: str 534 :ivar operation: The display name of the compute operation. 535 :vartype operation: str 536 :ivar resource: The display name of the resource the operation applies to. 537 :vartype resource: str 538 :ivar description: The description of the operation. 539 :vartype description: str 540 :ivar provider: The resource provider for the operation. 541 :vartype provider: str 542 """ 543 544 _validation = { 545 'origin': {'readonly': True}, 546 'name': {'readonly': True}, 547 'operation': {'readonly': True}, 548 'resource': {'readonly': True}, 549 'description': {'readonly': True}, 550 'provider': {'readonly': True}, 551 } 552 553 _attribute_map = { 554 'origin': {'key': 'origin', 'type': 'str'}, 555 'name': {'key': 'name', 'type': 'str'}, 556 'operation': {'key': 'display.operation', 'type': 'str'}, 557 'resource': {'key': 'display.resource', 'type': 'str'}, 558 'description': {'key': 'display.description', 'type': 'str'}, 559 'provider': {'key': 'display.provider', 'type': 'str'}, 560 } 561 562 def __init__( 563 self, 564 **kwargs 565 ): 566 super(ComputeOperationValue, self).__init__(**kwargs) 567 self.origin = None 568 self.name = None 569 self.operation = None 570 self.resource = None 571 self.description = None 572 self.provider = None 573 574 575class CreationData(msrest.serialization.Model): 576 """Data used when creating a disk. 577 578 All required parameters must be populated in order to send to Azure. 579 580 :param create_option: Required. This enumerates the possible sources of a disk's creation. 581 Possible values include: "Empty", "Attach", "FromImage", "Import", "Copy", "Restore". 582 :type create_option: str or ~azure.mgmt.compute.v2018_04_01.models.DiskCreateOption 583 :param storage_account_id: If createOption is Import, the Azure Resource Manager identifier of 584 the storage account containing the blob to import as a disk. Required only if the blob is in a 585 different subscription. 586 :type storage_account_id: str 587 :param image_reference: Disk source information. 588 :type image_reference: ~azure.mgmt.compute.v2018_04_01.models.ImageDiskReference 589 :param source_uri: If createOption is Import, this is the URI of a blob to be imported into a 590 managed disk. 591 :type source_uri: str 592 :param source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot 593 or disk. 594 :type source_resource_id: str 595 """ 596 597 _validation = { 598 'create_option': {'required': True}, 599 } 600 601 _attribute_map = { 602 'create_option': {'key': 'createOption', 'type': 'str'}, 603 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, 604 'image_reference': {'key': 'imageReference', 'type': 'ImageDiskReference'}, 605 'source_uri': {'key': 'sourceUri', 'type': 'str'}, 606 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, 607 } 608 609 def __init__( 610 self, 611 *, 612 create_option: Union[str, "DiskCreateOption"], 613 storage_account_id: Optional[str] = None, 614 image_reference: Optional["ImageDiskReference"] = None, 615 source_uri: Optional[str] = None, 616 source_resource_id: Optional[str] = None, 617 **kwargs 618 ): 619 super(CreationData, self).__init__(**kwargs) 620 self.create_option = create_option 621 self.storage_account_id = storage_account_id 622 self.image_reference = image_reference 623 self.source_uri = source_uri 624 self.source_resource_id = source_resource_id 625 626 627class DataDisk(msrest.serialization.Model): 628 """Describes a data disk. 629 630 All required parameters must be populated in order to send to Azure. 631 632 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 633 identify data disks within the VM and therefore must be unique for each data disk attached to a 634 VM. 635 :type lun: int 636 :param name: The disk name. 637 :type name: str 638 :param vhd: The virtual hard disk. 639 :type vhd: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 640 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 641 before being attached to the virtual machine. If SourceImage is provided, the destination 642 virtual hard drive must not exist. 643 :type image: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 644 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 645 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 646 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 647 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 648 "ReadWrite". 649 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 650 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 651 disabled on the disk. 652 :type write_accelerator_enabled: bool 653 :param create_option: Required. Specifies how the virtual machine should be 654 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 655 This value is used when you are using a specialized disk to create the virtual 656 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 657 image to create the virtual machine. If you are using a platform image, you also use the 658 imageReference element described above. If you are using a marketplace image, you also use the 659 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 660 :type create_option: str or ~azure.mgmt.compute.v2018_04_01.models.DiskCreateOptionTypes 661 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 662 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 663 This value cannot be larger than 1023 GB. 664 :type disk_size_gb: int 665 :param managed_disk: The managed disk parameters. 666 :type managed_disk: ~azure.mgmt.compute.v2018_04_01.models.ManagedDiskParameters 667 """ 668 669 _validation = { 670 'lun': {'required': True}, 671 'create_option': {'required': True}, 672 } 673 674 _attribute_map = { 675 'lun': {'key': 'lun', 'type': 'int'}, 676 'name': {'key': 'name', 'type': 'str'}, 677 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 678 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 679 'caching': {'key': 'caching', 'type': 'str'}, 680 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 681 'create_option': {'key': 'createOption', 'type': 'str'}, 682 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 683 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 684 } 685 686 def __init__( 687 self, 688 *, 689 lun: int, 690 create_option: Union[str, "DiskCreateOptionTypes"], 691 name: Optional[str] = None, 692 vhd: Optional["VirtualHardDisk"] = None, 693 image: Optional["VirtualHardDisk"] = None, 694 caching: Optional[Union[str, "CachingTypes"]] = None, 695 write_accelerator_enabled: Optional[bool] = None, 696 disk_size_gb: Optional[int] = None, 697 managed_disk: Optional["ManagedDiskParameters"] = None, 698 **kwargs 699 ): 700 super(DataDisk, self).__init__(**kwargs) 701 self.lun = lun 702 self.name = name 703 self.vhd = vhd 704 self.image = image 705 self.caching = caching 706 self.write_accelerator_enabled = write_accelerator_enabled 707 self.create_option = create_option 708 self.disk_size_gb = disk_size_gb 709 self.managed_disk = managed_disk 710 711 712class DataDiskImage(msrest.serialization.Model): 713 """Contains the data disk images information. 714 715 Variables are only populated by the server, and will be ignored when sending a request. 716 717 :ivar lun: Specifies the logical unit number of the data disk. This value is used to identify 718 data disks within the VM and therefore must be unique for each data disk attached to a VM. 719 :vartype lun: int 720 """ 721 722 _validation = { 723 'lun': {'readonly': True}, 724 } 725 726 _attribute_map = { 727 'lun': {'key': 'lun', 'type': 'int'}, 728 } 729 730 def __init__( 731 self, 732 **kwargs 733 ): 734 super(DataDiskImage, self).__init__(**kwargs) 735 self.lun = None 736 737 738class DiagnosticsProfile(msrest.serialization.Model): 739 """Specifies the boot diagnostic settings state. :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 740 741 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 742 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 743 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 744 screenshot of the VM from the hypervisor. 745 :type boot_diagnostics: ~azure.mgmt.compute.v2018_04_01.models.BootDiagnostics 746 """ 747 748 _attribute_map = { 749 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnostics'}, 750 } 751 752 def __init__( 753 self, 754 *, 755 boot_diagnostics: Optional["BootDiagnostics"] = None, 756 **kwargs 757 ): 758 super(DiagnosticsProfile, self).__init__(**kwargs) 759 self.boot_diagnostics = boot_diagnostics 760 761 762class Disk(Resource): 763 """Disk resource. 764 765 Variables are only populated by the server, and will be ignored when sending a request. 766 767 All required parameters must be populated in order to send to Azure. 768 769 :ivar id: Resource Id. 770 :vartype id: str 771 :ivar name: Resource name. 772 :vartype name: str 773 :ivar type: Resource type. 774 :vartype type: str 775 :param location: Required. Resource location. 776 :type location: str 777 :param tags: A set of tags. Resource tags. 778 :type tags: dict[str, str] 779 :ivar managed_by: A relative URI containing the ID of the VM that has the disk attached. 780 :vartype managed_by: str 781 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, or StandardSSD_LRS. 782 :type sku: ~azure.mgmt.compute.v2018_04_01.models.DiskSku 783 :param zones: The Logical zone list for Disk. 784 :type zones: list[str] 785 :ivar time_created: The time when the disk was created. 786 :vartype time_created: ~datetime.datetime 787 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 788 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 789 :param creation_data: Disk source information. CreationData information cannot be changed after 790 the disk has been created. 791 :type creation_data: ~azure.mgmt.compute.v2018_04_01.models.CreationData 792 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 793 indicates the size of the VHD to create. If this field is present for updates or creation with 794 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 795 running VM, and can only increase the disk's size. 796 :type disk_size_gb: int 797 :param encryption_settings: Encryption settings for disk or snapshot. 798 :type encryption_settings: ~azure.mgmt.compute.v2018_04_01.models.EncryptionSettings 799 :ivar provisioning_state: The disk provisioning state. 800 :vartype provisioning_state: str 801 """ 802 803 _validation = { 804 'id': {'readonly': True}, 805 'name': {'readonly': True}, 806 'type': {'readonly': True}, 807 'location': {'required': True}, 808 'managed_by': {'readonly': True}, 809 'time_created': {'readonly': True}, 810 'provisioning_state': {'readonly': True}, 811 } 812 813 _attribute_map = { 814 'id': {'key': 'id', 'type': 'str'}, 815 'name': {'key': 'name', 'type': 'str'}, 816 'type': {'key': 'type', 'type': 'str'}, 817 'location': {'key': 'location', 'type': 'str'}, 818 'tags': {'key': 'tags', 'type': '{str}'}, 819 'managed_by': {'key': 'managedBy', 'type': 'str'}, 820 'sku': {'key': 'sku', 'type': 'DiskSku'}, 821 'zones': {'key': 'zones', 'type': '[str]'}, 822 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 823 'os_type': {'key': 'properties.osType', 'type': 'str'}, 824 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 825 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 826 'encryption_settings': {'key': 'properties.encryptionSettings', 'type': 'EncryptionSettings'}, 827 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 828 } 829 830 def __init__( 831 self, 832 *, 833 location: str, 834 tags: Optional[Dict[str, str]] = None, 835 sku: Optional["DiskSku"] = None, 836 zones: Optional[List[str]] = None, 837 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 838 creation_data: Optional["CreationData"] = None, 839 disk_size_gb: Optional[int] = None, 840 encryption_settings: Optional["EncryptionSettings"] = None, 841 **kwargs 842 ): 843 super(Disk, self).__init__(location=location, tags=tags, **kwargs) 844 self.managed_by = None 845 self.sku = sku 846 self.zones = zones 847 self.time_created = None 848 self.os_type = os_type 849 self.creation_data = creation_data 850 self.disk_size_gb = disk_size_gb 851 self.encryption_settings = encryption_settings 852 self.provisioning_state = None 853 854 855class DiskEncryptionSettings(msrest.serialization.Model): 856 """Describes a Encryption Settings for a Disk. 857 858 :param disk_encryption_key: Specifies the location of the disk encryption key, which is a Key 859 Vault Secret. 860 :type disk_encryption_key: ~azure.mgmt.compute.v2018_04_01.models.KeyVaultSecretReference 861 :param key_encryption_key: Specifies the location of the key encryption key in Key Vault. 862 :type key_encryption_key: ~azure.mgmt.compute.v2018_04_01.models.KeyVaultKeyReference 863 :param enabled: Specifies whether disk encryption should be enabled on the virtual machine. 864 :type enabled: bool 865 """ 866 867 _attribute_map = { 868 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultSecretReference'}, 869 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultKeyReference'}, 870 'enabled': {'key': 'enabled', 'type': 'bool'}, 871 } 872 873 def __init__( 874 self, 875 *, 876 disk_encryption_key: Optional["KeyVaultSecretReference"] = None, 877 key_encryption_key: Optional["KeyVaultKeyReference"] = None, 878 enabled: Optional[bool] = None, 879 **kwargs 880 ): 881 super(DiskEncryptionSettings, self).__init__(**kwargs) 882 self.disk_encryption_key = disk_encryption_key 883 self.key_encryption_key = key_encryption_key 884 self.enabled = enabled 885 886 887class DiskInstanceView(msrest.serialization.Model): 888 """The instance view of the disk. 889 890 :param name: The disk name. 891 :type name: str 892 :param encryption_settings: Specifies the encryption settings for the OS Disk. 893 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 894 :type encryption_settings: list[~azure.mgmt.compute.v2018_04_01.models.DiskEncryptionSettings] 895 :param statuses: The resource status information. 896 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 897 """ 898 899 _attribute_map = { 900 'name': {'key': 'name', 'type': 'str'}, 901 'encryption_settings': {'key': 'encryptionSettings', 'type': '[DiskEncryptionSettings]'}, 902 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 903 } 904 905 def __init__( 906 self, 907 *, 908 name: Optional[str] = None, 909 encryption_settings: Optional[List["DiskEncryptionSettings"]] = None, 910 statuses: Optional[List["InstanceViewStatus"]] = None, 911 **kwargs 912 ): 913 super(DiskInstanceView, self).__init__(**kwargs) 914 self.name = name 915 self.encryption_settings = encryption_settings 916 self.statuses = statuses 917 918 919class DiskList(msrest.serialization.Model): 920 """The List Disks operation response. 921 922 All required parameters must be populated in order to send to Azure. 923 924 :param value: Required. A list of disks. 925 :type value: list[~azure.mgmt.compute.v2018_04_01.models.Disk] 926 :param next_link: The uri to fetch the next page of disks. Call ListNext() with this to fetch 927 the next page of disks. 928 :type next_link: str 929 """ 930 931 _validation = { 932 'value': {'required': True}, 933 } 934 935 _attribute_map = { 936 'value': {'key': 'value', 'type': '[Disk]'}, 937 'next_link': {'key': 'nextLink', 'type': 'str'}, 938 } 939 940 def __init__( 941 self, 942 *, 943 value: List["Disk"], 944 next_link: Optional[str] = None, 945 **kwargs 946 ): 947 super(DiskList, self).__init__(**kwargs) 948 self.value = value 949 self.next_link = next_link 950 951 952class DiskSku(msrest.serialization.Model): 953 """The disks sku name. Can be Standard_LRS, Premium_LRS, or StandardSSD_LRS. 954 955 Variables are only populated by the server, and will be ignored when sending a request. 956 957 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 958 "StandardSSD_LRS". 959 :type name: str or ~azure.mgmt.compute.v2018_04_01.models.StorageAccountTypes 960 :ivar tier: The sku tier. 961 :vartype tier: str 962 """ 963 964 _validation = { 965 'tier': {'readonly': True}, 966 } 967 968 _attribute_map = { 969 'name': {'key': 'name', 'type': 'str'}, 970 'tier': {'key': 'tier', 'type': 'str'}, 971 } 972 973 def __init__( 974 self, 975 *, 976 name: Optional[Union[str, "StorageAccountTypes"]] = None, 977 **kwargs 978 ): 979 super(DiskSku, self).__init__(**kwargs) 980 self.name = name 981 self.tier = None 982 983 984class DiskUpdate(msrest.serialization.Model): 985 """Disk update resource. 986 987 :param tags: A set of tags. Resource tags. 988 :type tags: dict[str, str] 989 :param sku: The disks sku name. Can be Standard_LRS, Premium_LRS, or StandardSSD_LRS. 990 :type sku: ~azure.mgmt.compute.v2018_04_01.models.DiskSku 991 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 992 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 993 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 994 indicates the size of the VHD to create. If this field is present for updates or creation with 995 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 996 running VM, and can only increase the disk's size. 997 :type disk_size_gb: int 998 :param encryption_settings: Encryption settings for disk or snapshot. 999 :type encryption_settings: ~azure.mgmt.compute.v2018_04_01.models.EncryptionSettings 1000 """ 1001 1002 _attribute_map = { 1003 'tags': {'key': 'tags', 'type': '{str}'}, 1004 'sku': {'key': 'sku', 'type': 'DiskSku'}, 1005 'os_type': {'key': 'properties.osType', 'type': 'str'}, 1006 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 1007 'encryption_settings': {'key': 'properties.encryptionSettings', 'type': 'EncryptionSettings'}, 1008 } 1009 1010 def __init__( 1011 self, 1012 *, 1013 tags: Optional[Dict[str, str]] = None, 1014 sku: Optional["DiskSku"] = None, 1015 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 1016 disk_size_gb: Optional[int] = None, 1017 encryption_settings: Optional["EncryptionSettings"] = None, 1018 **kwargs 1019 ): 1020 super(DiskUpdate, self).__init__(**kwargs) 1021 self.tags = tags 1022 self.sku = sku 1023 self.os_type = os_type 1024 self.disk_size_gb = disk_size_gb 1025 self.encryption_settings = encryption_settings 1026 1027 1028class EncryptionSettings(msrest.serialization.Model): 1029 """Encryption settings for disk or snapshot. 1030 1031 :param enabled: Set this flag to true and provide DiskEncryptionKey and optional 1032 KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and 1033 KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, 1034 the existing settings remain unchanged. 1035 :type enabled: bool 1036 :param disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key. 1037 :type disk_encryption_key: ~azure.mgmt.compute.v2018_04_01.models.KeyVaultAndSecretReference 1038 :param key_encryption_key: Key Vault Key Url and vault id of the key encryption key. 1039 :type key_encryption_key: ~azure.mgmt.compute.v2018_04_01.models.KeyVaultAndKeyReference 1040 """ 1041 1042 _attribute_map = { 1043 'enabled': {'key': 'enabled', 'type': 'bool'}, 1044 'disk_encryption_key': {'key': 'diskEncryptionKey', 'type': 'KeyVaultAndSecretReference'}, 1045 'key_encryption_key': {'key': 'keyEncryptionKey', 'type': 'KeyVaultAndKeyReference'}, 1046 } 1047 1048 def __init__( 1049 self, 1050 *, 1051 enabled: Optional[bool] = None, 1052 disk_encryption_key: Optional["KeyVaultAndSecretReference"] = None, 1053 key_encryption_key: Optional["KeyVaultAndKeyReference"] = None, 1054 **kwargs 1055 ): 1056 super(EncryptionSettings, self).__init__(**kwargs) 1057 self.enabled = enabled 1058 self.disk_encryption_key = disk_encryption_key 1059 self.key_encryption_key = key_encryption_key 1060 1061 1062class GrantAccessData(msrest.serialization.Model): 1063 """Data used for requesting a SAS. 1064 1065 All required parameters must be populated in order to send to Azure. 1066 1067 :param access: Required. Possible values include: "None", "Read". 1068 :type access: str or ~azure.mgmt.compute.v2018_04_01.models.AccessLevel 1069 :param duration_in_seconds: Required. Time duration in seconds until the SAS access expires. 1070 :type duration_in_seconds: int 1071 """ 1072 1073 _validation = { 1074 'access': {'required': True}, 1075 'duration_in_seconds': {'required': True}, 1076 } 1077 1078 _attribute_map = { 1079 'access': {'key': 'access', 'type': 'str'}, 1080 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'int'}, 1081 } 1082 1083 def __init__( 1084 self, 1085 *, 1086 access: Union[str, "AccessLevel"], 1087 duration_in_seconds: int, 1088 **kwargs 1089 ): 1090 super(GrantAccessData, self).__init__(**kwargs) 1091 self.access = access 1092 self.duration_in_seconds = duration_in_seconds 1093 1094 1095class HardwareProfile(msrest.serialization.Model): 1096 """Specifies the hardware settings for the virtual machine. 1097 1098 :param vm_size: Specifies the size of the virtual machine. For more information about virtual 1099 machine sizes, see `Sizes for virtual machines 1100 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 1101 :code:`<br>`:code:`<br>` The available VM sizes depend on region and availability set. For a 1102 list of available sizes use these APIs: :code:`<br>`:code:`<br>` `List all available virtual 1103 machine sizes in an availability set 1104 <https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes>`_ 1105 :code:`<br>`:code:`<br>` `List all available virtual machine sizes in a region 1106 <https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list>`_ 1107 :code:`<br>`:code:`<br>` `List all available virtual machine sizes for resizing 1108 <https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes>`_. Possible 1109 values include: "Basic_A0", "Basic_A1", "Basic_A2", "Basic_A3", "Basic_A4", "Standard_A0", 1110 "Standard_A1", "Standard_A2", "Standard_A3", "Standard_A4", "Standard_A5", "Standard_A6", 1111 "Standard_A7", "Standard_A8", "Standard_A9", "Standard_A10", "Standard_A11", "Standard_A1_v2", 1112 "Standard_A2_v2", "Standard_A4_v2", "Standard_A8_v2", "Standard_A2m_v2", "Standard_A4m_v2", 1113 "Standard_A8m_v2", "Standard_B1s", "Standard_B1ms", "Standard_B2s", "Standard_B2ms", 1114 "Standard_B4ms", "Standard_B8ms", "Standard_D1", "Standard_D2", "Standard_D3", "Standard_D4", 1115 "Standard_D11", "Standard_D12", "Standard_D13", "Standard_D14", "Standard_D1_v2", 1116 "Standard_D2_v2", "Standard_D3_v2", "Standard_D4_v2", "Standard_D5_v2", "Standard_D2_v3", 1117 "Standard_D4_v3", "Standard_D8_v3", "Standard_D16_v3", "Standard_D32_v3", "Standard_D64_v3", 1118 "Standard_D2s_v3", "Standard_D4s_v3", "Standard_D8s_v3", "Standard_D16s_v3", 1119 "Standard_D32s_v3", "Standard_D64s_v3", "Standard_D11_v2", "Standard_D12_v2", 1120 "Standard_D13_v2", "Standard_D14_v2", "Standard_D15_v2", "Standard_DS1", "Standard_DS2", 1121 "Standard_DS3", "Standard_DS4", "Standard_DS11", "Standard_DS12", "Standard_DS13", 1122 "Standard_DS14", "Standard_DS1_v2", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", 1123 "Standard_DS5_v2", "Standard_DS11_v2", "Standard_DS12_v2", "Standard_DS13_v2", 1124 "Standard_DS14_v2", "Standard_DS15_v2", "Standard_DS13-4_v2", "Standard_DS13-2_v2", 1125 "Standard_DS14-8_v2", "Standard_DS14-4_v2", "Standard_E2_v3", "Standard_E4_v3", 1126 "Standard_E8_v3", "Standard_E16_v3", "Standard_E32_v3", "Standard_E64_v3", "Standard_E2s_v3", 1127 "Standard_E4s_v3", "Standard_E8s_v3", "Standard_E16s_v3", "Standard_E32s_v3", 1128 "Standard_E64s_v3", "Standard_E32-16_v3", "Standard_E32-8s_v3", "Standard_E64-32s_v3", 1129 "Standard_E64-16s_v3", "Standard_F1", "Standard_F2", "Standard_F4", "Standard_F8", 1130 "Standard_F16", "Standard_F1s", "Standard_F2s", "Standard_F4s", "Standard_F8s", 1131 "Standard_F16s", "Standard_F2s_v2", "Standard_F4s_v2", "Standard_F8s_v2", "Standard_F16s_v2", 1132 "Standard_F32s_v2", "Standard_F64s_v2", "Standard_F72s_v2", "Standard_G1", "Standard_G2", 1133 "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", 1134 "Standard_GS4", "Standard_GS5", "Standard_GS4-8", "Standard_GS4-4", "Standard_GS5-16", 1135 "Standard_GS5-8", "Standard_H8", "Standard_H16", "Standard_H8m", "Standard_H16m", 1136 "Standard_H16r", "Standard_H16mr", "Standard_L4s", "Standard_L8s", "Standard_L16s", 1137 "Standard_L32s", "Standard_M64s", "Standard_M64ms", "Standard_M128s", "Standard_M128ms", 1138 "Standard_M64-32ms", "Standard_M64-16ms", "Standard_M128-64ms", "Standard_M128-32ms", 1139 "Standard_NC6", "Standard_NC12", "Standard_NC24", "Standard_NC24r", "Standard_NC6s_v2", 1140 "Standard_NC12s_v2", "Standard_NC24s_v2", "Standard_NC24rs_v2", "Standard_NC6s_v3", 1141 "Standard_NC12s_v3", "Standard_NC24s_v3", "Standard_NC24rs_v3", "Standard_ND6s", 1142 "Standard_ND12s", "Standard_ND24s", "Standard_ND24rs", "Standard_NV6", "Standard_NV12", 1143 "Standard_NV24". 1144 :type vm_size: str or ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineSizeTypes 1145 """ 1146 1147 _attribute_map = { 1148 'vm_size': {'key': 'vmSize', 'type': 'str'}, 1149 } 1150 1151 def __init__( 1152 self, 1153 *, 1154 vm_size: Optional[Union[str, "VirtualMachineSizeTypes"]] = None, 1155 **kwargs 1156 ): 1157 super(HardwareProfile, self).__init__(**kwargs) 1158 self.vm_size = vm_size 1159 1160 1161class Image(Resource): 1162 """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. 1163 1164 Variables are only populated by the server, and will be ignored when sending a request. 1165 1166 All required parameters must be populated in order to send to Azure. 1167 1168 :ivar id: Resource Id. 1169 :vartype id: str 1170 :ivar name: Resource name. 1171 :vartype name: str 1172 :ivar type: Resource type. 1173 :vartype type: str 1174 :param location: Required. Resource location. 1175 :type location: str 1176 :param tags: A set of tags. Resource tags. 1177 :type tags: dict[str, str] 1178 :param source_virtual_machine: The source virtual machine from which Image is created. 1179 :type source_virtual_machine: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1180 :param storage_profile: Specifies the storage settings for the virtual machine disks. 1181 :type storage_profile: ~azure.mgmt.compute.v2018_04_01.models.ImageStorageProfile 1182 :ivar provisioning_state: The provisioning state. 1183 :vartype provisioning_state: str 1184 """ 1185 1186 _validation = { 1187 'id': {'readonly': True}, 1188 'name': {'readonly': True}, 1189 'type': {'readonly': True}, 1190 'location': {'required': True}, 1191 'provisioning_state': {'readonly': True}, 1192 } 1193 1194 _attribute_map = { 1195 'id': {'key': 'id', 'type': 'str'}, 1196 'name': {'key': 'name', 'type': 'str'}, 1197 'type': {'key': 'type', 'type': 'str'}, 1198 'location': {'key': 'location', 'type': 'str'}, 1199 'tags': {'key': 'tags', 'type': '{str}'}, 1200 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 1201 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 1202 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1203 } 1204 1205 def __init__( 1206 self, 1207 *, 1208 location: str, 1209 tags: Optional[Dict[str, str]] = None, 1210 source_virtual_machine: Optional["SubResource"] = None, 1211 storage_profile: Optional["ImageStorageProfile"] = None, 1212 **kwargs 1213 ): 1214 super(Image, self).__init__(location=location, tags=tags, **kwargs) 1215 self.source_virtual_machine = source_virtual_machine 1216 self.storage_profile = storage_profile 1217 self.provisioning_state = None 1218 1219 1220class ImageDataDisk(msrest.serialization.Model): 1221 """Describes a data disk. 1222 1223 All required parameters must be populated in order to send to Azure. 1224 1225 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 1226 identify data disks within the VM and therefore must be unique for each data disk attached to a 1227 VM. 1228 :type lun: int 1229 :param snapshot: The snapshot. 1230 :type snapshot: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1231 :param managed_disk: The managedDisk. 1232 :type managed_disk: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1233 :param blob_uri: The Virtual Hard Disk. 1234 :type blob_uri: str 1235 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 1236 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 1237 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 1238 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 1239 "ReadWrite". 1240 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 1241 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 1242 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 1243 This value cannot be larger than 1023 GB. 1244 :type disk_size_gb: int 1245 :param storage_account_type: Specifies the storage account type for the managed disk. Possible 1246 values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS. Possible values include: 1247 "Standard_LRS", "Premium_LRS", "StandardSSD_LRS". 1248 :type storage_account_type: str or ~azure.mgmt.compute.v2018_04_01.models.StorageAccountTypes 1249 """ 1250 1251 _validation = { 1252 'lun': {'required': True}, 1253 } 1254 1255 _attribute_map = { 1256 'lun': {'key': 'lun', 'type': 'int'}, 1257 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 1258 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 1259 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 1260 'caching': {'key': 'caching', 'type': 'str'}, 1261 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 1262 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 1263 } 1264 1265 def __init__( 1266 self, 1267 *, 1268 lun: int, 1269 snapshot: Optional["SubResource"] = None, 1270 managed_disk: Optional["SubResource"] = None, 1271 blob_uri: Optional[str] = None, 1272 caching: Optional[Union[str, "CachingTypes"]] = None, 1273 disk_size_gb: Optional[int] = None, 1274 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 1275 **kwargs 1276 ): 1277 super(ImageDataDisk, self).__init__(**kwargs) 1278 self.lun = lun 1279 self.snapshot = snapshot 1280 self.managed_disk = managed_disk 1281 self.blob_uri = blob_uri 1282 self.caching = caching 1283 self.disk_size_gb = disk_size_gb 1284 self.storage_account_type = storage_account_type 1285 1286 1287class ImageDiskReference(msrest.serialization.Model): 1288 """The source image used for creating the disk. 1289 1290 All required parameters must be populated in order to send to Azure. 1291 1292 :param id: Required. A relative uri containing either a Platform Image Repository or user image 1293 reference. 1294 :type id: str 1295 :param lun: If the disk is created from an image's data disk, this is an index that indicates 1296 which of the data disks in the image to use. For OS disks, this field is null. 1297 :type lun: int 1298 """ 1299 1300 _validation = { 1301 'id': {'required': True}, 1302 } 1303 1304 _attribute_map = { 1305 'id': {'key': 'id', 'type': 'str'}, 1306 'lun': {'key': 'lun', 'type': 'int'}, 1307 } 1308 1309 def __init__( 1310 self, 1311 *, 1312 id: str, 1313 lun: Optional[int] = None, 1314 **kwargs 1315 ): 1316 super(ImageDiskReference, self).__init__(**kwargs) 1317 self.id = id 1318 self.lun = lun 1319 1320 1321class ImageListResult(msrest.serialization.Model): 1322 """The List Image operation response. 1323 1324 All required parameters must be populated in order to send to Azure. 1325 1326 :param value: Required. The list of Images. 1327 :type value: list[~azure.mgmt.compute.v2018_04_01.models.Image] 1328 :param next_link: The uri to fetch the next page of Images. Call ListNext() with this to fetch 1329 the next page of Images. 1330 :type next_link: str 1331 """ 1332 1333 _validation = { 1334 'value': {'required': True}, 1335 } 1336 1337 _attribute_map = { 1338 'value': {'key': 'value', 'type': '[Image]'}, 1339 'next_link': {'key': 'nextLink', 'type': 'str'}, 1340 } 1341 1342 def __init__( 1343 self, 1344 *, 1345 value: List["Image"], 1346 next_link: Optional[str] = None, 1347 **kwargs 1348 ): 1349 super(ImageListResult, self).__init__(**kwargs) 1350 self.value = value 1351 self.next_link = next_link 1352 1353 1354class ImageOSDisk(msrest.serialization.Model): 1355 """Describes an Operating System disk. 1356 1357 All required parameters must be populated in order to send to Azure. 1358 1359 :param os_type: Required. This property allows you to specify the type of the OS that is 1360 included in the disk if creating a VM from a custom image. :code:`<br>`:code:`<br>` Possible 1361 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 1362 values include: "Windows", "Linux". 1363 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 1364 :param os_state: Required. The OS State. Possible values include: "Generalized", "Specialized". 1365 :type os_state: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemStateTypes 1366 :param snapshot: The snapshot. 1367 :type snapshot: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1368 :param managed_disk: The managedDisk. 1369 :type managed_disk: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1370 :param blob_uri: The Virtual Hard Disk. 1371 :type blob_uri: str 1372 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 1373 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 1374 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 1375 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 1376 "ReadWrite". 1377 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 1378 :param disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be 1379 used to overwrite the name of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 1380 This value cannot be larger than 1023 GB. 1381 :type disk_size_gb: int 1382 :param storage_account_type: Specifies the storage account type for the managed disk. Possible 1383 values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS. Possible values include: 1384 "Standard_LRS", "Premium_LRS", "StandardSSD_LRS". 1385 :type storage_account_type: str or ~azure.mgmt.compute.v2018_04_01.models.StorageAccountTypes 1386 """ 1387 1388 _validation = { 1389 'os_type': {'required': True}, 1390 'os_state': {'required': True}, 1391 } 1392 1393 _attribute_map = { 1394 'os_type': {'key': 'osType', 'type': 'str'}, 1395 'os_state': {'key': 'osState', 'type': 'str'}, 1396 'snapshot': {'key': 'snapshot', 'type': 'SubResource'}, 1397 'managed_disk': {'key': 'managedDisk', 'type': 'SubResource'}, 1398 'blob_uri': {'key': 'blobUri', 'type': 'str'}, 1399 'caching': {'key': 'caching', 'type': 'str'}, 1400 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 1401 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 1402 } 1403 1404 def __init__( 1405 self, 1406 *, 1407 os_type: Union[str, "OperatingSystemTypes"], 1408 os_state: Union[str, "OperatingSystemStateTypes"], 1409 snapshot: Optional["SubResource"] = None, 1410 managed_disk: Optional["SubResource"] = None, 1411 blob_uri: Optional[str] = None, 1412 caching: Optional[Union[str, "CachingTypes"]] = None, 1413 disk_size_gb: Optional[int] = None, 1414 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 1415 **kwargs 1416 ): 1417 super(ImageOSDisk, self).__init__(**kwargs) 1418 self.os_type = os_type 1419 self.os_state = os_state 1420 self.snapshot = snapshot 1421 self.managed_disk = managed_disk 1422 self.blob_uri = blob_uri 1423 self.caching = caching 1424 self.disk_size_gb = disk_size_gb 1425 self.storage_account_type = storage_account_type 1426 1427 1428class SubResource(msrest.serialization.Model): 1429 """SubResource. 1430 1431 :param id: Resource Id. 1432 :type id: str 1433 """ 1434 1435 _attribute_map = { 1436 'id': {'key': 'id', 'type': 'str'}, 1437 } 1438 1439 def __init__( 1440 self, 1441 *, 1442 id: Optional[str] = None, 1443 **kwargs 1444 ): 1445 super(SubResource, self).__init__(**kwargs) 1446 self.id = id 1447 1448 1449class ImageReference(SubResource): 1450 """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. 1451 1452 :param id: Resource Id. 1453 :type id: str 1454 :param publisher: The image publisher. 1455 :type publisher: str 1456 :param offer: Specifies the offer of the platform image or marketplace image used to create the 1457 virtual machine. 1458 :type offer: str 1459 :param sku: The image SKU. 1460 :type sku: str 1461 :param version: Specifies the version of the platform image or marketplace image used to create 1462 the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and 1463 Build are decimal numbers. Specify 'latest' to use the latest version of an image available at 1464 deploy time. Even if you use 'latest', the VM image will not automatically update after deploy 1465 time even if a new version becomes available. 1466 :type version: str 1467 """ 1468 1469 _attribute_map = { 1470 'id': {'key': 'id', 'type': 'str'}, 1471 'publisher': {'key': 'publisher', 'type': 'str'}, 1472 'offer': {'key': 'offer', 'type': 'str'}, 1473 'sku': {'key': 'sku', 'type': 'str'}, 1474 'version': {'key': 'version', 'type': 'str'}, 1475 } 1476 1477 def __init__( 1478 self, 1479 *, 1480 id: Optional[str] = None, 1481 publisher: Optional[str] = None, 1482 offer: Optional[str] = None, 1483 sku: Optional[str] = None, 1484 version: Optional[str] = None, 1485 **kwargs 1486 ): 1487 super(ImageReference, self).__init__(id=id, **kwargs) 1488 self.publisher = publisher 1489 self.offer = offer 1490 self.sku = sku 1491 self.version = version 1492 1493 1494class ImageStorageProfile(msrest.serialization.Model): 1495 """Describes a storage profile. 1496 1497 :param os_disk: Specifies information about the operating system disk used by the virtual 1498 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 1499 for Azure virtual machines 1500 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 1501 :type os_disk: ~azure.mgmt.compute.v2018_04_01.models.ImageOSDisk 1502 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 1503 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 1504 for Azure virtual machines 1505 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 1506 :type data_disks: list[~azure.mgmt.compute.v2018_04_01.models.ImageDataDisk] 1507 :param zone_resilient: Specifies whether an image is zone resilient or not. Default is false. 1508 Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). 1509 :type zone_resilient: bool 1510 """ 1511 1512 _attribute_map = { 1513 'os_disk': {'key': 'osDisk', 'type': 'ImageOSDisk'}, 1514 'data_disks': {'key': 'dataDisks', 'type': '[ImageDataDisk]'}, 1515 'zone_resilient': {'key': 'zoneResilient', 'type': 'bool'}, 1516 } 1517 1518 def __init__( 1519 self, 1520 *, 1521 os_disk: Optional["ImageOSDisk"] = None, 1522 data_disks: Optional[List["ImageDataDisk"]] = None, 1523 zone_resilient: Optional[bool] = None, 1524 **kwargs 1525 ): 1526 super(ImageStorageProfile, self).__init__(**kwargs) 1527 self.os_disk = os_disk 1528 self.data_disks = data_disks 1529 self.zone_resilient = zone_resilient 1530 1531 1532class ImageUpdate(UpdateResource): 1533 """The source user image virtual hard disk. Only tags may be updated. 1534 1535 Variables are only populated by the server, and will be ignored when sending a request. 1536 1537 :param tags: A set of tags. Resource tags. 1538 :type tags: dict[str, str] 1539 :param source_virtual_machine: The source virtual machine from which Image is created. 1540 :type source_virtual_machine: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1541 :param storage_profile: Specifies the storage settings for the virtual machine disks. 1542 :type storage_profile: ~azure.mgmt.compute.v2018_04_01.models.ImageStorageProfile 1543 :ivar provisioning_state: The provisioning state. 1544 :vartype provisioning_state: str 1545 """ 1546 1547 _validation = { 1548 'provisioning_state': {'readonly': True}, 1549 } 1550 1551 _attribute_map = { 1552 'tags': {'key': 'tags', 'type': '{str}'}, 1553 'source_virtual_machine': {'key': 'properties.sourceVirtualMachine', 'type': 'SubResource'}, 1554 'storage_profile': {'key': 'properties.storageProfile', 'type': 'ImageStorageProfile'}, 1555 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1556 } 1557 1558 def __init__( 1559 self, 1560 *, 1561 tags: Optional[Dict[str, str]] = None, 1562 source_virtual_machine: Optional["SubResource"] = None, 1563 storage_profile: Optional["ImageStorageProfile"] = None, 1564 **kwargs 1565 ): 1566 super(ImageUpdate, self).__init__(tags=tags, **kwargs) 1567 self.source_virtual_machine = source_virtual_machine 1568 self.storage_profile = storage_profile 1569 self.provisioning_state = None 1570 1571 1572class InnerError(msrest.serialization.Model): 1573 """Inner error details. 1574 1575 :param exceptiontype: The exception type. 1576 :type exceptiontype: str 1577 :param errordetail: The internal error message or exception dump. 1578 :type errordetail: str 1579 """ 1580 1581 _attribute_map = { 1582 'exceptiontype': {'key': 'exceptiontype', 'type': 'str'}, 1583 'errordetail': {'key': 'errordetail', 'type': 'str'}, 1584 } 1585 1586 def __init__( 1587 self, 1588 *, 1589 exceptiontype: Optional[str] = None, 1590 errordetail: Optional[str] = None, 1591 **kwargs 1592 ): 1593 super(InnerError, self).__init__(**kwargs) 1594 self.exceptiontype = exceptiontype 1595 self.errordetail = errordetail 1596 1597 1598class InstanceViewStatus(msrest.serialization.Model): 1599 """Instance view status. 1600 1601 :param code: The status code. 1602 :type code: str 1603 :param level: The level code. Possible values include: "Info", "Warning", "Error". 1604 :type level: str or ~azure.mgmt.compute.v2018_04_01.models.StatusLevelTypes 1605 :param display_status: The short localizable label for the status. 1606 :type display_status: str 1607 :param message: The detailed status message, including for alerts and error messages. 1608 :type message: str 1609 :param time: The time of the status. 1610 :type time: ~datetime.datetime 1611 """ 1612 1613 _attribute_map = { 1614 'code': {'key': 'code', 'type': 'str'}, 1615 'level': {'key': 'level', 'type': 'str'}, 1616 'display_status': {'key': 'displayStatus', 'type': 'str'}, 1617 'message': {'key': 'message', 'type': 'str'}, 1618 'time': {'key': 'time', 'type': 'iso-8601'}, 1619 } 1620 1621 def __init__( 1622 self, 1623 *, 1624 code: Optional[str] = None, 1625 level: Optional[Union[str, "StatusLevelTypes"]] = None, 1626 display_status: Optional[str] = None, 1627 message: Optional[str] = None, 1628 time: Optional[datetime.datetime] = None, 1629 **kwargs 1630 ): 1631 super(InstanceViewStatus, self).__init__(**kwargs) 1632 self.code = code 1633 self.level = level 1634 self.display_status = display_status 1635 self.message = message 1636 self.time = time 1637 1638 1639class KeyVaultAndKeyReference(msrest.serialization.Model): 1640 """Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey. 1641 1642 All required parameters must be populated in order to send to Azure. 1643 1644 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 1645 :type source_vault: ~azure.mgmt.compute.v2018_04_01.models.SourceVault 1646 :param key_url: Required. Url pointing to a key or secret in KeyVault. 1647 :type key_url: str 1648 """ 1649 1650 _validation = { 1651 'source_vault': {'required': True}, 1652 'key_url': {'required': True}, 1653 } 1654 1655 _attribute_map = { 1656 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 1657 'key_url': {'key': 'keyUrl', 'type': 'str'}, 1658 } 1659 1660 def __init__( 1661 self, 1662 *, 1663 source_vault: "SourceVault", 1664 key_url: str, 1665 **kwargs 1666 ): 1667 super(KeyVaultAndKeyReference, self).__init__(**kwargs) 1668 self.source_vault = source_vault 1669 self.key_url = key_url 1670 1671 1672class KeyVaultAndSecretReference(msrest.serialization.Model): 1673 """Key Vault Secret Url and vault id of the encryption key. 1674 1675 All required parameters must be populated in order to send to Azure. 1676 1677 :param source_vault: Required. Resource id of the KeyVault containing the key or secret. 1678 :type source_vault: ~azure.mgmt.compute.v2018_04_01.models.SourceVault 1679 :param secret_url: Required. Url pointing to a key or secret in KeyVault. 1680 :type secret_url: str 1681 """ 1682 1683 _validation = { 1684 'source_vault': {'required': True}, 1685 'secret_url': {'required': True}, 1686 } 1687 1688 _attribute_map = { 1689 'source_vault': {'key': 'sourceVault', 'type': 'SourceVault'}, 1690 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 1691 } 1692 1693 def __init__( 1694 self, 1695 *, 1696 source_vault: "SourceVault", 1697 secret_url: str, 1698 **kwargs 1699 ): 1700 super(KeyVaultAndSecretReference, self).__init__(**kwargs) 1701 self.source_vault = source_vault 1702 self.secret_url = secret_url 1703 1704 1705class KeyVaultKeyReference(msrest.serialization.Model): 1706 """Describes a reference to Key Vault Key. 1707 1708 All required parameters must be populated in order to send to Azure. 1709 1710 :param key_url: Required. The URL referencing a key encryption key in Key Vault. 1711 :type key_url: str 1712 :param source_vault: Required. The relative URL of the Key Vault containing the key. 1713 :type source_vault: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1714 """ 1715 1716 _validation = { 1717 'key_url': {'required': True}, 1718 'source_vault': {'required': True}, 1719 } 1720 1721 _attribute_map = { 1722 'key_url': {'key': 'keyUrl', 'type': 'str'}, 1723 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 1724 } 1725 1726 def __init__( 1727 self, 1728 *, 1729 key_url: str, 1730 source_vault: "SubResource", 1731 **kwargs 1732 ): 1733 super(KeyVaultKeyReference, self).__init__(**kwargs) 1734 self.key_url = key_url 1735 self.source_vault = source_vault 1736 1737 1738class KeyVaultSecretReference(msrest.serialization.Model): 1739 """Describes a reference to Key Vault Secret. 1740 1741 All required parameters must be populated in order to send to Azure. 1742 1743 :param secret_url: Required. The URL referencing a secret in a Key Vault. 1744 :type secret_url: str 1745 :param source_vault: Required. The relative URL of the Key Vault containing the secret. 1746 :type source_vault: ~azure.mgmt.compute.v2018_04_01.models.SubResource 1747 """ 1748 1749 _validation = { 1750 'secret_url': {'required': True}, 1751 'source_vault': {'required': True}, 1752 } 1753 1754 _attribute_map = { 1755 'secret_url': {'key': 'secretUrl', 'type': 'str'}, 1756 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 1757 } 1758 1759 def __init__( 1760 self, 1761 *, 1762 secret_url: str, 1763 source_vault: "SubResource", 1764 **kwargs 1765 ): 1766 super(KeyVaultSecretReference, self).__init__(**kwargs) 1767 self.secret_url = secret_url 1768 self.source_vault = source_vault 1769 1770 1771class LinuxConfiguration(msrest.serialization.Model): 1772 """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>`_. 1773 1774 :param disable_password_authentication: Specifies whether password authentication should be 1775 disabled. 1776 :type disable_password_authentication: bool 1777 :param ssh: Specifies the ssh key configuration for a Linux OS. 1778 :type ssh: ~azure.mgmt.compute.v2018_04_01.models.SshConfiguration 1779 """ 1780 1781 _attribute_map = { 1782 'disable_password_authentication': {'key': 'disablePasswordAuthentication', 'type': 'bool'}, 1783 'ssh': {'key': 'ssh', 'type': 'SshConfiguration'}, 1784 } 1785 1786 def __init__( 1787 self, 1788 *, 1789 disable_password_authentication: Optional[bool] = None, 1790 ssh: Optional["SshConfiguration"] = None, 1791 **kwargs 1792 ): 1793 super(LinuxConfiguration, self).__init__(**kwargs) 1794 self.disable_password_authentication = disable_password_authentication 1795 self.ssh = ssh 1796 1797 1798class ListUsagesResult(msrest.serialization.Model): 1799 """The List Usages operation response. 1800 1801 All required parameters must be populated in order to send to Azure. 1802 1803 :param value: Required. The list of compute resource usages. 1804 :type value: list[~azure.mgmt.compute.v2018_04_01.models.Usage] 1805 :param next_link: The URI to fetch the next page of compute resource usage information. Call 1806 ListNext() with this to fetch the next page of compute resource usage information. 1807 :type next_link: str 1808 """ 1809 1810 _validation = { 1811 'value': {'required': True}, 1812 } 1813 1814 _attribute_map = { 1815 'value': {'key': 'value', 'type': '[Usage]'}, 1816 'next_link': {'key': 'nextLink', 'type': 'str'}, 1817 } 1818 1819 def __init__( 1820 self, 1821 *, 1822 value: List["Usage"], 1823 next_link: Optional[str] = None, 1824 **kwargs 1825 ): 1826 super(ListUsagesResult, self).__init__(**kwargs) 1827 self.value = value 1828 self.next_link = next_link 1829 1830 1831class LogAnalyticsInputBase(msrest.serialization.Model): 1832 """Api input base class for LogAnalytics Api. 1833 1834 All required parameters must be populated in order to send to Azure. 1835 1836 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 1837 LogAnalytics Api writes output logs to. 1838 :type blob_container_sas_uri: str 1839 :param from_time: Required. From time of the query. 1840 :type from_time: ~datetime.datetime 1841 :param to_time: Required. To time of the query. 1842 :type to_time: ~datetime.datetime 1843 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 1844 :type group_by_throttle_policy: bool 1845 :param group_by_operation_name: Group query result by Operation Name. 1846 :type group_by_operation_name: bool 1847 :param group_by_resource_name: Group query result by Resource Name. 1848 :type group_by_resource_name: bool 1849 """ 1850 1851 _validation = { 1852 'blob_container_sas_uri': {'required': True}, 1853 'from_time': {'required': True}, 1854 'to_time': {'required': True}, 1855 } 1856 1857 _attribute_map = { 1858 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 1859 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 1860 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 1861 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 1862 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 1863 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 1864 } 1865 1866 def __init__( 1867 self, 1868 *, 1869 blob_container_sas_uri: str, 1870 from_time: datetime.datetime, 1871 to_time: datetime.datetime, 1872 group_by_throttle_policy: Optional[bool] = None, 1873 group_by_operation_name: Optional[bool] = None, 1874 group_by_resource_name: Optional[bool] = None, 1875 **kwargs 1876 ): 1877 super(LogAnalyticsInputBase, self).__init__(**kwargs) 1878 self.blob_container_sas_uri = blob_container_sas_uri 1879 self.from_time = from_time 1880 self.to_time = to_time 1881 self.group_by_throttle_policy = group_by_throttle_policy 1882 self.group_by_operation_name = group_by_operation_name 1883 self.group_by_resource_name = group_by_resource_name 1884 1885 1886class LogAnalyticsOperationResult(msrest.serialization.Model): 1887 """LogAnalytics operation status response. 1888 1889 Variables are only populated by the server, and will be ignored when sending a request. 1890 1891 :ivar properties: LogAnalyticsOutput. 1892 :vartype properties: ~azure.mgmt.compute.v2018_04_01.models.LogAnalyticsOutput 1893 """ 1894 1895 _validation = { 1896 'properties': {'readonly': True}, 1897 } 1898 1899 _attribute_map = { 1900 'properties': {'key': 'properties', 'type': 'LogAnalyticsOutput'}, 1901 } 1902 1903 def __init__( 1904 self, 1905 **kwargs 1906 ): 1907 super(LogAnalyticsOperationResult, self).__init__(**kwargs) 1908 self.properties = None 1909 1910 1911class LogAnalyticsOutput(msrest.serialization.Model): 1912 """LogAnalytics output properties. 1913 1914 Variables are only populated by the server, and will be ignored when sending a request. 1915 1916 :ivar output: Output file Uri path to blob container. 1917 :vartype output: str 1918 """ 1919 1920 _validation = { 1921 'output': {'readonly': True}, 1922 } 1923 1924 _attribute_map = { 1925 'output': {'key': 'output', 'type': 'str'}, 1926 } 1927 1928 def __init__( 1929 self, 1930 **kwargs 1931 ): 1932 super(LogAnalyticsOutput, self).__init__(**kwargs) 1933 self.output = None 1934 1935 1936class MaintenanceRedeployStatus(msrest.serialization.Model): 1937 """Maintenance Operation Status. 1938 1939 :param is_customer_initiated_maintenance_allowed: True, if customer is allowed to perform 1940 Maintenance. 1941 :type is_customer_initiated_maintenance_allowed: bool 1942 :param pre_maintenance_window_start_time: Start Time for the Pre Maintenance Window. 1943 :type pre_maintenance_window_start_time: ~datetime.datetime 1944 :param pre_maintenance_window_end_time: End Time for the Pre Maintenance Window. 1945 :type pre_maintenance_window_end_time: ~datetime.datetime 1946 :param maintenance_window_start_time: Start Time for the Maintenance Window. 1947 :type maintenance_window_start_time: ~datetime.datetime 1948 :param maintenance_window_end_time: End Time for the Maintenance Window. 1949 :type maintenance_window_end_time: ~datetime.datetime 1950 :param last_operation_result_code: The Last Maintenance Operation Result Code. Possible values 1951 include: "None", "RetryLater", "MaintenanceAborted", "MaintenanceCompleted". 1952 :type last_operation_result_code: str or 1953 ~azure.mgmt.compute.v2018_04_01.models.MaintenanceOperationResultCodeTypes 1954 :param last_operation_message: Message returned for the last Maintenance Operation. 1955 :type last_operation_message: str 1956 """ 1957 1958 _attribute_map = { 1959 'is_customer_initiated_maintenance_allowed': {'key': 'isCustomerInitiatedMaintenanceAllowed', 'type': 'bool'}, 1960 'pre_maintenance_window_start_time': {'key': 'preMaintenanceWindowStartTime', 'type': 'iso-8601'}, 1961 'pre_maintenance_window_end_time': {'key': 'preMaintenanceWindowEndTime', 'type': 'iso-8601'}, 1962 'maintenance_window_start_time': {'key': 'maintenanceWindowStartTime', 'type': 'iso-8601'}, 1963 'maintenance_window_end_time': {'key': 'maintenanceWindowEndTime', 'type': 'iso-8601'}, 1964 'last_operation_result_code': {'key': 'lastOperationResultCode', 'type': 'str'}, 1965 'last_operation_message': {'key': 'lastOperationMessage', 'type': 'str'}, 1966 } 1967 1968 def __init__( 1969 self, 1970 *, 1971 is_customer_initiated_maintenance_allowed: Optional[bool] = None, 1972 pre_maintenance_window_start_time: Optional[datetime.datetime] = None, 1973 pre_maintenance_window_end_time: Optional[datetime.datetime] = None, 1974 maintenance_window_start_time: Optional[datetime.datetime] = None, 1975 maintenance_window_end_time: Optional[datetime.datetime] = None, 1976 last_operation_result_code: Optional[Union[str, "MaintenanceOperationResultCodeTypes"]] = None, 1977 last_operation_message: Optional[str] = None, 1978 **kwargs 1979 ): 1980 super(MaintenanceRedeployStatus, self).__init__(**kwargs) 1981 self.is_customer_initiated_maintenance_allowed = is_customer_initiated_maintenance_allowed 1982 self.pre_maintenance_window_start_time = pre_maintenance_window_start_time 1983 self.pre_maintenance_window_end_time = pre_maintenance_window_end_time 1984 self.maintenance_window_start_time = maintenance_window_start_time 1985 self.maintenance_window_end_time = maintenance_window_end_time 1986 self.last_operation_result_code = last_operation_result_code 1987 self.last_operation_message = last_operation_message 1988 1989 1990class ManagedDiskParameters(SubResource): 1991 """The parameters of a managed disk. 1992 1993 :param id: Resource Id. 1994 :type id: str 1995 :param storage_account_type: Specifies the storage account type for the managed disk. Possible 1996 values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS. Possible values include: 1997 "Standard_LRS", "Premium_LRS", "StandardSSD_LRS". 1998 :type storage_account_type: str or ~azure.mgmt.compute.v2018_04_01.models.StorageAccountTypes 1999 """ 2000 2001 _attribute_map = { 2002 'id': {'key': 'id', 'type': 'str'}, 2003 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 2004 } 2005 2006 def __init__( 2007 self, 2008 *, 2009 id: Optional[str] = None, 2010 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 2011 **kwargs 2012 ): 2013 super(ManagedDiskParameters, self).__init__(id=id, **kwargs) 2014 self.storage_account_type = storage_account_type 2015 2016 2017class NetworkInterfaceReference(SubResource): 2018 """Describes a network interface reference. 2019 2020 :param id: Resource Id. 2021 :type id: str 2022 :param primary: Specifies the primary network interface in case the virtual machine has more 2023 than 1 network interface. 2024 :type primary: bool 2025 """ 2026 2027 _attribute_map = { 2028 'id': {'key': 'id', 'type': 'str'}, 2029 'primary': {'key': 'properties.primary', 'type': 'bool'}, 2030 } 2031 2032 def __init__( 2033 self, 2034 *, 2035 id: Optional[str] = None, 2036 primary: Optional[bool] = None, 2037 **kwargs 2038 ): 2039 super(NetworkInterfaceReference, self).__init__(id=id, **kwargs) 2040 self.primary = primary 2041 2042 2043class NetworkProfile(msrest.serialization.Model): 2044 """Specifies the network interfaces of the virtual machine. 2045 2046 :param network_interfaces: Specifies the list of resource Ids for the network interfaces 2047 associated with the virtual machine. 2048 :type network_interfaces: 2049 list[~azure.mgmt.compute.v2018_04_01.models.NetworkInterfaceReference] 2050 """ 2051 2052 _attribute_map = { 2053 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceReference]'}, 2054 } 2055 2056 def __init__( 2057 self, 2058 *, 2059 network_interfaces: Optional[List["NetworkInterfaceReference"]] = None, 2060 **kwargs 2061 ): 2062 super(NetworkProfile, self).__init__(**kwargs) 2063 self.network_interfaces = network_interfaces 2064 2065 2066class OSDisk(msrest.serialization.Model): 2067 """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>`_. 2068 2069 All required parameters must be populated in order to send to Azure. 2070 2071 :param os_type: This property allows you to specify the type of the OS that is included in the 2072 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 2073 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 2074 values include: "Windows", "Linux". 2075 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 2076 :param encryption_settings: Specifies the encryption settings for the OS Disk. 2077 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 2078 :type encryption_settings: ~azure.mgmt.compute.v2018_04_01.models.DiskEncryptionSettings 2079 :param name: The disk name. 2080 :type name: str 2081 :param vhd: The virtual hard disk. 2082 :type vhd: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 2083 :param image: The source user image virtual hard disk. The virtual hard disk will be copied 2084 before being attached to the virtual machine. If SourceImage is provided, the destination 2085 virtual hard drive must not exist. 2086 :type image: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 2087 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 2088 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 2089 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 2090 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 2091 "ReadWrite". 2092 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 2093 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 2094 disabled on the disk. 2095 :type write_accelerator_enabled: bool 2096 :param create_option: Required. Specifies how the virtual machine should be 2097 created.:code:`<br>`:code:`<br>` Possible values are::code:`<br>`:code:`<br>` **Attach** \u2013 2098 This value is used when you are using a specialized disk to create the virtual 2099 machine.:code:`<br>`:code:`<br>` **FromImage** \u2013 This value is used when you are using an 2100 image to create the virtual machine. If you are using a platform image, you also use the 2101 imageReference element described above. If you are using a marketplace image, you also use the 2102 plan element previously described. Possible values include: "FromImage", "Empty", "Attach". 2103 :type create_option: str or ~azure.mgmt.compute.v2018_04_01.models.DiskCreateOptionTypes 2104 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 2105 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 2106 This value cannot be larger than 1023 GB. 2107 :type disk_size_gb: int 2108 :param managed_disk: The managed disk parameters. 2109 :type managed_disk: ~azure.mgmt.compute.v2018_04_01.models.ManagedDiskParameters 2110 """ 2111 2112 _validation = { 2113 'create_option': {'required': True}, 2114 } 2115 2116 _attribute_map = { 2117 'os_type': {'key': 'osType', 'type': 'str'}, 2118 'encryption_settings': {'key': 'encryptionSettings', 'type': 'DiskEncryptionSettings'}, 2119 'name': {'key': 'name', 'type': 'str'}, 2120 'vhd': {'key': 'vhd', 'type': 'VirtualHardDisk'}, 2121 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 2122 'caching': {'key': 'caching', 'type': 'str'}, 2123 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 2124 'create_option': {'key': 'createOption', 'type': 'str'}, 2125 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 2126 'managed_disk': {'key': 'managedDisk', 'type': 'ManagedDiskParameters'}, 2127 } 2128 2129 def __init__( 2130 self, 2131 *, 2132 create_option: Union[str, "DiskCreateOptionTypes"], 2133 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 2134 encryption_settings: Optional["DiskEncryptionSettings"] = None, 2135 name: Optional[str] = None, 2136 vhd: Optional["VirtualHardDisk"] = None, 2137 image: Optional["VirtualHardDisk"] = None, 2138 caching: Optional[Union[str, "CachingTypes"]] = None, 2139 write_accelerator_enabled: Optional[bool] = None, 2140 disk_size_gb: Optional[int] = None, 2141 managed_disk: Optional["ManagedDiskParameters"] = None, 2142 **kwargs 2143 ): 2144 super(OSDisk, self).__init__(**kwargs) 2145 self.os_type = os_type 2146 self.encryption_settings = encryption_settings 2147 self.name = name 2148 self.vhd = vhd 2149 self.image = image 2150 self.caching = caching 2151 self.write_accelerator_enabled = write_accelerator_enabled 2152 self.create_option = create_option 2153 self.disk_size_gb = disk_size_gb 2154 self.managed_disk = managed_disk 2155 2156 2157class OSDiskImage(msrest.serialization.Model): 2158 """Contains the os disk image information. 2159 2160 All required parameters must be populated in order to send to Azure. 2161 2162 :param operating_system: Required. The operating system of the osDiskImage. Possible values 2163 include: "Windows", "Linux". 2164 :type operating_system: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 2165 """ 2166 2167 _validation = { 2168 'operating_system': {'required': True}, 2169 } 2170 2171 _attribute_map = { 2172 'operating_system': {'key': 'operatingSystem', 'type': 'str'}, 2173 } 2174 2175 def __init__( 2176 self, 2177 *, 2178 operating_system: Union[str, "OperatingSystemTypes"], 2179 **kwargs 2180 ): 2181 super(OSDiskImage, self).__init__(**kwargs) 2182 self.operating_system = operating_system 2183 2184 2185class OSProfile(msrest.serialization.Model): 2186 """Specifies the operating system settings for the virtual machine. 2187 2188 :param computer_name: Specifies the host OS name of the virtual machine. 2189 :code:`<br>`:code:`<br>` This name cannot be updated after the VM is created. 2190 :code:`<br>`:code:`<br>` **Max-length (Windows):** 15 characters :code:`<br>`:code:`<br>` 2191 **Max-length (Linux):** 64 characters. :code:`<br>`:code:`<br>` For naming conventions and 2192 restrictions see `Azure infrastructure services implementation guidelines 2193 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions>`_. 2194 :type computer_name: str 2195 :param admin_username: Specifies the name of the administrator account. 2196 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 2197 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 2198 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 2199 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 2200 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 2201 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 2202 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 2203 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 2204 root privileges on Linux virtual machines in Azure 2205 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 2206 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 2207 in this field, see `Selecting User Names for Linux on Azure 2208 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 2209 :type admin_username: str 2210 :param admin_password: Specifies the password of the administrator account. 2211 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 2212 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 2213 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 2214 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 2215 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 2216 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 2217 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 2218 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 2219 resetting the password, see `How to reset the Remote Desktop service or its login password in a 2220 Windows VM 2221 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 2222 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 2223 repair disks on Azure Linux VMs using the VMAccess Extension 2224 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 2225 :type admin_password: str 2226 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 2227 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 2228 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` For using cloud-init for 2229 your VM, see `Using cloud-init to customize a Linux VM during creation 2230 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 2231 :type custom_data: str 2232 :param windows_configuration: Specifies Windows operating system settings on the virtual 2233 machine. 2234 :type windows_configuration: ~azure.mgmt.compute.v2018_04_01.models.WindowsConfiguration 2235 :param linux_configuration: Specifies the Linux operating system settings on the virtual 2236 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 2237 Azure-Endorsed Distributions 2238 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 2239 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 2240 Non-Endorsed Distributions 2241 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 2242 :type linux_configuration: ~azure.mgmt.compute.v2018_04_01.models.LinuxConfiguration 2243 :param secrets: Specifies set of certificates that should be installed onto the virtual 2244 machine. 2245 :type secrets: list[~azure.mgmt.compute.v2018_04_01.models.VaultSecretGroup] 2246 """ 2247 2248 _attribute_map = { 2249 'computer_name': {'key': 'computerName', 'type': 'str'}, 2250 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 2251 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 2252 'custom_data': {'key': 'customData', 'type': 'str'}, 2253 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 2254 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 2255 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 2256 } 2257 2258 def __init__( 2259 self, 2260 *, 2261 computer_name: Optional[str] = None, 2262 admin_username: Optional[str] = None, 2263 admin_password: Optional[str] = None, 2264 custom_data: Optional[str] = None, 2265 windows_configuration: Optional["WindowsConfiguration"] = None, 2266 linux_configuration: Optional["LinuxConfiguration"] = None, 2267 secrets: Optional[List["VaultSecretGroup"]] = None, 2268 **kwargs 2269 ): 2270 super(OSProfile, self).__init__(**kwargs) 2271 self.computer_name = computer_name 2272 self.admin_username = admin_username 2273 self.admin_password = admin_password 2274 self.custom_data = custom_data 2275 self.windows_configuration = windows_configuration 2276 self.linux_configuration = linux_configuration 2277 self.secrets = secrets 2278 2279 2280class Plan(msrest.serialization.Model): 2281 """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**. 2282 2283 :param name: The plan ID. 2284 :type name: str 2285 :param publisher: The publisher ID. 2286 :type publisher: str 2287 :param product: Specifies the product of the image from the marketplace. This is the same value 2288 as Offer under the imageReference element. 2289 :type product: str 2290 :param promotion_code: The promotion code. 2291 :type promotion_code: str 2292 """ 2293 2294 _attribute_map = { 2295 'name': {'key': 'name', 'type': 'str'}, 2296 'publisher': {'key': 'publisher', 'type': 'str'}, 2297 'product': {'key': 'product', 'type': 'str'}, 2298 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, 2299 } 2300 2301 def __init__( 2302 self, 2303 *, 2304 name: Optional[str] = None, 2305 publisher: Optional[str] = None, 2306 product: Optional[str] = None, 2307 promotion_code: Optional[str] = None, 2308 **kwargs 2309 ): 2310 super(Plan, self).__init__(**kwargs) 2311 self.name = name 2312 self.publisher = publisher 2313 self.product = product 2314 self.promotion_code = promotion_code 2315 2316 2317class ProximityPlacementGroup(Resource): 2318 """Specifies information about the proximity placement group. 2319 2320 Variables are only populated by the server, and will be ignored when sending a request. 2321 2322 All required parameters must be populated in order to send to Azure. 2323 2324 :ivar id: Resource Id. 2325 :vartype id: str 2326 :ivar name: Resource name. 2327 :vartype name: str 2328 :ivar type: Resource type. 2329 :vartype type: str 2330 :param location: Required. Resource location. 2331 :type location: str 2332 :param tags: A set of tags. Resource tags. 2333 :type tags: dict[str, str] 2334 :param proximity_placement_group_type: Specifies the type of the proximity placement group. 2335 :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` **Standard** : Co-locate 2336 resources within an Azure region or Availability Zone. :code:`<br>`:code:`<br>` **Ultra** : For 2337 future use. Possible values include: "Standard", "Ultra". 2338 :type proximity_placement_group_type: str or 2339 ~azure.mgmt.compute.v2018_04_01.models.ProximityPlacementGroupType 2340 :ivar virtual_machines: A list of references to all virtual machines in the proximity placement 2341 group. 2342 :vartype virtual_machines: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 2343 :ivar virtual_machine_scale_sets: A list of references to all virtual machine scale sets in the 2344 proximity placement group. 2345 :vartype virtual_machine_scale_sets: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 2346 :ivar availability_sets: A list of references to all availability sets in the proximity 2347 placement group. 2348 :vartype availability_sets: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 2349 """ 2350 2351 _validation = { 2352 'id': {'readonly': True}, 2353 'name': {'readonly': True}, 2354 'type': {'readonly': True}, 2355 'location': {'required': True}, 2356 'virtual_machines': {'readonly': True}, 2357 'virtual_machine_scale_sets': {'readonly': True}, 2358 'availability_sets': {'readonly': True}, 2359 } 2360 2361 _attribute_map = { 2362 'id': {'key': 'id', 'type': 'str'}, 2363 'name': {'key': 'name', 'type': 'str'}, 2364 'type': {'key': 'type', 'type': 'str'}, 2365 'location': {'key': 'location', 'type': 'str'}, 2366 'tags': {'key': 'tags', 'type': '{str}'}, 2367 'proximity_placement_group_type': {'key': 'properties.proximityPlacementGroupType', 'type': 'str'}, 2368 'virtual_machines': {'key': 'properties.virtualMachines', 'type': '[SubResource]'}, 2369 'virtual_machine_scale_sets': {'key': 'properties.virtualMachineScaleSets', 'type': '[SubResource]'}, 2370 'availability_sets': {'key': 'properties.availabilitySets', 'type': '[SubResource]'}, 2371 } 2372 2373 def __init__( 2374 self, 2375 *, 2376 location: str, 2377 tags: Optional[Dict[str, str]] = None, 2378 proximity_placement_group_type: Optional[Union[str, "ProximityPlacementGroupType"]] = None, 2379 **kwargs 2380 ): 2381 super(ProximityPlacementGroup, self).__init__(location=location, tags=tags, **kwargs) 2382 self.proximity_placement_group_type = proximity_placement_group_type 2383 self.virtual_machines = None 2384 self.virtual_machine_scale_sets = None 2385 self.availability_sets = None 2386 2387 2388class ProximityPlacementGroupListResult(msrest.serialization.Model): 2389 """The List Proximity Placement Group operation response. 2390 2391 All required parameters must be populated in order to send to Azure. 2392 2393 :param value: Required. The list of proximity placement groups. 2394 :type value: list[~azure.mgmt.compute.v2018_04_01.models.ProximityPlacementGroup] 2395 :param next_link: The URI to fetch the next page of proximity placement groups. 2396 :type next_link: str 2397 """ 2398 2399 _validation = { 2400 'value': {'required': True}, 2401 } 2402 2403 _attribute_map = { 2404 'value': {'key': 'value', 'type': '[ProximityPlacementGroup]'}, 2405 'next_link': {'key': 'nextLink', 'type': 'str'}, 2406 } 2407 2408 def __init__( 2409 self, 2410 *, 2411 value: List["ProximityPlacementGroup"], 2412 next_link: Optional[str] = None, 2413 **kwargs 2414 ): 2415 super(ProximityPlacementGroupListResult, self).__init__(**kwargs) 2416 self.value = value 2417 self.next_link = next_link 2418 2419 2420class ProximityPlacementGroupUpdate(UpdateResource): 2421 """Specifies information about the proximity placement group. 2422 2423 :param tags: A set of tags. Resource tags. 2424 :type tags: dict[str, str] 2425 """ 2426 2427 _attribute_map = { 2428 'tags': {'key': 'tags', 'type': '{str}'}, 2429 } 2430 2431 def __init__( 2432 self, 2433 *, 2434 tags: Optional[Dict[str, str]] = None, 2435 **kwargs 2436 ): 2437 super(ProximityPlacementGroupUpdate, self).__init__(tags=tags, **kwargs) 2438 2439 2440class PurchasePlan(msrest.serialization.Model): 2441 """Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. 2442 2443 All required parameters must be populated in order to send to Azure. 2444 2445 :param publisher: Required. The publisher ID. 2446 :type publisher: str 2447 :param name: Required. The plan ID. 2448 :type name: str 2449 :param product: Required. Specifies the product of the image from the marketplace. This is the 2450 same value as Offer under the imageReference element. 2451 :type product: str 2452 """ 2453 2454 _validation = { 2455 'publisher': {'required': True}, 2456 'name': {'required': True}, 2457 'product': {'required': True}, 2458 } 2459 2460 _attribute_map = { 2461 'publisher': {'key': 'publisher', 'type': 'str'}, 2462 'name': {'key': 'name', 'type': 'str'}, 2463 'product': {'key': 'product', 'type': 'str'}, 2464 } 2465 2466 def __init__( 2467 self, 2468 *, 2469 publisher: str, 2470 name: str, 2471 product: str, 2472 **kwargs 2473 ): 2474 super(PurchasePlan, self).__init__(**kwargs) 2475 self.publisher = publisher 2476 self.name = name 2477 self.product = product 2478 2479 2480class RecoveryWalkResponse(msrest.serialization.Model): 2481 """Response after calling a manual recovery walk. 2482 2483 Variables are only populated by the server, and will be ignored when sending a request. 2484 2485 :ivar walk_performed: Whether the recovery walk was performed. 2486 :vartype walk_performed: bool 2487 :ivar next_platform_update_domain: The next update domain that needs to be walked. Null means 2488 walk spanning all update domains has been completed. 2489 :vartype next_platform_update_domain: int 2490 """ 2491 2492 _validation = { 2493 'walk_performed': {'readonly': True}, 2494 'next_platform_update_domain': {'readonly': True}, 2495 } 2496 2497 _attribute_map = { 2498 'walk_performed': {'key': 'walkPerformed', 'type': 'bool'}, 2499 'next_platform_update_domain': {'key': 'nextPlatformUpdateDomain', 'type': 'int'}, 2500 } 2501 2502 def __init__( 2503 self, 2504 **kwargs 2505 ): 2506 super(RecoveryWalkResponse, self).__init__(**kwargs) 2507 self.walk_performed = None 2508 self.next_platform_update_domain = None 2509 2510 2511class RequestRateByIntervalInput(LogAnalyticsInputBase): 2512 """Api request input for LogAnalytics getRequestRateByInterval Api. 2513 2514 All required parameters must be populated in order to send to Azure. 2515 2516 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 2517 LogAnalytics Api writes output logs to. 2518 :type blob_container_sas_uri: str 2519 :param from_time: Required. From time of the query. 2520 :type from_time: ~datetime.datetime 2521 :param to_time: Required. To time of the query. 2522 :type to_time: ~datetime.datetime 2523 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 2524 :type group_by_throttle_policy: bool 2525 :param group_by_operation_name: Group query result by Operation Name. 2526 :type group_by_operation_name: bool 2527 :param group_by_resource_name: Group query result by Resource Name. 2528 :type group_by_resource_name: bool 2529 :param interval_length: Required. Interval value in minutes used to create LogAnalytics call 2530 rate logs. Possible values include: "ThreeMins", "FiveMins", "ThirtyMins", "SixtyMins". 2531 :type interval_length: str or ~azure.mgmt.compute.v2018_04_01.models.IntervalInMins 2532 """ 2533 2534 _validation = { 2535 'blob_container_sas_uri': {'required': True}, 2536 'from_time': {'required': True}, 2537 'to_time': {'required': True}, 2538 'interval_length': {'required': True}, 2539 } 2540 2541 _attribute_map = { 2542 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 2543 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 2544 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 2545 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 2546 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 2547 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 2548 'interval_length': {'key': 'intervalLength', 'type': 'str'}, 2549 } 2550 2551 def __init__( 2552 self, 2553 *, 2554 blob_container_sas_uri: str, 2555 from_time: datetime.datetime, 2556 to_time: datetime.datetime, 2557 interval_length: Union[str, "IntervalInMins"], 2558 group_by_throttle_policy: Optional[bool] = None, 2559 group_by_operation_name: Optional[bool] = None, 2560 group_by_resource_name: Optional[bool] = None, 2561 **kwargs 2562 ): 2563 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) 2564 self.interval_length = interval_length 2565 2566 2567class RollbackStatusInfo(msrest.serialization.Model): 2568 """Information about rollback on failed VM instances after a OS Upgrade operation. 2569 2570 Variables are only populated by the server, and will be ignored when sending a request. 2571 2572 :ivar successfully_rolledback_instance_count: The number of instances which have been 2573 successfully rolled back. 2574 :vartype successfully_rolledback_instance_count: int 2575 :ivar failed_rolledback_instance_count: The number of instances which failed to rollback. 2576 :vartype failed_rolledback_instance_count: int 2577 :ivar rollback_error: Error details if OS rollback failed. 2578 :vartype rollback_error: ~azure.mgmt.compute.v2018_04_01.models.ApiError 2579 """ 2580 2581 _validation = { 2582 'successfully_rolledback_instance_count': {'readonly': True}, 2583 'failed_rolledback_instance_count': {'readonly': True}, 2584 'rollback_error': {'readonly': True}, 2585 } 2586 2587 _attribute_map = { 2588 'successfully_rolledback_instance_count': {'key': 'successfullyRolledbackInstanceCount', 'type': 'int'}, 2589 'failed_rolledback_instance_count': {'key': 'failedRolledbackInstanceCount', 'type': 'int'}, 2590 'rollback_error': {'key': 'rollbackError', 'type': 'ApiError'}, 2591 } 2592 2593 def __init__( 2594 self, 2595 **kwargs 2596 ): 2597 super(RollbackStatusInfo, self).__init__(**kwargs) 2598 self.successfully_rolledback_instance_count = None 2599 self.failed_rolledback_instance_count = None 2600 self.rollback_error = None 2601 2602 2603class RollingUpgradePolicy(msrest.serialization.Model): 2604 """The configuration parameters used while performing a rolling upgrade. 2605 2606 :param max_batch_instance_percent: The maximum percent of total virtual machine instances that 2607 will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, 2608 unhealthy instances in previous or future batches can cause the percentage of instances in a 2609 batch to decrease to ensure higher reliability. The default value for this parameter is 20%. 2610 :type max_batch_instance_percent: int 2611 :param max_unhealthy_instance_percent: The maximum percentage of the total virtual machine 2612 instances in the scale set that can be simultaneously unhealthy, either as a result of being 2613 upgraded, or by being found in an unhealthy state by the virtual machine health checks before 2614 the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The 2615 default value for this parameter is 20%. 2616 :type max_unhealthy_instance_percent: int 2617 :param max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual 2618 machine instances that can be found to be in an unhealthy state. This check will happen after 2619 each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The 2620 default value for this parameter is 20%. 2621 :type max_unhealthy_upgraded_instance_percent: int 2622 :param pause_time_between_batches: The wait time between completing the update for all virtual 2623 machines in one batch and starting the next batch. The time duration should be specified in ISO 2624 8601 format. The default value is 0 seconds (PT0S). 2625 :type pause_time_between_batches: str 2626 """ 2627 2628 _validation = { 2629 'max_batch_instance_percent': {'maximum': 100, 'minimum': 5}, 2630 'max_unhealthy_instance_percent': {'maximum': 100, 'minimum': 5}, 2631 'max_unhealthy_upgraded_instance_percent': {'maximum': 100, 'minimum': 0}, 2632 } 2633 2634 _attribute_map = { 2635 'max_batch_instance_percent': {'key': 'maxBatchInstancePercent', 'type': 'int'}, 2636 'max_unhealthy_instance_percent': {'key': 'maxUnhealthyInstancePercent', 'type': 'int'}, 2637 'max_unhealthy_upgraded_instance_percent': {'key': 'maxUnhealthyUpgradedInstancePercent', 'type': 'int'}, 2638 'pause_time_between_batches': {'key': 'pauseTimeBetweenBatches', 'type': 'str'}, 2639 } 2640 2641 def __init__( 2642 self, 2643 *, 2644 max_batch_instance_percent: Optional[int] = None, 2645 max_unhealthy_instance_percent: Optional[int] = None, 2646 max_unhealthy_upgraded_instance_percent: Optional[int] = None, 2647 pause_time_between_batches: Optional[str] = None, 2648 **kwargs 2649 ): 2650 super(RollingUpgradePolicy, self).__init__(**kwargs) 2651 self.max_batch_instance_percent = max_batch_instance_percent 2652 self.max_unhealthy_instance_percent = max_unhealthy_instance_percent 2653 self.max_unhealthy_upgraded_instance_percent = max_unhealthy_upgraded_instance_percent 2654 self.pause_time_between_batches = pause_time_between_batches 2655 2656 2657class RollingUpgradeProgressInfo(msrest.serialization.Model): 2658 """Information about the number of virtual machine instances in each upgrade state. 2659 2660 Variables are only populated by the server, and will be ignored when sending a request. 2661 2662 :ivar successful_instance_count: The number of instances that have been successfully upgraded. 2663 :vartype successful_instance_count: int 2664 :ivar failed_instance_count: The number of instances that have failed to be upgraded 2665 successfully. 2666 :vartype failed_instance_count: int 2667 :ivar in_progress_instance_count: The number of instances that are currently being upgraded. 2668 :vartype in_progress_instance_count: int 2669 :ivar pending_instance_count: The number of instances that have not yet begun to be upgraded. 2670 :vartype pending_instance_count: int 2671 """ 2672 2673 _validation = { 2674 'successful_instance_count': {'readonly': True}, 2675 'failed_instance_count': {'readonly': True}, 2676 'in_progress_instance_count': {'readonly': True}, 2677 'pending_instance_count': {'readonly': True}, 2678 } 2679 2680 _attribute_map = { 2681 'successful_instance_count': {'key': 'successfulInstanceCount', 'type': 'int'}, 2682 'failed_instance_count': {'key': 'failedInstanceCount', 'type': 'int'}, 2683 'in_progress_instance_count': {'key': 'inProgressInstanceCount', 'type': 'int'}, 2684 'pending_instance_count': {'key': 'pendingInstanceCount', 'type': 'int'}, 2685 } 2686 2687 def __init__( 2688 self, 2689 **kwargs 2690 ): 2691 super(RollingUpgradeProgressInfo, self).__init__(**kwargs) 2692 self.successful_instance_count = None 2693 self.failed_instance_count = None 2694 self.in_progress_instance_count = None 2695 self.pending_instance_count = None 2696 2697 2698class RollingUpgradeRunningStatus(msrest.serialization.Model): 2699 """Information about the current running state of the overall upgrade. 2700 2701 Variables are only populated by the server, and will be ignored when sending a request. 2702 2703 :ivar code: Code indicating the current status of the upgrade. Possible values include: 2704 "RollingForward", "Cancelled", "Completed", "Faulted". 2705 :vartype code: str or ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradeStatusCode 2706 :ivar start_time: Start time of the upgrade. 2707 :vartype start_time: ~datetime.datetime 2708 :ivar last_action: The last action performed on the rolling upgrade. Possible values include: 2709 "Start", "Cancel". 2710 :vartype last_action: str or ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradeActionType 2711 :ivar last_action_time: Last action time of the upgrade. 2712 :vartype last_action_time: ~datetime.datetime 2713 """ 2714 2715 _validation = { 2716 'code': {'readonly': True}, 2717 'start_time': {'readonly': True}, 2718 'last_action': {'readonly': True}, 2719 'last_action_time': {'readonly': True}, 2720 } 2721 2722 _attribute_map = { 2723 'code': {'key': 'code', 'type': 'str'}, 2724 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2725 'last_action': {'key': 'lastAction', 'type': 'str'}, 2726 'last_action_time': {'key': 'lastActionTime', 'type': 'iso-8601'}, 2727 } 2728 2729 def __init__( 2730 self, 2731 **kwargs 2732 ): 2733 super(RollingUpgradeRunningStatus, self).__init__(**kwargs) 2734 self.code = None 2735 self.start_time = None 2736 self.last_action = None 2737 self.last_action_time = None 2738 2739 2740class RollingUpgradeStatusInfo(Resource): 2741 """The status of the latest virtual machine scale set rolling upgrade. 2742 2743 Variables are only populated by the server, and will be ignored when sending a request. 2744 2745 All required parameters must be populated in order to send to Azure. 2746 2747 :ivar id: Resource Id. 2748 :vartype id: str 2749 :ivar name: Resource name. 2750 :vartype name: str 2751 :ivar type: Resource type. 2752 :vartype type: str 2753 :param location: Required. Resource location. 2754 :type location: str 2755 :param tags: A set of tags. Resource tags. 2756 :type tags: dict[str, str] 2757 :ivar policy: The rolling upgrade policies applied for this upgrade. 2758 :vartype policy: ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradePolicy 2759 :ivar running_status: Information about the current running state of the overall upgrade. 2760 :vartype running_status: ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradeRunningStatus 2761 :ivar progress: Information about the number of virtual machine instances in each upgrade 2762 state. 2763 :vartype progress: ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradeProgressInfo 2764 :ivar error: Error details for this upgrade, if there are any. 2765 :vartype error: ~azure.mgmt.compute.v2018_04_01.models.ApiError 2766 """ 2767 2768 _validation = { 2769 'id': {'readonly': True}, 2770 'name': {'readonly': True}, 2771 'type': {'readonly': True}, 2772 'location': {'required': True}, 2773 'policy': {'readonly': True}, 2774 'running_status': {'readonly': True}, 2775 'progress': {'readonly': True}, 2776 'error': {'readonly': True}, 2777 } 2778 2779 _attribute_map = { 2780 'id': {'key': 'id', 'type': 'str'}, 2781 'name': {'key': 'name', 'type': 'str'}, 2782 'type': {'key': 'type', 'type': 'str'}, 2783 'location': {'key': 'location', 'type': 'str'}, 2784 'tags': {'key': 'tags', 'type': '{str}'}, 2785 'policy': {'key': 'properties.policy', 'type': 'RollingUpgradePolicy'}, 2786 'running_status': {'key': 'properties.runningStatus', 'type': 'RollingUpgradeRunningStatus'}, 2787 'progress': {'key': 'properties.progress', 'type': 'RollingUpgradeProgressInfo'}, 2788 'error': {'key': 'properties.error', 'type': 'ApiError'}, 2789 } 2790 2791 def __init__( 2792 self, 2793 *, 2794 location: str, 2795 tags: Optional[Dict[str, str]] = None, 2796 **kwargs 2797 ): 2798 super(RollingUpgradeStatusInfo, self).__init__(location=location, tags=tags, **kwargs) 2799 self.policy = None 2800 self.running_status = None 2801 self.progress = None 2802 self.error = None 2803 2804 2805class RunCommandDocumentBase(msrest.serialization.Model): 2806 """Describes the properties of a Run Command metadata. 2807 2808 All required parameters must be populated in order to send to Azure. 2809 2810 :param schema: Required. The VM run command schema. 2811 :type schema: str 2812 :param id: Required. The VM run command id. 2813 :type id: str 2814 :param os_type: Required. The Operating System type. Possible values include: "Windows", 2815 "Linux". 2816 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 2817 :param label: Required. The VM run command label. 2818 :type label: str 2819 :param description: Required. The VM run command description. 2820 :type description: str 2821 """ 2822 2823 _validation = { 2824 'schema': {'required': True}, 2825 'id': {'required': True}, 2826 'os_type': {'required': True}, 2827 'label': {'required': True}, 2828 'description': {'required': True}, 2829 } 2830 2831 _attribute_map = { 2832 'schema': {'key': '$schema', 'type': 'str'}, 2833 'id': {'key': 'id', 'type': 'str'}, 2834 'os_type': {'key': 'osType', 'type': 'str'}, 2835 'label': {'key': 'label', 'type': 'str'}, 2836 'description': {'key': 'description', 'type': 'str'}, 2837 } 2838 2839 def __init__( 2840 self, 2841 *, 2842 schema: str, 2843 id: str, 2844 os_type: Union[str, "OperatingSystemTypes"], 2845 label: str, 2846 description: str, 2847 **kwargs 2848 ): 2849 super(RunCommandDocumentBase, self).__init__(**kwargs) 2850 self.schema = schema 2851 self.id = id 2852 self.os_type = os_type 2853 self.label = label 2854 self.description = description 2855 2856 2857class RunCommandDocument(RunCommandDocumentBase): 2858 """Describes the properties of a Run Command. 2859 2860 All required parameters must be populated in order to send to Azure. 2861 2862 :param schema: Required. The VM run command schema. 2863 :type schema: str 2864 :param id: Required. The VM run command id. 2865 :type id: str 2866 :param os_type: Required. The Operating System type. Possible values include: "Windows", 2867 "Linux". 2868 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 2869 :param label: Required. The VM run command label. 2870 :type label: str 2871 :param description: Required. The VM run command description. 2872 :type description: str 2873 :param script: Required. The script to be executed. 2874 :type script: list[str] 2875 :param parameters: The parameters used by the script. 2876 :type parameters: list[~azure.mgmt.compute.v2018_04_01.models.RunCommandParameterDefinition] 2877 """ 2878 2879 _validation = { 2880 'schema': {'required': True}, 2881 'id': {'required': True}, 2882 'os_type': {'required': True}, 2883 'label': {'required': True}, 2884 'description': {'required': True}, 2885 'script': {'required': True}, 2886 } 2887 2888 _attribute_map = { 2889 'schema': {'key': '$schema', 'type': 'str'}, 2890 'id': {'key': 'id', 'type': 'str'}, 2891 'os_type': {'key': 'osType', 'type': 'str'}, 2892 'label': {'key': 'label', 'type': 'str'}, 2893 'description': {'key': 'description', 'type': 'str'}, 2894 'script': {'key': 'script', 'type': '[str]'}, 2895 'parameters': {'key': 'parameters', 'type': '[RunCommandParameterDefinition]'}, 2896 } 2897 2898 def __init__( 2899 self, 2900 *, 2901 schema: str, 2902 id: str, 2903 os_type: Union[str, "OperatingSystemTypes"], 2904 label: str, 2905 description: str, 2906 script: List[str], 2907 parameters: Optional[List["RunCommandParameterDefinition"]] = None, 2908 **kwargs 2909 ): 2910 super(RunCommandDocument, self).__init__(schema=schema, id=id, os_type=os_type, label=label, description=description, **kwargs) 2911 self.script = script 2912 self.parameters = parameters 2913 2914 2915class RunCommandInput(msrest.serialization.Model): 2916 """Capture Virtual Machine parameters. 2917 2918 All required parameters must be populated in order to send to Azure. 2919 2920 :param command_id: Required. The run command id. 2921 :type command_id: str 2922 :param script: Optional. The script to be executed. When this value is given, the given script 2923 will override the default script of the command. 2924 :type script: list[str] 2925 :param parameters: The run command parameters. 2926 :type parameters: list[~azure.mgmt.compute.v2018_04_01.models.RunCommandInputParameter] 2927 """ 2928 2929 _validation = { 2930 'command_id': {'required': True}, 2931 } 2932 2933 _attribute_map = { 2934 'command_id': {'key': 'commandId', 'type': 'str'}, 2935 'script': {'key': 'script', 'type': '[str]'}, 2936 'parameters': {'key': 'parameters', 'type': '[RunCommandInputParameter]'}, 2937 } 2938 2939 def __init__( 2940 self, 2941 *, 2942 command_id: str, 2943 script: Optional[List[str]] = None, 2944 parameters: Optional[List["RunCommandInputParameter"]] = None, 2945 **kwargs 2946 ): 2947 super(RunCommandInput, self).__init__(**kwargs) 2948 self.command_id = command_id 2949 self.script = script 2950 self.parameters = parameters 2951 2952 2953class RunCommandInputParameter(msrest.serialization.Model): 2954 """Describes the properties of a run command parameter. 2955 2956 All required parameters must be populated in order to send to Azure. 2957 2958 :param name: Required. The run command parameter name. 2959 :type name: str 2960 :param value: Required. The run command parameter value. 2961 :type value: str 2962 """ 2963 2964 _validation = { 2965 'name': {'required': True}, 2966 'value': {'required': True}, 2967 } 2968 2969 _attribute_map = { 2970 'name': {'key': 'name', 'type': 'str'}, 2971 'value': {'key': 'value', 'type': 'str'}, 2972 } 2973 2974 def __init__( 2975 self, 2976 *, 2977 name: str, 2978 value: str, 2979 **kwargs 2980 ): 2981 super(RunCommandInputParameter, self).__init__(**kwargs) 2982 self.name = name 2983 self.value = value 2984 2985 2986class RunCommandListResult(msrest.serialization.Model): 2987 """The List Virtual Machine operation response. 2988 2989 All required parameters must be populated in order to send to Azure. 2990 2991 :param value: Required. The list of virtual machine run commands. 2992 :type value: list[~azure.mgmt.compute.v2018_04_01.models.RunCommandDocumentBase] 2993 :param next_link: The uri to fetch the next page of run commands. Call ListNext() with this to 2994 fetch the next page of run commands. 2995 :type next_link: str 2996 """ 2997 2998 _validation = { 2999 'value': {'required': True}, 3000 } 3001 3002 _attribute_map = { 3003 'value': {'key': 'value', 'type': '[RunCommandDocumentBase]'}, 3004 'next_link': {'key': 'nextLink', 'type': 'str'}, 3005 } 3006 3007 def __init__( 3008 self, 3009 *, 3010 value: List["RunCommandDocumentBase"], 3011 next_link: Optional[str] = None, 3012 **kwargs 3013 ): 3014 super(RunCommandListResult, self).__init__(**kwargs) 3015 self.value = value 3016 self.next_link = next_link 3017 3018 3019class RunCommandParameterDefinition(msrest.serialization.Model): 3020 """Describes the properties of a run command parameter. 3021 3022 All required parameters must be populated in order to send to Azure. 3023 3024 :param name: Required. The run command parameter name. 3025 :type name: str 3026 :param type: Required. The run command parameter type. 3027 :type type: str 3028 :param default_value: The run command parameter default value. 3029 :type default_value: str 3030 :param required: The run command parameter required. 3031 :type required: bool 3032 """ 3033 3034 _validation = { 3035 'name': {'required': True}, 3036 'type': {'required': True}, 3037 } 3038 3039 _attribute_map = { 3040 'name': {'key': 'name', 'type': 'str'}, 3041 'type': {'key': 'type', 'type': 'str'}, 3042 'default_value': {'key': 'defaultValue', 'type': 'str'}, 3043 'required': {'key': 'required', 'type': 'bool'}, 3044 } 3045 3046 def __init__( 3047 self, 3048 *, 3049 name: str, 3050 type: str, 3051 default_value: Optional[str] = None, 3052 required: Optional[bool] = False, 3053 **kwargs 3054 ): 3055 super(RunCommandParameterDefinition, self).__init__(**kwargs) 3056 self.name = name 3057 self.type = type 3058 self.default_value = default_value 3059 self.required = required 3060 3061 3062class RunCommandResult(msrest.serialization.Model): 3063 """RunCommandResult. 3064 3065 :param value: Run command operation response. 3066 :type value: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 3067 """ 3068 3069 _attribute_map = { 3070 'value': {'key': 'value', 'type': '[InstanceViewStatus]'}, 3071 } 3072 3073 def __init__( 3074 self, 3075 *, 3076 value: Optional[List["InstanceViewStatus"]] = None, 3077 **kwargs 3078 ): 3079 super(RunCommandResult, self).__init__(**kwargs) 3080 self.value = value 3081 3082 3083class Sku(msrest.serialization.Model): 3084 """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. 3085 3086 :param name: The sku name. 3087 :type name: str 3088 :param tier: Specifies the tier of virtual machines in a scale set.:code:`<br />`:code:`<br />` 3089 Possible Values::code:`<br />`:code:`<br />` **Standard**\ :code:`<br />`:code:`<br />` 3090 **Basic**. 3091 :type tier: str 3092 :param capacity: Specifies the number of virtual machines in the scale set. 3093 :type capacity: long 3094 """ 3095 3096 _attribute_map = { 3097 'name': {'key': 'name', 'type': 'str'}, 3098 'tier': {'key': 'tier', 'type': 'str'}, 3099 'capacity': {'key': 'capacity', 'type': 'long'}, 3100 } 3101 3102 def __init__( 3103 self, 3104 *, 3105 name: Optional[str] = None, 3106 tier: Optional[str] = None, 3107 capacity: Optional[int] = None, 3108 **kwargs 3109 ): 3110 super(Sku, self).__init__(**kwargs) 3111 self.name = name 3112 self.tier = tier 3113 self.capacity = capacity 3114 3115 3116class Snapshot(Resource): 3117 """Snapshot resource. 3118 3119 Variables are only populated by the server, and will be ignored when sending a request. 3120 3121 All required parameters must be populated in order to send to Azure. 3122 3123 :ivar id: Resource Id. 3124 :vartype id: str 3125 :ivar name: Resource name. 3126 :vartype name: str 3127 :ivar type: Resource type. 3128 :vartype type: str 3129 :param location: Required. Resource location. 3130 :type location: str 3131 :param tags: A set of tags. Resource tags. 3132 :type tags: dict[str, str] 3133 :ivar managed_by: Unused. Always Null. 3134 :vartype managed_by: str 3135 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 3136 :type sku: ~azure.mgmt.compute.v2018_04_01.models.SnapshotSku 3137 :ivar time_created: The time when the disk was created. 3138 :vartype time_created: ~datetime.datetime 3139 :param os_type: The Operating System type. Possible values include: "Windows", "Linux". 3140 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 3141 :param creation_data: Disk source information. CreationData information cannot be changed after 3142 the disk has been created. 3143 :type creation_data: ~azure.mgmt.compute.v2018_04_01.models.CreationData 3144 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 3145 indicates the size of the VHD to create. If this field is present for updates or creation with 3146 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 3147 running VM, and can only increase the disk's size. 3148 :type disk_size_gb: int 3149 :param encryption_settings: Encryption settings for disk or snapshot. 3150 :type encryption_settings: ~azure.mgmt.compute.v2018_04_01.models.EncryptionSettings 3151 :ivar provisioning_state: The disk provisioning state. 3152 :vartype provisioning_state: str 3153 """ 3154 3155 _validation = { 3156 'id': {'readonly': True}, 3157 'name': {'readonly': True}, 3158 'type': {'readonly': True}, 3159 'location': {'required': True}, 3160 'managed_by': {'readonly': True}, 3161 'time_created': {'readonly': True}, 3162 'provisioning_state': {'readonly': True}, 3163 } 3164 3165 _attribute_map = { 3166 'id': {'key': 'id', 'type': 'str'}, 3167 'name': {'key': 'name', 'type': 'str'}, 3168 'type': {'key': 'type', 'type': 'str'}, 3169 'location': {'key': 'location', 'type': 'str'}, 3170 'tags': {'key': 'tags', 'type': '{str}'}, 3171 'managed_by': {'key': 'managedBy', 'type': 'str'}, 3172 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 3173 'time_created': {'key': 'properties.timeCreated', 'type': 'iso-8601'}, 3174 'os_type': {'key': 'properties.osType', 'type': 'str'}, 3175 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, 3176 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 3177 'encryption_settings': {'key': 'properties.encryptionSettings', 'type': 'EncryptionSettings'}, 3178 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3179 } 3180 3181 def __init__( 3182 self, 3183 *, 3184 location: str, 3185 tags: Optional[Dict[str, str]] = None, 3186 sku: Optional["SnapshotSku"] = None, 3187 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 3188 creation_data: Optional["CreationData"] = None, 3189 disk_size_gb: Optional[int] = None, 3190 encryption_settings: Optional["EncryptionSettings"] = None, 3191 **kwargs 3192 ): 3193 super(Snapshot, self).__init__(location=location, tags=tags, **kwargs) 3194 self.managed_by = None 3195 self.sku = sku 3196 self.time_created = None 3197 self.os_type = os_type 3198 self.creation_data = creation_data 3199 self.disk_size_gb = disk_size_gb 3200 self.encryption_settings = encryption_settings 3201 self.provisioning_state = None 3202 3203 3204class SnapshotList(msrest.serialization.Model): 3205 """The List Snapshots operation response. 3206 3207 All required parameters must be populated in order to send to Azure. 3208 3209 :param value: Required. A list of snapshots. 3210 :type value: list[~azure.mgmt.compute.v2018_04_01.models.Snapshot] 3211 :param next_link: The uri to fetch the next page of snapshots. Call ListNext() with this to 3212 fetch the next page of snapshots. 3213 :type next_link: str 3214 """ 3215 3216 _validation = { 3217 'value': {'required': True}, 3218 } 3219 3220 _attribute_map = { 3221 'value': {'key': 'value', 'type': '[Snapshot]'}, 3222 'next_link': {'key': 'nextLink', 'type': 'str'}, 3223 } 3224 3225 def __init__( 3226 self, 3227 *, 3228 value: List["Snapshot"], 3229 next_link: Optional[str] = None, 3230 **kwargs 3231 ): 3232 super(SnapshotList, self).__init__(**kwargs) 3233 self.value = value 3234 self.next_link = next_link 3235 3236 3237class SnapshotSku(msrest.serialization.Model): 3238 """The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 3239 3240 Variables are only populated by the server, and will be ignored when sending a request. 3241 3242 :param name: The sku name. Possible values include: "Standard_LRS", "Premium_LRS", 3243 "Standard_ZRS". 3244 :type name: str or ~azure.mgmt.compute.v2018_04_01.models.SnapshotStorageAccountTypes 3245 :ivar tier: The sku tier. 3246 :vartype tier: str 3247 """ 3248 3249 _validation = { 3250 'tier': {'readonly': True}, 3251 } 3252 3253 _attribute_map = { 3254 'name': {'key': 'name', 'type': 'str'}, 3255 'tier': {'key': 'tier', 'type': 'str'}, 3256 } 3257 3258 def __init__( 3259 self, 3260 *, 3261 name: Optional[Union[str, "SnapshotStorageAccountTypes"]] = None, 3262 **kwargs 3263 ): 3264 super(SnapshotSku, self).__init__(**kwargs) 3265 self.name = name 3266 self.tier = None 3267 3268 3269class SnapshotUpdate(msrest.serialization.Model): 3270 """Snapshot update resource. 3271 3272 :param tags: A set of tags. Resource tags. 3273 :type tags: dict[str, str] 3274 :param sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. 3275 :type sku: ~azure.mgmt.compute.v2018_04_01.models.SnapshotSku 3276 :param os_type: the Operating System type. Possible values include: "Windows", "Linux". 3277 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 3278 :param disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it 3279 indicates the size of the VHD to create. If this field is present for updates or creation with 3280 other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a 3281 running VM, and can only increase the disk's size. 3282 :type disk_size_gb: int 3283 :param encryption_settings: Encryption settings for disk or snapshot. 3284 :type encryption_settings: ~azure.mgmt.compute.v2018_04_01.models.EncryptionSettings 3285 """ 3286 3287 _attribute_map = { 3288 'tags': {'key': 'tags', 'type': '{str}'}, 3289 'sku': {'key': 'sku', 'type': 'SnapshotSku'}, 3290 'os_type': {'key': 'properties.osType', 'type': 'str'}, 3291 'disk_size_gb': {'key': 'properties.diskSizeGB', 'type': 'int'}, 3292 'encryption_settings': {'key': 'properties.encryptionSettings', 'type': 'EncryptionSettings'}, 3293 } 3294 3295 def __init__( 3296 self, 3297 *, 3298 tags: Optional[Dict[str, str]] = None, 3299 sku: Optional["SnapshotSku"] = None, 3300 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 3301 disk_size_gb: Optional[int] = None, 3302 encryption_settings: Optional["EncryptionSettings"] = None, 3303 **kwargs 3304 ): 3305 super(SnapshotUpdate, self).__init__(**kwargs) 3306 self.tags = tags 3307 self.sku = sku 3308 self.os_type = os_type 3309 self.disk_size_gb = disk_size_gb 3310 self.encryption_settings = encryption_settings 3311 3312 3313class SourceVault(msrest.serialization.Model): 3314 """The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}. 3315 3316 :param id: Resource Id. 3317 :type id: str 3318 """ 3319 3320 _attribute_map = { 3321 'id': {'key': 'id', 'type': 'str'}, 3322 } 3323 3324 def __init__( 3325 self, 3326 *, 3327 id: Optional[str] = None, 3328 **kwargs 3329 ): 3330 super(SourceVault, self).__init__(**kwargs) 3331 self.id = id 3332 3333 3334class SshConfiguration(msrest.serialization.Model): 3335 """SSH configuration for Linux based VMs running on Azure. 3336 3337 :param public_keys: The list of SSH public keys used to authenticate with linux based VMs. 3338 :type public_keys: list[~azure.mgmt.compute.v2018_04_01.models.SshPublicKey] 3339 """ 3340 3341 _attribute_map = { 3342 'public_keys': {'key': 'publicKeys', 'type': '[SshPublicKey]'}, 3343 } 3344 3345 def __init__( 3346 self, 3347 *, 3348 public_keys: Optional[List["SshPublicKey"]] = None, 3349 **kwargs 3350 ): 3351 super(SshConfiguration, self).__init__(**kwargs) 3352 self.public_keys = public_keys 3353 3354 3355class SshPublicKey(msrest.serialization.Model): 3356 """Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. 3357 3358 :param path: Specifies the full path on the created VM where ssh public key is stored. If the 3359 file already exists, the specified key is appended to the file. Example: 3360 /home/user/.ssh/authorized_keys. 3361 :type path: str 3362 :param key_data: SSH public key certificate used to authenticate with the VM through ssh. The 3363 key needs to be at least 2048-bit and in ssh-rsa format. :code:`<br>`:code:`<br>` For creating 3364 ssh keys, see `Create SSH keys on Linux and Mac for Linux VMs in Azure 3365 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 3366 :type key_data: str 3367 """ 3368 3369 _attribute_map = { 3370 'path': {'key': 'path', 'type': 'str'}, 3371 'key_data': {'key': 'keyData', 'type': 'str'}, 3372 } 3373 3374 def __init__( 3375 self, 3376 *, 3377 path: Optional[str] = None, 3378 key_data: Optional[str] = None, 3379 **kwargs 3380 ): 3381 super(SshPublicKey, self).__init__(**kwargs) 3382 self.path = path 3383 self.key_data = key_data 3384 3385 3386class StorageProfile(msrest.serialization.Model): 3387 """Specifies the storage settings for the virtual machine disks. 3388 3389 :param image_reference: Specifies information about the image to use. You can specify 3390 information about platform images, marketplace images, or virtual machine images. This element 3391 is required when you want to use a platform image, marketplace image, or virtual machine image, 3392 but is not used in other creation operations. 3393 :type image_reference: ~azure.mgmt.compute.v2018_04_01.models.ImageReference 3394 :param os_disk: Specifies information about the operating system disk used by the virtual 3395 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3396 for Azure virtual machines 3397 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3398 :type os_disk: ~azure.mgmt.compute.v2018_04_01.models.OSDisk 3399 :param data_disks: Specifies the parameters that are used to add a data disk to a virtual 3400 machine. :code:`<br>`:code:`<br>` For more information about disks, see `About disks and VHDs 3401 for Azure virtual machines 3402 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3403 :type data_disks: list[~azure.mgmt.compute.v2018_04_01.models.DataDisk] 3404 """ 3405 3406 _attribute_map = { 3407 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 3408 'os_disk': {'key': 'osDisk', 'type': 'OSDisk'}, 3409 'data_disks': {'key': 'dataDisks', 'type': '[DataDisk]'}, 3410 } 3411 3412 def __init__( 3413 self, 3414 *, 3415 image_reference: Optional["ImageReference"] = None, 3416 os_disk: Optional["OSDisk"] = None, 3417 data_disks: Optional[List["DataDisk"]] = None, 3418 **kwargs 3419 ): 3420 super(StorageProfile, self).__init__(**kwargs) 3421 self.image_reference = image_reference 3422 self.os_disk = os_disk 3423 self.data_disks = data_disks 3424 3425 3426class SubResourceReadOnly(msrest.serialization.Model): 3427 """SubResourceReadOnly. 3428 3429 Variables are only populated by the server, and will be ignored when sending a request. 3430 3431 :ivar id: Resource Id. 3432 :vartype id: str 3433 """ 3434 3435 _validation = { 3436 'id': {'readonly': True}, 3437 } 3438 3439 _attribute_map = { 3440 'id': {'key': 'id', 'type': 'str'}, 3441 } 3442 3443 def __init__( 3444 self, 3445 **kwargs 3446 ): 3447 super(SubResourceReadOnly, self).__init__(**kwargs) 3448 self.id = None 3449 3450 3451class ThrottledRequestsInput(LogAnalyticsInputBase): 3452 """Api request input for LogAnalytics getThrottledRequests Api. 3453 3454 All required parameters must be populated in order to send to Azure. 3455 3456 :param blob_container_sas_uri: Required. SAS Uri of the logging blob container to which 3457 LogAnalytics Api writes output logs to. 3458 :type blob_container_sas_uri: str 3459 :param from_time: Required. From time of the query. 3460 :type from_time: ~datetime.datetime 3461 :param to_time: Required. To time of the query. 3462 :type to_time: ~datetime.datetime 3463 :param group_by_throttle_policy: Group query result by Throttle Policy applied. 3464 :type group_by_throttle_policy: bool 3465 :param group_by_operation_name: Group query result by Operation Name. 3466 :type group_by_operation_name: bool 3467 :param group_by_resource_name: Group query result by Resource Name. 3468 :type group_by_resource_name: bool 3469 """ 3470 3471 _validation = { 3472 'blob_container_sas_uri': {'required': True}, 3473 'from_time': {'required': True}, 3474 'to_time': {'required': True}, 3475 } 3476 3477 _attribute_map = { 3478 'blob_container_sas_uri': {'key': 'blobContainerSasUri', 'type': 'str'}, 3479 'from_time': {'key': 'fromTime', 'type': 'iso-8601'}, 3480 'to_time': {'key': 'toTime', 'type': 'iso-8601'}, 3481 'group_by_throttle_policy': {'key': 'groupByThrottlePolicy', 'type': 'bool'}, 3482 'group_by_operation_name': {'key': 'groupByOperationName', 'type': 'bool'}, 3483 'group_by_resource_name': {'key': 'groupByResourceName', 'type': 'bool'}, 3484 } 3485 3486 def __init__( 3487 self, 3488 *, 3489 blob_container_sas_uri: str, 3490 from_time: datetime.datetime, 3491 to_time: datetime.datetime, 3492 group_by_throttle_policy: Optional[bool] = None, 3493 group_by_operation_name: Optional[bool] = None, 3494 group_by_resource_name: Optional[bool] = None, 3495 **kwargs 3496 ): 3497 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) 3498 3499 3500class UpgradeOperationHistoricalStatusInfo(msrest.serialization.Model): 3501 """Virtual Machine Scale Set OS Upgrade History operation response. 3502 3503 Variables are only populated by the server, and will be ignored when sending a request. 3504 3505 :ivar properties: Information about the properties of the upgrade operation. 3506 :vartype properties: 3507 ~azure.mgmt.compute.v2018_04_01.models.UpgradeOperationHistoricalStatusInfoProperties 3508 :ivar type: Resource type. 3509 :vartype type: str 3510 :ivar location: Resource location. 3511 :vartype location: str 3512 """ 3513 3514 _validation = { 3515 'properties': {'readonly': True}, 3516 'type': {'readonly': True}, 3517 'location': {'readonly': True}, 3518 } 3519 3520 _attribute_map = { 3521 'properties': {'key': 'properties', 'type': 'UpgradeOperationHistoricalStatusInfoProperties'}, 3522 'type': {'key': 'type', 'type': 'str'}, 3523 'location': {'key': 'location', 'type': 'str'}, 3524 } 3525 3526 def __init__( 3527 self, 3528 **kwargs 3529 ): 3530 super(UpgradeOperationHistoricalStatusInfo, self).__init__(**kwargs) 3531 self.properties = None 3532 self.type = None 3533 self.location = None 3534 3535 3536class UpgradeOperationHistoricalStatusInfoProperties(msrest.serialization.Model): 3537 """Describes each OS upgrade on the Virtual Machine Scale Set. 3538 3539 Variables are only populated by the server, and will be ignored when sending a request. 3540 3541 :ivar running_status: Information about the overall status of the upgrade operation. 3542 :vartype running_status: ~azure.mgmt.compute.v2018_04_01.models.UpgradeOperationHistoryStatus 3543 :ivar progress: Counts of the VMs in each state. 3544 :vartype progress: ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradeProgressInfo 3545 :ivar error: Error Details for this upgrade if there are any. 3546 :vartype error: ~azure.mgmt.compute.v2018_04_01.models.ApiError 3547 :ivar started_by: Invoker of the Upgrade Operation. Possible values include: "Unknown", "User", 3548 "Platform". 3549 :vartype started_by: str or ~azure.mgmt.compute.v2018_04_01.models.UpgradeOperationInvoker 3550 :ivar target_image_reference: Image Reference details. 3551 :vartype target_image_reference: ~azure.mgmt.compute.v2018_04_01.models.ImageReference 3552 :ivar rollback_info: Information about OS rollback if performed. 3553 :vartype rollback_info: ~azure.mgmt.compute.v2018_04_01.models.RollbackStatusInfo 3554 """ 3555 3556 _validation = { 3557 'running_status': {'readonly': True}, 3558 'progress': {'readonly': True}, 3559 'error': {'readonly': True}, 3560 'started_by': {'readonly': True}, 3561 'target_image_reference': {'readonly': True}, 3562 'rollback_info': {'readonly': True}, 3563 } 3564 3565 _attribute_map = { 3566 'running_status': {'key': 'runningStatus', 'type': 'UpgradeOperationHistoryStatus'}, 3567 'progress': {'key': 'progress', 'type': 'RollingUpgradeProgressInfo'}, 3568 'error': {'key': 'error', 'type': 'ApiError'}, 3569 'started_by': {'key': 'startedBy', 'type': 'str'}, 3570 'target_image_reference': {'key': 'targetImageReference', 'type': 'ImageReference'}, 3571 'rollback_info': {'key': 'rollbackInfo', 'type': 'RollbackStatusInfo'}, 3572 } 3573 3574 def __init__( 3575 self, 3576 **kwargs 3577 ): 3578 super(UpgradeOperationHistoricalStatusInfoProperties, self).__init__(**kwargs) 3579 self.running_status = None 3580 self.progress = None 3581 self.error = None 3582 self.started_by = None 3583 self.target_image_reference = None 3584 self.rollback_info = None 3585 3586 3587class UpgradeOperationHistoryStatus(msrest.serialization.Model): 3588 """Information about the current running state of the overall upgrade. 3589 3590 Variables are only populated by the server, and will be ignored when sending a request. 3591 3592 :ivar code: Code indicating the current status of the upgrade. Possible values include: 3593 "RollingForward", "Cancelled", "Completed", "Faulted". 3594 :vartype code: str or ~azure.mgmt.compute.v2018_04_01.models.UpgradeState 3595 :ivar start_time: Start time of the upgrade. 3596 :vartype start_time: ~datetime.datetime 3597 :ivar end_time: End time of the upgrade. 3598 :vartype end_time: ~datetime.datetime 3599 """ 3600 3601 _validation = { 3602 'code': {'readonly': True}, 3603 'start_time': {'readonly': True}, 3604 'end_time': {'readonly': True}, 3605 } 3606 3607 _attribute_map = { 3608 'code': {'key': 'code', 'type': 'str'}, 3609 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3610 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 3611 } 3612 3613 def __init__( 3614 self, 3615 **kwargs 3616 ): 3617 super(UpgradeOperationHistoryStatus, self).__init__(**kwargs) 3618 self.code = None 3619 self.start_time = None 3620 self.end_time = None 3621 3622 3623class UpgradePolicy(msrest.serialization.Model): 3624 """Describes an upgrade policy - automatic, manual, or rolling. 3625 3626 :param mode: Specifies the mode of an upgrade to virtual machines in the scale set.:code:`<br 3627 />`:code:`<br />` Possible values are::code:`<br />`:code:`<br />` **Manual** - You control 3628 the application of updates to virtual machines in the scale set. You do this by using the 3629 manualUpgrade action.:code:`<br />`:code:`<br />` **Automatic** - All virtual machines in the 3630 scale set are automatically updated at the same time. Possible values include: "Automatic", 3631 "Manual", "Rolling". 3632 :type mode: str or ~azure.mgmt.compute.v2018_04_01.models.UpgradeMode 3633 :param rolling_upgrade_policy: The configuration parameters used while performing a rolling 3634 upgrade. 3635 :type rolling_upgrade_policy: ~azure.mgmt.compute.v2018_04_01.models.RollingUpgradePolicy 3636 :param automatic_os_upgrade: Whether OS upgrades should automatically be applied to scale set 3637 instances in a rolling fashion when a newer version of the image becomes available. 3638 :type automatic_os_upgrade: bool 3639 :param auto_os_upgrade_policy: Configuration parameters used for performing automatic OS 3640 Upgrade. 3641 :type auto_os_upgrade_policy: ~azure.mgmt.compute.v2018_04_01.models.AutoOSUpgradePolicy 3642 """ 3643 3644 _attribute_map = { 3645 'mode': {'key': 'mode', 'type': 'str'}, 3646 'rolling_upgrade_policy': {'key': 'rollingUpgradePolicy', 'type': 'RollingUpgradePolicy'}, 3647 'automatic_os_upgrade': {'key': 'automaticOSUpgrade', 'type': 'bool'}, 3648 'auto_os_upgrade_policy': {'key': 'autoOSUpgradePolicy', 'type': 'AutoOSUpgradePolicy'}, 3649 } 3650 3651 def __init__( 3652 self, 3653 *, 3654 mode: Optional[Union[str, "UpgradeMode"]] = None, 3655 rolling_upgrade_policy: Optional["RollingUpgradePolicy"] = None, 3656 automatic_os_upgrade: Optional[bool] = None, 3657 auto_os_upgrade_policy: Optional["AutoOSUpgradePolicy"] = None, 3658 **kwargs 3659 ): 3660 super(UpgradePolicy, self).__init__(**kwargs) 3661 self.mode = mode 3662 self.rolling_upgrade_policy = rolling_upgrade_policy 3663 self.automatic_os_upgrade = automatic_os_upgrade 3664 self.auto_os_upgrade_policy = auto_os_upgrade_policy 3665 3666 3667class Usage(msrest.serialization.Model): 3668 """Describes Compute Resource Usage. 3669 3670 Variables are only populated by the server, and will be ignored when sending a request. 3671 3672 All required parameters must be populated in order to send to Azure. 3673 3674 :ivar unit: An enum describing the unit of usage measurement. Has constant value: "Count". 3675 :vartype unit: str 3676 :param current_value: Required. The current usage of the resource. 3677 :type current_value: int 3678 :param limit: Required. The maximum permitted usage of the resource. 3679 :type limit: long 3680 :param name: Required. The name of the type of usage. 3681 :type name: ~azure.mgmt.compute.v2018_04_01.models.UsageName 3682 """ 3683 3684 _validation = { 3685 'unit': {'required': True, 'constant': True}, 3686 'current_value': {'required': True}, 3687 'limit': {'required': True}, 3688 'name': {'required': True}, 3689 } 3690 3691 _attribute_map = { 3692 'unit': {'key': 'unit', 'type': 'str'}, 3693 'current_value': {'key': 'currentValue', 'type': 'int'}, 3694 'limit': {'key': 'limit', 'type': 'long'}, 3695 'name': {'key': 'name', 'type': 'UsageName'}, 3696 } 3697 3698 unit = "Count" 3699 3700 def __init__( 3701 self, 3702 *, 3703 current_value: int, 3704 limit: int, 3705 name: "UsageName", 3706 **kwargs 3707 ): 3708 super(Usage, self).__init__(**kwargs) 3709 self.current_value = current_value 3710 self.limit = limit 3711 self.name = name 3712 3713 3714class UsageName(msrest.serialization.Model): 3715 """The Usage Names. 3716 3717 :param value: The name of the resource. 3718 :type value: str 3719 :param localized_value: The localized name of the resource. 3720 :type localized_value: str 3721 """ 3722 3723 _attribute_map = { 3724 'value': {'key': 'value', 'type': 'str'}, 3725 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 3726 } 3727 3728 def __init__( 3729 self, 3730 *, 3731 value: Optional[str] = None, 3732 localized_value: Optional[str] = None, 3733 **kwargs 3734 ): 3735 super(UsageName, self).__init__(**kwargs) 3736 self.value = value 3737 self.localized_value = localized_value 3738 3739 3740class VaultCertificate(msrest.serialization.Model): 3741 """Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. 3742 3743 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 3744 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 3745 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 3746 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 3747 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 3748 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 3749 "password":":code:`<pfx-file-password>`":code:`<br>`}. 3750 :type certificate_url: str 3751 :param certificate_store: For Windows VMs, specifies the certificate store on the Virtual 3752 Machine to which the certificate should be added. The specified certificate store is implicitly 3753 in the LocalMachine account. :code:`<br>`:code:`<br>`For Linux VMs, the certificate file is 3754 placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt 3755 for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of 3756 these files are .pem formatted. 3757 :type certificate_store: str 3758 """ 3759 3760 _attribute_map = { 3761 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 3762 'certificate_store': {'key': 'certificateStore', 'type': 'str'}, 3763 } 3764 3765 def __init__( 3766 self, 3767 *, 3768 certificate_url: Optional[str] = None, 3769 certificate_store: Optional[str] = None, 3770 **kwargs 3771 ): 3772 super(VaultCertificate, self).__init__(**kwargs) 3773 self.certificate_url = certificate_url 3774 self.certificate_store = certificate_store 3775 3776 3777class VaultSecretGroup(msrest.serialization.Model): 3778 """Describes a set of certificates which are all in the same Key Vault. 3779 3780 :param source_vault: The relative URL of the Key Vault containing all of the certificates in 3781 VaultCertificates. 3782 :type source_vault: ~azure.mgmt.compute.v2018_04_01.models.SubResource 3783 :param vault_certificates: The list of key vault references in SourceVault which contain 3784 certificates. 3785 :type vault_certificates: list[~azure.mgmt.compute.v2018_04_01.models.VaultCertificate] 3786 """ 3787 3788 _attribute_map = { 3789 'source_vault': {'key': 'sourceVault', 'type': 'SubResource'}, 3790 'vault_certificates': {'key': 'vaultCertificates', 'type': '[VaultCertificate]'}, 3791 } 3792 3793 def __init__( 3794 self, 3795 *, 3796 source_vault: Optional["SubResource"] = None, 3797 vault_certificates: Optional[List["VaultCertificate"]] = None, 3798 **kwargs 3799 ): 3800 super(VaultSecretGroup, self).__init__(**kwargs) 3801 self.source_vault = source_vault 3802 self.vault_certificates = vault_certificates 3803 3804 3805class VirtualHardDisk(msrest.serialization.Model): 3806 """Describes the uri of a disk. 3807 3808 :param uri: Specifies the virtual hard disk's uri. 3809 :type uri: str 3810 """ 3811 3812 _attribute_map = { 3813 'uri': {'key': 'uri', 'type': 'str'}, 3814 } 3815 3816 def __init__( 3817 self, 3818 *, 3819 uri: Optional[str] = None, 3820 **kwargs 3821 ): 3822 super(VirtualHardDisk, self).__init__(**kwargs) 3823 self.uri = uri 3824 3825 3826class VirtualMachine(Resource): 3827 """Describes a Virtual Machine. 3828 3829 Variables are only populated by the server, and will be ignored when sending a request. 3830 3831 All required parameters must be populated in order to send to Azure. 3832 3833 :ivar id: Resource Id. 3834 :vartype id: str 3835 :ivar name: Resource name. 3836 :vartype name: str 3837 :ivar type: Resource type. 3838 :vartype type: str 3839 :param location: Required. Resource location. 3840 :type location: str 3841 :param tags: A set of tags. Resource tags. 3842 :type tags: dict[str, str] 3843 :param plan: Specifies information about the marketplace image used to create the virtual 3844 machine. This element is only used for marketplace images. Before you can use a marketplace 3845 image from an API, you must enable the image for programmatic use. In the Azure portal, find 3846 the marketplace image that you want to use and then click **Want to deploy programmatically, 3847 Get Started ->**. Enter any required information and then click **Save**. 3848 :type plan: ~azure.mgmt.compute.v2018_04_01.models.Plan 3849 :ivar resources: The virtual machine child extension resources. 3850 :vartype resources: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtension] 3851 :param identity: The identity of the virtual machine, if configured. 3852 :type identity: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineIdentity 3853 :param zones: The virtual machine zones. 3854 :type zones: list[str] 3855 :param hardware_profile: Specifies the hardware settings for the virtual machine. 3856 :type hardware_profile: ~azure.mgmt.compute.v2018_04_01.models.HardwareProfile 3857 :param storage_profile: Specifies the storage settings for the virtual machine disks. 3858 :type storage_profile: ~azure.mgmt.compute.v2018_04_01.models.StorageProfile 3859 :param os_profile: Specifies the operating system settings for the virtual machine. 3860 :type os_profile: ~azure.mgmt.compute.v2018_04_01.models.OSProfile 3861 :param network_profile: Specifies the network interfaces of the virtual machine. 3862 :type network_profile: ~azure.mgmt.compute.v2018_04_01.models.NetworkProfile 3863 :param diagnostics_profile: Specifies the boot diagnostic settings state. 3864 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 3865 :type diagnostics_profile: ~azure.mgmt.compute.v2018_04_01.models.DiagnosticsProfile 3866 :param availability_set: Specifies information about the availability set that the virtual 3867 machine should be assigned to. Virtual machines specified in the same availability set are 3868 allocated to different nodes to maximize availability. For more information about availability 3869 sets, see `Manage the availability of virtual machines 3870 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 3871 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 3872 maintenance for virtual machines in Azure 3873 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 3874 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 3875 time. An existing VM cannot be added to an availability set. 3876 :type availability_set: ~azure.mgmt.compute.v2018_04_01.models.SubResource 3877 :param proximity_placement_group: Specifies information about the proximity placement group 3878 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 3879 2018-04-01. 3880 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 3881 :ivar provisioning_state: The provisioning state, which only appears in the response. 3882 :vartype provisioning_state: str 3883 :ivar instance_view: The virtual machine instance view. 3884 :vartype instance_view: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineInstanceView 3885 :param license_type: Specifies that the image or disk that is being used was licensed 3886 on-premises. This element is only used for images that contain the Windows Server operating 3887 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 3888 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 3889 a request for an update, the value must match the initial value. This value cannot be updated. 3890 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 3891 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 3892 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 3893 :type license_type: str 3894 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 3895 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 3896 :vartype vm_id: str 3897 """ 3898 3899 _validation = { 3900 'id': {'readonly': True}, 3901 'name': {'readonly': True}, 3902 'type': {'readonly': True}, 3903 'location': {'required': True}, 3904 'resources': {'readonly': True}, 3905 'provisioning_state': {'readonly': True}, 3906 'instance_view': {'readonly': True}, 3907 'vm_id': {'readonly': True}, 3908 } 3909 3910 _attribute_map = { 3911 'id': {'key': 'id', 'type': 'str'}, 3912 'name': {'key': 'name', 'type': 'str'}, 3913 'type': {'key': 'type', 'type': 'str'}, 3914 'location': {'key': 'location', 'type': 'str'}, 3915 'tags': {'key': 'tags', 'type': '{str}'}, 3916 'plan': {'key': 'plan', 'type': 'Plan'}, 3917 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 3918 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 3919 'zones': {'key': 'zones', 'type': '[str]'}, 3920 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 3921 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 3922 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 3923 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 3924 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 3925 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 3926 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 3927 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3928 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 3929 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 3930 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 3931 } 3932 3933 def __init__( 3934 self, 3935 *, 3936 location: str, 3937 tags: Optional[Dict[str, str]] = None, 3938 plan: Optional["Plan"] = None, 3939 identity: Optional["VirtualMachineIdentity"] = None, 3940 zones: Optional[List[str]] = None, 3941 hardware_profile: Optional["HardwareProfile"] = None, 3942 storage_profile: Optional["StorageProfile"] = None, 3943 os_profile: Optional["OSProfile"] = None, 3944 network_profile: Optional["NetworkProfile"] = None, 3945 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 3946 availability_set: Optional["SubResource"] = None, 3947 proximity_placement_group: Optional["SubResource"] = None, 3948 license_type: Optional[str] = None, 3949 **kwargs 3950 ): 3951 super(VirtualMachine, self).__init__(location=location, tags=tags, **kwargs) 3952 self.plan = plan 3953 self.resources = None 3954 self.identity = identity 3955 self.zones = zones 3956 self.hardware_profile = hardware_profile 3957 self.storage_profile = storage_profile 3958 self.os_profile = os_profile 3959 self.network_profile = network_profile 3960 self.diagnostics_profile = diagnostics_profile 3961 self.availability_set = availability_set 3962 self.proximity_placement_group = proximity_placement_group 3963 self.provisioning_state = None 3964 self.instance_view = None 3965 self.license_type = license_type 3966 self.vm_id = None 3967 3968 3969class VirtualMachineAgentInstanceView(msrest.serialization.Model): 3970 """The instance view of the VM Agent running on the virtual machine. 3971 3972 :param vm_agent_version: The VM Agent full version. 3973 :type vm_agent_version: str 3974 :param extension_handlers: The virtual machine extension handler instance view. 3975 :type extension_handlers: 3976 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtensionHandlerInstanceView] 3977 :param statuses: The resource status information. 3978 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 3979 """ 3980 3981 _attribute_map = { 3982 'vm_agent_version': {'key': 'vmAgentVersion', 'type': 'str'}, 3983 'extension_handlers': {'key': 'extensionHandlers', 'type': '[VirtualMachineExtensionHandlerInstanceView]'}, 3984 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 3985 } 3986 3987 def __init__( 3988 self, 3989 *, 3990 vm_agent_version: Optional[str] = None, 3991 extension_handlers: Optional[List["VirtualMachineExtensionHandlerInstanceView"]] = None, 3992 statuses: Optional[List["InstanceViewStatus"]] = None, 3993 **kwargs 3994 ): 3995 super(VirtualMachineAgentInstanceView, self).__init__(**kwargs) 3996 self.vm_agent_version = vm_agent_version 3997 self.extension_handlers = extension_handlers 3998 self.statuses = statuses 3999 4000 4001class VirtualMachineCaptureParameters(msrest.serialization.Model): 4002 """Capture Virtual Machine parameters. 4003 4004 All required parameters must be populated in order to send to Azure. 4005 4006 :param vhd_prefix: Required. The captured virtual hard disk's name prefix. 4007 :type vhd_prefix: str 4008 :param destination_container_name: Required. The destination container name. 4009 :type destination_container_name: str 4010 :param overwrite_vhds: Required. Specifies whether to overwrite the destination virtual hard 4011 disk, in case of conflict. 4012 :type overwrite_vhds: bool 4013 """ 4014 4015 _validation = { 4016 'vhd_prefix': {'required': True}, 4017 'destination_container_name': {'required': True}, 4018 'overwrite_vhds': {'required': True}, 4019 } 4020 4021 _attribute_map = { 4022 'vhd_prefix': {'key': 'vhdPrefix', 'type': 'str'}, 4023 'destination_container_name': {'key': 'destinationContainerName', 'type': 'str'}, 4024 'overwrite_vhds': {'key': 'overwriteVhds', 'type': 'bool'}, 4025 } 4026 4027 def __init__( 4028 self, 4029 *, 4030 vhd_prefix: str, 4031 destination_container_name: str, 4032 overwrite_vhds: bool, 4033 **kwargs 4034 ): 4035 super(VirtualMachineCaptureParameters, self).__init__(**kwargs) 4036 self.vhd_prefix = vhd_prefix 4037 self.destination_container_name = destination_container_name 4038 self.overwrite_vhds = overwrite_vhds 4039 4040 4041class VirtualMachineCaptureResult(SubResource): 4042 """Output of virtual machine capture operation. 4043 4044 Variables are only populated by the server, and will be ignored when sending a request. 4045 4046 :param id: Resource Id. 4047 :type id: str 4048 :ivar schema: the schema of the captured virtual machine. 4049 :vartype schema: str 4050 :ivar content_version: the version of the content. 4051 :vartype content_version: str 4052 :ivar parameters: parameters of the captured virtual machine. 4053 :vartype parameters: any 4054 :ivar resources: a list of resource items of the captured virtual machine. 4055 :vartype resources: list[any] 4056 """ 4057 4058 _validation = { 4059 'schema': {'readonly': True}, 4060 'content_version': {'readonly': True}, 4061 'parameters': {'readonly': True}, 4062 'resources': {'readonly': True}, 4063 } 4064 4065 _attribute_map = { 4066 'id': {'key': 'id', 'type': 'str'}, 4067 'schema': {'key': '$schema', 'type': 'str'}, 4068 'content_version': {'key': 'contentVersion', 'type': 'str'}, 4069 'parameters': {'key': 'parameters', 'type': 'object'}, 4070 'resources': {'key': 'resources', 'type': '[object]'}, 4071 } 4072 4073 def __init__( 4074 self, 4075 *, 4076 id: Optional[str] = None, 4077 **kwargs 4078 ): 4079 super(VirtualMachineCaptureResult, self).__init__(id=id, **kwargs) 4080 self.schema = None 4081 self.content_version = None 4082 self.parameters = None 4083 self.resources = None 4084 4085 4086class VirtualMachineExtension(Resource): 4087 """Describes a Virtual Machine Extension. 4088 4089 Variables are only populated by the server, and will be ignored when sending a request. 4090 4091 All required parameters must be populated in order to send to Azure. 4092 4093 :ivar id: Resource Id. 4094 :vartype id: str 4095 :ivar name: Resource name. 4096 :vartype name: str 4097 :ivar type: Resource type. 4098 :vartype type: str 4099 :param location: Required. Resource location. 4100 :type location: str 4101 :param tags: A set of tags. Resource tags. 4102 :type tags: dict[str, str] 4103 :param force_update_tag: How the extension handler should be forced to update even if the 4104 extension configuration has not changed. 4105 :type force_update_tag: str 4106 :param publisher: The name of the extension handler publisher. 4107 :type publisher: str 4108 :param type_properties_type: Specifies the type of the extension; an example is 4109 "CustomScriptExtension". 4110 :type type_properties_type: str 4111 :param type_handler_version: Specifies the version of the script handler. 4112 :type type_handler_version: str 4113 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 4114 version if one is available at deployment time. Once deployed, however, the extension will not 4115 upgrade minor versions unless redeployed, even with this property set to true. 4116 :type auto_upgrade_minor_version: bool 4117 :param settings: Json formatted public settings for the extension. 4118 :type settings: any 4119 :param protected_settings: The extension can contain either protectedSettings or 4120 protectedSettingsFromKeyVault or no protected settings at all. 4121 :type protected_settings: any 4122 :ivar provisioning_state: The provisioning state, which only appears in the response. 4123 :vartype provisioning_state: str 4124 :param instance_view: The virtual machine extension instance view. 4125 :type instance_view: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtensionInstanceView 4126 """ 4127 4128 _validation = { 4129 'id': {'readonly': True}, 4130 'name': {'readonly': True}, 4131 'type': {'readonly': True}, 4132 'location': {'required': True}, 4133 'provisioning_state': {'readonly': True}, 4134 } 4135 4136 _attribute_map = { 4137 'id': {'key': 'id', 'type': 'str'}, 4138 'name': {'key': 'name', 'type': 'str'}, 4139 'type': {'key': 'type', 'type': 'str'}, 4140 'location': {'key': 'location', 'type': 'str'}, 4141 'tags': {'key': 'tags', 'type': '{str}'}, 4142 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 4143 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 4144 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 4145 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 4146 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 4147 'settings': {'key': 'properties.settings', 'type': 'object'}, 4148 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 4149 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4150 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineExtensionInstanceView'}, 4151 } 4152 4153 def __init__( 4154 self, 4155 *, 4156 location: str, 4157 tags: Optional[Dict[str, str]] = None, 4158 force_update_tag: Optional[str] = None, 4159 publisher: Optional[str] = None, 4160 type_properties_type: Optional[str] = None, 4161 type_handler_version: Optional[str] = None, 4162 auto_upgrade_minor_version: Optional[bool] = None, 4163 settings: Optional[Any] = None, 4164 protected_settings: Optional[Any] = None, 4165 instance_view: Optional["VirtualMachineExtensionInstanceView"] = None, 4166 **kwargs 4167 ): 4168 super(VirtualMachineExtension, self).__init__(location=location, tags=tags, **kwargs) 4169 self.force_update_tag = force_update_tag 4170 self.publisher = publisher 4171 self.type_properties_type = type_properties_type 4172 self.type_handler_version = type_handler_version 4173 self.auto_upgrade_minor_version = auto_upgrade_minor_version 4174 self.settings = settings 4175 self.protected_settings = protected_settings 4176 self.provisioning_state = None 4177 self.instance_view = instance_view 4178 4179 4180class VirtualMachineExtensionHandlerInstanceView(msrest.serialization.Model): 4181 """The instance view of a virtual machine extension handler. 4182 4183 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 4184 :type type: str 4185 :param type_handler_version: Specifies the version of the script handler. 4186 :type type_handler_version: str 4187 :param status: The extension handler status. 4188 :type status: ~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus 4189 """ 4190 4191 _attribute_map = { 4192 'type': {'key': 'type', 'type': 'str'}, 4193 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 4194 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 4195 } 4196 4197 def __init__( 4198 self, 4199 *, 4200 type: Optional[str] = None, 4201 type_handler_version: Optional[str] = None, 4202 status: Optional["InstanceViewStatus"] = None, 4203 **kwargs 4204 ): 4205 super(VirtualMachineExtensionHandlerInstanceView, self).__init__(**kwargs) 4206 self.type = type 4207 self.type_handler_version = type_handler_version 4208 self.status = status 4209 4210 4211class VirtualMachineExtensionImage(Resource): 4212 """Describes a Virtual Machine Extension Image. 4213 4214 Variables are only populated by the server, and will be ignored when sending a request. 4215 4216 All required parameters must be populated in order to send to Azure. 4217 4218 :ivar id: Resource Id. 4219 :vartype id: str 4220 :ivar name: Resource name. 4221 :vartype name: str 4222 :ivar type: Resource type. 4223 :vartype type: str 4224 :param location: Required. Resource location. 4225 :type location: str 4226 :param tags: A set of tags. Resource tags. 4227 :type tags: dict[str, str] 4228 :param operating_system: The operating system this extension supports. 4229 :type operating_system: str 4230 :param compute_role: The type of role (IaaS or PaaS) this extension supports. 4231 :type compute_role: str 4232 :param handler_schema: The schema defined by publisher, where extension consumers should 4233 provide settings in a matching schema. 4234 :type handler_schema: str 4235 :param vm_scale_set_enabled: Whether the extension can be used on xRP VMScaleSets. By default 4236 existing extensions are usable on scalesets, but there might be cases where a publisher wants 4237 to explicitly indicate the extension is only enabled for CRP VMs but not VMSS. 4238 :type vm_scale_set_enabled: bool 4239 :param supports_multiple_extensions: Whether the handler can support multiple extensions. 4240 :type supports_multiple_extensions: bool 4241 """ 4242 4243 _validation = { 4244 'id': {'readonly': True}, 4245 'name': {'readonly': True}, 4246 'type': {'readonly': True}, 4247 'location': {'required': True}, 4248 } 4249 4250 _attribute_map = { 4251 'id': {'key': 'id', 'type': 'str'}, 4252 'name': {'key': 'name', 'type': 'str'}, 4253 'type': {'key': 'type', 'type': 'str'}, 4254 'location': {'key': 'location', 'type': 'str'}, 4255 'tags': {'key': 'tags', 'type': '{str}'}, 4256 'operating_system': {'key': 'properties.operatingSystem', 'type': 'str'}, 4257 'compute_role': {'key': 'properties.computeRole', 'type': 'str'}, 4258 'handler_schema': {'key': 'properties.handlerSchema', 'type': 'str'}, 4259 'vm_scale_set_enabled': {'key': 'properties.vmScaleSetEnabled', 'type': 'bool'}, 4260 'supports_multiple_extensions': {'key': 'properties.supportsMultipleExtensions', 'type': 'bool'}, 4261 } 4262 4263 def __init__( 4264 self, 4265 *, 4266 location: str, 4267 tags: Optional[Dict[str, str]] = None, 4268 operating_system: Optional[str] = None, 4269 compute_role: Optional[str] = None, 4270 handler_schema: Optional[str] = None, 4271 vm_scale_set_enabled: Optional[bool] = None, 4272 supports_multiple_extensions: Optional[bool] = None, 4273 **kwargs 4274 ): 4275 super(VirtualMachineExtensionImage, self).__init__(location=location, tags=tags, **kwargs) 4276 self.operating_system = operating_system 4277 self.compute_role = compute_role 4278 self.handler_schema = handler_schema 4279 self.vm_scale_set_enabled = vm_scale_set_enabled 4280 self.supports_multiple_extensions = supports_multiple_extensions 4281 4282 4283class VirtualMachineExtensionInstanceView(msrest.serialization.Model): 4284 """The instance view of a virtual machine extension. 4285 4286 :param name: The virtual machine extension name. 4287 :type name: str 4288 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 4289 :type type: str 4290 :param type_handler_version: Specifies the version of the script handler. 4291 :type type_handler_version: str 4292 :param substatuses: The resource status information. 4293 :type substatuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 4294 :param statuses: The resource status information. 4295 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 4296 """ 4297 4298 _attribute_map = { 4299 'name': {'key': 'name', 'type': 'str'}, 4300 'type': {'key': 'type', 'type': 'str'}, 4301 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, 4302 'substatuses': {'key': 'substatuses', 'type': '[InstanceViewStatus]'}, 4303 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 4304 } 4305 4306 def __init__( 4307 self, 4308 *, 4309 name: Optional[str] = None, 4310 type: Optional[str] = None, 4311 type_handler_version: Optional[str] = None, 4312 substatuses: Optional[List["InstanceViewStatus"]] = None, 4313 statuses: Optional[List["InstanceViewStatus"]] = None, 4314 **kwargs 4315 ): 4316 super(VirtualMachineExtensionInstanceView, self).__init__(**kwargs) 4317 self.name = name 4318 self.type = type 4319 self.type_handler_version = type_handler_version 4320 self.substatuses = substatuses 4321 self.statuses = statuses 4322 4323 4324class VirtualMachineExtensionsListResult(msrest.serialization.Model): 4325 """The List Extension operation response. 4326 4327 :param value: The list of extensions. 4328 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtension] 4329 """ 4330 4331 _attribute_map = { 4332 'value': {'key': 'value', 'type': '[VirtualMachineExtension]'}, 4333 } 4334 4335 def __init__( 4336 self, 4337 *, 4338 value: Optional[List["VirtualMachineExtension"]] = None, 4339 **kwargs 4340 ): 4341 super(VirtualMachineExtensionsListResult, self).__init__(**kwargs) 4342 self.value = value 4343 4344 4345class VirtualMachineExtensionUpdate(UpdateResource): 4346 """Describes a Virtual Machine Extension. 4347 4348 :param tags: A set of tags. Resource tags. 4349 :type tags: dict[str, str] 4350 :param force_update_tag: How the extension handler should be forced to update even if the 4351 extension configuration has not changed. 4352 :type force_update_tag: str 4353 :param publisher: The name of the extension handler publisher. 4354 :type publisher: str 4355 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 4356 :type type: str 4357 :param type_handler_version: Specifies the version of the script handler. 4358 :type type_handler_version: str 4359 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 4360 version if one is available at deployment time. Once deployed, however, the extension will not 4361 upgrade minor versions unless redeployed, even with this property set to true. 4362 :type auto_upgrade_minor_version: bool 4363 :param settings: Json formatted public settings for the extension. 4364 :type settings: any 4365 :param protected_settings: The extension can contain either protectedSettings or 4366 protectedSettingsFromKeyVault or no protected settings at all. 4367 :type protected_settings: any 4368 """ 4369 4370 _attribute_map = { 4371 'tags': {'key': 'tags', 'type': '{str}'}, 4372 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 4373 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 4374 'type': {'key': 'properties.type', 'type': 'str'}, 4375 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 4376 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 4377 'settings': {'key': 'properties.settings', 'type': 'object'}, 4378 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 4379 } 4380 4381 def __init__( 4382 self, 4383 *, 4384 tags: Optional[Dict[str, str]] = None, 4385 force_update_tag: Optional[str] = None, 4386 publisher: Optional[str] = None, 4387 type: Optional[str] = None, 4388 type_handler_version: Optional[str] = None, 4389 auto_upgrade_minor_version: Optional[bool] = None, 4390 settings: Optional[Any] = None, 4391 protected_settings: Optional[Any] = None, 4392 **kwargs 4393 ): 4394 super(VirtualMachineExtensionUpdate, self).__init__(tags=tags, **kwargs) 4395 self.force_update_tag = force_update_tag 4396 self.publisher = publisher 4397 self.type = type 4398 self.type_handler_version = type_handler_version 4399 self.auto_upgrade_minor_version = auto_upgrade_minor_version 4400 self.settings = settings 4401 self.protected_settings = protected_settings 4402 4403 4404class VirtualMachineHealthStatus(msrest.serialization.Model): 4405 """The health status of the VM. 4406 4407 Variables are only populated by the server, and will be ignored when sending a request. 4408 4409 :ivar status: The health status information for the VM. 4410 :vartype status: ~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus 4411 """ 4412 4413 _validation = { 4414 'status': {'readonly': True}, 4415 } 4416 4417 _attribute_map = { 4418 'status': {'key': 'status', 'type': 'InstanceViewStatus'}, 4419 } 4420 4421 def __init__( 4422 self, 4423 **kwargs 4424 ): 4425 super(VirtualMachineHealthStatus, self).__init__(**kwargs) 4426 self.status = None 4427 4428 4429class VirtualMachineIdentity(msrest.serialization.Model): 4430 """Identity for the virtual machine. 4431 4432 Variables are only populated by the server, and will be ignored when sending a request. 4433 4434 :ivar principal_id: The principal id of virtual machine identity. This property will only be 4435 provided for a system assigned identity. 4436 :vartype principal_id: str 4437 :ivar tenant_id: The tenant id associated with the virtual machine. This property will only be 4438 provided for a system assigned identity. 4439 :vartype tenant_id: str 4440 :param type: The type of identity used for the virtual machine. The type 'SystemAssigned, 4441 UserAssigned' includes both an implicitly created identity and a set of user assigned 4442 identities. The type 'None' will remove any identities from the virtual machine. Possible 4443 values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 4444 :type type: str or ~azure.mgmt.compute.v2018_04_01.models.ResourceIdentityType 4445 :param identity_ids: The list of user identities associated with the Virtual Machine. The user 4446 identity references will be ARM resource ids in the form: 4447 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'. 4448 :type identity_ids: list[str] 4449 """ 4450 4451 _validation = { 4452 'principal_id': {'readonly': True}, 4453 'tenant_id': {'readonly': True}, 4454 } 4455 4456 _attribute_map = { 4457 'principal_id': {'key': 'principalId', 'type': 'str'}, 4458 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 4459 'type': {'key': 'type', 'type': 'str'}, 4460 'identity_ids': {'key': 'identityIds', 'type': '[str]'}, 4461 } 4462 4463 def __init__( 4464 self, 4465 *, 4466 type: Optional[Union[str, "ResourceIdentityType"]] = None, 4467 identity_ids: Optional[List[str]] = None, 4468 **kwargs 4469 ): 4470 super(VirtualMachineIdentity, self).__init__(**kwargs) 4471 self.principal_id = None 4472 self.tenant_id = None 4473 self.type = type 4474 self.identity_ids = identity_ids 4475 4476 4477class VirtualMachineImageResource(SubResource): 4478 """Virtual machine image resource information. 4479 4480 All required parameters must be populated in order to send to Azure. 4481 4482 :param id: Resource Id. 4483 :type id: str 4484 :param name: Required. The name of the resource. 4485 :type name: str 4486 :param location: Required. The supported Azure location of the resource. 4487 :type location: str 4488 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 4489 more information about using tags, see `Using tags to organize your Azure resources 4490 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 4491 :type tags: dict[str, str] 4492 """ 4493 4494 _validation = { 4495 'name': {'required': True}, 4496 'location': {'required': True}, 4497 } 4498 4499 _attribute_map = { 4500 'id': {'key': 'id', 'type': 'str'}, 4501 'name': {'key': 'name', 'type': 'str'}, 4502 'location': {'key': 'location', 'type': 'str'}, 4503 'tags': {'key': 'tags', 'type': '{str}'}, 4504 } 4505 4506 def __init__( 4507 self, 4508 *, 4509 name: str, 4510 location: str, 4511 id: Optional[str] = None, 4512 tags: Optional[Dict[str, str]] = None, 4513 **kwargs 4514 ): 4515 super(VirtualMachineImageResource, self).__init__(id=id, **kwargs) 4516 self.name = name 4517 self.location = location 4518 self.tags = tags 4519 4520 4521class VirtualMachineImage(VirtualMachineImageResource): 4522 """Describes a Virtual Machine Image. 4523 4524 All required parameters must be populated in order to send to Azure. 4525 4526 :param id: Resource Id. 4527 :type id: str 4528 :param name: Required. The name of the resource. 4529 :type name: str 4530 :param location: Required. The supported Azure location of the resource. 4531 :type location: str 4532 :param tags: A set of tags. Specifies the tags that are assigned to the virtual machine. For 4533 more information about using tags, see `Using tags to organize your Azure resources 4534 <https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md>`_. 4535 :type tags: dict[str, str] 4536 :param plan: Used for establishing the purchase context of any 3rd Party artifact through 4537 MarketPlace. 4538 :type plan: ~azure.mgmt.compute.v2018_04_01.models.PurchasePlan 4539 :param os_disk_image: Contains the os disk image information. 4540 :type os_disk_image: ~azure.mgmt.compute.v2018_04_01.models.OSDiskImage 4541 :param data_disk_images: 4542 :type data_disk_images: list[~azure.mgmt.compute.v2018_04_01.models.DataDiskImage] 4543 """ 4544 4545 _validation = { 4546 'name': {'required': True}, 4547 'location': {'required': True}, 4548 } 4549 4550 _attribute_map = { 4551 'id': {'key': 'id', 'type': 'str'}, 4552 'name': {'key': 'name', 'type': 'str'}, 4553 'location': {'key': 'location', 'type': 'str'}, 4554 'tags': {'key': 'tags', 'type': '{str}'}, 4555 'plan': {'key': 'properties.plan', 'type': 'PurchasePlan'}, 4556 'os_disk_image': {'key': 'properties.osDiskImage', 'type': 'OSDiskImage'}, 4557 'data_disk_images': {'key': 'properties.dataDiskImages', 'type': '[DataDiskImage]'}, 4558 } 4559 4560 def __init__( 4561 self, 4562 *, 4563 name: str, 4564 location: str, 4565 id: Optional[str] = None, 4566 tags: Optional[Dict[str, str]] = None, 4567 plan: Optional["PurchasePlan"] = None, 4568 os_disk_image: Optional["OSDiskImage"] = None, 4569 data_disk_images: Optional[List["DataDiskImage"]] = None, 4570 **kwargs 4571 ): 4572 super(VirtualMachineImage, self).__init__(id=id, name=name, location=location, tags=tags, **kwargs) 4573 self.plan = plan 4574 self.os_disk_image = os_disk_image 4575 self.data_disk_images = data_disk_images 4576 4577 4578class VirtualMachineInstanceView(msrest.serialization.Model): 4579 """The instance view of a virtual machine. 4580 4581 :param platform_update_domain: Specifies the update domain of the virtual machine. 4582 :type platform_update_domain: int 4583 :param platform_fault_domain: Specifies the fault domain of the virtual machine. 4584 :type platform_fault_domain: int 4585 :param computer_name: The computer name assigned to the virtual machine. 4586 :type computer_name: str 4587 :param os_name: The Operating System running on the virtual machine. 4588 :type os_name: str 4589 :param os_version: The version of Operating System running on the virtual machine. 4590 :type os_version: str 4591 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 4592 :type rdp_thumb_print: str 4593 :param vm_agent: The VM Agent running on the virtual machine. 4594 :type vm_agent: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineAgentInstanceView 4595 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 4596 :type maintenance_redeploy_status: 4597 ~azure.mgmt.compute.v2018_04_01.models.MaintenanceRedeployStatus 4598 :param disks: The virtual machine disk information. 4599 :type disks: list[~azure.mgmt.compute.v2018_04_01.models.DiskInstanceView] 4600 :param extensions: The extensions information. 4601 :type extensions: 4602 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtensionInstanceView] 4603 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 4604 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 4605 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 4606 screenshot of the VM from the hypervisor. 4607 :type boot_diagnostics: ~azure.mgmt.compute.v2018_04_01.models.BootDiagnosticsInstanceView 4608 :param statuses: The resource status information. 4609 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 4610 """ 4611 4612 _attribute_map = { 4613 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 4614 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 4615 'computer_name': {'key': 'computerName', 'type': 'str'}, 4616 'os_name': {'key': 'osName', 'type': 'str'}, 4617 'os_version': {'key': 'osVersion', 'type': 'str'}, 4618 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 4619 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 4620 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 4621 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 4622 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 4623 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 4624 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 4625 } 4626 4627 def __init__( 4628 self, 4629 *, 4630 platform_update_domain: Optional[int] = None, 4631 platform_fault_domain: Optional[int] = None, 4632 computer_name: Optional[str] = None, 4633 os_name: Optional[str] = None, 4634 os_version: Optional[str] = None, 4635 rdp_thumb_print: Optional[str] = None, 4636 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 4637 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 4638 disks: Optional[List["DiskInstanceView"]] = None, 4639 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 4640 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 4641 statuses: Optional[List["InstanceViewStatus"]] = None, 4642 **kwargs 4643 ): 4644 super(VirtualMachineInstanceView, self).__init__(**kwargs) 4645 self.platform_update_domain = platform_update_domain 4646 self.platform_fault_domain = platform_fault_domain 4647 self.computer_name = computer_name 4648 self.os_name = os_name 4649 self.os_version = os_version 4650 self.rdp_thumb_print = rdp_thumb_print 4651 self.vm_agent = vm_agent 4652 self.maintenance_redeploy_status = maintenance_redeploy_status 4653 self.disks = disks 4654 self.extensions = extensions 4655 self.boot_diagnostics = boot_diagnostics 4656 self.statuses = statuses 4657 4658 4659class VirtualMachineListResult(msrest.serialization.Model): 4660 """The List Virtual Machine operation response. 4661 4662 All required parameters must be populated in order to send to Azure. 4663 4664 :param value: Required. The list of virtual machines. 4665 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachine] 4666 :param next_link: The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch 4667 the next page of Virtual Machines. 4668 :type next_link: str 4669 """ 4670 4671 _validation = { 4672 'value': {'required': True}, 4673 } 4674 4675 _attribute_map = { 4676 'value': {'key': 'value', 'type': '[VirtualMachine]'}, 4677 'next_link': {'key': 'nextLink', 'type': 'str'}, 4678 } 4679 4680 def __init__( 4681 self, 4682 *, 4683 value: List["VirtualMachine"], 4684 next_link: Optional[str] = None, 4685 **kwargs 4686 ): 4687 super(VirtualMachineListResult, self).__init__(**kwargs) 4688 self.value = value 4689 self.next_link = next_link 4690 4691 4692class VirtualMachineScaleSet(Resource): 4693 """Describes a Virtual Machine Scale Set. 4694 4695 Variables are only populated by the server, and will be ignored when sending a request. 4696 4697 All required parameters must be populated in order to send to Azure. 4698 4699 :ivar id: Resource Id. 4700 :vartype id: str 4701 :ivar name: Resource name. 4702 :vartype name: str 4703 :ivar type: Resource type. 4704 :vartype type: str 4705 :param location: Required. Resource location. 4706 :type location: str 4707 :param tags: A set of tags. Resource tags. 4708 :type tags: dict[str, str] 4709 :param sku: The virtual machine scale set sku. 4710 :type sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 4711 :param plan: Specifies information about the marketplace image used to create the virtual 4712 machine. This element is only used for marketplace images. Before you can use a marketplace 4713 image from an API, you must enable the image for programmatic use. In the Azure portal, find 4714 the marketplace image that you want to use and then click **Want to deploy programmatically, 4715 Get Started ->**. Enter any required information and then click **Save**. 4716 :type plan: ~azure.mgmt.compute.v2018_04_01.models.Plan 4717 :param identity: The identity of the virtual machine scale set, if configured. 4718 :type identity: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetIdentity 4719 :param zones: The virtual machine scale set zones. NOTE: Availability zones can only be set 4720 when you create the scale set. 4721 :type zones: list[str] 4722 :param upgrade_policy: The upgrade policy. 4723 :type upgrade_policy: ~azure.mgmt.compute.v2018_04_01.models.UpgradePolicy 4724 :param virtual_machine_profile: The virtual machine profile. 4725 :type virtual_machine_profile: 4726 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetVMProfile 4727 :ivar provisioning_state: The provisioning state, which only appears in the response. 4728 :vartype provisioning_state: str 4729 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 4730 overprovisioned. 4731 :type overprovision: bool 4732 :ivar unique_id: Specifies the ID which uniquely identifies a Virtual Machine Scale Set. 4733 :vartype unique_id: str 4734 :param single_placement_group: When true this limits the scale set to a single placement group, 4735 of max size 100 virtual machines. 4736 :type single_placement_group: bool 4737 :param zone_balance: Whether to force strictly even Virtual Machine distribution cross x-zones 4738 in case there is zone outage. 4739 :type zone_balance: bool 4740 :param platform_fault_domain_count: Fault Domain count for each placement group. 4741 :type platform_fault_domain_count: int 4742 :param proximity_placement_group: Specifies information about the proximity placement group 4743 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 4744 api-version: 2018-04-01. 4745 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 4746 """ 4747 4748 _validation = { 4749 'id': {'readonly': True}, 4750 'name': {'readonly': True}, 4751 'type': {'readonly': True}, 4752 'location': {'required': True}, 4753 'provisioning_state': {'readonly': True}, 4754 'unique_id': {'readonly': True}, 4755 } 4756 4757 _attribute_map = { 4758 'id': {'key': 'id', 'type': 'str'}, 4759 'name': {'key': 'name', 'type': 'str'}, 4760 'type': {'key': 'type', 'type': 'str'}, 4761 'location': {'key': 'location', 'type': 'str'}, 4762 'tags': {'key': 'tags', 'type': '{str}'}, 4763 'sku': {'key': 'sku', 'type': 'Sku'}, 4764 'plan': {'key': 'plan', 'type': 'Plan'}, 4765 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 4766 'zones': {'key': 'zones', 'type': '[str]'}, 4767 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 4768 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetVMProfile'}, 4769 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4770 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 4771 'unique_id': {'key': 'properties.uniqueId', 'type': 'str'}, 4772 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 4773 'zone_balance': {'key': 'properties.zoneBalance', 'type': 'bool'}, 4774 'platform_fault_domain_count': {'key': 'properties.platformFaultDomainCount', 'type': 'int'}, 4775 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 4776 } 4777 4778 def __init__( 4779 self, 4780 *, 4781 location: str, 4782 tags: Optional[Dict[str, str]] = None, 4783 sku: Optional["Sku"] = None, 4784 plan: Optional["Plan"] = None, 4785 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 4786 zones: Optional[List[str]] = None, 4787 upgrade_policy: Optional["UpgradePolicy"] = None, 4788 virtual_machine_profile: Optional["VirtualMachineScaleSetVMProfile"] = None, 4789 overprovision: Optional[bool] = None, 4790 single_placement_group: Optional[bool] = None, 4791 zone_balance: Optional[bool] = None, 4792 platform_fault_domain_count: Optional[int] = None, 4793 proximity_placement_group: Optional["SubResource"] = None, 4794 **kwargs 4795 ): 4796 super(VirtualMachineScaleSet, self).__init__(location=location, tags=tags, **kwargs) 4797 self.sku = sku 4798 self.plan = plan 4799 self.identity = identity 4800 self.zones = zones 4801 self.upgrade_policy = upgrade_policy 4802 self.virtual_machine_profile = virtual_machine_profile 4803 self.provisioning_state = None 4804 self.overprovision = overprovision 4805 self.unique_id = None 4806 self.single_placement_group = single_placement_group 4807 self.zone_balance = zone_balance 4808 self.platform_fault_domain_count = platform_fault_domain_count 4809 self.proximity_placement_group = proximity_placement_group 4810 4811 4812class VirtualMachineScaleSetDataDisk(msrest.serialization.Model): 4813 """Describes a virtual machine scale set data disk. 4814 4815 All required parameters must be populated in order to send to Azure. 4816 4817 :param name: The disk name. 4818 :type name: str 4819 :param lun: Required. Specifies the logical unit number of the data disk. This value is used to 4820 identify data disks within the VM and therefore must be unique for each data disk attached to a 4821 VM. 4822 :type lun: int 4823 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 4824 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 4825 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 4826 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 4827 "ReadWrite". 4828 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 4829 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 4830 disabled on the disk. 4831 :type write_accelerator_enabled: bool 4832 :param create_option: Required. The create option. Possible values include: "FromImage", 4833 "Empty", "Attach". 4834 :type create_option: str or ~azure.mgmt.compute.v2018_04_01.models.DiskCreateOptionTypes 4835 :param disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be 4836 used to overwrite the size of the disk in a virtual machine image. :code:`<br>`:code:`<br>` 4837 This value cannot be larger than 1023 GB. 4838 :type disk_size_gb: int 4839 :param managed_disk: The managed disk parameters. 4840 :type managed_disk: 4841 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetManagedDiskParameters 4842 """ 4843 4844 _validation = { 4845 'lun': {'required': True}, 4846 'create_option': {'required': True}, 4847 } 4848 4849 _attribute_map = { 4850 'name': {'key': 'name', 'type': 'str'}, 4851 'lun': {'key': 'lun', 'type': 'int'}, 4852 'caching': {'key': 'caching', 'type': 'str'}, 4853 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 4854 'create_option': {'key': 'createOption', 'type': 'str'}, 4855 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 4856 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 4857 } 4858 4859 def __init__( 4860 self, 4861 *, 4862 lun: int, 4863 create_option: Union[str, "DiskCreateOptionTypes"], 4864 name: Optional[str] = None, 4865 caching: Optional[Union[str, "CachingTypes"]] = None, 4866 write_accelerator_enabled: Optional[bool] = None, 4867 disk_size_gb: Optional[int] = None, 4868 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 4869 **kwargs 4870 ): 4871 super(VirtualMachineScaleSetDataDisk, self).__init__(**kwargs) 4872 self.name = name 4873 self.lun = lun 4874 self.caching = caching 4875 self.write_accelerator_enabled = write_accelerator_enabled 4876 self.create_option = create_option 4877 self.disk_size_gb = disk_size_gb 4878 self.managed_disk = managed_disk 4879 4880 4881class VirtualMachineScaleSetExtension(SubResourceReadOnly): 4882 """Describes a Virtual Machine Scale Set Extension. 4883 4884 Variables are only populated by the server, and will be ignored when sending a request. 4885 4886 :ivar id: Resource Id. 4887 :vartype id: str 4888 :param name: The name of the extension. 4889 :type name: str 4890 :param force_update_tag: If a value is provided and is different from the previous value, the 4891 extension handler will be forced to update even if the extension configuration has not changed. 4892 :type force_update_tag: str 4893 :param publisher: The name of the extension handler publisher. 4894 :type publisher: str 4895 :param type: Specifies the type of the extension; an example is "CustomScriptExtension". 4896 :type type: str 4897 :param type_handler_version: Specifies the version of the script handler. 4898 :type type_handler_version: str 4899 :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor 4900 version if one is available at deployment time. Once deployed, however, the extension will not 4901 upgrade minor versions unless redeployed, even with this property set to true. 4902 :type auto_upgrade_minor_version: bool 4903 :param settings: Json formatted public settings for the extension. 4904 :type settings: any 4905 :param protected_settings: The extension can contain either protectedSettings or 4906 protectedSettingsFromKeyVault or no protected settings at all. 4907 :type protected_settings: any 4908 :ivar provisioning_state: The provisioning state, which only appears in the response. 4909 :vartype provisioning_state: str 4910 """ 4911 4912 _validation = { 4913 'id': {'readonly': True}, 4914 'provisioning_state': {'readonly': True}, 4915 } 4916 4917 _attribute_map = { 4918 'id': {'key': 'id', 'type': 'str'}, 4919 'name': {'key': 'name', 'type': 'str'}, 4920 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, 4921 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 4922 'type': {'key': 'properties.type', 'type': 'str'}, 4923 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, 4924 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, 4925 'settings': {'key': 'properties.settings', 'type': 'object'}, 4926 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, 4927 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4928 } 4929 4930 def __init__( 4931 self, 4932 *, 4933 name: Optional[str] = None, 4934 force_update_tag: Optional[str] = None, 4935 publisher: Optional[str] = None, 4936 type: Optional[str] = None, 4937 type_handler_version: Optional[str] = None, 4938 auto_upgrade_minor_version: Optional[bool] = None, 4939 settings: Optional[Any] = None, 4940 protected_settings: Optional[Any] = None, 4941 **kwargs 4942 ): 4943 super(VirtualMachineScaleSetExtension, self).__init__(**kwargs) 4944 self.name = name 4945 self.force_update_tag = force_update_tag 4946 self.publisher = publisher 4947 self.type = type 4948 self.type_handler_version = type_handler_version 4949 self.auto_upgrade_minor_version = auto_upgrade_minor_version 4950 self.settings = settings 4951 self.protected_settings = protected_settings 4952 self.provisioning_state = None 4953 4954 4955class VirtualMachineScaleSetExtensionListResult(msrest.serialization.Model): 4956 """The List VM scale set extension operation response. 4957 4958 All required parameters must be populated in order to send to Azure. 4959 4960 :param value: Required. The list of VM scale set extensions. 4961 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetExtension] 4962 :param next_link: The uri to fetch the next page of VM scale set extensions. Call ListNext() 4963 with this to fetch the next page of VM scale set extensions. 4964 :type next_link: str 4965 """ 4966 4967 _validation = { 4968 'value': {'required': True}, 4969 } 4970 4971 _attribute_map = { 4972 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetExtension]'}, 4973 'next_link': {'key': 'nextLink', 'type': 'str'}, 4974 } 4975 4976 def __init__( 4977 self, 4978 *, 4979 value: List["VirtualMachineScaleSetExtension"], 4980 next_link: Optional[str] = None, 4981 **kwargs 4982 ): 4983 super(VirtualMachineScaleSetExtensionListResult, self).__init__(**kwargs) 4984 self.value = value 4985 self.next_link = next_link 4986 4987 4988class VirtualMachineScaleSetExtensionProfile(msrest.serialization.Model): 4989 """Describes a virtual machine scale set extension profile. 4990 4991 :param extensions: The virtual machine scale set child extension resources. 4992 :type extensions: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetExtension] 4993 """ 4994 4995 _attribute_map = { 4996 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetExtension]'}, 4997 } 4998 4999 def __init__( 5000 self, 5001 *, 5002 extensions: Optional[List["VirtualMachineScaleSetExtension"]] = None, 5003 **kwargs 5004 ): 5005 super(VirtualMachineScaleSetExtensionProfile, self).__init__(**kwargs) 5006 self.extensions = extensions 5007 5008 5009class VirtualMachineScaleSetIdentity(msrest.serialization.Model): 5010 """Identity for the virtual machine scale set. 5011 5012 Variables are only populated by the server, and will be ignored when sending a request. 5013 5014 :ivar principal_id: The principal id of virtual machine scale set identity. This property will 5015 only be provided for a system assigned identity. 5016 :vartype principal_id: str 5017 :ivar tenant_id: The tenant id associated with the virtual machine scale set. This property 5018 will only be provided for a system assigned identity. 5019 :vartype tenant_id: str 5020 :param type: The type of identity used for the virtual machine scale set. The type 5021 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user 5022 assigned identities. The type 'None' will remove any identities from the virtual machine scale 5023 set. Possible values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", 5024 "None". 5025 :type type: str or ~azure.mgmt.compute.v2018_04_01.models.ResourceIdentityType 5026 :param identity_ids: The list of user identities associated with the virtual machine scale set. 5027 The user identity references will be ARM resource ids in the form: 5028 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'. 5029 :type identity_ids: list[str] 5030 """ 5031 5032 _validation = { 5033 'principal_id': {'readonly': True}, 5034 'tenant_id': {'readonly': True}, 5035 } 5036 5037 _attribute_map = { 5038 'principal_id': {'key': 'principalId', 'type': 'str'}, 5039 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 5040 'type': {'key': 'type', 'type': 'str'}, 5041 'identity_ids': {'key': 'identityIds', 'type': '[str]'}, 5042 } 5043 5044 def __init__( 5045 self, 5046 *, 5047 type: Optional[Union[str, "ResourceIdentityType"]] = None, 5048 identity_ids: Optional[List[str]] = None, 5049 **kwargs 5050 ): 5051 super(VirtualMachineScaleSetIdentity, self).__init__(**kwargs) 5052 self.principal_id = None 5053 self.tenant_id = None 5054 self.type = type 5055 self.identity_ids = identity_ids 5056 5057 5058class VirtualMachineScaleSetInstanceView(msrest.serialization.Model): 5059 """The instance view of a virtual machine scale set. 5060 5061 Variables are only populated by the server, and will be ignored when sending a request. 5062 5063 :ivar virtual_machine: The instance view status summary for the virtual machine scale set. 5064 :vartype virtual_machine: 5065 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetInstanceViewStatusesSummary 5066 :ivar extensions: The extensions information. 5067 :vartype extensions: 5068 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetVMExtensionsSummary] 5069 :param statuses: The resource status information. 5070 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 5071 """ 5072 5073 _validation = { 5074 'virtual_machine': {'readonly': True}, 5075 'extensions': {'readonly': True}, 5076 } 5077 5078 _attribute_map = { 5079 'virtual_machine': {'key': 'virtualMachine', 'type': 'VirtualMachineScaleSetInstanceViewStatusesSummary'}, 5080 'extensions': {'key': 'extensions', 'type': '[VirtualMachineScaleSetVMExtensionsSummary]'}, 5081 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 5082 } 5083 5084 def __init__( 5085 self, 5086 *, 5087 statuses: Optional[List["InstanceViewStatus"]] = None, 5088 **kwargs 5089 ): 5090 super(VirtualMachineScaleSetInstanceView, self).__init__(**kwargs) 5091 self.virtual_machine = None 5092 self.extensions = None 5093 self.statuses = statuses 5094 5095 5096class VirtualMachineScaleSetInstanceViewStatusesSummary(msrest.serialization.Model): 5097 """Instance view statuses summary for virtual machines of a virtual machine scale set. 5098 5099 Variables are only populated by the server, and will be ignored when sending a request. 5100 5101 :ivar statuses_summary: The extensions information. 5102 :vartype statuses_summary: 5103 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineStatusCodeCount] 5104 """ 5105 5106 _validation = { 5107 'statuses_summary': {'readonly': True}, 5108 } 5109 5110 _attribute_map = { 5111 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 5112 } 5113 5114 def __init__( 5115 self, 5116 **kwargs 5117 ): 5118 super(VirtualMachineScaleSetInstanceViewStatusesSummary, self).__init__(**kwargs) 5119 self.statuses_summary = None 5120 5121 5122class VirtualMachineScaleSetIPConfiguration(SubResource): 5123 """Describes a virtual machine scale set network profile's IP configuration. 5124 5125 All required parameters must be populated in order to send to Azure. 5126 5127 :param id: Resource Id. 5128 :type id: str 5129 :param name: Required. The IP configuration name. 5130 :type name: str 5131 :param subnet: Specifies the identifier of the subnet. 5132 :type subnet: ~azure.mgmt.compute.v2018_04_01.models.ApiEntityReference 5133 :param primary: Specifies the primary network interface in case the virtual machine has more 5134 than 1 network interface. 5135 :type primary: bool 5136 :param public_ip_address_configuration: The publicIPAddressConfiguration. 5137 :type public_ip_address_configuration: 5138 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetPublicIPAddressConfiguration 5139 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 5140 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 5141 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 5142 :type private_ip_address_version: str or ~azure.mgmt.compute.v2018_04_01.models.IPVersion 5143 :param application_gateway_backend_address_pools: Specifies an array of references to backend 5144 address pools of application gateways. A scale set can reference backend address pools of 5145 multiple application gateways. Multiple scale sets cannot use the same application gateway. 5146 :type application_gateway_backend_address_pools: 5147 list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5148 :param load_balancer_backend_address_pools: Specifies an array of references to backend address 5149 pools of load balancers. A scale set can reference backend address pools of one public and one 5150 internal load balancer. Multiple scale sets cannot use the same load balancer. 5151 :type load_balancer_backend_address_pools: 5152 list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5153 :param load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools 5154 of the load balancers. A scale set can reference inbound nat pools of one public and one 5155 internal load balancer. Multiple scale sets cannot use the same load balancer. 5156 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5157 """ 5158 5159 _validation = { 5160 'name': {'required': True}, 5161 } 5162 5163 _attribute_map = { 5164 'id': {'key': 'id', 'type': 'str'}, 5165 'name': {'key': 'name', 'type': 'str'}, 5166 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 5167 'primary': {'key': 'properties.primary', 'type': 'bool'}, 5168 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetPublicIPAddressConfiguration'}, 5169 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 5170 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 5171 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 5172 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 5173 } 5174 5175 def __init__( 5176 self, 5177 *, 5178 name: str, 5179 id: Optional[str] = None, 5180 subnet: Optional["ApiEntityReference"] = None, 5181 primary: Optional[bool] = None, 5182 public_ip_address_configuration: Optional["VirtualMachineScaleSetPublicIPAddressConfiguration"] = None, 5183 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 5184 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 5185 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 5186 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 5187 **kwargs 5188 ): 5189 super(VirtualMachineScaleSetIPConfiguration, self).__init__(id=id, **kwargs) 5190 self.name = name 5191 self.subnet = subnet 5192 self.primary = primary 5193 self.public_ip_address_configuration = public_ip_address_configuration 5194 self.private_ip_address_version = private_ip_address_version 5195 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 5196 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 5197 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 5198 5199 5200class VirtualMachineScaleSetIpTag(msrest.serialization.Model): 5201 """Contains the IP tag associated with the public IP address. 5202 5203 :param ip_tag_type: IP tag type. Example: FirstPartyUsage. 5204 :type ip_tag_type: str 5205 :param tag: IP tag associated with the public IP. Example: SQL, Storage etc. 5206 :type tag: str 5207 """ 5208 5209 _attribute_map = { 5210 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 5211 'tag': {'key': 'tag', 'type': 'str'}, 5212 } 5213 5214 def __init__( 5215 self, 5216 *, 5217 ip_tag_type: Optional[str] = None, 5218 tag: Optional[str] = None, 5219 **kwargs 5220 ): 5221 super(VirtualMachineScaleSetIpTag, self).__init__(**kwargs) 5222 self.ip_tag_type = ip_tag_type 5223 self.tag = tag 5224 5225 5226class VirtualMachineScaleSetListOSUpgradeHistory(msrest.serialization.Model): 5227 """List of Virtual Machine Scale Set OS Upgrade History operation response. 5228 5229 All required parameters must be populated in order to send to Azure. 5230 5231 :param value: Required. The list of OS upgrades performed on the virtual machine scale set. 5232 :type value: list[~azure.mgmt.compute.v2018_04_01.models.UpgradeOperationHistoricalStatusInfo] 5233 :param next_link: The uri to fetch the next page of OS Upgrade History. Call ListNext() with 5234 this to fetch the next page of history of upgrades. 5235 :type next_link: str 5236 """ 5237 5238 _validation = { 5239 'value': {'required': True}, 5240 } 5241 5242 _attribute_map = { 5243 'value': {'key': 'value', 'type': '[UpgradeOperationHistoricalStatusInfo]'}, 5244 'next_link': {'key': 'nextLink', 'type': 'str'}, 5245 } 5246 5247 def __init__( 5248 self, 5249 *, 5250 value: List["UpgradeOperationHistoricalStatusInfo"], 5251 next_link: Optional[str] = None, 5252 **kwargs 5253 ): 5254 super(VirtualMachineScaleSetListOSUpgradeHistory, self).__init__(**kwargs) 5255 self.value = value 5256 self.next_link = next_link 5257 5258 5259class VirtualMachineScaleSetListResult(msrest.serialization.Model): 5260 """The List Virtual Machine operation response. 5261 5262 All required parameters must be populated in order to send to Azure. 5263 5264 :param value: Required. The list of virtual machine scale sets. 5265 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSet] 5266 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 5267 with this to fetch the next page of VMSS. 5268 :type next_link: str 5269 """ 5270 5271 _validation = { 5272 'value': {'required': True}, 5273 } 5274 5275 _attribute_map = { 5276 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 5277 'next_link': {'key': 'nextLink', 'type': 'str'}, 5278 } 5279 5280 def __init__( 5281 self, 5282 *, 5283 value: List["VirtualMachineScaleSet"], 5284 next_link: Optional[str] = None, 5285 **kwargs 5286 ): 5287 super(VirtualMachineScaleSetListResult, self).__init__(**kwargs) 5288 self.value = value 5289 self.next_link = next_link 5290 5291 5292class VirtualMachineScaleSetListSkusResult(msrest.serialization.Model): 5293 """The Virtual Machine Scale Set List Skus operation response. 5294 5295 All required parameters must be populated in order to send to Azure. 5296 5297 :param value: Required. The list of skus available for the virtual machine scale set. 5298 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetSku] 5299 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set Skus. Call 5300 ListNext() with this to fetch the next page of VMSS Skus. 5301 :type next_link: str 5302 """ 5303 5304 _validation = { 5305 'value': {'required': True}, 5306 } 5307 5308 _attribute_map = { 5309 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetSku]'}, 5310 'next_link': {'key': 'nextLink', 'type': 'str'}, 5311 } 5312 5313 def __init__( 5314 self, 5315 *, 5316 value: List["VirtualMachineScaleSetSku"], 5317 next_link: Optional[str] = None, 5318 **kwargs 5319 ): 5320 super(VirtualMachineScaleSetListSkusResult, self).__init__(**kwargs) 5321 self.value = value 5322 self.next_link = next_link 5323 5324 5325class VirtualMachineScaleSetListWithLinkResult(msrest.serialization.Model): 5326 """The List Virtual Machine operation response. 5327 5328 All required parameters must be populated in order to send to Azure. 5329 5330 :param value: Required. The list of virtual machine scale sets. 5331 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSet] 5332 :param next_link: The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() 5333 with this to fetch the next page of Virtual Machine Scale Sets. 5334 :type next_link: str 5335 """ 5336 5337 _validation = { 5338 'value': {'required': True}, 5339 } 5340 5341 _attribute_map = { 5342 'value': {'key': 'value', 'type': '[VirtualMachineScaleSet]'}, 5343 'next_link': {'key': 'nextLink', 'type': 'str'}, 5344 } 5345 5346 def __init__( 5347 self, 5348 *, 5349 value: List["VirtualMachineScaleSet"], 5350 next_link: Optional[str] = None, 5351 **kwargs 5352 ): 5353 super(VirtualMachineScaleSetListWithLinkResult, self).__init__(**kwargs) 5354 self.value = value 5355 self.next_link = next_link 5356 5357 5358class VirtualMachineScaleSetManagedDiskParameters(msrest.serialization.Model): 5359 """Describes the parameters of a ScaleSet managed disk. 5360 5361 :param storage_account_type: Specifies the storage account type for the managed disk. Managed 5362 OS disk storage account type can only be set when you create the scale set. Possible values 5363 are: Standard_LRS, Premium_LRS, and StandardSSD_LRS. Possible values include: "Standard_LRS", 5364 "Premium_LRS", "StandardSSD_LRS". 5365 :type storage_account_type: str or ~azure.mgmt.compute.v2018_04_01.models.StorageAccountTypes 5366 """ 5367 5368 _attribute_map = { 5369 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'}, 5370 } 5371 5372 def __init__( 5373 self, 5374 *, 5375 storage_account_type: Optional[Union[str, "StorageAccountTypes"]] = None, 5376 **kwargs 5377 ): 5378 super(VirtualMachineScaleSetManagedDiskParameters, self).__init__(**kwargs) 5379 self.storage_account_type = storage_account_type 5380 5381 5382class VirtualMachineScaleSetNetworkConfiguration(SubResource): 5383 """Describes a virtual machine scale set network profile's network configurations. 5384 5385 All required parameters must be populated in order to send to Azure. 5386 5387 :param id: Resource Id. 5388 :type id: str 5389 :param name: Required. The network configuration name. 5390 :type name: str 5391 :param primary: Specifies the primary network interface in case the virtual machine has more 5392 than 1 network interface. 5393 :type primary: bool 5394 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 5395 networking-enabled. 5396 :type enable_accelerated_networking: bool 5397 :param network_security_group: The network security group. 5398 :type network_security_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 5399 :param dns_settings: The dns settings to be applied on the network interfaces. 5400 :type dns_settings: 5401 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 5402 :param ip_configurations: Specifies the IP configurations of the network interface. 5403 :type ip_configurations: 5404 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetIPConfiguration] 5405 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 5406 :type enable_ip_forwarding: bool 5407 """ 5408 5409 _validation = { 5410 'name': {'required': True}, 5411 } 5412 5413 _attribute_map = { 5414 'id': {'key': 'id', 'type': 'str'}, 5415 'name': {'key': 'name', 'type': 'str'}, 5416 'primary': {'key': 'properties.primary', 'type': 'bool'}, 5417 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 5418 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 5419 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 5420 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetIPConfiguration]'}, 5421 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 5422 } 5423 5424 def __init__( 5425 self, 5426 *, 5427 name: str, 5428 id: Optional[str] = None, 5429 primary: Optional[bool] = None, 5430 enable_accelerated_networking: Optional[bool] = None, 5431 network_security_group: Optional["SubResource"] = None, 5432 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 5433 ip_configurations: Optional[List["VirtualMachineScaleSetIPConfiguration"]] = None, 5434 enable_ip_forwarding: Optional[bool] = None, 5435 **kwargs 5436 ): 5437 super(VirtualMachineScaleSetNetworkConfiguration, self).__init__(id=id, **kwargs) 5438 self.name = name 5439 self.primary = primary 5440 self.enable_accelerated_networking = enable_accelerated_networking 5441 self.network_security_group = network_security_group 5442 self.dns_settings = dns_settings 5443 self.ip_configurations = ip_configurations 5444 self.enable_ip_forwarding = enable_ip_forwarding 5445 5446 5447class VirtualMachineScaleSetNetworkConfigurationDnsSettings(msrest.serialization.Model): 5448 """Describes a virtual machines scale sets network configuration's DNS settings. 5449 5450 :param dns_servers: List of DNS servers IP addresses. 5451 :type dns_servers: list[str] 5452 """ 5453 5454 _attribute_map = { 5455 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 5456 } 5457 5458 def __init__( 5459 self, 5460 *, 5461 dns_servers: Optional[List[str]] = None, 5462 **kwargs 5463 ): 5464 super(VirtualMachineScaleSetNetworkConfigurationDnsSettings, self).__init__(**kwargs) 5465 self.dns_servers = dns_servers 5466 5467 5468class VirtualMachineScaleSetNetworkProfile(msrest.serialization.Model): 5469 """Describes a virtual machine scale set network profile. 5470 5471 :param health_probe: A reference to a load balancer probe used to determine the health of an 5472 instance in the virtual machine scale set. The reference will be in the form: 5473 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. 5474 :type health_probe: ~azure.mgmt.compute.v2018_04_01.models.ApiEntityReference 5475 :param network_interface_configurations: The list of network configurations. 5476 :type network_interface_configurations: 5477 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetNetworkConfiguration] 5478 """ 5479 5480 _attribute_map = { 5481 'health_probe': {'key': 'healthProbe', 'type': 'ApiEntityReference'}, 5482 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetNetworkConfiguration]'}, 5483 } 5484 5485 def __init__( 5486 self, 5487 *, 5488 health_probe: Optional["ApiEntityReference"] = None, 5489 network_interface_configurations: Optional[List["VirtualMachineScaleSetNetworkConfiguration"]] = None, 5490 **kwargs 5491 ): 5492 super(VirtualMachineScaleSetNetworkProfile, self).__init__(**kwargs) 5493 self.health_probe = health_probe 5494 self.network_interface_configurations = network_interface_configurations 5495 5496 5497class VirtualMachineScaleSetOSDisk(msrest.serialization.Model): 5498 """Describes a virtual machine scale set operating system disk. 5499 5500 All required parameters must be populated in order to send to Azure. 5501 5502 :param name: The disk name. 5503 :type name: str 5504 :param caching: Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values 5505 are: :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly** 5506 :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard 5507 storage. ReadOnly for Premium storage**. Possible values include: "None", "ReadOnly", 5508 "ReadWrite". 5509 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 5510 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 5511 disabled on the disk. 5512 :type write_accelerator_enabled: bool 5513 :param create_option: Required. Specifies how the virtual machines in the scale set should be 5514 created.:code:`<br>`:code:`<br>` The only allowed value is: **FromImage** \u2013 This value is 5515 used when you are using an image to create the virtual machine. If you are using a platform 5516 image, you also use the imageReference element described above. If you are using a marketplace 5517 image, you also use the plan element previously described. Possible values include: 5518 "FromImage", "Empty", "Attach". 5519 :type create_option: str or ~azure.mgmt.compute.v2018_04_01.models.DiskCreateOptionTypes 5520 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 5521 can be used to overwrite the size of the disk in a virtual machine image. 5522 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 5523 :type disk_size_gb: int 5524 :param os_type: This property allows you to specify the type of the OS that is included in the 5525 disk if creating a VM from user-image or a specialized VHD. :code:`<br>`:code:`<br>` Possible 5526 values are: :code:`<br>`:code:`<br>` **Windows** :code:`<br>`:code:`<br>` **Linux**. Possible 5527 values include: "Windows", "Linux". 5528 :type os_type: str or ~azure.mgmt.compute.v2018_04_01.models.OperatingSystemTypes 5529 :param image: Specifies information about the unmanaged user image to base the scale set on. 5530 :type image: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 5531 :param vhd_containers: Specifies the container urls that are used to store operating system 5532 disks for the scale set. 5533 :type vhd_containers: list[str] 5534 :param managed_disk: The managed disk parameters. 5535 :type managed_disk: 5536 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetManagedDiskParameters 5537 """ 5538 5539 _validation = { 5540 'create_option': {'required': True}, 5541 } 5542 5543 _attribute_map = { 5544 'name': {'key': 'name', 'type': 'str'}, 5545 'caching': {'key': 'caching', 'type': 'str'}, 5546 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 5547 'create_option': {'key': 'createOption', 'type': 'str'}, 5548 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 5549 'os_type': {'key': 'osType', 'type': 'str'}, 5550 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 5551 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 5552 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 5553 } 5554 5555 def __init__( 5556 self, 5557 *, 5558 create_option: Union[str, "DiskCreateOptionTypes"], 5559 name: Optional[str] = None, 5560 caching: Optional[Union[str, "CachingTypes"]] = None, 5561 write_accelerator_enabled: Optional[bool] = None, 5562 disk_size_gb: Optional[int] = None, 5563 os_type: Optional[Union[str, "OperatingSystemTypes"]] = None, 5564 image: Optional["VirtualHardDisk"] = None, 5565 vhd_containers: Optional[List[str]] = None, 5566 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 5567 **kwargs 5568 ): 5569 super(VirtualMachineScaleSetOSDisk, self).__init__(**kwargs) 5570 self.name = name 5571 self.caching = caching 5572 self.write_accelerator_enabled = write_accelerator_enabled 5573 self.create_option = create_option 5574 self.disk_size_gb = disk_size_gb 5575 self.os_type = os_type 5576 self.image = image 5577 self.vhd_containers = vhd_containers 5578 self.managed_disk = managed_disk 5579 5580 5581class VirtualMachineScaleSetOSProfile(msrest.serialization.Model): 5582 """Describes a virtual machine scale set OS profile. 5583 5584 :param computer_name_prefix: Specifies the computer name prefix for all of the virtual machines 5585 in the scale set. Computer name prefixes must be 1 to 15 characters long. 5586 :type computer_name_prefix: str 5587 :param admin_username: Specifies the name of the administrator account. 5588 :code:`<br>`:code:`<br>` **Windows-only restriction:** Cannot end in "." 5589 :code:`<br>`:code:`<br>` **Disallowed values:** "administrator", "admin", "user", "user1", 5590 "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", 5591 "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", 5592 "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 5593 :code:`<br>`:code:`<br>` **Minimum-length (Linux):** 1 character :code:`<br>`:code:`<br>` 5594 **Max-length (Linux):** 64 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 20 5595 characters :code:`<br>`:code:`<br>`:code:`<li>` For root access to the Linux VM, see `Using 5596 root privileges on Linux virtual machines in Azure 5597 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_\ 5598 :code:`<br>`:code:`<li>` For a list of built-in system users on Linux that should not be used 5599 in this field, see `Selecting User Names for Linux on Azure 5600 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 5601 :type admin_username: str 5602 :param admin_password: Specifies the password of the administrator account. 5603 :code:`<br>`:code:`<br>` **Minimum-length (Windows):** 8 characters :code:`<br>`:code:`<br>` 5604 **Minimum-length (Linux):** 6 characters :code:`<br>`:code:`<br>` **Max-length (Windows):** 123 5605 characters :code:`<br>`:code:`<br>` **Max-length (Linux):** 72 characters 5606 :code:`<br>`:code:`<br>` **Complexity requirements:** 3 out of 4 conditions below need to be 5607 fulfilled :code:`<br>` Has lower characters :code:`<br>`Has upper characters :code:`<br>` Has a 5608 digit :code:`<br>` Has a special character (Regex match [\W_]) :code:`<br>`:code:`<br>` 5609 **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", 5610 "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" :code:`<br>`:code:`<br>` For 5611 resetting the password, see `How to reset the Remote Desktop service or its login password in a 5612 Windows VM 5613 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 5614 :code:`<br>`:code:`<br>` For resetting root password, see `Manage users, SSH, and check or 5615 repair disks on Azure Linux VMs using the VMAccess Extension 5616 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password>`_. 5617 :type admin_password: str 5618 :param custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded 5619 string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum 5620 length of the binary array is 65535 bytes. :code:`<br>`:code:`<br>` For using cloud-init for 5621 your VM, see `Using cloud-init to customize a Linux VM during creation 5622 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 5623 :type custom_data: str 5624 :param windows_configuration: Specifies Windows operating system settings on the virtual 5625 machine. 5626 :type windows_configuration: ~azure.mgmt.compute.v2018_04_01.models.WindowsConfiguration 5627 :param linux_configuration: Specifies the Linux operating system settings on the virtual 5628 machine. :code:`<br>`:code:`<br>`For a list of supported Linux distributions, see `Linux on 5629 Azure-Endorsed Distributions 5630 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_ 5631 :code:`<br>`:code:`<br>` For running non-endorsed distributions, see `Information for 5632 Non-Endorsed Distributions 5633 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json>`_. 5634 :type linux_configuration: ~azure.mgmt.compute.v2018_04_01.models.LinuxConfiguration 5635 :param secrets: Specifies set of certificates that should be installed onto the virtual 5636 machines in the scale set. 5637 :type secrets: list[~azure.mgmt.compute.v2018_04_01.models.VaultSecretGroup] 5638 """ 5639 5640 _attribute_map = { 5641 'computer_name_prefix': {'key': 'computerNamePrefix', 'type': 'str'}, 5642 'admin_username': {'key': 'adminUsername', 'type': 'str'}, 5643 'admin_password': {'key': 'adminPassword', 'type': 'str'}, 5644 'custom_data': {'key': 'customData', 'type': 'str'}, 5645 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 5646 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 5647 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 5648 } 5649 5650 def __init__( 5651 self, 5652 *, 5653 computer_name_prefix: Optional[str] = None, 5654 admin_username: Optional[str] = None, 5655 admin_password: Optional[str] = None, 5656 custom_data: Optional[str] = None, 5657 windows_configuration: Optional["WindowsConfiguration"] = None, 5658 linux_configuration: Optional["LinuxConfiguration"] = None, 5659 secrets: Optional[List["VaultSecretGroup"]] = None, 5660 **kwargs 5661 ): 5662 super(VirtualMachineScaleSetOSProfile, self).__init__(**kwargs) 5663 self.computer_name_prefix = computer_name_prefix 5664 self.admin_username = admin_username 5665 self.admin_password = admin_password 5666 self.custom_data = custom_data 5667 self.windows_configuration = windows_configuration 5668 self.linux_configuration = linux_configuration 5669 self.secrets = secrets 5670 5671 5672class VirtualMachineScaleSetPublicIPAddressConfiguration(msrest.serialization.Model): 5673 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 5674 5675 All required parameters must be populated in order to send to Azure. 5676 5677 :param name: Required. The publicIP address configuration name. 5678 :type name: str 5679 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 5680 :type idle_timeout_in_minutes: int 5681 :param dns_settings: The dns settings to be applied on the publicIP addresses . 5682 :type dns_settings: 5683 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 5684 :param ip_tags: The list of IP tags associated with the public IP address. 5685 :type ip_tags: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetIpTag] 5686 """ 5687 5688 _validation = { 5689 'name': {'required': True}, 5690 } 5691 5692 _attribute_map = { 5693 'name': {'key': 'name', 'type': 'str'}, 5694 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 5695 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 5696 'ip_tags': {'key': 'properties.ipTags', 'type': '[VirtualMachineScaleSetIpTag]'}, 5697 } 5698 5699 def __init__( 5700 self, 5701 *, 5702 name: str, 5703 idle_timeout_in_minutes: Optional[int] = None, 5704 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 5705 ip_tags: Optional[List["VirtualMachineScaleSetIpTag"]] = None, 5706 **kwargs 5707 ): 5708 super(VirtualMachineScaleSetPublicIPAddressConfiguration, self).__init__(**kwargs) 5709 self.name = name 5710 self.idle_timeout_in_minutes = idle_timeout_in_minutes 5711 self.dns_settings = dns_settings 5712 self.ip_tags = ip_tags 5713 5714 5715class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings(msrest.serialization.Model): 5716 """Describes a virtual machines scale sets network configuration's DNS settings. 5717 5718 All required parameters must be populated in order to send to Azure. 5719 5720 :param domain_name_label: Required. The Domain name label.The concatenation of the domain name 5721 label and vm index will be the domain name labels of the PublicIPAddress resources that will be 5722 created. 5723 :type domain_name_label: str 5724 """ 5725 5726 _validation = { 5727 'domain_name_label': {'required': True}, 5728 } 5729 5730 _attribute_map = { 5731 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 5732 } 5733 5734 def __init__( 5735 self, 5736 *, 5737 domain_name_label: str, 5738 **kwargs 5739 ): 5740 super(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, self).__init__(**kwargs) 5741 self.domain_name_label = domain_name_label 5742 5743 5744class VirtualMachineScaleSetSku(msrest.serialization.Model): 5745 """Describes an available virtual machine scale set sku. 5746 5747 Variables are only populated by the server, and will be ignored when sending a request. 5748 5749 :ivar resource_type: The type of resource the sku applies to. 5750 :vartype resource_type: str 5751 :ivar sku: The Sku. 5752 :vartype sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 5753 :ivar capacity: Specifies the number of virtual machines in the scale set. 5754 :vartype capacity: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetSkuCapacity 5755 """ 5756 5757 _validation = { 5758 'resource_type': {'readonly': True}, 5759 'sku': {'readonly': True}, 5760 'capacity': {'readonly': True}, 5761 } 5762 5763 _attribute_map = { 5764 'resource_type': {'key': 'resourceType', 'type': 'str'}, 5765 'sku': {'key': 'sku', 'type': 'Sku'}, 5766 'capacity': {'key': 'capacity', 'type': 'VirtualMachineScaleSetSkuCapacity'}, 5767 } 5768 5769 def __init__( 5770 self, 5771 **kwargs 5772 ): 5773 super(VirtualMachineScaleSetSku, self).__init__(**kwargs) 5774 self.resource_type = None 5775 self.sku = None 5776 self.capacity = None 5777 5778 5779class VirtualMachineScaleSetSkuCapacity(msrest.serialization.Model): 5780 """Describes scaling information of a sku. 5781 5782 Variables are only populated by the server, and will be ignored when sending a request. 5783 5784 :ivar minimum: The minimum capacity. 5785 :vartype minimum: long 5786 :ivar maximum: The maximum capacity that can be set. 5787 :vartype maximum: long 5788 :ivar default_capacity: The default capacity. 5789 :vartype default_capacity: long 5790 :ivar scale_type: The scale type applicable to the sku. Possible values include: "Automatic", 5791 "None". 5792 :vartype scale_type: str or 5793 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetSkuScaleType 5794 """ 5795 5796 _validation = { 5797 'minimum': {'readonly': True}, 5798 'maximum': {'readonly': True}, 5799 'default_capacity': {'readonly': True}, 5800 'scale_type': {'readonly': True}, 5801 } 5802 5803 _attribute_map = { 5804 'minimum': {'key': 'minimum', 'type': 'long'}, 5805 'maximum': {'key': 'maximum', 'type': 'long'}, 5806 'default_capacity': {'key': 'defaultCapacity', 'type': 'long'}, 5807 'scale_type': {'key': 'scaleType', 'type': 'str'}, 5808 } 5809 5810 def __init__( 5811 self, 5812 **kwargs 5813 ): 5814 super(VirtualMachineScaleSetSkuCapacity, self).__init__(**kwargs) 5815 self.minimum = None 5816 self.maximum = None 5817 self.default_capacity = None 5818 self.scale_type = None 5819 5820 5821class VirtualMachineScaleSetStorageProfile(msrest.serialization.Model): 5822 """Describes a virtual machine scale set storage profile. 5823 5824 :param image_reference: Specifies information about the image to use. You can specify 5825 information about platform images, marketplace images, or virtual machine images. This element 5826 is required when you want to use a platform image, marketplace image, or virtual machine image, 5827 but is not used in other creation operations. 5828 :type image_reference: ~azure.mgmt.compute.v2018_04_01.models.ImageReference 5829 :param os_disk: Specifies information about the operating system disk used by the virtual 5830 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 5831 `About disks and VHDs for Azure virtual machines 5832 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 5833 :type os_disk: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetOSDisk 5834 :param data_disks: Specifies the parameters that are used to add data disks to the virtual 5835 machines in the scale set. :code:`<br>`:code:`<br>` For more information about disks, see 5836 `About disks and VHDs for Azure virtual machines 5837 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 5838 :type data_disks: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetDataDisk] 5839 """ 5840 5841 _attribute_map = { 5842 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 5843 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetOSDisk'}, 5844 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 5845 } 5846 5847 def __init__( 5848 self, 5849 *, 5850 image_reference: Optional["ImageReference"] = None, 5851 os_disk: Optional["VirtualMachineScaleSetOSDisk"] = None, 5852 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 5853 **kwargs 5854 ): 5855 super(VirtualMachineScaleSetStorageProfile, self).__init__(**kwargs) 5856 self.image_reference = image_reference 5857 self.os_disk = os_disk 5858 self.data_disks = data_disks 5859 5860 5861class VirtualMachineScaleSetUpdate(UpdateResource): 5862 """Describes a Virtual Machine Scale Set. 5863 5864 :param tags: A set of tags. Resource tags. 5865 :type tags: dict[str, str] 5866 :param sku: The virtual machine scale set sku. 5867 :type sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 5868 :param plan: The purchase plan when deploying a virtual machine scale set from VM Marketplace 5869 images. 5870 :type plan: ~azure.mgmt.compute.v2018_04_01.models.Plan 5871 :param identity: The identity of the virtual machine scale set, if configured. 5872 :type identity: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetIdentity 5873 :param upgrade_policy: The upgrade policy. 5874 :type upgrade_policy: ~azure.mgmt.compute.v2018_04_01.models.UpgradePolicy 5875 :param virtual_machine_profile: The virtual machine profile. 5876 :type virtual_machine_profile: 5877 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateVMProfile 5878 :param overprovision: Specifies whether the Virtual Machine Scale Set should be 5879 overprovisioned. 5880 :type overprovision: bool 5881 :param single_placement_group: When true this limits the scale set to a single placement group, 5882 of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to 5883 false. However, if singlePlacementGroup is false, it may not be modified to true. 5884 :type single_placement_group: bool 5885 :param proximity_placement_group: Specifies information about the proximity placement group 5886 that the virtual machine scale set should be assigned to. :code:`<br>`:code:`<br>`Minimum 5887 api-version: 2018-04-01. 5888 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 5889 """ 5890 5891 _attribute_map = { 5892 'tags': {'key': 'tags', 'type': '{str}'}, 5893 'sku': {'key': 'sku', 'type': 'Sku'}, 5894 'plan': {'key': 'plan', 'type': 'Plan'}, 5895 'identity': {'key': 'identity', 'type': 'VirtualMachineScaleSetIdentity'}, 5896 'upgrade_policy': {'key': 'properties.upgradePolicy', 'type': 'UpgradePolicy'}, 5897 'virtual_machine_profile': {'key': 'properties.virtualMachineProfile', 'type': 'VirtualMachineScaleSetUpdateVMProfile'}, 5898 'overprovision': {'key': 'properties.overprovision', 'type': 'bool'}, 5899 'single_placement_group': {'key': 'properties.singlePlacementGroup', 'type': 'bool'}, 5900 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 5901 } 5902 5903 def __init__( 5904 self, 5905 *, 5906 tags: Optional[Dict[str, str]] = None, 5907 sku: Optional["Sku"] = None, 5908 plan: Optional["Plan"] = None, 5909 identity: Optional["VirtualMachineScaleSetIdentity"] = None, 5910 upgrade_policy: Optional["UpgradePolicy"] = None, 5911 virtual_machine_profile: Optional["VirtualMachineScaleSetUpdateVMProfile"] = None, 5912 overprovision: Optional[bool] = None, 5913 single_placement_group: Optional[bool] = None, 5914 proximity_placement_group: Optional["SubResource"] = None, 5915 **kwargs 5916 ): 5917 super(VirtualMachineScaleSetUpdate, self).__init__(tags=tags, **kwargs) 5918 self.sku = sku 5919 self.plan = plan 5920 self.identity = identity 5921 self.upgrade_policy = upgrade_policy 5922 self.virtual_machine_profile = virtual_machine_profile 5923 self.overprovision = overprovision 5924 self.single_placement_group = single_placement_group 5925 self.proximity_placement_group = proximity_placement_group 5926 5927 5928class VirtualMachineScaleSetUpdateIPConfiguration(SubResource): 5929 """Describes a virtual machine scale set network profile's IP configuration. 5930 5931 :param id: Resource Id. 5932 :type id: str 5933 :param name: The IP configuration name. 5934 :type name: str 5935 :param subnet: The subnet. 5936 :type subnet: ~azure.mgmt.compute.v2018_04_01.models.ApiEntityReference 5937 :param primary: Specifies the primary IP Configuration in case the network interface has more 5938 than one IP Configuration. 5939 :type primary: bool 5940 :param public_ip_address_configuration: The publicIPAddressConfiguration. 5941 :type public_ip_address_configuration: 5942 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdatePublicIPAddressConfiguration 5943 :param private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents 5944 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 5945 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 5946 :type private_ip_address_version: str or ~azure.mgmt.compute.v2018_04_01.models.IPVersion 5947 :param application_gateway_backend_address_pools: The application gateway backend address 5948 pools. 5949 :type application_gateway_backend_address_pools: 5950 list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5951 :param load_balancer_backend_address_pools: The load balancer backend address pools. 5952 :type load_balancer_backend_address_pools: 5953 list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5954 :param load_balancer_inbound_nat_pools: The load balancer inbound nat pools. 5955 :type load_balancer_inbound_nat_pools: list[~azure.mgmt.compute.v2018_04_01.models.SubResource] 5956 """ 5957 5958 _attribute_map = { 5959 'id': {'key': 'id', 'type': 'str'}, 5960 'name': {'key': 'name', 'type': 'str'}, 5961 'subnet': {'key': 'properties.subnet', 'type': 'ApiEntityReference'}, 5962 'primary': {'key': 'properties.primary', 'type': 'bool'}, 5963 'public_ip_address_configuration': {'key': 'properties.publicIPAddressConfiguration', 'type': 'VirtualMachineScaleSetUpdatePublicIPAddressConfiguration'}, 5964 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 5965 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[SubResource]'}, 5966 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[SubResource]'}, 5967 'load_balancer_inbound_nat_pools': {'key': 'properties.loadBalancerInboundNatPools', 'type': '[SubResource]'}, 5968 } 5969 5970 def __init__( 5971 self, 5972 *, 5973 id: Optional[str] = None, 5974 name: Optional[str] = None, 5975 subnet: Optional["ApiEntityReference"] = None, 5976 primary: Optional[bool] = None, 5977 public_ip_address_configuration: Optional["VirtualMachineScaleSetUpdatePublicIPAddressConfiguration"] = None, 5978 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 5979 application_gateway_backend_address_pools: Optional[List["SubResource"]] = None, 5980 load_balancer_backend_address_pools: Optional[List["SubResource"]] = None, 5981 load_balancer_inbound_nat_pools: Optional[List["SubResource"]] = None, 5982 **kwargs 5983 ): 5984 super(VirtualMachineScaleSetUpdateIPConfiguration, self).__init__(id=id, **kwargs) 5985 self.name = name 5986 self.subnet = subnet 5987 self.primary = primary 5988 self.public_ip_address_configuration = public_ip_address_configuration 5989 self.private_ip_address_version = private_ip_address_version 5990 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 5991 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 5992 self.load_balancer_inbound_nat_pools = load_balancer_inbound_nat_pools 5993 5994 5995class VirtualMachineScaleSetUpdateNetworkConfiguration(SubResource): 5996 """Describes a virtual machine scale set network profile's network configurations. 5997 5998 :param id: Resource Id. 5999 :type id: str 6000 :param name: The network configuration name. 6001 :type name: str 6002 :param primary: Whether this is a primary NIC on a virtual machine. 6003 :type primary: bool 6004 :param enable_accelerated_networking: Specifies whether the network interface is accelerated 6005 networking-enabled. 6006 :type enable_accelerated_networking: bool 6007 :param network_security_group: The network security group. 6008 :type network_security_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 6009 :param dns_settings: The dns settings to be applied on the network interfaces. 6010 :type dns_settings: 6011 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings 6012 :param ip_configurations: The virtual machine scale set IP Configuration. 6013 :type ip_configurations: 6014 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateIPConfiguration] 6015 :param enable_ip_forwarding: Whether IP forwarding enabled on this NIC. 6016 :type enable_ip_forwarding: bool 6017 """ 6018 6019 _attribute_map = { 6020 'id': {'key': 'id', 'type': 'str'}, 6021 'name': {'key': 'name', 'type': 'str'}, 6022 'primary': {'key': 'properties.primary', 'type': 'bool'}, 6023 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 6024 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'SubResource'}, 6025 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetNetworkConfigurationDnsSettings'}, 6026 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualMachineScaleSetUpdateIPConfiguration]'}, 6027 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 6028 } 6029 6030 def __init__( 6031 self, 6032 *, 6033 id: Optional[str] = None, 6034 name: Optional[str] = None, 6035 primary: Optional[bool] = None, 6036 enable_accelerated_networking: Optional[bool] = None, 6037 network_security_group: Optional["SubResource"] = None, 6038 dns_settings: Optional["VirtualMachineScaleSetNetworkConfigurationDnsSettings"] = None, 6039 ip_configurations: Optional[List["VirtualMachineScaleSetUpdateIPConfiguration"]] = None, 6040 enable_ip_forwarding: Optional[bool] = None, 6041 **kwargs 6042 ): 6043 super(VirtualMachineScaleSetUpdateNetworkConfiguration, self).__init__(id=id, **kwargs) 6044 self.name = name 6045 self.primary = primary 6046 self.enable_accelerated_networking = enable_accelerated_networking 6047 self.network_security_group = network_security_group 6048 self.dns_settings = dns_settings 6049 self.ip_configurations = ip_configurations 6050 self.enable_ip_forwarding = enable_ip_forwarding 6051 6052 6053class VirtualMachineScaleSetUpdateNetworkProfile(msrest.serialization.Model): 6054 """Describes a virtual machine scale set network profile. 6055 6056 :param network_interface_configurations: The list of network configurations. 6057 :type network_interface_configurations: 6058 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateNetworkConfiguration] 6059 """ 6060 6061 _attribute_map = { 6062 'network_interface_configurations': {'key': 'networkInterfaceConfigurations', 'type': '[VirtualMachineScaleSetUpdateNetworkConfiguration]'}, 6063 } 6064 6065 def __init__( 6066 self, 6067 *, 6068 network_interface_configurations: Optional[List["VirtualMachineScaleSetUpdateNetworkConfiguration"]] = None, 6069 **kwargs 6070 ): 6071 super(VirtualMachineScaleSetUpdateNetworkProfile, self).__init__(**kwargs) 6072 self.network_interface_configurations = network_interface_configurations 6073 6074 6075class VirtualMachineScaleSetUpdateOSDisk(msrest.serialization.Model): 6076 """Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk. 6077 6078 :param caching: The caching type. Possible values include: "None", "ReadOnly", "ReadWrite". 6079 :type caching: str or ~azure.mgmt.compute.v2018_04_01.models.CachingTypes 6080 :param write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or 6081 disabled on the disk. 6082 :type write_accelerator_enabled: bool 6083 :param disk_size_gb: Specifies the size of the operating system disk in gigabytes. This element 6084 can be used to overwrite the size of the disk in a virtual machine image. 6085 :code:`<br>`:code:`<br>` This value cannot be larger than 1023 GB. 6086 :type disk_size_gb: int 6087 :param image: The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before 6088 using it to attach to the Virtual Machine. If SourceImage is provided, the destination 6089 VirtualHardDisk should not exist. 6090 :type image: ~azure.mgmt.compute.v2018_04_01.models.VirtualHardDisk 6091 :param vhd_containers: The list of virtual hard disk container uris. 6092 :type vhd_containers: list[str] 6093 :param managed_disk: The managed disk parameters. 6094 :type managed_disk: 6095 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetManagedDiskParameters 6096 """ 6097 6098 _attribute_map = { 6099 'caching': {'key': 'caching', 'type': 'str'}, 6100 'write_accelerator_enabled': {'key': 'writeAcceleratorEnabled', 'type': 'bool'}, 6101 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, 6102 'image': {'key': 'image', 'type': 'VirtualHardDisk'}, 6103 'vhd_containers': {'key': 'vhdContainers', 'type': '[str]'}, 6104 'managed_disk': {'key': 'managedDisk', 'type': 'VirtualMachineScaleSetManagedDiskParameters'}, 6105 } 6106 6107 def __init__( 6108 self, 6109 *, 6110 caching: Optional[Union[str, "CachingTypes"]] = None, 6111 write_accelerator_enabled: Optional[bool] = None, 6112 disk_size_gb: Optional[int] = None, 6113 image: Optional["VirtualHardDisk"] = None, 6114 vhd_containers: Optional[List[str]] = None, 6115 managed_disk: Optional["VirtualMachineScaleSetManagedDiskParameters"] = None, 6116 **kwargs 6117 ): 6118 super(VirtualMachineScaleSetUpdateOSDisk, self).__init__(**kwargs) 6119 self.caching = caching 6120 self.write_accelerator_enabled = write_accelerator_enabled 6121 self.disk_size_gb = disk_size_gb 6122 self.image = image 6123 self.vhd_containers = vhd_containers 6124 self.managed_disk = managed_disk 6125 6126 6127class VirtualMachineScaleSetUpdateOSProfile(msrest.serialization.Model): 6128 """Describes a virtual machine scale set OS profile. 6129 6130 :param custom_data: A base-64 encoded string of custom data. 6131 :type custom_data: str 6132 :param windows_configuration: The Windows Configuration of the OS profile. 6133 :type windows_configuration: ~azure.mgmt.compute.v2018_04_01.models.WindowsConfiguration 6134 :param linux_configuration: The Linux Configuration of the OS profile. 6135 :type linux_configuration: ~azure.mgmt.compute.v2018_04_01.models.LinuxConfiguration 6136 :param secrets: The List of certificates for addition to the VM. 6137 :type secrets: list[~azure.mgmt.compute.v2018_04_01.models.VaultSecretGroup] 6138 """ 6139 6140 _attribute_map = { 6141 'custom_data': {'key': 'customData', 'type': 'str'}, 6142 'windows_configuration': {'key': 'windowsConfiguration', 'type': 'WindowsConfiguration'}, 6143 'linux_configuration': {'key': 'linuxConfiguration', 'type': 'LinuxConfiguration'}, 6144 'secrets': {'key': 'secrets', 'type': '[VaultSecretGroup]'}, 6145 } 6146 6147 def __init__( 6148 self, 6149 *, 6150 custom_data: Optional[str] = None, 6151 windows_configuration: Optional["WindowsConfiguration"] = None, 6152 linux_configuration: Optional["LinuxConfiguration"] = None, 6153 secrets: Optional[List["VaultSecretGroup"]] = None, 6154 **kwargs 6155 ): 6156 super(VirtualMachineScaleSetUpdateOSProfile, self).__init__(**kwargs) 6157 self.custom_data = custom_data 6158 self.windows_configuration = windows_configuration 6159 self.linux_configuration = linux_configuration 6160 self.secrets = secrets 6161 6162 6163class VirtualMachineScaleSetUpdatePublicIPAddressConfiguration(msrest.serialization.Model): 6164 """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. 6165 6166 :param name: The publicIP address configuration name. 6167 :type name: str 6168 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 6169 :type idle_timeout_in_minutes: int 6170 :param dns_settings: The dns settings to be applied on the publicIP addresses . 6171 :type dns_settings: 6172 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings 6173 """ 6174 6175 _attribute_map = { 6176 'name': {'key': 'name', 'type': 'str'}, 6177 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 6178 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings'}, 6179 } 6180 6181 def __init__( 6182 self, 6183 *, 6184 name: Optional[str] = None, 6185 idle_timeout_in_minutes: Optional[int] = None, 6186 dns_settings: Optional["VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings"] = None, 6187 **kwargs 6188 ): 6189 super(VirtualMachineScaleSetUpdatePublicIPAddressConfiguration, self).__init__(**kwargs) 6190 self.name = name 6191 self.idle_timeout_in_minutes = idle_timeout_in_minutes 6192 self.dns_settings = dns_settings 6193 6194 6195class VirtualMachineScaleSetUpdateStorageProfile(msrest.serialization.Model): 6196 """Describes a virtual machine scale set storage profile. 6197 6198 :param image_reference: The image reference. 6199 :type image_reference: ~azure.mgmt.compute.v2018_04_01.models.ImageReference 6200 :param os_disk: The OS disk. 6201 :type os_disk: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateOSDisk 6202 :param data_disks: The data disks. 6203 :type data_disks: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetDataDisk] 6204 """ 6205 6206 _attribute_map = { 6207 'image_reference': {'key': 'imageReference', 'type': 'ImageReference'}, 6208 'os_disk': {'key': 'osDisk', 'type': 'VirtualMachineScaleSetUpdateOSDisk'}, 6209 'data_disks': {'key': 'dataDisks', 'type': '[VirtualMachineScaleSetDataDisk]'}, 6210 } 6211 6212 def __init__( 6213 self, 6214 *, 6215 image_reference: Optional["ImageReference"] = None, 6216 os_disk: Optional["VirtualMachineScaleSetUpdateOSDisk"] = None, 6217 data_disks: Optional[List["VirtualMachineScaleSetDataDisk"]] = None, 6218 **kwargs 6219 ): 6220 super(VirtualMachineScaleSetUpdateStorageProfile, self).__init__(**kwargs) 6221 self.image_reference = image_reference 6222 self.os_disk = os_disk 6223 self.data_disks = data_disks 6224 6225 6226class VirtualMachineScaleSetUpdateVMProfile(msrest.serialization.Model): 6227 """Describes a virtual machine scale set virtual machine profile. 6228 6229 :param os_profile: The virtual machine scale set OS profile. 6230 :type os_profile: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateOSProfile 6231 :param storage_profile: The virtual machine scale set storage profile. 6232 :type storage_profile: 6233 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateStorageProfile 6234 :param network_profile: The virtual machine scale set network profile. 6235 :type network_profile: 6236 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetUpdateNetworkProfile 6237 :param diagnostics_profile: The virtual machine scale set diagnostics profile. 6238 :type diagnostics_profile: ~azure.mgmt.compute.v2018_04_01.models.DiagnosticsProfile 6239 :param extension_profile: The virtual machine scale set extension profile. 6240 :type extension_profile: 6241 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetExtensionProfile 6242 :param license_type: The license type, which is for bring your own license scenario. 6243 :type license_type: str 6244 """ 6245 6246 _attribute_map = { 6247 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetUpdateOSProfile'}, 6248 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetUpdateStorageProfile'}, 6249 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetUpdateNetworkProfile'}, 6250 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6251 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 6252 'license_type': {'key': 'licenseType', 'type': 'str'}, 6253 } 6254 6255 def __init__( 6256 self, 6257 *, 6258 os_profile: Optional["VirtualMachineScaleSetUpdateOSProfile"] = None, 6259 storage_profile: Optional["VirtualMachineScaleSetUpdateStorageProfile"] = None, 6260 network_profile: Optional["VirtualMachineScaleSetUpdateNetworkProfile"] = None, 6261 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6262 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 6263 license_type: Optional[str] = None, 6264 **kwargs 6265 ): 6266 super(VirtualMachineScaleSetUpdateVMProfile, self).__init__(**kwargs) 6267 self.os_profile = os_profile 6268 self.storage_profile = storage_profile 6269 self.network_profile = network_profile 6270 self.diagnostics_profile = diagnostics_profile 6271 self.extension_profile = extension_profile 6272 self.license_type = license_type 6273 6274 6275class VirtualMachineScaleSetVM(Resource): 6276 """Describes a virtual machine scale set virtual machine. 6277 6278 Variables are only populated by the server, and will be ignored when sending a request. 6279 6280 All required parameters must be populated in order to send to Azure. 6281 6282 :ivar id: Resource Id. 6283 :vartype id: str 6284 :ivar name: Resource name. 6285 :vartype name: str 6286 :ivar type: Resource type. 6287 :vartype type: str 6288 :param location: Required. Resource location. 6289 :type location: str 6290 :param tags: A set of tags. Resource tags. 6291 :type tags: dict[str, str] 6292 :ivar instance_id: The virtual machine instance ID. 6293 :vartype instance_id: str 6294 :ivar sku: The virtual machine SKU. 6295 :vartype sku: ~azure.mgmt.compute.v2018_04_01.models.Sku 6296 :param plan: Specifies information about the marketplace image used to create the virtual 6297 machine. This element is only used for marketplace images. Before you can use a marketplace 6298 image from an API, you must enable the image for programmatic use. In the Azure portal, find 6299 the marketplace image that you want to use and then click **Want to deploy programmatically, 6300 Get Started ->**. Enter any required information and then click **Save**. 6301 :type plan: ~azure.mgmt.compute.v2018_04_01.models.Plan 6302 :ivar resources: The virtual machine child extension resources. 6303 :vartype resources: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtension] 6304 :ivar zones: The virtual machine zones. 6305 :vartype zones: list[str] 6306 :ivar latest_model_applied: Specifies whether the latest model has been applied to the virtual 6307 machine. 6308 :vartype latest_model_applied: bool 6309 :ivar vm_id: Azure VM unique ID. 6310 :vartype vm_id: str 6311 :ivar instance_view: The virtual machine instance view. 6312 :vartype instance_view: 6313 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetVMInstanceView 6314 :param hardware_profile: Specifies the hardware settings for the virtual machine. 6315 :type hardware_profile: ~azure.mgmt.compute.v2018_04_01.models.HardwareProfile 6316 :param storage_profile: Specifies the storage settings for the virtual machine disks. 6317 :type storage_profile: ~azure.mgmt.compute.v2018_04_01.models.StorageProfile 6318 :param os_profile: Specifies the operating system settings for the virtual machine. 6319 :type os_profile: ~azure.mgmt.compute.v2018_04_01.models.OSProfile 6320 :param network_profile: Specifies the network interfaces of the virtual machine. 6321 :type network_profile: ~azure.mgmt.compute.v2018_04_01.models.NetworkProfile 6322 :param diagnostics_profile: Specifies the boot diagnostic settings state. 6323 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 6324 :type diagnostics_profile: ~azure.mgmt.compute.v2018_04_01.models.DiagnosticsProfile 6325 :param availability_set: Specifies information about the availability set that the virtual 6326 machine should be assigned to. Virtual machines specified in the same availability set are 6327 allocated to different nodes to maximize availability. For more information about availability 6328 sets, see `Manage the availability of virtual machines 6329 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6330 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 6331 maintenance for virtual machines in Azure 6332 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6333 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 6334 time. An existing VM cannot be added to an availability set. 6335 :type availability_set: ~azure.mgmt.compute.v2018_04_01.models.SubResource 6336 :ivar provisioning_state: The provisioning state, which only appears in the response. 6337 :vartype provisioning_state: str 6338 :param license_type: Specifies that the image or disk that is being used was licensed 6339 on-premises. This element is only used for images that contain the Windows Server operating 6340 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 6341 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 6342 a request for an update, the value must match the initial value. This value cannot be updated. 6343 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 6344 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6345 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 6346 :type license_type: str 6347 """ 6348 6349 _validation = { 6350 'id': {'readonly': True}, 6351 'name': {'readonly': True}, 6352 'type': {'readonly': True}, 6353 'location': {'required': True}, 6354 'instance_id': {'readonly': True}, 6355 'sku': {'readonly': True}, 6356 'resources': {'readonly': True}, 6357 'zones': {'readonly': True}, 6358 'latest_model_applied': {'readonly': True}, 6359 'vm_id': {'readonly': True}, 6360 'instance_view': {'readonly': True}, 6361 'provisioning_state': {'readonly': True}, 6362 } 6363 6364 _attribute_map = { 6365 'id': {'key': 'id', 'type': 'str'}, 6366 'name': {'key': 'name', 'type': 'str'}, 6367 'type': {'key': 'type', 'type': 'str'}, 6368 'location': {'key': 'location', 'type': 'str'}, 6369 'tags': {'key': 'tags', 'type': '{str}'}, 6370 'instance_id': {'key': 'instanceId', 'type': 'str'}, 6371 'sku': {'key': 'sku', 'type': 'Sku'}, 6372 'plan': {'key': 'plan', 'type': 'Plan'}, 6373 'resources': {'key': 'resources', 'type': '[VirtualMachineExtension]'}, 6374 'zones': {'key': 'zones', 'type': '[str]'}, 6375 'latest_model_applied': {'key': 'properties.latestModelApplied', 'type': 'bool'}, 6376 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 6377 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineScaleSetVMInstanceView'}, 6378 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 6379 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 6380 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 6381 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 6382 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6383 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 6384 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6385 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 6386 } 6387 6388 def __init__( 6389 self, 6390 *, 6391 location: str, 6392 tags: Optional[Dict[str, str]] = None, 6393 plan: Optional["Plan"] = None, 6394 hardware_profile: Optional["HardwareProfile"] = None, 6395 storage_profile: Optional["StorageProfile"] = None, 6396 os_profile: Optional["OSProfile"] = None, 6397 network_profile: Optional["NetworkProfile"] = None, 6398 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6399 availability_set: Optional["SubResource"] = None, 6400 license_type: Optional[str] = None, 6401 **kwargs 6402 ): 6403 super(VirtualMachineScaleSetVM, self).__init__(location=location, tags=tags, **kwargs) 6404 self.instance_id = None 6405 self.sku = None 6406 self.plan = plan 6407 self.resources = None 6408 self.zones = None 6409 self.latest_model_applied = None 6410 self.vm_id = None 6411 self.instance_view = None 6412 self.hardware_profile = hardware_profile 6413 self.storage_profile = storage_profile 6414 self.os_profile = os_profile 6415 self.network_profile = network_profile 6416 self.diagnostics_profile = diagnostics_profile 6417 self.availability_set = availability_set 6418 self.provisioning_state = None 6419 self.license_type = license_type 6420 6421 6422class VirtualMachineScaleSetVMExtensionsSummary(msrest.serialization.Model): 6423 """Extensions summary for virtual machines of a virtual machine scale set. 6424 6425 Variables are only populated by the server, and will be ignored when sending a request. 6426 6427 :ivar name: The extension name. 6428 :vartype name: str 6429 :ivar statuses_summary: The extensions information. 6430 :vartype statuses_summary: 6431 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineStatusCodeCount] 6432 """ 6433 6434 _validation = { 6435 'name': {'readonly': True}, 6436 'statuses_summary': {'readonly': True}, 6437 } 6438 6439 _attribute_map = { 6440 'name': {'key': 'name', 'type': 'str'}, 6441 'statuses_summary': {'key': 'statusesSummary', 'type': '[VirtualMachineStatusCodeCount]'}, 6442 } 6443 6444 def __init__( 6445 self, 6446 **kwargs 6447 ): 6448 super(VirtualMachineScaleSetVMExtensionsSummary, self).__init__(**kwargs) 6449 self.name = None 6450 self.statuses_summary = None 6451 6452 6453class VirtualMachineScaleSetVMInstanceIDs(msrest.serialization.Model): 6454 """Specifies a list of virtual machine instance IDs from the VM scale set. 6455 6456 :param instance_ids: The virtual machine scale set instance ids. Omitting the virtual machine 6457 scale set instance ids will result in the operation being performed on all virtual machines in 6458 the virtual machine scale set. 6459 :type instance_ids: list[str] 6460 """ 6461 6462 _attribute_map = { 6463 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 6464 } 6465 6466 def __init__( 6467 self, 6468 *, 6469 instance_ids: Optional[List[str]] = None, 6470 **kwargs 6471 ): 6472 super(VirtualMachineScaleSetVMInstanceIDs, self).__init__(**kwargs) 6473 self.instance_ids = instance_ids 6474 6475 6476class VirtualMachineScaleSetVMInstanceRequiredIDs(msrest.serialization.Model): 6477 """Specifies a list of virtual machine instance IDs from the VM scale set. 6478 6479 All required parameters must be populated in order to send to Azure. 6480 6481 :param instance_ids: Required. The virtual machine scale set instance ids. 6482 :type instance_ids: list[str] 6483 """ 6484 6485 _validation = { 6486 'instance_ids': {'required': True}, 6487 } 6488 6489 _attribute_map = { 6490 'instance_ids': {'key': 'instanceIds', 'type': '[str]'}, 6491 } 6492 6493 def __init__( 6494 self, 6495 *, 6496 instance_ids: List[str], 6497 **kwargs 6498 ): 6499 super(VirtualMachineScaleSetVMInstanceRequiredIDs, self).__init__(**kwargs) 6500 self.instance_ids = instance_ids 6501 6502 6503class VirtualMachineScaleSetVMInstanceView(msrest.serialization.Model): 6504 """The instance view of a virtual machine scale set VM. 6505 6506 Variables are only populated by the server, and will be ignored when sending a request. 6507 6508 :param platform_update_domain: The Update Domain count. 6509 :type platform_update_domain: int 6510 :param platform_fault_domain: The Fault Domain count. 6511 :type platform_fault_domain: int 6512 :param rdp_thumb_print: The Remote desktop certificate thumbprint. 6513 :type rdp_thumb_print: str 6514 :param vm_agent: The VM Agent running on the virtual machine. 6515 :type vm_agent: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineAgentInstanceView 6516 :param maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. 6517 :type maintenance_redeploy_status: 6518 ~azure.mgmt.compute.v2018_04_01.models.MaintenanceRedeployStatus 6519 :param disks: The disks information. 6520 :type disks: list[~azure.mgmt.compute.v2018_04_01.models.DiskInstanceView] 6521 :param extensions: The extensions information. 6522 :type extensions: 6523 list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineExtensionInstanceView] 6524 :ivar vm_health: The health status for the VM. 6525 :vartype vm_health: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineHealthStatus 6526 :param boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view 6527 Console Output and Screenshot to diagnose VM status. :code:`<br>`:code:`<br>` You can easily 6528 view the output of your console log. :code:`<br>`:code:`<br>` Azure also enables you to see a 6529 screenshot of the VM from the hypervisor. 6530 :type boot_diagnostics: ~azure.mgmt.compute.v2018_04_01.models.BootDiagnosticsInstanceView 6531 :param statuses: The resource status information. 6532 :type statuses: list[~azure.mgmt.compute.v2018_04_01.models.InstanceViewStatus] 6533 :param placement_group_id: The placement group in which the VM is running. If the VM is 6534 deallocated it will not have a placementGroupId. 6535 :type placement_group_id: str 6536 """ 6537 6538 _validation = { 6539 'vm_health': {'readonly': True}, 6540 } 6541 6542 _attribute_map = { 6543 'platform_update_domain': {'key': 'platformUpdateDomain', 'type': 'int'}, 6544 'platform_fault_domain': {'key': 'platformFaultDomain', 'type': 'int'}, 6545 'rdp_thumb_print': {'key': 'rdpThumbPrint', 'type': 'str'}, 6546 'vm_agent': {'key': 'vmAgent', 'type': 'VirtualMachineAgentInstanceView'}, 6547 'maintenance_redeploy_status': {'key': 'maintenanceRedeployStatus', 'type': 'MaintenanceRedeployStatus'}, 6548 'disks': {'key': 'disks', 'type': '[DiskInstanceView]'}, 6549 'extensions': {'key': 'extensions', 'type': '[VirtualMachineExtensionInstanceView]'}, 6550 'vm_health': {'key': 'vmHealth', 'type': 'VirtualMachineHealthStatus'}, 6551 'boot_diagnostics': {'key': 'bootDiagnostics', 'type': 'BootDiagnosticsInstanceView'}, 6552 'statuses': {'key': 'statuses', 'type': '[InstanceViewStatus]'}, 6553 'placement_group_id': {'key': 'placementGroupId', 'type': 'str'}, 6554 } 6555 6556 def __init__( 6557 self, 6558 *, 6559 platform_update_domain: Optional[int] = None, 6560 platform_fault_domain: Optional[int] = None, 6561 rdp_thumb_print: Optional[str] = None, 6562 vm_agent: Optional["VirtualMachineAgentInstanceView"] = None, 6563 maintenance_redeploy_status: Optional["MaintenanceRedeployStatus"] = None, 6564 disks: Optional[List["DiskInstanceView"]] = None, 6565 extensions: Optional[List["VirtualMachineExtensionInstanceView"]] = None, 6566 boot_diagnostics: Optional["BootDiagnosticsInstanceView"] = None, 6567 statuses: Optional[List["InstanceViewStatus"]] = None, 6568 placement_group_id: Optional[str] = None, 6569 **kwargs 6570 ): 6571 super(VirtualMachineScaleSetVMInstanceView, self).__init__(**kwargs) 6572 self.platform_update_domain = platform_update_domain 6573 self.platform_fault_domain = platform_fault_domain 6574 self.rdp_thumb_print = rdp_thumb_print 6575 self.vm_agent = vm_agent 6576 self.maintenance_redeploy_status = maintenance_redeploy_status 6577 self.disks = disks 6578 self.extensions = extensions 6579 self.vm_health = None 6580 self.boot_diagnostics = boot_diagnostics 6581 self.statuses = statuses 6582 self.placement_group_id = placement_group_id 6583 6584 6585class VirtualMachineScaleSetVMListResult(msrest.serialization.Model): 6586 """The List Virtual Machine Scale Set VMs operation response. 6587 6588 All required parameters must be populated in order to send to Azure. 6589 6590 :param value: Required. The list of virtual machine scale sets VMs. 6591 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetVM] 6592 :param next_link: The uri to fetch the next page of Virtual Machine Scale Set VMs. Call 6593 ListNext() with this to fetch the next page of VMSS VMs. 6594 :type next_link: str 6595 """ 6596 6597 _validation = { 6598 'value': {'required': True}, 6599 } 6600 6601 _attribute_map = { 6602 'value': {'key': 'value', 'type': '[VirtualMachineScaleSetVM]'}, 6603 'next_link': {'key': 'nextLink', 'type': 'str'}, 6604 } 6605 6606 def __init__( 6607 self, 6608 *, 6609 value: List["VirtualMachineScaleSetVM"], 6610 next_link: Optional[str] = None, 6611 **kwargs 6612 ): 6613 super(VirtualMachineScaleSetVMListResult, self).__init__(**kwargs) 6614 self.value = value 6615 self.next_link = next_link 6616 6617 6618class VirtualMachineScaleSetVMProfile(msrest.serialization.Model): 6619 """Describes a virtual machine scale set virtual machine profile. 6620 6621 :param os_profile: Specifies the operating system settings for the virtual machines in the 6622 scale set. 6623 :type os_profile: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetOSProfile 6624 :param storage_profile: Specifies the storage settings for the virtual machine disks. 6625 :type storage_profile: 6626 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetStorageProfile 6627 :param network_profile: Specifies properties of the network interfaces of the virtual machines 6628 in the scale set. 6629 :type network_profile: 6630 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetNetworkProfile 6631 :param diagnostics_profile: Specifies the boot diagnostic settings state. 6632 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 6633 :type diagnostics_profile: ~azure.mgmt.compute.v2018_04_01.models.DiagnosticsProfile 6634 :param extension_profile: Specifies a collection of settings for extensions installed on 6635 virtual machines in the scale set. 6636 :type extension_profile: 6637 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineScaleSetExtensionProfile 6638 :param license_type: Specifies that the image or disk that is being used was licensed 6639 on-premises. This element is only used for images that contain the Windows Server operating 6640 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 6641 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 6642 a request for an update, the value must match the initial value. This value cannot be updated. 6643 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 6644 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6645 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 6646 :type license_type: str 6647 :param priority: Specifies the priority for the virtual machines in the scale set. 6648 :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview. Possible values include: 6649 "Regular", "Low". 6650 :type priority: str or ~azure.mgmt.compute.v2018_04_01.models.VirtualMachinePriorityTypes 6651 :param eviction_policy: Specifies the eviction policy for virtual machines in a low priority 6652 scale set. :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview. Possible values 6653 include: "Deallocate", "Delete". 6654 :type eviction_policy: str or 6655 ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineEvictionPolicyTypes 6656 """ 6657 6658 _attribute_map = { 6659 'os_profile': {'key': 'osProfile', 'type': 'VirtualMachineScaleSetOSProfile'}, 6660 'storage_profile': {'key': 'storageProfile', 'type': 'VirtualMachineScaleSetStorageProfile'}, 6661 'network_profile': {'key': 'networkProfile', 'type': 'VirtualMachineScaleSetNetworkProfile'}, 6662 'diagnostics_profile': {'key': 'diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6663 'extension_profile': {'key': 'extensionProfile', 'type': 'VirtualMachineScaleSetExtensionProfile'}, 6664 'license_type': {'key': 'licenseType', 'type': 'str'}, 6665 'priority': {'key': 'priority', 'type': 'str'}, 6666 'eviction_policy': {'key': 'evictionPolicy', 'type': 'str'}, 6667 } 6668 6669 def __init__( 6670 self, 6671 *, 6672 os_profile: Optional["VirtualMachineScaleSetOSProfile"] = None, 6673 storage_profile: Optional["VirtualMachineScaleSetStorageProfile"] = None, 6674 network_profile: Optional["VirtualMachineScaleSetNetworkProfile"] = None, 6675 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6676 extension_profile: Optional["VirtualMachineScaleSetExtensionProfile"] = None, 6677 license_type: Optional[str] = None, 6678 priority: Optional[Union[str, "VirtualMachinePriorityTypes"]] = None, 6679 eviction_policy: Optional[Union[str, "VirtualMachineEvictionPolicyTypes"]] = None, 6680 **kwargs 6681 ): 6682 super(VirtualMachineScaleSetVMProfile, self).__init__(**kwargs) 6683 self.os_profile = os_profile 6684 self.storage_profile = storage_profile 6685 self.network_profile = network_profile 6686 self.diagnostics_profile = diagnostics_profile 6687 self.extension_profile = extension_profile 6688 self.license_type = license_type 6689 self.priority = priority 6690 self.eviction_policy = eviction_policy 6691 6692 6693class VirtualMachineSize(msrest.serialization.Model): 6694 """Describes the properties of a VM size. 6695 6696 :param name: The name of the virtual machine size. 6697 :type name: str 6698 :param number_of_cores: The number of cores supported by the virtual machine size. 6699 :type number_of_cores: int 6700 :param os_disk_size_in_mb: The OS disk size, in MB, allowed by the virtual machine size. 6701 :type os_disk_size_in_mb: int 6702 :param resource_disk_size_in_mb: The resource disk size, in MB, allowed by the virtual machine 6703 size. 6704 :type resource_disk_size_in_mb: int 6705 :param memory_in_mb: The amount of memory, in MB, supported by the virtual machine size. 6706 :type memory_in_mb: int 6707 :param max_data_disk_count: The maximum number of data disks that can be attached to the 6708 virtual machine size. 6709 :type max_data_disk_count: int 6710 """ 6711 6712 _attribute_map = { 6713 'name': {'key': 'name', 'type': 'str'}, 6714 'number_of_cores': {'key': 'numberOfCores', 'type': 'int'}, 6715 'os_disk_size_in_mb': {'key': 'osDiskSizeInMB', 'type': 'int'}, 6716 'resource_disk_size_in_mb': {'key': 'resourceDiskSizeInMB', 'type': 'int'}, 6717 'memory_in_mb': {'key': 'memoryInMB', 'type': 'int'}, 6718 'max_data_disk_count': {'key': 'maxDataDiskCount', 'type': 'int'}, 6719 } 6720 6721 def __init__( 6722 self, 6723 *, 6724 name: Optional[str] = None, 6725 number_of_cores: Optional[int] = None, 6726 os_disk_size_in_mb: Optional[int] = None, 6727 resource_disk_size_in_mb: Optional[int] = None, 6728 memory_in_mb: Optional[int] = None, 6729 max_data_disk_count: Optional[int] = None, 6730 **kwargs 6731 ): 6732 super(VirtualMachineSize, self).__init__(**kwargs) 6733 self.name = name 6734 self.number_of_cores = number_of_cores 6735 self.os_disk_size_in_mb = os_disk_size_in_mb 6736 self.resource_disk_size_in_mb = resource_disk_size_in_mb 6737 self.memory_in_mb = memory_in_mb 6738 self.max_data_disk_count = max_data_disk_count 6739 6740 6741class VirtualMachineSizeListResult(msrest.serialization.Model): 6742 """The List Virtual Machine operation response. 6743 6744 :param value: The list of virtual machine sizes. 6745 :type value: list[~azure.mgmt.compute.v2018_04_01.models.VirtualMachineSize] 6746 """ 6747 6748 _attribute_map = { 6749 'value': {'key': 'value', 'type': '[VirtualMachineSize]'}, 6750 } 6751 6752 def __init__( 6753 self, 6754 *, 6755 value: Optional[List["VirtualMachineSize"]] = None, 6756 **kwargs 6757 ): 6758 super(VirtualMachineSizeListResult, self).__init__(**kwargs) 6759 self.value = value 6760 6761 6762class VirtualMachineStatusCodeCount(msrest.serialization.Model): 6763 """The status code and count of the virtual machine scale set instance view status summary. 6764 6765 Variables are only populated by the server, and will be ignored when sending a request. 6766 6767 :ivar code: The instance view status code. 6768 :vartype code: str 6769 :ivar count: The number of instances having a particular status code. 6770 :vartype count: int 6771 """ 6772 6773 _validation = { 6774 'code': {'readonly': True}, 6775 'count': {'readonly': True}, 6776 } 6777 6778 _attribute_map = { 6779 'code': {'key': 'code', 'type': 'str'}, 6780 'count': {'key': 'count', 'type': 'int'}, 6781 } 6782 6783 def __init__( 6784 self, 6785 **kwargs 6786 ): 6787 super(VirtualMachineStatusCodeCount, self).__init__(**kwargs) 6788 self.code = None 6789 self.count = None 6790 6791 6792class VirtualMachineUpdate(UpdateResource): 6793 """Describes a Virtual Machine Update. 6794 6795 Variables are only populated by the server, and will be ignored when sending a request. 6796 6797 :param tags: A set of tags. Resource tags. 6798 :type tags: dict[str, str] 6799 :param plan: Specifies information about the marketplace image used to create the virtual 6800 machine. This element is only used for marketplace images. Before you can use a marketplace 6801 image from an API, you must enable the image for programmatic use. In the Azure portal, find 6802 the marketplace image that you want to use and then click **Want to deploy programmatically, 6803 Get Started ->**. Enter any required information and then click **Save**. 6804 :type plan: ~azure.mgmt.compute.v2018_04_01.models.Plan 6805 :param identity: The identity of the virtual machine, if configured. 6806 :type identity: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineIdentity 6807 :param zones: The virtual machine zones. 6808 :type zones: list[str] 6809 :param hardware_profile: Specifies the hardware settings for the virtual machine. 6810 :type hardware_profile: ~azure.mgmt.compute.v2018_04_01.models.HardwareProfile 6811 :param storage_profile: Specifies the storage settings for the virtual machine disks. 6812 :type storage_profile: ~azure.mgmt.compute.v2018_04_01.models.StorageProfile 6813 :param os_profile: Specifies the operating system settings for the virtual machine. 6814 :type os_profile: ~azure.mgmt.compute.v2018_04_01.models.OSProfile 6815 :param network_profile: Specifies the network interfaces of the virtual machine. 6816 :type network_profile: ~azure.mgmt.compute.v2018_04_01.models.NetworkProfile 6817 :param diagnostics_profile: Specifies the boot diagnostic settings state. 6818 :code:`<br>`:code:`<br>`Minimum api-version: 2015-06-15. 6819 :type diagnostics_profile: ~azure.mgmt.compute.v2018_04_01.models.DiagnosticsProfile 6820 :param availability_set: Specifies information about the availability set that the virtual 6821 machine should be assigned to. Virtual machines specified in the same availability set are 6822 allocated to different nodes to maximize availability. For more information about availability 6823 sets, see `Manage the availability of virtual machines 6824 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_. 6825 :code:`<br>`:code:`<br>` For more information on Azure planned maintenance, see `Planned 6826 maintenance for virtual machines in Azure 6827 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6828 :code:`<br>`:code:`<br>` Currently, a VM can only be added to availability set at creation 6829 time. An existing VM cannot be added to an availability set. 6830 :type availability_set: ~azure.mgmt.compute.v2018_04_01.models.SubResource 6831 :param proximity_placement_group: Specifies information about the proximity placement group 6832 that the virtual machine should be assigned to. :code:`<br>`:code:`<br>`Minimum api-version: 6833 2018-04-01. 6834 :type proximity_placement_group: ~azure.mgmt.compute.v2018_04_01.models.SubResource 6835 :ivar provisioning_state: The provisioning state, which only appears in the response. 6836 :vartype provisioning_state: str 6837 :ivar instance_view: The virtual machine instance view. 6838 :vartype instance_view: ~azure.mgmt.compute.v2018_04_01.models.VirtualMachineInstanceView 6839 :param license_type: Specifies that the image or disk that is being used was licensed 6840 on-premises. This element is only used for images that contain the Windows Server operating 6841 system. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`:code:`<br>` Windows_Client 6842 :code:`<br>`:code:`<br>` Windows_Server :code:`<br>`:code:`<br>` If this element is included in 6843 a request for an update, the value must match the initial value. This value cannot be updated. 6844 :code:`<br>`:code:`<br>` For more information, see `Azure Hybrid Use Benefit for Windows Server 6845 <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_ 6846 :code:`<br>`:code:`<br>` Minimum api-version: 2015-06-15. 6847 :type license_type: str 6848 :ivar vm_id: Specifies the VM unique ID which is a 128-bits identifier that is encoded and 6849 stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. 6850 :vartype vm_id: str 6851 """ 6852 6853 _validation = { 6854 'provisioning_state': {'readonly': True}, 6855 'instance_view': {'readonly': True}, 6856 'vm_id': {'readonly': True}, 6857 } 6858 6859 _attribute_map = { 6860 'tags': {'key': 'tags', 'type': '{str}'}, 6861 'plan': {'key': 'plan', 'type': 'Plan'}, 6862 'identity': {'key': 'identity', 'type': 'VirtualMachineIdentity'}, 6863 'zones': {'key': 'zones', 'type': '[str]'}, 6864 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, 6865 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, 6866 'os_profile': {'key': 'properties.osProfile', 'type': 'OSProfile'}, 6867 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, 6868 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'DiagnosticsProfile'}, 6869 'availability_set': {'key': 'properties.availabilitySet', 'type': 'SubResource'}, 6870 'proximity_placement_group': {'key': 'properties.proximityPlacementGroup', 'type': 'SubResource'}, 6871 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6872 'instance_view': {'key': 'properties.instanceView', 'type': 'VirtualMachineInstanceView'}, 6873 'license_type': {'key': 'properties.licenseType', 'type': 'str'}, 6874 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, 6875 } 6876 6877 def __init__( 6878 self, 6879 *, 6880 tags: Optional[Dict[str, str]] = None, 6881 plan: Optional["Plan"] = None, 6882 identity: Optional["VirtualMachineIdentity"] = None, 6883 zones: Optional[List[str]] = None, 6884 hardware_profile: Optional["HardwareProfile"] = None, 6885 storage_profile: Optional["StorageProfile"] = None, 6886 os_profile: Optional["OSProfile"] = None, 6887 network_profile: Optional["NetworkProfile"] = None, 6888 diagnostics_profile: Optional["DiagnosticsProfile"] = None, 6889 availability_set: Optional["SubResource"] = None, 6890 proximity_placement_group: Optional["SubResource"] = None, 6891 license_type: Optional[str] = None, 6892 **kwargs 6893 ): 6894 super(VirtualMachineUpdate, self).__init__(tags=tags, **kwargs) 6895 self.plan = plan 6896 self.identity = identity 6897 self.zones = zones 6898 self.hardware_profile = hardware_profile 6899 self.storage_profile = storage_profile 6900 self.os_profile = os_profile 6901 self.network_profile = network_profile 6902 self.diagnostics_profile = diagnostics_profile 6903 self.availability_set = availability_set 6904 self.proximity_placement_group = proximity_placement_group 6905 self.provisioning_state = None 6906 self.instance_view = None 6907 self.license_type = license_type 6908 self.vm_id = None 6909 6910 6911class WindowsConfiguration(msrest.serialization.Model): 6912 """Specifies Windows operating system settings on the virtual machine. 6913 6914 :param provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the 6915 virtual machine. :code:`<br>`:code:`<br>` When this property is not specified in the request 6916 body, default behavior is to set it to true. This will ensure that VM Agent is installed on 6917 the VM so that extensions can be added to the VM later. 6918 :type provision_vm_agent: bool 6919 :param enable_automatic_updates: Indicates whether virtual machine is enabled for automatic 6920 updates. 6921 :type enable_automatic_updates: bool 6922 :param time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". 6923 :type time_zone: str 6924 :param additional_unattend_content: Specifies additional base-64 encoded XML formatted 6925 information that can be included in the Unattend.xml file, which is used by Windows Setup. 6926 :type additional_unattend_content: 6927 list[~azure.mgmt.compute.v2018_04_01.models.AdditionalUnattendContent] 6928 :param win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows 6929 PowerShell. 6930 :type win_rm: ~azure.mgmt.compute.v2018_04_01.models.WinRMConfiguration 6931 """ 6932 6933 _attribute_map = { 6934 'provision_vm_agent': {'key': 'provisionVMAgent', 'type': 'bool'}, 6935 'enable_automatic_updates': {'key': 'enableAutomaticUpdates', 'type': 'bool'}, 6936 'time_zone': {'key': 'timeZone', 'type': 'str'}, 6937 'additional_unattend_content': {'key': 'additionalUnattendContent', 'type': '[AdditionalUnattendContent]'}, 6938 'win_rm': {'key': 'winRM', 'type': 'WinRMConfiguration'}, 6939 } 6940 6941 def __init__( 6942 self, 6943 *, 6944 provision_vm_agent: Optional[bool] = None, 6945 enable_automatic_updates: Optional[bool] = None, 6946 time_zone: Optional[str] = None, 6947 additional_unattend_content: Optional[List["AdditionalUnattendContent"]] = None, 6948 win_rm: Optional["WinRMConfiguration"] = None, 6949 **kwargs 6950 ): 6951 super(WindowsConfiguration, self).__init__(**kwargs) 6952 self.provision_vm_agent = provision_vm_agent 6953 self.enable_automatic_updates = enable_automatic_updates 6954 self.time_zone = time_zone 6955 self.additional_unattend_content = additional_unattend_content 6956 self.win_rm = win_rm 6957 6958 6959class WinRMConfiguration(msrest.serialization.Model): 6960 """Describes Windows Remote Management configuration of the VM. 6961 6962 :param listeners: The list of Windows Remote Management listeners. 6963 :type listeners: list[~azure.mgmt.compute.v2018_04_01.models.WinRMListener] 6964 """ 6965 6966 _attribute_map = { 6967 'listeners': {'key': 'listeners', 'type': '[WinRMListener]'}, 6968 } 6969 6970 def __init__( 6971 self, 6972 *, 6973 listeners: Optional[List["WinRMListener"]] = None, 6974 **kwargs 6975 ): 6976 super(WinRMConfiguration, self).__init__(**kwargs) 6977 self.listeners = listeners 6978 6979 6980class WinRMListener(msrest.serialization.Model): 6981 """Describes Protocol and thumbprint of Windows Remote Management listener. 6982 6983 :param protocol: Specifies the protocol of listener. :code:`<br>`:code:`<br>` Possible values 6984 are: :code:`<br>`\ **http** :code:`<br>`:code:`<br>` **https**. Possible values include: 6985 "Http", "Https". 6986 :type protocol: str or ~azure.mgmt.compute.v2018_04_01.models.ProtocolTypes 6987 :param certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as 6988 a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault 6989 <https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add>`_. In this case, your 6990 certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded 6991 in UTF-8: :code:`<br>`:code:`<br>` {:code:`<br>` 6992 "data":":code:`<Base64-encoded-certificate>`",:code:`<br>` "dataType":"pfx",:code:`<br>` 6993 "password":":code:`<pfx-file-password>`":code:`<br>`}. 6994 :type certificate_url: str 6995 """ 6996 6997 _attribute_map = { 6998 'protocol': {'key': 'protocol', 'type': 'str'}, 6999 'certificate_url': {'key': 'certificateUrl', 'type': 'str'}, 7000 } 7001 7002 def __init__( 7003 self, 7004 *, 7005 protocol: Optional[Union[str, "ProtocolTypes"]] = None, 7006 certificate_url: Optional[str] = None, 7007 **kwargs 7008 ): 7009 super(WinRMListener, self).__init__(**kwargs) 7010 self.protocol = protocol 7011 self.certificate_url = certificate_url 7012