diff --git a/sdk/computefleet/azure-mgmt-computefleet/CHANGELOG.md b/sdk/computefleet/azure-mgmt-computefleet/CHANGELOG.md index 51d7f6d6b994..cfea4fcabdee 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/CHANGELOG.md +++ b/sdk/computefleet/azure-mgmt-computefleet/CHANGELOG.md @@ -1,5 +1,13 @@ # Release History +## 2.0.0b3 (2026-07-22) + +### Features Added + + - Model `VirtualMachine` added property `priority` + - Model `VirtualMachine` added property `vm_size` + - Model `VirtualMachine` added property `zone` + ## 2.0.0b2 (2026-05-28) ### Features Added diff --git a/sdk/computefleet/azure-mgmt-computefleet/README.md b/sdk/computefleet/azure-mgmt-computefleet/README.md index 137241f16c9e..8000d0721c9a 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/README.md +++ b/sdk/computefleet/azure-mgmt-computefleet/README.md @@ -24,7 +24,7 @@ pip install azure-identity ### Authentication -By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configuration of the following environment variables. +By default, [Microsoft Entra](https://learn.microsoft.com/entra/fundamentals/what-is-entra) token authentication depends on correct configuration of the following environment variables. - `AZURE_CLIENT_ID` for Azure client ID. - `AZURE_TENANT_ID` for Azure tenant ID. diff --git a/sdk/computefleet/azure-mgmt-computefleet/_metadata.json b/sdk/computefleet/azure-mgmt-computefleet/_metadata.json index adf287128901..7e53dcc74493 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/_metadata.json +++ b/sdk/computefleet/azure-mgmt-computefleet/_metadata.json @@ -1,10 +1,11 @@ { - "apiVersion": "2026-04-01-preview", + "apiVersion": "2026-06-01-preview", "apiVersions": { - "Microsoft.AzureFleet": "2026-04-01-preview" + "Microsoft.AzureFleet": "2026-06-01-preview" }, - "commit": "5c7cd01768cc4a537f309dff14af7be34f87cd14", + "commit": "8f7fea5ba3635cfc07ea6fca3b4560990b9431dc", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/azurefleet/resource-manager/Microsoft.AzureFleet/AzureFleet", - "emitterVersion": "0.62.1" + "emitterVersion": "0.63.3", + "httpClientPythonVersion": "^0.34.2" } \ No newline at end of file diff --git a/sdk/computefleet/azure-mgmt-computefleet/api.md b/sdk/computefleet/azure-mgmt-computefleet/api.md new file mode 100644 index 000000000000..d2222eb7b5af --- /dev/null +++ b/sdk/computefleet/azure-mgmt-computefleet/api.md @@ -0,0 +1,3126 @@ +```py +namespace azure.mgmt.computefleet + + class azure.mgmt.computefleet.ComputeFleetMgmtClient: implements ContextManager + fleets: FleetsOperations + operations: Operations + + def __init__( + self, + credential: TokenCredential, + subscription_id: str, + base_url: Optional[str] = None, + *, + api_version: str = ..., + cloud_setting: Optional[AzureClouds] = ..., + polling_interval: Optional[int] = ..., + **kwargs: Any + ) -> None: ... + + def close(self) -> None: ... + + def send_request( + self, + request: HttpRequest, + *, + stream: bool = False, + **kwargs: Any + ) -> HttpResponse: ... + + +namespace azure.mgmt.computefleet.aio + + class azure.mgmt.computefleet.aio.ComputeFleetMgmtClient: implements AsyncContextManager + fleets: FleetsOperations + operations: Operations + + def __init__( + self, + credential: AsyncTokenCredential, + subscription_id: str, + base_url: Optional[str] = None, + *, + api_version: str = ..., + cloud_setting: Optional[AzureClouds] = ..., + polling_interval: Optional[int] = ..., + **kwargs: Any + ) -> None: ... + + async def close(self) -> None: ... + + def send_request( + self, + request: HttpRequest, + *, + stream: bool = False, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: ... + + +namespace azure.mgmt.computefleet.aio.operations + + class azure.mgmt.computefleet.aio.operations.FleetsOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: Fleet, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: Fleet, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + fleet_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: FleetUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: FleetUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[Fleet]: ... + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + fleet_name: str, + **kwargs: Any + ) -> Fleet: ... + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncItemPaged[Fleet]: ... + + @distributed_trace + def list_by_subscription(self, **kwargs: Any) -> AsyncItemPaged[Fleet]: ... + + @distributed_trace + def list_virtual_machine_scale_sets( + self, + resource_group_name: str, + name: str, + **kwargs: Any + ) -> AsyncItemPaged[VirtualMachineScaleSet]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-04-01-preview', params_added_on={'2026-04-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'name', 'filter', 'skiptoken', 'accept']}, api_versions_list=['2026-04-01-preview', '2026-06-01-preview']) + def list_virtual_machines( + self, + resource_group_name: str, + name: str, + *, + filter: Optional[str] = ..., + skiptoken: Optional[str] = ..., + **kwargs: Any + ) -> AsyncItemPaged[VirtualMachine]: ... + + + class azure.mgmt.computefleet.aio.operations.Operations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged[Operation]: ... + + +namespace azure.mgmt.computefleet.models + + class azure.mgmt.computefleet.models.AcceleratorManufacturer(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AMD = "AMD" + NVIDIA = "Nvidia" + XILINX = "Xilinx" + + + class azure.mgmt.computefleet.models.AcceleratorType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FPGA = "FPGA" + GPU = "GPU" + + + class azure.mgmt.computefleet.models.ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + INTERNAL = "Internal" + + + class azure.mgmt.computefleet.models.AdditionalCapabilities(_Model): + hibernation_enabled: Optional[bool] + ultra_ssd_enabled: Optional[bool] + + @overload + def __init__( + self, + *, + hibernation_enabled: Optional[bool] = ..., + ultra_ssd_enabled: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.AdditionalLocationsProfile(_Model): + location_profiles: list[LocationProfile] + + @overload + def __init__( + self, + *, + location_profiles: list[LocationProfile] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.AdditionalUnattendContent(_Model): + component_name: Optional[Literal["Microsoft-Windows-Shell-Setup"]] + content: Optional[str] + pass_name: Optional[Literal["OobeSystem"]] + setting_name: Optional[Union[str, SettingNames]] + + @overload + def __init__( + self, + *, + component_name: Optional[Literal[Microsoft-Windows-Shell-Setup]] = ..., + content: Optional[str] = ..., + pass_name: Optional[Literal[OobeSystem]] = ..., + setting_name: Optional[Union[str, SettingNames]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ApiEntityReference(_Model): + id: Optional[str] + + @overload + def __init__( + self, + *, + id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ApiError(_Model): + code: Optional[str] + details: Optional[list[ApiErrorBase]] + innererror: Optional[InnerError] + message: Optional[str] + target: Optional[str] + + @overload + def __init__( + self, + *, + code: Optional[str] = ..., + details: Optional[list[ApiErrorBase]] = ..., + innererror: Optional[InnerError] = ..., + message: Optional[str] = ..., + target: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ApiErrorBase(_Model): + code: Optional[str] + message: Optional[str] + target: Optional[str] + + @overload + def __init__( + self, + *, + code: Optional[str] = ..., + message: Optional[str] = ..., + target: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ApplicationProfile(_Model): + gallery_applications: Optional[list[VMGalleryApplication]] + + @overload + def __init__( + self, + *, + gallery_applications: Optional[list[VMGalleryApplication]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ArchitectureType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ARM64 = "ARM64" + X64 = "X64" + + + class azure.mgmt.computefleet.models.BaseVirtualMachineProfile(_Model): + application_profile: Optional[ApplicationProfile] + capacity_reservation: Optional[CapacityReservationProfile] + diagnostics_profile: Optional[DiagnosticsProfile] + extension_profile: Optional[VirtualMachineScaleSetExtensionProfile] + hardware_profile: Optional[VirtualMachineScaleSetHardwareProfile] + license_type: Optional[str] + network_profile: Optional[VirtualMachineScaleSetNetworkProfile] + os_profile: Optional[VirtualMachineScaleSetOSProfile] + scheduled_events_profile: Optional[ScheduledEventsProfile] + security_posture_reference: Optional[SecurityPostureReference] + security_profile: Optional[SecurityProfile] + service_artifact_reference: Optional[ServiceArtifactReference] + storage_profile: Optional[VirtualMachineScaleSetStorageProfile] + time_created: Optional[datetime] + user_data: Optional[str] + + @overload + def __init__( + self, + *, + application_profile: Optional[ApplicationProfile] = ..., + capacity_reservation: Optional[CapacityReservationProfile] = ..., + diagnostics_profile: Optional[DiagnosticsProfile] = ..., + extension_profile: Optional[VirtualMachineScaleSetExtensionProfile] = ..., + hardware_profile: Optional[VirtualMachineScaleSetHardwareProfile] = ..., + license_type: Optional[str] = ..., + network_profile: Optional[VirtualMachineScaleSetNetworkProfile] = ..., + os_profile: Optional[VirtualMachineScaleSetOSProfile] = ..., + scheduled_events_profile: Optional[ScheduledEventsProfile] = ..., + security_posture_reference: Optional[SecurityPostureReference] = ..., + security_profile: Optional[SecurityProfile] = ..., + service_artifact_reference: Optional[ServiceArtifactReference] = ..., + storage_profile: Optional[VirtualMachineScaleSetStorageProfile] = ..., + user_data: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.BootDiagnostics(_Model): + enabled: Optional[bool] + storage_uri: Optional[str] + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = ..., + storage_uri: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.CachingTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NONE = "None" + READ_ONLY = "ReadOnly" + READ_WRITE = "ReadWrite" + + + class azure.mgmt.computefleet.models.CapacityReservationProfile(_Model): + capacity_reservation_group: Optional[SubResource] + + @overload + def __init__( + self, + *, + capacity_reservation_group: Optional[SubResource] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.CapacityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + VM = "VM" + V_CPU = "VCpu" + + + class azure.mgmt.computefleet.models.ComputeProfile(_Model): + additional_virtual_machine_capabilities: Optional[AdditionalCapabilities] + base_virtual_machine_profile: BaseVirtualMachineProfile + compute_api_version: Optional[str] + platform_fault_domain_count: Optional[int] + + @overload + def __init__( + self, + *, + additional_virtual_machine_capabilities: Optional[AdditionalCapabilities] = ..., + base_virtual_machine_profile: BaseVirtualMachineProfile, + compute_api_version: Optional[str] = ..., + platform_fault_domain_count: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.CpuManufacturer(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AMD = "AMD" + AMPERE = "Ampere" + INTEL = "Intel" + MICROSOFT = "Microsoft" + + + class azure.mgmt.computefleet.models.CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + APPLICATION = "Application" + KEY = "Key" + MANAGED_IDENTITY = "ManagedIdentity" + USER = "User" + + + class azure.mgmt.computefleet.models.DeleteOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DELETE = "Delete" + DETACH = "Detach" + + + class azure.mgmt.computefleet.models.DiagnosticsProfile(_Model): + boot_diagnostics: Optional[BootDiagnostics] + + @overload + def __init__( + self, + *, + boot_diagnostics: Optional[BootDiagnostics] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.DiffDiskOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LOCAL = "Local" + + + class azure.mgmt.computefleet.models.DiffDiskPlacement(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CACHE_DISK = "CacheDisk" + NVME_DISK = "NvmeDisk" + RESOURCE_DISK = "ResourceDisk" + + + class azure.mgmt.computefleet.models.DiffDiskSettings(_Model): + option: Optional[Union[str, DiffDiskOptions]] + placement: Optional[Union[str, DiffDiskPlacement]] + + @overload + def __init__( + self, + *, + option: Optional[Union[str, DiffDiskOptions]] = ..., + placement: Optional[Union[str, DiffDiskPlacement]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.DiskControllerTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NV_ME = "NVMe" + SCSI = "SCSI" + + + class azure.mgmt.computefleet.models.DiskCreateOptionTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ATTACH = "Attach" + COPY = "Copy" + EMPTY = "Empty" + FROM_IMAGE = "FromImage" + RESTORE = "Restore" + + + class azure.mgmt.computefleet.models.DiskDeleteOptionTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DELETE = "Delete" + DETACH = "Detach" + + + class azure.mgmt.computefleet.models.DiskEncryptionSetParameters(_Model): + id: Optional[str] + + @overload + def __init__( + self, + *, + id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.DomainNameLabelScopeTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NO_REUSE = "NoReuse" + RESOURCE_GROUP_REUSE = "ResourceGroupReuse" + SUBSCRIPTION_REUSE = "SubscriptionReuse" + TENANT_REUSE = "TenantReuse" + + + class azure.mgmt.computefleet.models.EncryptionIdentity(_Model): + user_assigned_identity_resource_id: Optional[str] + + @overload + def __init__( + self, + *, + user_assigned_identity_resource_id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ErrorAdditionalInfo(_Model): + info: Optional[Any] + type: Optional[str] + + + class azure.mgmt.computefleet.models.ErrorDetail(_Model): + additional_info: Optional[list[ErrorAdditionalInfo]] + code: Optional[str] + details: Optional[list[ErrorDetail]] + message: Optional[str] + target: Optional[str] + + + class azure.mgmt.computefleet.models.ErrorResponse(_Model): + error: Optional[ErrorDetail] + + @overload + def __init__( + self, + *, + error: Optional[ErrorDetail] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.EvictionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEALLOCATE = "Deallocate" + DELETE = "Delete" + + + class azure.mgmt.computefleet.models.Fleet(TrackedResource): + id: str + identity: Optional[ManagedServiceIdentity] + location: str + name: str + plan: Optional[Plan] + properties: Optional[FleetProperties] + system_data: SystemData + tags: dict[str, str] + type: str + zones: Optional[list[str]] + + @overload + def __init__( + self, + *, + identity: Optional[ManagedServiceIdentity] = ..., + location: str, + plan: Optional[Plan] = ..., + properties: Optional[FleetProperties] = ..., + tags: Optional[dict[str, str]] = ..., + zones: Optional[list[str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.FleetMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LAUNCH = "Launch" + MANAGED = "Managed" + + + class azure.mgmt.computefleet.models.FleetProperties(_Model): + additional_locations_profile: Optional[AdditionalLocationsProfile] + capacity_type: Optional[Union[str, CapacityType]] + compute_profile: ComputeProfile + mode: Optional[Union[str, FleetMode]] + provisioning_state: Optional[Union[str, ProvisioningState]] + regular_priority_profile: Optional[RegularPriorityProfile] + spot_priority_profile: Optional[SpotPriorityProfile] + time_created: Optional[datetime] + unique_id: Optional[str] + vm_attributes: Optional[VMAttributes] + vm_name_prefix: Optional[str] + vm_sizes_profile: list[VmSizeProfile] + zone_allocation_policy: Optional[ZoneAllocationPolicy] + + @overload + def __init__( + self, + *, + additional_locations_profile: Optional[AdditionalLocationsProfile] = ..., + capacity_type: Optional[Union[str, CapacityType]] = ..., + compute_profile: ComputeProfile, + mode: Optional[Union[str, FleetMode]] = ..., + regular_priority_profile: Optional[RegularPriorityProfile] = ..., + spot_priority_profile: Optional[SpotPriorityProfile] = ..., + vm_attributes: Optional[VMAttributes] = ..., + vm_name_prefix: Optional[str] = ..., + vm_sizes_profile: list[VmSizeProfile], + zone_allocation_policy: Optional[ZoneAllocationPolicy] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.FleetUpdate(_Model): + identity: Optional[ManagedServiceIdentityUpdate] + plan: Optional[ResourcePlanUpdate] + properties: Optional[FleetProperties] + tags: Optional[dict[str, str]] + + @overload + def __init__( + self, + *, + identity: Optional[ManagedServiceIdentityUpdate] = ..., + plan: Optional[ResourcePlanUpdate] = ..., + properties: Optional[FleetProperties] = ..., + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.IPVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): + I_PV4 = "IPv4" + I_PV6 = "IPv6" + + + class azure.mgmt.computefleet.models.ImageReference(_Model): + community_gallery_image_id: Optional[str] + exact_version: Optional[str] + id: Optional[str] + offer: Optional[str] + publisher: Optional[str] + shared_gallery_image_id: Optional[str] + sku: Optional[str] + version: Optional[str] + + @overload + def __init__( + self, + *, + community_gallery_image_id: Optional[str] = ..., + id: Optional[str] = ..., + offer: Optional[str] = ..., + publisher: Optional[str] = ..., + shared_gallery_image_id: Optional[str] = ..., + sku: Optional[str] = ..., + version: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.InnerError(_Model): + error_detail: Optional[str] + exception_type: Optional[str] + + @overload + def __init__( + self, + *, + error_detail: Optional[str] = ..., + exception_type: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.KeyVaultSecretReference(_Model): + secret_url: str + source_vault: SubResource + + @overload + def __init__( + self, + *, + secret_url: str, + source_vault: SubResource + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.LinuxConfiguration(_Model): + disable_password_authentication: Optional[bool] + enable_vm_agent_platform_updates: Optional[bool] + patch_settings: Optional[LinuxPatchSettings] + provision_vm_agent: Optional[bool] + ssh: Optional[SshConfiguration] + + @overload + def __init__( + self, + *, + disable_password_authentication: Optional[bool] = ..., + enable_vm_agent_platform_updates: Optional[bool] = ..., + patch_settings: Optional[LinuxPatchSettings] = ..., + provision_vm_agent: Optional[bool] = ..., + ssh: Optional[SshConfiguration] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.LinuxPatchAssessmentMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + IMAGE_DEFAULT = "ImageDefault" + + + class azure.mgmt.computefleet.models.LinuxPatchSettings(_Model): + assessment_mode: Optional[Union[str, LinuxPatchAssessmentMode]] + automatic_by_platform_settings: Optional[LinuxVMGuestPatchAutomaticByPlatformSettings] + patch_mode: Optional[Union[str, LinuxVMGuestPatchMode]] + + @overload + def __init__( + self, + *, + assessment_mode: Optional[Union[str, LinuxPatchAssessmentMode]] = ..., + automatic_by_platform_settings: Optional[LinuxVMGuestPatchAutomaticByPlatformSettings] = ..., + patch_mode: Optional[Union[str, LinuxVMGuestPatchMode]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.LinuxVMGuestPatchAutomaticByPlatformRebootSetting(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALWAYS = "Always" + IF_REQUIRED = "IfRequired" + NEVER = "Never" + UNKNOWN = "Unknown" + + + class azure.mgmt.computefleet.models.LinuxVMGuestPatchAutomaticByPlatformSettings(_Model): + bypass_platform_safety_checks_on_user_schedule: Optional[bool] + reboot_setting: Optional[Union[str, LinuxVMGuestPatchAutomaticByPlatformRebootSetting]] + + @overload + def __init__( + self, + *, + bypass_platform_safety_checks_on_user_schedule: Optional[bool] = ..., + reboot_setting: Optional[Union[str, LinuxVMGuestPatchAutomaticByPlatformRebootSetting]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.LinuxVMGuestPatchMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + IMAGE_DEFAULT = "ImageDefault" + + + class azure.mgmt.computefleet.models.LocalStorageDiskType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + HDD = "HDD" + SSD = "SSD" + + + class azure.mgmt.computefleet.models.LocationProfile(_Model): + location: str + virtual_machine_profile_override: Optional[BaseVirtualMachineProfile] + + @overload + def __init__( + self, + *, + location: str, + virtual_machine_profile_override: Optional[BaseVirtualMachineProfile] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ManagedServiceIdentity(_Model): + principal_id: Optional[str] + tenant_id: Optional[str] + type: Union[str, ManagedServiceIdentityType] + user_assigned_identities: Optional[dict[str, UserAssignedIdentity]] + + @overload + def __init__( + self, + *, + type: Union[str, ManagedServiceIdentityType], + user_assigned_identities: Optional[dict[str, UserAssignedIdentity]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + USER_ASSIGNED = "UserAssigned" + + + class azure.mgmt.computefleet.models.ManagedServiceIdentityUpdate(_Model): + type: Optional[Union[str, ManagedServiceIdentityType]] + user_assigned_identities: Optional[dict[str, UserAssignedIdentity]] + + @overload + def __init__( + self, + *, + type: Optional[Union[str, ManagedServiceIdentityType]] = ..., + user_assigned_identities: Optional[dict[str, UserAssignedIdentity]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUDIT = "Audit" + ENFORCE = "Enforce" + + + class azure.mgmt.computefleet.models.NetworkApiVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): + V2020_11_01 = "2020-11-01" + + + class azure.mgmt.computefleet.models.NetworkInterfaceAuxiliaryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ACCELERATED_CONNECTIONS = "AcceleratedConnections" + FLOATING = "Floating" + NONE = "None" + + + class azure.mgmt.computefleet.models.NetworkInterfaceAuxiliarySku(str, Enum, metaclass=CaseInsensitiveEnumMeta): + A1 = "A1" + A2 = "A2" + A4 = "A4" + A8 = "A8" + NONE = "None" + + + class azure.mgmt.computefleet.models.OSImageNotificationProfile(_Model): + enable: Optional[bool] + not_before_timeout: Optional[str] + + @overload + def __init__( + self, + *, + enable: Optional[bool] = ..., + not_before_timeout: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.OperatingSystemTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LINUX = "Linux" + WINDOWS = "Windows" + + + class azure.mgmt.computefleet.models.Operation(_Model): + action_type: Optional[Union[str, ActionType]] + display: Optional[OperationDisplay] + is_data_action: Optional[bool] + name: Optional[str] + origin: Optional[Union[str, Origin]] + + @overload + def __init__( + self, + *, + display: Optional[OperationDisplay] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.OperationDisplay(_Model): + description: Optional[str] + operation: Optional[str] + provider: Optional[str] + resource: Optional[str] + + + class azure.mgmt.computefleet.models.Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta): + SYSTEM = "system" + USER = "user" + USER_SYSTEM = "user,system" + + + class azure.mgmt.computefleet.models.PatchSettings(_Model): + assessment_mode: Optional[Union[str, WindowsPatchAssessmentMode]] + automatic_by_platform_settings: Optional[WindowsVMGuestPatchAutomaticByPlatformSettings] + enable_hotpatching: Optional[bool] + patch_mode: Optional[Union[str, WindowsVMGuestPatchMode]] + + @overload + def __init__( + self, + *, + assessment_mode: Optional[Union[str, WindowsPatchAssessmentMode]] = ..., + automatic_by_platform_settings: Optional[WindowsVMGuestPatchAutomaticByPlatformSettings] = ..., + enable_hotpatching: Optional[bool] = ..., + patch_mode: Optional[Union[str, WindowsVMGuestPatchMode]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.Plan(_Model): + name: str + product: str + promotion_code: Optional[str] + publisher: str + version: Optional[str] + + @overload + def __init__( + self, + *, + name: str, + product: str, + promotion_code: Optional[str] = ..., + publisher: str, + version: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ProtocolTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + HTTP = "Http" + HTTPS = "Https" + + + class azure.mgmt.computefleet.models.ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CANCELED = "Canceled" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" + MIGRATING = "Migrating" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" + + + class azure.mgmt.computefleet.models.ProxyAgentSettings(_Model): + enabled: Optional[bool] + key_incarnation_id: Optional[int] + mode: Optional[Union[str, Mode]] + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = ..., + key_incarnation_id: Optional[int] = ..., + mode: Optional[Union[str, Mode]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.PublicIPAddressSku(_Model): + name: Optional[Union[str, PublicIPAddressSkuName]] + tier: Optional[Union[str, PublicIPAddressSkuTier]] + + @overload + def __init__( + self, + *, + name: Optional[Union[str, PublicIPAddressSkuName]] = ..., + tier: Optional[Union[str, PublicIPAddressSkuTier]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.PublicIPAddressSkuName(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BASIC = "Basic" + STANDARD = "Standard" + + + class azure.mgmt.computefleet.models.PublicIPAddressSkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): + GLOBAL = "Global" + REGIONAL = "Regional" + + + class azure.mgmt.computefleet.models.RegularPriorityAllocationStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LOWEST_PRICE = "LowestPrice" + PRIORITIZED = "Prioritized" + + + class azure.mgmt.computefleet.models.RegularPriorityProfile(_Model): + allocation_strategy: Optional[Union[str, RegularPriorityAllocationStrategy]] + capacity: Optional[int] + min_capacity: Optional[int] + + @overload + def __init__( + self, + *, + allocation_strategy: Optional[Union[str, RegularPriorityAllocationStrategy]] = ..., + capacity: Optional[int] = ..., + min_capacity: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.Resource(_Model): + id: Optional[str] + name: Optional[str] + system_data: Optional[SystemData] + type: Optional[str] + + + class azure.mgmt.computefleet.models.ResourcePlanUpdate(_Model): + name: Optional[str] + product: Optional[str] + promotion_code: Optional[str] + publisher: Optional[str] + version: Optional[str] + + @overload + def __init__( + self, + *, + name: Optional[str] = ..., + product: Optional[str] = ..., + promotion_code: Optional[str] = ..., + publisher: Optional[str] = ..., + version: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ScheduledEventsProfile(_Model): + os_image_notification_profile: Optional[OSImageNotificationProfile] + terminate_notification_profile: Optional[TerminateNotificationProfile] + + @overload + def __init__( + self, + *, + os_image_notification_profile: Optional[OSImageNotificationProfile] = ..., + terminate_notification_profile: Optional[TerminateNotificationProfile] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SecurityEncryptionTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DISK_WITH_VM_GUEST_STATE = "DiskWithVMGuestState" + NON_PERSISTED_TPM = "NonPersistedTPM" + VM_GUEST_STATE_ONLY = "VMGuestStateOnly" + + + class azure.mgmt.computefleet.models.SecurityPostureReference(_Model): + exclude_extensions: Optional[list[str]] + id: Optional[str] + is_overridable: Optional[bool] + + @overload + def __init__( + self, + *, + exclude_extensions: Optional[list[str]] = ..., + id: Optional[str] = ..., + is_overridable: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SecurityProfile(_Model): + encryption_at_host: Optional[bool] + encryption_identity: Optional[EncryptionIdentity] + proxy_agent_settings: Optional[ProxyAgentSettings] + security_type: Optional[Union[str, SecurityTypes]] + uefi_settings: Optional[UefiSettings] + + @overload + def __init__( + self, + *, + encryption_at_host: Optional[bool] = ..., + encryption_identity: Optional[EncryptionIdentity] = ..., + proxy_agent_settings: Optional[ProxyAgentSettings] = ..., + security_type: Optional[Union[str, SecurityTypes]] = ..., + uefi_settings: Optional[UefiSettings] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SecurityTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CONFIDENTIAL_VM = "ConfidentialVM" + TRUSTED_LAUNCH = "TrustedLaunch" + + + class azure.mgmt.computefleet.models.ServiceArtifactReference(_Model): + id: Optional[str] + + @overload + def __init__( + self, + *, + id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SettingNames(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTO_LOGON = "AutoLogon" + FIRST_LOGON_COMMANDS = "FirstLogonCommands" + + + class azure.mgmt.computefleet.models.SpotAllocationStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CAPACITY_OPTIMIZED = "CapacityOptimized" + LOWEST_PRICE = "LowestPrice" + PRICE_CAPACITY_OPTIMIZED = "PriceCapacityOptimized" + + + class azure.mgmt.computefleet.models.SpotPriorityProfile(_Model): + allocation_strategy: Optional[Union[str, SpotAllocationStrategy]] + capacity: Optional[int] + eviction_policy: Optional[Union[str, EvictionPolicy]] + maintain: Optional[bool] + max_price_per_vm: Optional[float] + min_capacity: Optional[int] + + @overload + def __init__( + self, + *, + allocation_strategy: Optional[Union[str, SpotAllocationStrategy]] = ..., + capacity: Optional[int] = ..., + eviction_policy: Optional[Union[str, EvictionPolicy]] = ..., + maintain: Optional[bool] = ..., + max_price_per_vm: Optional[float] = ..., + min_capacity: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SshConfiguration(_Model): + public_keys: Optional[list[SshPublicKey]] + + @overload + def __init__( + self, + *, + public_keys: Optional[list[SshPublicKey]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SshPublicKey(_Model): + key_data: Optional[str] + path: Optional[str] + + @overload + def __init__( + self, + *, + key_data: Optional[str] = ..., + path: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.StorageAccountTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): + PREMIUM_LRS = "Premium_LRS" + PREMIUM_V2_LRS = "PremiumV2_LRS" + PREMIUM_ZRS = "Premium_ZRS" + STANDARD_LRS = "Standard_LRS" + STANDARD_SSD_LRS = "StandardSSD_LRS" + STANDARD_SSD_ZRS = "StandardSSD_ZRS" + ULTRA_SSD_LRS = "UltraSSD_LRS" + + + class azure.mgmt.computefleet.models.SubResource(_Model): + id: Optional[str] + + @overload + def __init__( + self, + *, + id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.SystemData(_Model): + created_at: Optional[datetime] + created_by: Optional[str] + created_by_type: Optional[Union[str, CreatedByType]] + last_modified_at: Optional[datetime] + last_modified_by: Optional[str] + last_modified_by_type: Optional[Union[str, CreatedByType]] + + @overload + def __init__( + self, + *, + created_at: Optional[datetime] = ..., + created_by: Optional[str] = ..., + created_by_type: Optional[Union[str, CreatedByType]] = ..., + last_modified_at: Optional[datetime] = ..., + last_modified_by: Optional[str] = ..., + last_modified_by_type: Optional[Union[str, CreatedByType]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.TerminateNotificationProfile(_Model): + enable: Optional[bool] + not_before_timeout: Optional[str] + + @overload + def __init__( + self, + *, + enable: Optional[bool] = ..., + not_before_timeout: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.TrackedResource(Resource): + id: str + location: str + name: str + system_data: SystemData + tags: Optional[dict[str, str]] + type: str + + @overload + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.UefiSettings(_Model): + secure_boot_enabled: Optional[bool] + v_tpm_enabled: Optional[bool] + + @overload + def __init__( + self, + *, + secure_boot_enabled: Optional[bool] = ..., + v_tpm_enabled: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.UserAssignedIdentity(_Model): + client_id: Optional[str] + principal_id: Optional[str] + + + class azure.mgmt.computefleet.models.VMAttributeMinMaxDouble(_Model): + max: Optional[float] + min: Optional[float] + + @overload + def __init__( + self, + *, + max: Optional[float] = ..., + min: Optional[float] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VMAttributeMinMaxInteger(_Model): + max: Optional[int] + min: Optional[int] + + @overload + def __init__( + self, + *, + max: Optional[int] = ..., + min: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VMAttributeSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): + EXCLUDED = "Excluded" + INCLUDED = "Included" + REQUIRED = "Required" + + + class azure.mgmt.computefleet.models.VMAttributes(_Model): + accelerator_count: Optional[VMAttributeMinMaxInteger] + accelerator_manufacturers: Optional[list[Union[str, AcceleratorManufacturer]]] + accelerator_support: Optional[Union[str, VMAttributeSupport]] + accelerator_types: Optional[list[Union[str, AcceleratorType]]] + architecture_types: Optional[list[Union[str, ArchitectureType]]] + burstable_support: Optional[Union[str, VMAttributeSupport]] + cpu_manufacturers: Optional[list[Union[str, CpuManufacturer]]] + data_disk_count: Optional[VMAttributeMinMaxInteger] + excluded_vm_sizes: Optional[list[str]] + local_storage_disk_types: Optional[list[Union[str, LocalStorageDiskType]]] + local_storage_in_gi_b: Optional[VMAttributeMinMaxDouble] + local_storage_support: Optional[Union[str, VMAttributeSupport]] + memory_in_gi_b: VMAttributeMinMaxDouble + memory_in_gi_b_per_v_cpu: Optional[VMAttributeMinMaxDouble] + network_bandwidth_in_mbps: Optional[VMAttributeMinMaxDouble] + network_interface_count: Optional[VMAttributeMinMaxInteger] + rdma_network_interface_count: Optional[VMAttributeMinMaxInteger] + rdma_support: Optional[Union[str, VMAttributeSupport]] + v_cpu_count: VMAttributeMinMaxInteger + vm_categories: Optional[list[Union[str, VMCategory]]] + + @overload + def __init__( + self, + *, + accelerator_count: Optional[VMAttributeMinMaxInteger] = ..., + accelerator_manufacturers: Optional[list[Union[str, AcceleratorManufacturer]]] = ..., + accelerator_support: Optional[Union[str, VMAttributeSupport]] = ..., + accelerator_types: Optional[list[Union[str, AcceleratorType]]] = ..., + architecture_types: Optional[list[Union[str, ArchitectureType]]] = ..., + burstable_support: Optional[Union[str, VMAttributeSupport]] = ..., + cpu_manufacturers: Optional[list[Union[str, CpuManufacturer]]] = ..., + data_disk_count: Optional[VMAttributeMinMaxInteger] = ..., + excluded_vm_sizes: Optional[list[str]] = ..., + local_storage_disk_types: Optional[list[Union[str, LocalStorageDiskType]]] = ..., + local_storage_in_gi_b: Optional[VMAttributeMinMaxDouble] = ..., + local_storage_support: Optional[Union[str, VMAttributeSupport]] = ..., + memory_in_gi_b: VMAttributeMinMaxDouble, + memory_in_gi_b_per_v_cpu: Optional[VMAttributeMinMaxDouble] = ..., + network_bandwidth_in_mbps: Optional[VMAttributeMinMaxDouble] = ..., + network_interface_count: Optional[VMAttributeMinMaxInteger] = ..., + rdma_network_interface_count: Optional[VMAttributeMinMaxInteger] = ..., + rdma_support: Optional[Union[str, VMAttributeSupport]] = ..., + v_cpu_count: VMAttributeMinMaxInteger, + vm_categories: Optional[list[Union[str, VMCategory]]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VMCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta): + COMPUTE_OPTIMIZED = "ComputeOptimized" + FPGA_ACCELERATED = "FpgaAccelerated" + GENERAL_PURPOSE = "GeneralPurpose" + GPU_ACCELERATED = "GpuAccelerated" + HIGH_PERFORMANCE_COMPUTE = "HighPerformanceCompute" + MEMORY_OPTIMIZED = "MemoryOptimized" + STORAGE_OPTIMIZED = "StorageOptimized" + + + class azure.mgmt.computefleet.models.VMDiskSecurityProfile(_Model): + disk_encryption_set: Optional[DiskEncryptionSetParameters] + security_encryption_type: Optional[Union[str, SecurityEncryptionTypes]] + + @overload + def __init__( + self, + *, + disk_encryption_set: Optional[DiskEncryptionSetParameters] = ..., + security_encryption_type: Optional[Union[str, SecurityEncryptionTypes]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VMGalleryApplication(_Model): + configuration_reference: Optional[str] + enable_automatic_upgrade: Optional[bool] + order: Optional[int] + package_reference_id: str + tags: Optional[str] + treat_failure_as_deployment_failure: Optional[bool] + + @overload + def __init__( + self, + *, + configuration_reference: Optional[str] = ..., + enable_automatic_upgrade: Optional[bool] = ..., + order: Optional[int] = ..., + package_reference_id: str, + tags: Optional[str] = ..., + treat_failure_as_deployment_failure: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VMOperationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CREATING = "Creating" + FAILED = "Failed" + LAUNCHING = "Launching" + SUCCEEDED = "Succeeded" + + + class azure.mgmt.computefleet.models.VMSizeProperties(_Model): + v_cpus_available: Optional[int] + v_cpus_per_core: Optional[int] + + @overload + def __init__( + self, + *, + v_cpus_available: Optional[int] = ..., + v_cpus_per_core: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VaultCertificate(_Model): + certificate_store: Optional[str] + certificate_url: Optional[str] + + @overload + def __init__( + self, + *, + certificate_store: Optional[str] = ..., + certificate_url: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VaultSecretGroup(_Model): + source_vault: Optional[SubResource] + vault_certificates: Optional[list[VaultCertificate]] + + @overload + def __init__( + self, + *, + source_vault: Optional[SubResource] = ..., + vault_certificates: Optional[list[VaultCertificate]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualHardDisk(_Model): + uri: Optional[str] + + @overload + def __init__( + self, + *, + uri: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachine(_Model): + error: Optional[ApiError] + id: str + name: str + operation_status: Union[str, VMOperationStatus] + priority: Optional[str] + type: Optional[str] + vm_size: Optional[str] + zone: Optional[str] + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSet(_Model): + error: Optional[ApiError] + id: str + name: str + operation_status: Union[str, ProvisioningState] + type: Optional[str] + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetDataDisk(_Model): + caching: Optional[Union[str, CachingTypes]] + create_option: Union[str, DiskCreateOptionTypes] + delete_option: Optional[Union[str, DiskDeleteOptionTypes]] + disk_iops_read_write: Optional[int] + disk_m_bps_read_write: Optional[int] + disk_size_gb: Optional[int] + lun: int + managed_disk: Optional[VirtualMachineScaleSetManagedDiskParameters] + name: Optional[str] + write_accelerator_enabled: Optional[bool] + + @overload + def __init__( + self, + *, + caching: Optional[Union[str, CachingTypes]] = ..., + create_option: Union[str, DiskCreateOptionTypes], + delete_option: Optional[Union[str, DiskDeleteOptionTypes]] = ..., + disk_iops_read_write: Optional[int] = ..., + disk_m_bps_read_write: Optional[int] = ..., + disk_size_gb: Optional[int] = ..., + lun: int, + managed_disk: Optional[VirtualMachineScaleSetManagedDiskParameters] = ..., + name: Optional[str] = ..., + write_accelerator_enabled: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetExtension(_Model): + id: Optional[str] + name: Optional[str] + properties: Optional[VirtualMachineScaleSetExtensionProperties] + type: Optional[str] + + @overload + def __init__( + self, + *, + name: Optional[str] = ..., + properties: Optional[VirtualMachineScaleSetExtensionProperties] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetExtensionProfile(_Model): + extensions: Optional[list[VirtualMachineScaleSetExtension]] + extensions_time_budget: Optional[str] + + @overload + def __init__( + self, + *, + extensions: Optional[list[VirtualMachineScaleSetExtension]] = ..., + extensions_time_budget: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetExtensionProperties(_Model): + auto_upgrade_minor_version: Optional[bool] + enable_automatic_upgrade: Optional[bool] + force_update_tag: Optional[str] + protected_settings: Optional[dict[str, Any]] + protected_settings_from_key_vault: Optional[KeyVaultSecretReference] + provision_after_extensions: Optional[list[str]] + provisioning_state: Optional[str] + publisher: Optional[str] + settings: Optional[dict[str, Any]] + suppress_failures: Optional[bool] + type: Optional[str] + type_handler_version: Optional[str] + + @overload + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = ..., + enable_automatic_upgrade: Optional[bool] = ..., + force_update_tag: Optional[str] = ..., + protected_settings: Optional[dict[str, Any]] = ..., + protected_settings_from_key_vault: Optional[KeyVaultSecretReference] = ..., + provision_after_extensions: Optional[list[str]] = ..., + publisher: Optional[str] = ..., + settings: Optional[dict[str, Any]] = ..., + suppress_failures: Optional[bool] = ..., + type: Optional[str] = ..., + type_handler_version: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetHardwareProfile(_Model): + vm_size_properties: Optional[VMSizeProperties] + + @overload + def __init__( + self, + *, + vm_size_properties: Optional[VMSizeProperties] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetIPConfiguration(_Model): + name: str + properties: Optional[VirtualMachineScaleSetIPConfigurationProperties] + + @overload + def __init__( + self, + *, + name: str, + properties: Optional[VirtualMachineScaleSetIPConfigurationProperties] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetIPConfigurationProperties(_Model): + application_gateway_backend_address_pools: Optional[list[SubResource]] + application_security_groups: Optional[list[SubResource]] + load_balancer_backend_address_pools: Optional[list[SubResource]] + load_balancer_inbound_nat_pools: Optional[list[SubResource]] + primary: Optional[bool] + private_ip_address_version: Optional[Union[str, IPVersion]] + public_ip_address_configuration: Optional[VirtualMachineScaleSetPublicIPAddressConfiguration] + subnet: Optional[ApiEntityReference] + + @overload + def __init__( + self, + *, + application_gateway_backend_address_pools: Optional[list[SubResource]] = ..., + application_security_groups: Optional[list[SubResource]] = ..., + load_balancer_backend_address_pools: Optional[list[SubResource]] = ..., + load_balancer_inbound_nat_pools: Optional[list[SubResource]] = ..., + primary: Optional[bool] = ..., + private_ip_address_version: Optional[Union[str, IPVersion]] = ..., + public_ip_address_configuration: Optional[VirtualMachineScaleSetPublicIPAddressConfiguration] = ..., + subnet: Optional[ApiEntityReference] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetIpTag(_Model): + ip_tag_type: Optional[str] + tag: Optional[str] + + @overload + def __init__( + self, + *, + ip_tag_type: Optional[str] = ..., + tag: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetManagedDiskParameters(_Model): + disk_encryption_set: Optional[DiskEncryptionSetParameters] + security_profile: Optional[VMDiskSecurityProfile] + storage_account_type: Optional[Union[str, StorageAccountTypes]] + + @overload + def __init__( + self, + *, + disk_encryption_set: Optional[DiskEncryptionSetParameters] = ..., + security_profile: Optional[VMDiskSecurityProfile] = ..., + storage_account_type: Optional[Union[str, StorageAccountTypes]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetNetworkConfiguration(_Model): + name: str + properties: Optional[VirtualMachineScaleSetNetworkConfigurationProperties] + + @overload + def __init__( + self, + *, + name: str, + properties: Optional[VirtualMachineScaleSetNetworkConfigurationProperties] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetNetworkConfigurationDnsSettings(_Model): + dns_servers: Optional[list[str]] + + @overload + def __init__( + self, + *, + dns_servers: Optional[list[str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetNetworkConfigurationProperties(_Model): + auxiliary_mode: Optional[Union[str, NetworkInterfaceAuxiliaryMode]] + auxiliary_sku: Optional[Union[str, NetworkInterfaceAuxiliarySku]] + delete_option: Optional[Union[str, DeleteOptions]] + disable_tcp_state_tracking: Optional[bool] + dns_settings: Optional[VirtualMachineScaleSetNetworkConfigurationDnsSettings] + enable_accelerated_networking: Optional[bool] + enable_fpga: Optional[bool] + enable_ip_forwarding: Optional[bool] + ip_configurations: list[VirtualMachineScaleSetIPConfiguration] + network_security_group: Optional[SubResource] + primary: Optional[bool] + + @overload + def __init__( + self, + *, + auxiliary_mode: Optional[Union[str, NetworkInterfaceAuxiliaryMode]] = ..., + auxiliary_sku: Optional[Union[str, NetworkInterfaceAuxiliarySku]] = ..., + delete_option: Optional[Union[str, DeleteOptions]] = ..., + disable_tcp_state_tracking: Optional[bool] = ..., + dns_settings: Optional[VirtualMachineScaleSetNetworkConfigurationDnsSettings] = ..., + enable_accelerated_networking: Optional[bool] = ..., + enable_fpga: Optional[bool] = ..., + enable_ip_forwarding: Optional[bool] = ..., + ip_configurations: list[VirtualMachineScaleSetIPConfiguration], + network_security_group: Optional[SubResource] = ..., + primary: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetNetworkProfile(_Model): + health_probe: Optional[ApiEntityReference] + network_api_version: Optional[Union[str, NetworkApiVersion]] + network_interface_configurations: Optional[list[VirtualMachineScaleSetNetworkConfiguration]] + + @overload + def __init__( + self, + *, + health_probe: Optional[ApiEntityReference] = ..., + network_api_version: Optional[Union[str, NetworkApiVersion]] = ..., + network_interface_configurations: Optional[list[VirtualMachineScaleSetNetworkConfiguration]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetOSDisk(_Model): + caching: Optional[Union[str, CachingTypes]] + create_option: Union[str, DiskCreateOptionTypes] + delete_option: Optional[Union[str, DiskDeleteOptionTypes]] + diff_disk_settings: Optional[DiffDiskSettings] + disk_size_gb: Optional[int] + image: Optional[VirtualHardDisk] + managed_disk: Optional[VirtualMachineScaleSetManagedDiskParameters] + name: Optional[str] + os_type: Optional[Union[str, OperatingSystemTypes]] + vhd_containers: Optional[list[str]] + write_accelerator_enabled: Optional[bool] + + @overload + def __init__( + self, + *, + caching: Optional[Union[str, CachingTypes]] = ..., + create_option: Union[str, DiskCreateOptionTypes], + delete_option: Optional[Union[str, DiskDeleteOptionTypes]] = ..., + diff_disk_settings: Optional[DiffDiskSettings] = ..., + disk_size_gb: Optional[int] = ..., + image: Optional[VirtualHardDisk] = ..., + managed_disk: Optional[VirtualMachineScaleSetManagedDiskParameters] = ..., + name: Optional[str] = ..., + os_type: Optional[Union[str, OperatingSystemTypes]] = ..., + vhd_containers: Optional[list[str]] = ..., + write_accelerator_enabled: Optional[bool] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetOSProfile(_Model): + admin_password: Optional[str] + admin_username: Optional[str] + allow_extension_operations: Optional[bool] + computer_name_prefix: Optional[str] + custom_data: Optional[str] + linux_configuration: Optional[LinuxConfiguration] + require_guest_provision_signal: Optional[bool] + secrets: Optional[list[VaultSecretGroup]] + windows_configuration: Optional[WindowsConfiguration] + + @overload + def __init__( + self, + *, + admin_password: Optional[str] = ..., + admin_username: Optional[str] = ..., + allow_extension_operations: Optional[bool] = ..., + computer_name_prefix: Optional[str] = ..., + custom_data: Optional[str] = ..., + linux_configuration: Optional[LinuxConfiguration] = ..., + require_guest_provision_signal: Optional[bool] = ..., + secrets: Optional[list[VaultSecretGroup]] = ..., + windows_configuration: Optional[WindowsConfiguration] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetPublicIPAddressConfiguration(_Model): + name: str + properties: Optional[VirtualMachineScaleSetPublicIPAddressConfigurationProperties] + sku: Optional[PublicIPAddressSku] + + @overload + def __init__( + self, + *, + name: str, + properties: Optional[VirtualMachineScaleSetPublicIPAddressConfigurationProperties] = ..., + sku: Optional[PublicIPAddressSku] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings(_Model): + domain_name_label: str + domain_name_label_scope: Optional[Union[str, DomainNameLabelScopeTypes]] + + @overload + def __init__( + self, + *, + domain_name_label: str, + domain_name_label_scope: Optional[Union[str, DomainNameLabelScopeTypes]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetPublicIPAddressConfigurationProperties(_Model): + delete_option: Optional[Union[str, DeleteOptions]] + dns_settings: Optional[VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings] + idle_timeout_in_minutes: Optional[int] + ip_tags: Optional[list[VirtualMachineScaleSetIpTag]] + public_ip_address_version: Optional[Union[str, IPVersion]] + public_ip_prefix: Optional[SubResource] + + @overload + def __init__( + self, + *, + delete_option: Optional[Union[str, DeleteOptions]] = ..., + dns_settings: Optional[VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings] = ..., + idle_timeout_in_minutes: Optional[int] = ..., + ip_tags: Optional[list[VirtualMachineScaleSetIpTag]] = ..., + public_ip_address_version: Optional[Union[str, IPVersion]] = ..., + public_ip_prefix: Optional[SubResource] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VirtualMachineScaleSetStorageProfile(_Model): + data_disks: Optional[list[VirtualMachineScaleSetDataDisk]] + disk_controller_type: Optional[Union[str, DiskControllerTypes]] + image_reference: Optional[ImageReference] + os_disk: Optional[VirtualMachineScaleSetOSDisk] + + @overload + def __init__( + self, + *, + data_disks: Optional[list[VirtualMachineScaleSetDataDisk]] = ..., + disk_controller_type: Optional[Union[str, DiskControllerTypes]] = ..., + image_reference: Optional[ImageReference] = ..., + os_disk: Optional[VirtualMachineScaleSetOSDisk] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.VmSizeProfile(_Model): + name: str + rank: Optional[int] + + @overload + def __init__( + self, + *, + name: str, + rank: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.WinRMConfiguration(_Model): + listeners: Optional[list[WinRMListener]] + + @overload + def __init__( + self, + *, + listeners: Optional[list[WinRMListener]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.WinRMListener(_Model): + certificate_url: Optional[str] + protocol: Optional[Union[str, ProtocolTypes]] + + @overload + def __init__( + self, + *, + certificate_url: Optional[str] = ..., + protocol: Optional[Union[str, ProtocolTypes]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.WindowsConfiguration(_Model): + additional_unattend_content: Optional[list[AdditionalUnattendContent]] + enable_automatic_updates: Optional[bool] + enable_vm_agent_platform_updates: Optional[bool] + patch_settings: Optional[PatchSettings] + provision_vm_agent: Optional[bool] + time_zone: Optional[str] + win_rm: Optional[WinRMConfiguration] + + @overload + def __init__( + self, + *, + additional_unattend_content: Optional[list[AdditionalUnattendContent]] = ..., + enable_automatic_updates: Optional[bool] = ..., + enable_vm_agent_platform_updates: Optional[bool] = ..., + patch_settings: Optional[PatchSettings] = ..., + provision_vm_agent: Optional[bool] = ..., + time_zone: Optional[str] = ..., + win_rm: Optional[WinRMConfiguration] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.WindowsPatchAssessmentMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + IMAGE_DEFAULT = "ImageDefault" + + + class azure.mgmt.computefleet.models.WindowsVMGuestPatchAutomaticByPlatformRebootSetting(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALWAYS = "Always" + IF_REQUIRED = "IfRequired" + NEVER = "Never" + UNKNOWN = "Unknown" + + + class azure.mgmt.computefleet.models.WindowsVMGuestPatchAutomaticByPlatformSettings(_Model): + bypass_platform_safety_checks_on_user_schedule: Optional[bool] + reboot_setting: Optional[Union[str, WindowsVMGuestPatchAutomaticByPlatformRebootSetting]] + + @overload + def __init__( + self, + *, + bypass_platform_safety_checks_on_user_schedule: Optional[bool] = ..., + reboot_setting: Optional[Union[str, WindowsVMGuestPatchAutomaticByPlatformRebootSetting]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.WindowsVMGuestPatchMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC_BY_OS = "AutomaticByOS" + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + MANUAL = "Manual" + + + class azure.mgmt.computefleet.models.ZoneAllocationPolicy(_Model): + distribution_strategy: Union[str, ZoneDistributionStrategy] + zone_preferences: Optional[list[ZonePreference]] + + @overload + def __init__( + self, + *, + distribution_strategy: Union[str, ZoneDistributionStrategy], + zone_preferences: Optional[list[ZonePreference]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.computefleet.models.ZoneDistributionStrategy(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BEST_EFFORT_SINGLE_ZONE = "BestEffortSingleZone" + PRIORITIZED = "Prioritized" + + + class azure.mgmt.computefleet.models.ZonePreference(_Model): + rank: Optional[int] + zone: str + + @overload + def __init__( + self, + *, + rank: Optional[int] = ..., + zone: str + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + +namespace azure.mgmt.computefleet.operations + + class azure.mgmt.computefleet.operations.FleetsOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: Fleet, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: Fleet, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + fleet_name: str, + **kwargs: Any + ) -> LROPoller[None]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: FleetUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: FleetUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + fleet_name: str, + properties: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[Fleet]: ... + + @distributed_trace + def get( + self, + resource_group_name: str, + fleet_name: str, + **kwargs: Any + ) -> Fleet: ... + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> ItemPaged[Fleet]: ... + + @distributed_trace + def list_by_subscription(self, **kwargs: Any) -> ItemPaged[Fleet]: ... + + @distributed_trace + def list_virtual_machine_scale_sets( + self, + resource_group_name: str, + name: str, + **kwargs: Any + ) -> ItemPaged[VirtualMachineScaleSet]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-04-01-preview', params_added_on={'2026-04-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'name', 'filter', 'skiptoken', 'accept']}, api_versions_list=['2026-04-01-preview', '2026-06-01-preview']) + def list_virtual_machines( + self, + resource_group_name: str, + name: str, + *, + filter: Optional[str] = ..., + skiptoken: Optional[str] = ..., + **kwargs: Any + ) -> ItemPaged[VirtualMachine]: ... + + + class azure.mgmt.computefleet.operations.Operations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged[Operation]: ... + + +namespace azure.mgmt.computefleet.types + + class azure.mgmt.computefleet.types.AdditionalCapabilities(TypedDict, total=False): + key "hibernationEnabled": bool + key "ultraSSDEnabled": bool + hibernation_enabled: bool + ultra_ssd_enabled: bool + + + class azure.mgmt.computefleet.types.AdditionalLocationsProfile(TypedDict, total=False): + key "locationProfiles": Required[list[LocationProfile]] + location_profiles: list[LocationProfile] + + + class azure.mgmt.computefleet.types.AdditionalUnattendContent(TypedDict, total=False): + key "componentName": Literal["Microsoft-Windows-Shell-Setup"] + key "content": str + key "passName": Literal["OobeSystem"] + key "settingName": Union[str, SettingNames] + component_name: Literal[Microsoft-Windows-Shell-Setup] + content: str + pass_name: Literal[OobeSystem] + setting_name: Union[str, SettingNames] + + + class azure.mgmt.computefleet.types.ApiEntityReference(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.computefleet.types.ApplicationProfile(TypedDict, total=False): + galleryApplications: list[VMGalleryApplication] + gallery_applications: list[VMGalleryApplication] + + + class azure.mgmt.computefleet.types.BaseVirtualMachineProfile(TypedDict, total=False): + key "applicationProfile": ForwardRef('ApplicationProfile', module='types') + key "capacityReservation": ForwardRef('CapacityReservationProfile', module='types') + key "diagnosticsProfile": ForwardRef('DiagnosticsProfile', module='types') + key "extensionProfile": ForwardRef('VirtualMachineScaleSetExtensionProfile', module='types') + key "hardwareProfile": ForwardRef('VirtualMachineScaleSetHardwareProfile', module='types') + key "licenseType": str + key "networkProfile": ForwardRef('VirtualMachineScaleSetNetworkProfile', module='types') + key "osProfile": ForwardRef('VirtualMachineScaleSetOSProfile', module='types') + key "scheduledEventsProfile": ForwardRef('ScheduledEventsProfile', module='types') + key "securityPostureReference": ForwardRef('SecurityPostureReference', module='types') + key "securityProfile": ForwardRef('SecurityProfile', module='types') + key "serviceArtifactReference": ForwardRef('ServiceArtifactReference', module='types') + key "storageProfile": ForwardRef('VirtualMachineScaleSetStorageProfile', module='types') + key "timeCreated": str + key "userData": str + application_profile: ApplicationProfile + capacity_reservation: CapacityReservationProfile + diagnostics_profile: DiagnosticsProfile + extension_profile: VirtualMachineScaleSetExtensionProfile + hardware_profile: VirtualMachineScaleSetHardwareProfile + license_type: str + network_profile: VirtualMachineScaleSetNetworkProfile + os_profile: VirtualMachineScaleSetOSProfile + scheduled_events_profile: ScheduledEventsProfile + security_posture_reference: SecurityPostureReference + security_profile: SecurityProfile + service_artifact_reference: ServiceArtifactReference + storage_profile: VirtualMachineScaleSetStorageProfile + time_created: str + user_data: str + + + class azure.mgmt.computefleet.types.BootDiagnostics(TypedDict, total=False): + key "enabled": bool + key "storageUri": str + enabled: bool + storage_uri: str + + + class azure.mgmt.computefleet.types.CapacityReservationProfile(TypedDict, total=False): + key "capacityReservationGroup": ForwardRef('SubResource', module='types') + capacity_reservation_group: SubResource + + + class azure.mgmt.computefleet.types.ComputeProfile(TypedDict, total=False): + key "additionalVirtualMachineCapabilities": ForwardRef('AdditionalCapabilities', module='types') + key "baseVirtualMachineProfile": Required[BaseVirtualMachineProfile] + key "computeApiVersion": str + key "platformFaultDomainCount": int + additional_virtual_machine_capabilities: AdditionalCapabilities + base_virtual_machine_profile: BaseVirtualMachineProfile + compute_api_version: str + platform_fault_domain_count: int + + + class azure.mgmt.computefleet.types.DiagnosticsProfile(TypedDict, total=False): + key "bootDiagnostics": ForwardRef('BootDiagnostics', module='types') + boot_diagnostics: BootDiagnostics + + + class azure.mgmt.computefleet.types.DiffDiskSettings(TypedDict, total=False): + key "option": Union[str, DiffDiskOptions] + key "placement": Union[str, DiffDiskPlacement] + option: Union[str, DiffDiskOptions] + placement: Union[str, DiffDiskPlacement] + + + class azure.mgmt.computefleet.types.DiskEncryptionSetParameters(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.computefleet.types.EncryptionIdentity(TypedDict, total=False): + key "userAssignedIdentityResourceId": str + user_assigned_identity_resource_id: str + + + class azure.mgmt.computefleet.types.Fleet(TrackedResource): + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "location": Required[str] + key "name": str + key "plan": ForwardRef('Plan', module='types') + key "properties": ForwardRef('FleetProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + identity: ManagedServiceIdentity + location: str + name: str + plan: Plan + properties: FleetProperties + system_data: SystemData + tags: dict[str, str] + type: str + zones: list[str] + + + class azure.mgmt.computefleet.types.FleetProperties(TypedDict, total=False): + key "additionalLocationsProfile": ForwardRef('AdditionalLocationsProfile', module='types') + key "capacityType": Union[str, CapacityType] + key "computeProfile": Required[ComputeProfile] + key "mode": Union[str, FleetMode] + key "provisioningState": Union[str, ProvisioningState] + key "regularPriorityProfile": ForwardRef('RegularPriorityProfile', module='types') + key "spotPriorityProfile": ForwardRef('SpotPriorityProfile', module='types') + key "timeCreated": str + key "uniqueId": str + key "vmAttributes": ForwardRef('VMAttributes', module='types') + key "vmNamePrefix": str + key "vmSizesProfile": Required[list[VmSizeProfile]] + key "zoneAllocationPolicy": ForwardRef('ZoneAllocationPolicy', module='types') + additional_locations_profile: AdditionalLocationsProfile + capacity_type: Union[str, CapacityType] + compute_profile: ComputeProfile + mode: Union[str, FleetMode] + provisioning_state: Union[str, ProvisioningState] + regular_priority_profile: RegularPriorityProfile + spot_priority_profile: SpotPriorityProfile + time_created: str + unique_id: str + vm_attributes: VMAttributes + vm_name_prefix: str + vm_sizes_profile: list[VmSizeProfile] + zone_allocation_policy: ZoneAllocationPolicy + + + class azure.mgmt.computefleet.types.FleetUpdate(TypedDict, total=False): + key "identity": ForwardRef('ManagedServiceIdentityUpdate', module='types') + key "plan": ForwardRef('ResourcePlanUpdate', module='types') + key "properties": ForwardRef('FleetProperties', module='types') + identity: ManagedServiceIdentityUpdate + plan: ResourcePlanUpdate + properties: FleetProperties + tags: dict[str, str] + + + class azure.mgmt.computefleet.types.ImageReference(TypedDict, total=False): + key "communityGalleryImageId": str + key "exactVersion": str + key "id": str + key "offer": str + key "publisher": str + key "sharedGalleryImageId": str + key "sku": str + key "version": str + community_gallery_image_id: str + exact_version: str + id: str + offer: str + publisher: str + shared_gallery_image_id: str + sku: str + version: str + + + class azure.mgmt.computefleet.types.KeyVaultSecretReference(TypedDict, total=False): + key "secretUrl": Required[str] + key "sourceVault": Required[SubResource] + secret_url: str + source_vault: SubResource + + + class azure.mgmt.computefleet.types.LinuxConfiguration(TypedDict, total=False): + key "disablePasswordAuthentication": bool + key "enableVMAgentPlatformUpdates": bool + key "patchSettings": ForwardRef('LinuxPatchSettings', module='types') + key "provisionVMAgent": bool + key "ssh": ForwardRef('SshConfiguration', module='types') + disable_password_authentication: bool + enable_vm_agent_platform_updates: bool + patch_settings: LinuxPatchSettings + provision_vm_agent: bool + ssh: SshConfiguration + + + class azure.mgmt.computefleet.types.LinuxPatchSettings(TypedDict, total=False): + key "assessmentMode": Union[str, LinuxPatchAssessmentMode] + key "automaticByPlatformSettings": ForwardRef('LinuxVMGuestPatchAutomaticByPlatformSettings', module='types') + key "patchMode": Union[str, LinuxVMGuestPatchMode] + assessment_mode: Union[str, LinuxPatchAssessmentMode] + automatic_by_platform_settings: LinuxVMGuestPatchAutomaticByPlatformSettings + patch_mode: Union[str, LinuxVMGuestPatchMode] + + + class azure.mgmt.computefleet.types.LinuxVMGuestPatchAutomaticByPlatformSettings(TypedDict, total=False): + key "bypassPlatformSafetyChecksOnUserSchedule": bool + key "rebootSetting": Union[str, LinuxVMGuestPatchAutomaticByPlatformRebootSetting] + bypass_platform_safety_checks_on_user_schedule: bool + reboot_setting: Union[str, LinuxVMGuestPatchAutomaticByPlatformRebootSetting] + + + class azure.mgmt.computefleet.types.LocationProfile(TypedDict, total=False): + key "location": Required[str] + key "virtualMachineProfileOverride": ForwardRef('BaseVirtualMachineProfile', module='types') + location: str + virtual_machine_profile_override: BaseVirtualMachineProfile + + + class azure.mgmt.computefleet.types.ManagedServiceIdentity(TypedDict, total=False): + key "principalId": str + key "tenantId": str + key "type": Required[Union[str, ManagedServiceIdentityType]] + principal_id: str + tenant_id: str + type: Union[str, ManagedServiceIdentityType] + userAssignedIdentities: dict[str, UserAssignedIdentity] + user_assigned_identities: dict[str, UserAssignedIdentity] + + + class azure.mgmt.computefleet.types.ManagedServiceIdentityUpdate(TypedDict, total=False): + key "type": Union[str, ManagedServiceIdentityType] + type: Union[str, ManagedServiceIdentityType] + userAssignedIdentities: dict[str, UserAssignedIdentity] + user_assigned_identities: dict[str, UserAssignedIdentity] + + + class azure.mgmt.computefleet.types.OSImageNotificationProfile(TypedDict, total=False): + key "enable": bool + key "notBeforeTimeout": str + enable: bool + not_before_timeout: str + + + class azure.mgmt.computefleet.types.PatchSettings(TypedDict, total=False): + key "assessmentMode": Union[str, WindowsPatchAssessmentMode] + key "automaticByPlatformSettings": ForwardRef('WindowsVMGuestPatchAutomaticByPlatformSettings', module='types') + key "enableHotpatching": bool + key "patchMode": Union[str, WindowsVMGuestPatchMode] + assessment_mode: Union[str, WindowsPatchAssessmentMode] + automatic_by_platform_settings: WindowsVMGuestPatchAutomaticByPlatformSettings + enable_hotpatching: bool + patch_mode: Union[str, WindowsVMGuestPatchMode] + + + class azure.mgmt.computefleet.types.Plan(TypedDict, total=False): + key "name": Required[str] + key "product": Required[str] + key "promotionCode": str + key "publisher": Required[str] + key "version": str + name: str + product: str + promotion_code: str + publisher: str + version: str + + + class azure.mgmt.computefleet.types.ProxyAgentSettings(TypedDict, total=False): + key "enabled": bool + key "keyIncarnationId": int + key "mode": Union[str, Mode] + enabled: bool + key_incarnation_id: int + mode: Union[str, Mode] + + + class azure.mgmt.computefleet.types.PublicIPAddressSku(TypedDict, total=False): + key "name": Union[str, PublicIPAddressSkuName] + key "tier": Union[str, PublicIPAddressSkuTier] + name: Union[str, PublicIPAddressSkuName] + tier: Union[str, PublicIPAddressSkuTier] + + + class azure.mgmt.computefleet.types.RegularPriorityProfile(TypedDict, total=False): + key "allocationStrategy": Union[str, RegularPriorityAllocationStrategy] + key "capacity": int + key "minCapacity": int + allocation_strategy: Union[str, RegularPriorityAllocationStrategy] + capacity: int + min_capacity: int + + + class azure.mgmt.computefleet.types.Resource(TypedDict, total=False): + key "id": str + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + system_data: SystemData + type: str + + + class azure.mgmt.computefleet.types.ResourcePlanUpdate(TypedDict, total=False): + key "name": str + key "product": str + key "promotionCode": str + key "publisher": str + key "version": str + name: str + product: str + promotion_code: str + publisher: str + version: str + + + class azure.mgmt.computefleet.types.ScheduledEventsProfile(TypedDict, total=False): + key "osImageNotificationProfile": ForwardRef('OSImageNotificationProfile', module='types') + key "terminateNotificationProfile": ForwardRef('TerminateNotificationProfile', module='types') + os_image_notification_profile: OSImageNotificationProfile + terminate_notification_profile: TerminateNotificationProfile + + + class azure.mgmt.computefleet.types.SecurityPostureReference(TypedDict, total=False): + key "id": str + key "isOverridable": bool + excludeExtensions: list[str] + exclude_extensions: list[str] + id: str + is_overridable: bool + + + class azure.mgmt.computefleet.types.SecurityProfile(TypedDict, total=False): + key "encryptionAtHost": bool + key "encryptionIdentity": ForwardRef('EncryptionIdentity', module='types') + key "proxyAgentSettings": ForwardRef('ProxyAgentSettings', module='types') + key "securityType": Union[str, SecurityTypes] + key "uefiSettings": ForwardRef('UefiSettings', module='types') + encryption_at_host: bool + encryption_identity: EncryptionIdentity + proxy_agent_settings: ProxyAgentSettings + security_type: Union[str, SecurityTypes] + uefi_settings: UefiSettings + + + class azure.mgmt.computefleet.types.ServiceArtifactReference(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.computefleet.types.SpotPriorityProfile(TypedDict, total=False): + key "allocationStrategy": Union[str, SpotAllocationStrategy] + key "capacity": int + key "evictionPolicy": Union[str, EvictionPolicy] + key "maintain": bool + key "maxPricePerVM": float + key "minCapacity": int + allocation_strategy: Union[str, SpotAllocationStrategy] + capacity: int + eviction_policy: Union[str, EvictionPolicy] + maintain: bool + max_price_per_vm: float + min_capacity: int + + + class azure.mgmt.computefleet.types.SshConfiguration(TypedDict, total=False): + publicKeys: list[SshPublicKey] + public_keys: list[SshPublicKey] + + + class azure.mgmt.computefleet.types.SshPublicKey(TypedDict, total=False): + key "keyData": str + key "path": str + key_data: str + path: str + + + class azure.mgmt.computefleet.types.SubResource(TypedDict, total=False): + key "id": str + id: str + + + class azure.mgmt.computefleet.types.SystemData(TypedDict, total=False): + key "createdAt": str + key "createdBy": str + key "createdByType": Union[str, CreatedByType] + key "lastModifiedAt": str + key "lastModifiedBy": str + key "lastModifiedByType": Union[str, CreatedByType] + created_at: str + created_by: str + created_by_type: Union[str, CreatedByType] + last_modified_at: str + last_modified_by: str + last_modified_by_type: Union[str, CreatedByType] + + + class azure.mgmt.computefleet.types.TerminateNotificationProfile(TypedDict, total=False): + key "enable": bool + key "notBeforeTimeout": str + enable: bool + not_before_timeout: str + + + class azure.mgmt.computefleet.types.TrackedResource(Resource): + key "id": str + key "location": Required[str] + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + location: str + name: str + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.computefleet.types.UefiSettings(TypedDict, total=False): + key "secureBootEnabled": bool + key "vTpmEnabled": bool + secure_boot_enabled: bool + v_tpm_enabled: bool + + + class azure.mgmt.computefleet.types.UserAssignedIdentity(TypedDict, total=False): + key "clientId": str + key "principalId": str + client_id: str + principal_id: str + + + class azure.mgmt.computefleet.types.VMAttributeMinMaxDouble(TypedDict, total=False): + key "max": float + key "min": float + max: float + min: float + + + class azure.mgmt.computefleet.types.VMAttributeMinMaxInteger(TypedDict, total=False): + key "max": int + key "min": int + max: int + min: int + + + class azure.mgmt.computefleet.types.VMAttributes(TypedDict, total=False): + key "acceleratorCount": ForwardRef('VMAttributeMinMaxInteger', module='types') + key "acceleratorSupport": Union[str, VMAttributeSupport] + key "burstableSupport": Union[str, VMAttributeSupport] + key "dataDiskCount": ForwardRef('VMAttributeMinMaxInteger', module='types') + key "localStorageInGiB": ForwardRef('VMAttributeMinMaxDouble', module='types') + key "localStorageSupport": Union[str, VMAttributeSupport] + key "memoryInGiB": Required[VMAttributeMinMaxDouble] + key "memoryInGiBPerVCpu": ForwardRef('VMAttributeMinMaxDouble', module='types') + key "networkBandwidthInMbps": ForwardRef('VMAttributeMinMaxDouble', module='types') + key "networkInterfaceCount": ForwardRef('VMAttributeMinMaxInteger', module='types') + key "rdmaNetworkInterfaceCount": ForwardRef('VMAttributeMinMaxInteger', module='types') + key "rdmaSupport": Union[str, VMAttributeSupport] + key "vCpuCount": Required[VMAttributeMinMaxInteger] + acceleratorManufacturers: list[Union[str, AcceleratorManufacturer]] + acceleratorTypes: list[Union[str, AcceleratorType]] + accelerator_count: VMAttributeMinMaxInteger + accelerator_manufacturers: list[Union[str, AcceleratorManufacturer]] + accelerator_support: Union[str, VMAttributeSupport] + accelerator_types: list[Union[str, AcceleratorType]] + architectureTypes: list[Union[str, ArchitectureType]] + architecture_types: list[Union[str, ArchitectureType]] + burstable_support: Union[str, VMAttributeSupport] + cpuManufacturers: list[Union[str, CpuManufacturer]] + cpu_manufacturers: list[Union[str, CpuManufacturer]] + data_disk_count: VMAttributeMinMaxInteger + excludedVMSizes: list[str] + excluded_vm_sizes: list[str] + localStorageDiskTypes: list[Union[str, LocalStorageDiskType]] + local_storage_disk_types: list[Union[str, LocalStorageDiskType]] + local_storage_in_gi_b: VMAttributeMinMaxDouble + local_storage_support: Union[str, VMAttributeSupport] + memory_in_gi_b: VMAttributeMinMaxDouble + memory_in_gi_b_per_v_cpu: VMAttributeMinMaxDouble + network_bandwidth_in_mbps: VMAttributeMinMaxDouble + network_interface_count: VMAttributeMinMaxInteger + rdma_network_interface_count: VMAttributeMinMaxInteger + rdma_support: Union[str, VMAttributeSupport] + v_cpu_count: VMAttributeMinMaxInteger + vmCategories: list[Union[str, VMCategory]] + vm_categories: list[Union[str, VMCategory]] + + + class azure.mgmt.computefleet.types.VMDiskSecurityProfile(TypedDict, total=False): + key "diskEncryptionSet": ForwardRef('DiskEncryptionSetParameters', module='types') + key "securityEncryptionType": Union[str, SecurityEncryptionTypes] + disk_encryption_set: DiskEncryptionSetParameters + security_encryption_type: Union[str, SecurityEncryptionTypes] + + + class azure.mgmt.computefleet.types.VMGalleryApplication(TypedDict, total=False): + key "configurationReference": str + key "enableAutomaticUpgrade": bool + key "order": int + key "packageReferenceId": Required[str] + key "tags": str + key "treatFailureAsDeploymentFailure": bool + configuration_reference: str + enable_automatic_upgrade: bool + order: int + package_reference_id: str + tags: str + treat_failure_as_deployment_failure: bool + + + class azure.mgmt.computefleet.types.VMSizeProperties(TypedDict, total=False): + key "vCPUsAvailable": int + key "vCPUsPerCore": int + v_cpus_available: int + v_cpus_per_core: int + + + class azure.mgmt.computefleet.types.VaultCertificate(TypedDict, total=False): + key "certificateStore": str + key "certificateUrl": str + certificate_store: str + certificate_url: str + + + class azure.mgmt.computefleet.types.VaultSecretGroup(TypedDict, total=False): + key "sourceVault": ForwardRef('SubResource', module='types') + source_vault: SubResource + vaultCertificates: list[VaultCertificate] + vault_certificates: list[VaultCertificate] + + + class azure.mgmt.computefleet.types.VirtualHardDisk(TypedDict, total=False): + key "uri": str + uri: str + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetDataDisk(TypedDict, total=False): + key "caching": Union[str, CachingTypes] + key "createOption": Required[Union[str, DiskCreateOptionTypes]] + key "deleteOption": Union[str, DiskDeleteOptionTypes] + key "diskIOPSReadWrite": int + key "diskMBpsReadWrite": int + key "diskSizeGB": int + key "lun": Required[int] + key "managedDisk": ForwardRef('VirtualMachineScaleSetManagedDiskParameters', module='types') + key "name": str + key "writeAcceleratorEnabled": bool + caching: Union[str, CachingTypes] + create_option: Union[str, DiskCreateOptionTypes] + delete_option: Union[str, DiskDeleteOptionTypes] + disk_iops_read_write: int + disk_m_bps_read_write: int + disk_size_gb: int + lun: int + managed_disk: VirtualMachineScaleSetManagedDiskParameters + name: str + write_accelerator_enabled: bool + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetExtension(TypedDict, total=False): + key "id": str + key "name": str + key "properties": ForwardRef('VirtualMachineScaleSetExtensionProperties', module='types') + key "type": str + id: str + name: str + properties: VirtualMachineScaleSetExtensionProperties + type: str + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetExtensionProfile(TypedDict, total=False): + key "extensionsTimeBudget": str + extensions: list[VirtualMachineScaleSetExtension] + extensions_time_budget: str + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetExtensionProperties(TypedDict, total=False): + key "autoUpgradeMinorVersion": bool + key "enableAutomaticUpgrade": bool + key "forceUpdateTag": str + key "protectedSettingsFromKeyVault": ForwardRef('KeyVaultSecretReference', module='types') + key "provisioningState": str + key "publisher": str + key "suppressFailures": bool + key "type": str + key "typeHandlerVersion": str + auto_upgrade_minor_version: bool + enable_automatic_upgrade: bool + force_update_tag: str + protectedSettings: dict[str, Any] + protected_settings: dict[str, Any] + protected_settings_from_key_vault: KeyVaultSecretReference + provisionAfterExtensions: list[str] + provision_after_extensions: list[str] + provisioning_state: str + publisher: str + settings: dict[str, Any] + suppress_failures: bool + type: str + type_handler_version: str + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetHardwareProfile(TypedDict, total=False): + key "vmSizeProperties": ForwardRef('VMSizeProperties', module='types') + vm_size_properties: VMSizeProperties + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetIPConfiguration(TypedDict, total=False): + key "name": Required[str] + key "properties": ForwardRef('VirtualMachineScaleSetIPConfigurationProperties', module='types') + name: str + properties: VirtualMachineScaleSetIPConfigurationProperties + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetIPConfigurationProperties(TypedDict, total=False): + key "primary": bool + key "privateIPAddressVersion": Union[str, IPVersion] + key "publicIPAddressConfiguration": ForwardRef('VirtualMachineScaleSetPublicIPAddressConfiguration', module='types') + key "subnet": ForwardRef('ApiEntityReference', module='types') + applicationGatewayBackendAddressPools: list[SubResource] + applicationSecurityGroups: list[SubResource] + application_gateway_backend_address_pools: list[SubResource] + application_security_groups: list[SubResource] + loadBalancerBackendAddressPools: list[SubResource] + loadBalancerInboundNatPools: list[SubResource] + load_balancer_backend_address_pools: list[SubResource] + load_balancer_inbound_nat_pools: list[SubResource] + primary: bool + private_ip_address_version: Union[str, IPVersion] + public_ip_address_configuration: VirtualMachineScaleSetPublicIPAddressConfiguration + subnet: ApiEntityReference + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetIpTag(TypedDict, total=False): + key "ipTagType": str + key "tag": str + ip_tag_type: str + tag: str + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetManagedDiskParameters(TypedDict, total=False): + key "diskEncryptionSet": ForwardRef('DiskEncryptionSetParameters', module='types') + key "securityProfile": ForwardRef('VMDiskSecurityProfile', module='types') + key "storageAccountType": Union[str, StorageAccountTypes] + disk_encryption_set: DiskEncryptionSetParameters + security_profile: VMDiskSecurityProfile + storage_account_type: Union[str, StorageAccountTypes] + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetNetworkConfiguration(TypedDict, total=False): + key "name": Required[str] + key "properties": ForwardRef('VirtualMachineScaleSetNetworkConfigurationProperties', module='types') + name: str + properties: VirtualMachineScaleSetNetworkConfigurationProperties + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetNetworkConfigurationDnsSettings(TypedDict, total=False): + dnsServers: list[str] + dns_servers: list[str] + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetNetworkConfigurationProperties(TypedDict, total=False): + key "auxiliaryMode": Union[str, NetworkInterfaceAuxiliaryMode] + key "auxiliarySku": Union[str, NetworkInterfaceAuxiliarySku] + key "deleteOption": Union[str, DeleteOptions] + key "disableTcpStateTracking": bool + key "dnsSettings": ForwardRef('VirtualMachineScaleSetNetworkConfigurationDnsSettings', module='types') + key "enableAcceleratedNetworking": bool + key "enableFpga": bool + key "enableIPForwarding": bool + key "ipConfigurations": Required[list[VirtualMachineScaleSetIPConfiguration]] + key "networkSecurityGroup": ForwardRef('SubResource', module='types') + key "primary": bool + auxiliary_mode: Union[str, NetworkInterfaceAuxiliaryMode] + auxiliary_sku: Union[str, NetworkInterfaceAuxiliarySku] + delete_option: Union[str, DeleteOptions] + disable_tcp_state_tracking: bool + dns_settings: VirtualMachineScaleSetNetworkConfigurationDnsSettings + enable_accelerated_networking: bool + enable_fpga: bool + enable_ip_forwarding: bool + ip_configurations: list[VirtualMachineScaleSetIPConfiguration] + network_security_group: SubResource + primary: bool + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetNetworkProfile(TypedDict, total=False): + key "healthProbe": ForwardRef('ApiEntityReference', module='types') + key "networkApiVersion": Union[str, NetworkApiVersion] + health_probe: ApiEntityReference + networkInterfaceConfigurations: list[VirtualMachineScaleSetNetworkConfiguration] + network_api_version: Union[str, NetworkApiVersion] + network_interface_configurations: list[VirtualMachineScaleSetNetworkConfiguration] + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetOSDisk(TypedDict, total=False): + key "caching": Union[str, CachingTypes] + key "createOption": Required[Union[str, DiskCreateOptionTypes]] + key "deleteOption": Union[str, DiskDeleteOptionTypes] + key "diffDiskSettings": ForwardRef('DiffDiskSettings', module='types') + key "diskSizeGB": int + key "image": ForwardRef('VirtualHardDisk', module='types') + key "managedDisk": ForwardRef('VirtualMachineScaleSetManagedDiskParameters', module='types') + key "name": str + key "osType": Union[str, OperatingSystemTypes] + key "writeAcceleratorEnabled": bool + caching: Union[str, CachingTypes] + create_option: Union[str, DiskCreateOptionTypes] + delete_option: Union[str, DiskDeleteOptionTypes] + diff_disk_settings: DiffDiskSettings + disk_size_gb: int + image: VirtualHardDisk + managed_disk: VirtualMachineScaleSetManagedDiskParameters + name: str + os_type: Union[str, OperatingSystemTypes] + vhdContainers: list[str] + vhd_containers: list[str] + write_accelerator_enabled: bool + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetOSProfile(TypedDict, total=False): + key "adminPassword": str + key "adminUsername": str + key "allowExtensionOperations": bool + key "computerNamePrefix": str + key "customData": str + key "linuxConfiguration": ForwardRef('LinuxConfiguration', module='types') + key "requireGuestProvisionSignal": bool + key "windowsConfiguration": ForwardRef('WindowsConfiguration', module='types') + admin_password: str + admin_username: str + allow_extension_operations: bool + computer_name_prefix: str + custom_data: str + linux_configuration: LinuxConfiguration + require_guest_provision_signal: bool + secrets: list[VaultSecretGroup] + windows_configuration: WindowsConfiguration + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetPublicIPAddressConfiguration(TypedDict, total=False): + key "name": Required[str] + key "properties": ForwardRef('VirtualMachineScaleSetPublicIPAddressConfigurationProperties', module='types') + key "sku": ForwardRef('PublicIPAddressSku', module='types') + name: str + properties: VirtualMachineScaleSetPublicIPAddressConfigurationProperties + sku: PublicIPAddressSku + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings(TypedDict, total=False): + key "domainNameLabel": Required[str] + key "domainNameLabelScope": Union[str, DomainNameLabelScopeTypes] + domain_name_label: str + domain_name_label_scope: Union[str, DomainNameLabelScopeTypes] + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetPublicIPAddressConfigurationProperties(TypedDict, total=False): + key "deleteOption": Union[str, DeleteOptions] + key "dnsSettings": ForwardRef('VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings', module='types') + key "idleTimeoutInMinutes": int + key "publicIPAddressVersion": Union[str, IPVersion] + key "publicIPPrefix": ForwardRef('SubResource', module='types') + delete_option: Union[str, DeleteOptions] + dns_settings: VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings + idle_timeout_in_minutes: int + ipTags: list[VirtualMachineScaleSetIpTag] + ip_tags: list[VirtualMachineScaleSetIpTag] + public_ip_address_version: Union[str, IPVersion] + public_ip_prefix: SubResource + + + class azure.mgmt.computefleet.types.VirtualMachineScaleSetStorageProfile(TypedDict, total=False): + key "diskControllerType": Union[str, DiskControllerTypes] + key "imageReference": ForwardRef('ImageReference', module='types') + key "osDisk": ForwardRef('VirtualMachineScaleSetOSDisk', module='types') + dataDisks: list[VirtualMachineScaleSetDataDisk] + data_disks: list[VirtualMachineScaleSetDataDisk] + disk_controller_type: Union[str, DiskControllerTypes] + image_reference: ImageReference + os_disk: VirtualMachineScaleSetOSDisk + + + class azure.mgmt.computefleet.types.VmSizeProfile(TypedDict, total=False): + key "name": Required[str] + key "rank": int + name: str + rank: int + + + class azure.mgmt.computefleet.types.WinRMConfiguration(TypedDict, total=False): + listeners: list[WinRMListener] + + + class azure.mgmt.computefleet.types.WinRMListener(TypedDict, total=False): + key "certificateUrl": str + key "protocol": Union[str, ProtocolTypes] + certificate_url: str + protocol: Union[str, ProtocolTypes] + + + class azure.mgmt.computefleet.types.WindowsConfiguration(TypedDict, total=False): + key "enableAutomaticUpdates": bool + key "enableVMAgentPlatformUpdates": bool + key "patchSettings": ForwardRef('PatchSettings', module='types') + key "provisionVMAgent": bool + key "timeZone": str + key "winRM": ForwardRef('WinRMConfiguration', module='types') + additionalUnattendContent: list[AdditionalUnattendContent] + additional_unattend_content: list[AdditionalUnattendContent] + enable_automatic_updates: bool + enable_vm_agent_platform_updates: bool + patch_settings: PatchSettings + provision_vm_agent: bool + time_zone: str + win_rm: WinRMConfiguration + + + class azure.mgmt.computefleet.types.WindowsVMGuestPatchAutomaticByPlatformSettings(TypedDict, total=False): + key "bypassPlatformSafetyChecksOnUserSchedule": bool + key "rebootSetting": Union[str, WindowsVMGuestPatchAutomaticByPlatformRebootSetting] + bypass_platform_safety_checks_on_user_schedule: bool + reboot_setting: Union[str, WindowsVMGuestPatchAutomaticByPlatformRebootSetting] + + + class azure.mgmt.computefleet.types.ZoneAllocationPolicy(TypedDict, total=False): + key "distributionStrategy": Required[Union[str, ZoneDistributionStrategy]] + distribution_strategy: Union[str, ZoneDistributionStrategy] + zonePreferences: list[ZonePreference] + zone_preferences: list[ZonePreference] + + + class azure.mgmt.computefleet.types.ZonePreference(TypedDict, total=False): + key "rank": int + key "zone": Required[str] + rank: int + zone: str + + +``` \ No newline at end of file diff --git a/sdk/computefleet/azure-mgmt-computefleet/api.metadata.yml b/sdk/computefleet/azure-mgmt-computefleet/api.metadata.yml new file mode 100644 index 000000000000..3912245db889 --- /dev/null +++ b/sdk/computefleet/azure-mgmt-computefleet/api.metadata.yml @@ -0,0 +1,3 @@ +apiMdSha256: 7d24169f293366a16718e79e64adffec101ecd1bfa12971b0cff7444665a5607 +parserVersion: 0.3.30 +pythonVersion: 3.13.14 diff --git a/sdk/computefleet/azure-mgmt-computefleet/apiview-properties.json b/sdk/computefleet/azure-mgmt-computefleet/apiview-properties.json index 0467bafc9d1e..c523f7fde48e 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/apiview-properties.json +++ b/sdk/computefleet/azure-mgmt-computefleet/apiview-properties.json @@ -156,5 +156,5 @@ "azure.mgmt.computefleet.operations.FleetsOperations.list_virtual_machines": "Microsoft.AzureFleet.Fleets.listVirtualMachines", "azure.mgmt.computefleet.aio.operations.FleetsOperations.list_virtual_machines": "Microsoft.AzureFleet.Fleets.listVirtualMachines" }, - "CrossLanguageVersion": "55f76b91a14c" + "CrossLanguageVersion": "00987c1e98fa" } \ No newline at end of file diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_client.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_client.py index eade93385be3..dd53ed60ab4a 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_client.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_client.py @@ -48,7 +48,7 @@ class ComputeFleetMgmtClient: None. :paramtype cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-06-01-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_configuration.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_configuration.py index f3e28d314230..d35735fe2e90 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_configuration.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_configuration.py @@ -34,7 +34,7 @@ class ComputeFleetMgmtClientConfiguration: # pylint: disable=too-many-instance- None. :type cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-06-01-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -48,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-04-01-preview") + api_version: str = kwargs.pop("api_version", "2026-06-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_patch.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_patch.py index ea765788358a..87676c65a8f0 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_patch.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_patch.py @@ -8,6 +8,7 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ + __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/model_base.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/model_base.py index d725c55906d3..0f2c5bdfe70f 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/model_base.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/model_base.py @@ -109,6 +109,29 @@ def _serialize_bytes(o, format: typing.Optional[str] = None) -> str: return encoded +def _serialize_duration(td: timedelta, format: typing.Optional[str] = None): + """Serialize a timedelta to its wire representation. + + For the ``seconds``/``milliseconds`` encodings the value is converted to a + numeric value, otherwise it falls back to an ISO 8601 duration string. + + :param timedelta td: The timedelta to serialize. + :param str format: The duration encoding format. + :rtype: int or float or str + :return: serialized duration + """ + seconds = td.total_seconds() + if format == "duration-seconds-int": + return int(seconds) + if format == "duration-seconds-float": + return seconds + if format == "duration-milliseconds-int": + return int(seconds * 1000) + if format == "duration-milliseconds-float": + return seconds * 1000 + return _timedelta_as_isostr(td) + + def _serialize_datetime(o, format: typing.Optional[str] = None): if hasattr(o, "year") and hasattr(o, "hour"): if format == "rfc7231": @@ -301,6 +324,12 @@ def _deserialize_duration(attr): return isodate.parse_duration(attr) +def _deserialize_duration_numeric(attr, unit): + if isinstance(attr, timedelta): + return attr + return timedelta(**{unit: float(attr)}) + + def _deserialize_decimal(attr): if isinstance(attr, decimal.Decimal): return attr @@ -330,6 +359,10 @@ def _deserialize_int_as_str(attr): "unix-timestamp": _deserialize_datetime_unix_timestamp, "base64": _deserialize_bytes, "base64url": _deserialize_bytes_base64, + "duration-seconds-int": functools.partial(_deserialize_duration_numeric, unit="seconds"), + "duration-seconds-float": functools.partial(_deserialize_duration_numeric, unit="seconds"), + "duration-milliseconds-int": functools.partial(_deserialize_duration_numeric, unit="milliseconds"), + "duration-milliseconds-float": functools.partial(_deserialize_duration_numeric, unit="milliseconds"), } @@ -425,21 +458,21 @@ def __ne__(self, other: typing.Any) -> bool: def keys(self) -> typing.KeysView[str]: """ - :returns: a set-like object providing a view on D's keys + :returns: a set-like object providing a view on the mapping's keys :rtype: ~typing.KeysView """ return self._data.keys() def values(self) -> typing.ValuesView[typing.Any]: """ - :returns: an object providing a view on D's values + :returns: an object providing a view on the mapping's values :rtype: ~typing.ValuesView """ return self._data.values() def items(self) -> typing.ItemsView[str, typing.Any]: """ - :returns: set-like object providing a view on D's items + :returns: a set-like object providing a view on the mapping's items :rtype: ~typing.ItemsView """ return self._data.items() @@ -449,7 +482,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any: Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ try: @@ -484,19 +517,19 @@ def popitem(self) -> tuple[str, typing.Any]: Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple - :raises KeyError: if D is empty. + :raises KeyError: if the dictionary is empty. """ return self._data.popitem() def clear(self) -> None: """ - Remove all items from D. + Remove all items from the dictionary. """ self._data.clear() def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ """ - Updates D from mapping/iterable E and F. + Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs. """ self._data.update(*args, **kwargs) @@ -509,10 +542,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: """ - Same as calling D.get(k, d), and setting D[k]=d if k not found + Return the value for key if key is in the dictionary; otherwise set the key to + default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ if default is _UNSET: @@ -564,7 +598,7 @@ def _serialize(o, format: typing.Optional[str] = None): # pylint: disable=too-m pass # Last, try datetime.timedelta try: - return _timedelta_as_isostr(o) + return _serialize_duration(o, format) except AttributeError: # This will be raised when it hits value.total_seconds in the method above pass diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/serialization.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/serialization.py index a088671e9c51..75906e2eb77f 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/serialization.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_utils/serialization.py @@ -520,6 +520,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: "rfc-1123": Serializer.serialize_rfc, "unix-time": Serializer.serialize_unix, "duration": Serializer.serialize_duration, + "duration-seconds-int": Serializer.serialize_duration_seconds_int, + "duration-seconds-float": Serializer.serialize_duration_seconds_float, + "duration-milliseconds-int": Serializer.serialize_duration_milliseconds_int, + "duration-milliseconds-float": Serializer.serialize_duration_milliseconds_float, "date": Serializer.serialize_date, "time": Serializer.serialize_time, "decimal": Serializer.serialize_decimal, @@ -1109,6 +1113,61 @@ def serialize_duration(attr, **kwargs): # pylint: disable=unused-argument attr = isodate.parse_duration(attr) return isodate.duration_isoformat(attr) + @staticmethod + def _serialize_duration_numeric(attr, scale, as_int): + """Serialize a TimeDelta into a numeric value scaled to the wire unit. + + :param TimeDelta attr: Object to be serialized. + :param int scale: Multiplier applied to total seconds (1 for seconds, 1000 for milliseconds). + :param bool as_int: Whether to truncate the result to an int. + :rtype: int or float + :return: serialized duration + """ + if isinstance(attr, str): + attr = isodate.parse_duration(attr) + value = attr.total_seconds() * scale if isinstance(attr, datetime.timedelta) else attr + return int(value) if as_int else float(value) + + @staticmethod + def serialize_duration_seconds_int(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into an integer number of seconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: int + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1, True) + + @staticmethod + def serialize_duration_seconds_float(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into a floating point number of seconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: float + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1, False) + + @staticmethod + def serialize_duration_milliseconds_int(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into an integer number of milliseconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: int + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1000, True) + + @staticmethod + def serialize_duration_milliseconds_float(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into a floating point number of milliseconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: float + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1000, False) + @staticmethod def serialize_rfc(attr, **kwargs): # pylint: disable=unused-argument """Serialize Datetime object into RFC-1123 formatted string. @@ -1381,6 +1440,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: "rfc-1123": Deserializer.deserialize_rfc, "unix-time": Deserializer.deserialize_unix, "duration": Deserializer.deserialize_duration, + "duration-seconds-int": Deserializer.deserialize_duration_seconds, + "duration-seconds-float": Deserializer.deserialize_duration_seconds, + "duration-milliseconds-int": Deserializer.deserialize_duration_milliseconds, + "duration-milliseconds-float": Deserializer.deserialize_duration_milliseconds, "date": Deserializer.deserialize_date, "time": Deserializer.deserialize_time, "decimal": Deserializer.deserialize_decimal, @@ -1393,6 +1456,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: } self.deserialize_expected_types = { "duration": (isodate.Duration, datetime.timedelta), + "duration-seconds-int": (isodate.Duration, datetime.timedelta), + "duration-seconds-float": (isodate.Duration, datetime.timedelta), + "duration-milliseconds-int": (isodate.Duration, datetime.timedelta), + "duration-milliseconds-float": (isodate.Duration, datetime.timedelta), "iso-8601": (datetime.datetime), } self.dependencies: dict[str, type] = dict(classes) if classes else {} @@ -1954,6 +2021,48 @@ def deserialize_duration(attr): raise DeserializationError(msg) from err return duration + @staticmethod + def _deserialize_duration_numeric(attr, unit): + """Deserialize a numeric duration value into a TimeDelta object. + + :param float attr: response value to be deserialized. + :param str unit: The wire unit, used as the ``timedelta`` keyword + (``"seconds"`` or ``"milliseconds"``). + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + if isinstance(attr, ET.Element): + attr = attr.text + try: + duration = datetime.timedelta(**{unit: float(attr)}) # type: ignore + except (ValueError, OverflowError, TypeError) as err: + msg = "Cannot deserialize duration object." + raise DeserializationError(msg) from err + return duration + + @staticmethod + def deserialize_duration_seconds(attr): + """Deserialize a numeric number of seconds into a TimeDelta object. + + :param float attr: response value to be deserialized. + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + return Deserializer._deserialize_duration_numeric(attr, "seconds") + + @staticmethod + def deserialize_duration_milliseconds(attr): + """Deserialize a numeric number of milliseconds into a TimeDelta object. + + :param float attr: response value to be deserialized. + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + return Deserializer._deserialize_duration_numeric(attr, "milliseconds") + @staticmethod def deserialize_date(attr): """Deserialize ISO-8601 formatted string into Date object. diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_version.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_version.py index 8eb37199ee54..2e7efc3e2e20 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_version.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "2.0.0b2" +VERSION = "2.0.0b3" diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_client.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_client.py index e50704e4e8ce..db9ce08db091 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_client.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_client.py @@ -48,7 +48,7 @@ class ComputeFleetMgmtClient: None. :paramtype cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-06-01-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_configuration.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_configuration.py index f9ab3e46c2f3..cc0b912e560f 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_configuration.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_configuration.py @@ -34,7 +34,7 @@ class ComputeFleetMgmtClientConfiguration: # pylint: disable=too-many-instance- None. :type cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-06-01-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -48,7 +48,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-04-01-preview") + api_version: str = kwargs.pop("api_version", "2026-06-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_patch.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_patch.py index ea765788358a..87676c65a8f0 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_patch.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/_patch.py @@ -8,6 +8,7 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ + __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_operations.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_operations.py index c64457c54fba..bb032c223022 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_operations.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_operations.py @@ -33,7 +33,7 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling -from ... import models as _models +from ... import models as _models, types as _types from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer from ..._validation import api_version_validation @@ -52,7 +52,6 @@ T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list @@ -254,7 +253,11 @@ async def get(self, resource_group_name: str, fleet_name: str, **kwargs: Any) -> return deserialized # type: ignore async def _create_or_update_initial( - self, resource_group_name: str, fleet_name: str, resource: Union[_models.Fleet, JSON, IO[bytes]], **kwargs: Any + self, + resource_group_name: str, + fleet_name: str, + resource: Union[_models.Fleet, _types.Fleet, IO[bytes]], + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -356,7 +359,7 @@ async def begin_create_or_update( self, resource_group_name: str, fleet_name: str, - resource: JSON, + resource: _types.Fleet, *, content_type: str = "application/json", **kwargs: Any @@ -369,7 +372,7 @@ async def begin_create_or_update( :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.computefleet.types.Fleet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -409,7 +412,11 @@ async def begin_create_or_update( @distributed_trace_async async def begin_create_or_update( - self, resource_group_name: str, fleet_name: str, resource: Union[_models.Fleet, JSON, IO[bytes]], **kwargs: Any + self, + resource_group_name: str, + fleet_name: str, + resource: Union[_models.Fleet, _types.Fleet, IO[bytes]], + **kwargs: Any ) -> AsyncLROPoller[_models.Fleet]: """Create a Fleet. @@ -418,9 +425,10 @@ async def begin_create_or_update( :type resource_group_name: str :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str - :param resource: Resource create parameters. Is one of the following types: Fleet, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.computefleet.models.Fleet or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Fleet type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.computefleet.models.Fleet or ~azure.mgmt.computefleet.types.Fleet + or IO[bytes] :return: An instance of AsyncLROPoller that returns Fleet. The Fleet is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.computefleet.models.Fleet] @@ -482,7 +490,7 @@ async def _update_initial( self, resource_group_name: str, fleet_name: str, - properties: Union[_models.FleetUpdate, JSON, IO[bytes]], + properties: Union[_models.FleetUpdate, _types.FleetUpdate, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -586,7 +594,7 @@ async def begin_update( self, resource_group_name: str, fleet_name: str, - properties: JSON, + properties: _types.FleetUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -599,7 +607,7 @@ async def begin_update( :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.computefleet.types.FleetUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -642,7 +650,7 @@ async def begin_update( self, resource_group_name: str, fleet_name: str, - properties: Union[_models.FleetUpdate, JSON, IO[bytes]], + properties: Union[_models.FleetUpdate, _types.FleetUpdate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Fleet]: """Update a Fleet. @@ -652,9 +660,10 @@ async def begin_update( :type resource_group_name: str :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str - :param properties: The resource properties to be updated. Is one of the following types: - FleetUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.computefleet.models.FleetUpdate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a FleetUpdate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.computefleet.models.FleetUpdate or + ~azure.mgmt.computefleet.types.FleetUpdate or IO[bytes] :return: An instance of AsyncLROPoller that returns Fleet. The Fleet is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.computefleet.models.Fleet] @@ -1135,7 +1144,7 @@ async def get_next(next_link=None): "accept", ] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview"], ) def list_virtual_machines( self, diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_patch.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_patch.py index ea765788358a..87676c65a8f0 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_patch.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/aio/operations/_patch.py @@ -8,6 +8,7 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ + __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_models.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_models.py index cd24a01345f5..cccdbaea9417 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_models.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_models.py @@ -2754,7 +2754,7 @@ class VirtualMachine(_Model): subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachines/{vmName}. Required. :vartype id: str - :ivar type: Type of the virtual machine. + :ivar type: ARM resource type - virtual machine. :vartype type: str :ivar operation_status: This represents the operationStatus of the virtual machine in response to the last operation that was performed on it by Azure Fleet resource. Required. Known values @@ -2762,6 +2762,12 @@ class VirtualMachine(_Model): :vartype operation_status: str or ~azure.mgmt.computefleet.models.VMOperationStatus :ivar error: Error information when ``operationStatus`` is ``Failed``. :vartype error: ~azure.mgmt.computefleet.models.ApiError + :ivar vm_size: The VM size of the virtual machine. + :vartype vm_size: str + :ivar zone: The availability zone of the virtual machine. + :vartype zone: str + :ivar priority: The priority of the virtual machine. + :vartype priority: str """ name: str = rest_field(visibility=["read"]) @@ -2771,13 +2777,19 @@ class VirtualMachine(_Model): subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachines/{vmName}. Required.""" type: Optional[str] = rest_field(visibility=["read"]) - """Type of the virtual machine.""" + """ARM resource type - virtual machine.""" operation_status: Union[str, "_models.VMOperationStatus"] = rest_field(name="operationStatus", visibility=["read"]) """This represents the operationStatus of the virtual machine in response to the last operation that was performed on it by Azure Fleet resource. Required. Known values are: \"Launching\", \"Creating\", \"Failed\", and \"Succeeded\".""" error: Optional["_models.ApiError"] = rest_field(visibility=["read"]) """Error information when ``operationStatus`` is ``Failed``.""" + vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read"]) + """The VM size of the virtual machine.""" + zone: Optional[str] = rest_field(visibility=["read"]) + """The availability zone of the virtual machine.""" + priority: Optional[str] = rest_field(visibility=["read"]) + """The priority of the virtual machine.""" class VirtualMachineScaleSet(_Model): diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_patch.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_patch.py index ea765788358a..87676c65a8f0 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_patch.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/models/_patch.py @@ -8,6 +8,7 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ + __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_operations.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_operations.py index 389461a9ad70..005968f2a79a 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_operations.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_operations.py @@ -32,7 +32,7 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling -from .. import models as _models +from .. import models as _models, types as _types from .._configuration import ComputeFleetMgmtClientConfiguration from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer @@ -40,7 +40,6 @@ T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list _SERIALIZER = Serializer() @@ -51,7 +50,7 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -72,7 +71,7 @@ def build_fleets_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -101,7 +100,7 @@ def build_fleets_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -132,7 +131,7 @@ def build_fleets_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -161,7 +160,7 @@ def build_fleets_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureFleet/fleets/{fleetName}" path_format_arguments = { @@ -184,7 +183,7 @@ def build_fleets_list_by_resource_group_request( # pylint: disable=name-too-lon _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -211,7 +210,7 @@ def build_fleets_list_by_subscription_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -237,7 +236,7 @@ def build_fleets_list_virtual_machine_scale_sets_request( # pylint: disable=nam _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -271,7 +270,7 @@ def build_fleets_list_virtual_machines_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-06-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -495,7 +494,11 @@ def get(self, resource_group_name: str, fleet_name: str, **kwargs: Any) -> _mode return deserialized # type: ignore def _create_or_update_initial( - self, resource_group_name: str, fleet_name: str, resource: Union[_models.Fleet, JSON, IO[bytes]], **kwargs: Any + self, + resource_group_name: str, + fleet_name: str, + resource: Union[_models.Fleet, _types.Fleet, IO[bytes]], + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -597,7 +600,7 @@ def begin_create_or_update( self, resource_group_name: str, fleet_name: str, - resource: JSON, + resource: _types.Fleet, *, content_type: str = "application/json", **kwargs: Any @@ -610,7 +613,7 @@ def begin_create_or_update( :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.computefleet.types.Fleet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -650,7 +653,11 @@ def begin_create_or_update( @distributed_trace def begin_create_or_update( - self, resource_group_name: str, fleet_name: str, resource: Union[_models.Fleet, JSON, IO[bytes]], **kwargs: Any + self, + resource_group_name: str, + fleet_name: str, + resource: Union[_models.Fleet, _types.Fleet, IO[bytes]], + **kwargs: Any ) -> LROPoller[_models.Fleet]: """Create a Fleet. @@ -659,9 +666,10 @@ def begin_create_or_update( :type resource_group_name: str :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str - :param resource: Resource create parameters. Is one of the following types: Fleet, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.computefleet.models.Fleet or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Fleet type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.computefleet.models.Fleet or ~azure.mgmt.computefleet.types.Fleet + or IO[bytes] :return: An instance of LROPoller that returns Fleet. The Fleet is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.computefleet.models.Fleet] @@ -723,7 +731,7 @@ def _update_initial( self, resource_group_name: str, fleet_name: str, - properties: Union[_models.FleetUpdate, JSON, IO[bytes]], + properties: Union[_models.FleetUpdate, _types.FleetUpdate, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -827,7 +835,7 @@ def begin_update( self, resource_group_name: str, fleet_name: str, - properties: JSON, + properties: _types.FleetUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -840,7 +848,7 @@ def begin_update( :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.computefleet.types.FleetUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -883,7 +891,7 @@ def begin_update( self, resource_group_name: str, fleet_name: str, - properties: Union[_models.FleetUpdate, JSON, IO[bytes]], + properties: Union[_models.FleetUpdate, _types.FleetUpdate, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Fleet]: """Update a Fleet. @@ -893,9 +901,10 @@ def begin_update( :type resource_group_name: str :param fleet_name: The name of the Compute Fleet. Required. :type fleet_name: str - :param properties: The resource properties to be updated. Is one of the following types: - FleetUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.computefleet.models.FleetUpdate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a FleetUpdate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.computefleet.models.FleetUpdate or + ~azure.mgmt.computefleet.types.FleetUpdate or IO[bytes] :return: An instance of LROPoller that returns Fleet. The Fleet is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.computefleet.models.Fleet] @@ -1375,7 +1384,7 @@ def get_next(next_link=None): "accept", ] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview"], ) def list_virtual_machines( self, diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_patch.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_patch.py index ea765788358a..87676c65a8f0 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_patch.py +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/operations/_patch.py @@ -8,6 +8,7 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ + __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/types.py b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/types.py new file mode 100644 index 000000000000..052b66d48af1 --- /dev/null +++ b/sdk/computefleet/azure-mgmt-computefleet/azure/mgmt/computefleet/types.py @@ -0,0 +1,2613 @@ +# pylint: disable=line-too-long,useless-suppression,too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Literal, TYPE_CHECKING, Union +from typing_extensions import Required, TypedDict + +if TYPE_CHECKING: + from .models import ( + AcceleratorManufacturer, + AcceleratorType, + ArchitectureType, + CachingTypes, + CapacityType, + CpuManufacturer, + CreatedByType, + DeleteOptions, + DiffDiskOptions, + DiffDiskPlacement, + DiskControllerTypes, + DiskCreateOptionTypes, + DiskDeleteOptionTypes, + DomainNameLabelScopeTypes, + EvictionPolicy, + FleetMode, + IPVersion, + LinuxPatchAssessmentMode, + LinuxVMGuestPatchAutomaticByPlatformRebootSetting, + LinuxVMGuestPatchMode, + LocalStorageDiskType, + ManagedServiceIdentityType, + Mode, + NetworkApiVersion, + NetworkInterfaceAuxiliaryMode, + NetworkInterfaceAuxiliarySku, + OperatingSystemTypes, + ProtocolTypes, + ProvisioningState, + PublicIPAddressSkuName, + PublicIPAddressSkuTier, + RegularPriorityAllocationStrategy, + SecurityEncryptionTypes, + SecurityTypes, + SettingNames, + SpotAllocationStrategy, + StorageAccountTypes, + VMAttributeSupport, + VMCategory, + WindowsPatchAssessmentMode, + WindowsVMGuestPatchAutomaticByPlatformRebootSetting, + WindowsVMGuestPatchMode, + ZoneDistributionStrategy, + ) + + +class AdditionalCapabilities(TypedDict, total=False): + """AdditionalCapabilities for VM. + + :ivar ultra_ssd_enabled: The flag that enables or disables a capability to have one or more + managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with + storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale + set only if this property is enabled. + :vartype ultra_ssd_enabled: bool + :ivar hibernation_enabled: The flag that enables or disables hibernation capability on the VM. + :vartype hibernation_enabled: bool + """ + + ultraSSDEnabled: bool + """The flag that enables or disables a capability to have one or more managed data disks with + UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type + UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this + property is enabled.""" + hibernationEnabled: bool + """The flag that enables or disables hibernation capability on the VM.""" + + +class AdditionalLocationsProfile(TypedDict, total=False): + """Represents the configuration for additional locations where Fleet resources may be deployed. + + :ivar location_profiles: The list of location profiles. Required. + :vartype location_profiles: list["LocationProfile"] + """ + + locationProfiles: Required[list["LocationProfile"]] + """The list of location profiles. Required.""" + + +class AdditionalUnattendContent(TypedDict, total=False): + """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. + + :ivar pass_name: The pass name. Currently, the only allowable value is OobeSystem. Default + value is "OobeSystem". + :vartype pass_name: Literal["OobeSystem"] + :ivar component_name: The component name. Currently, the only allowable value is + Microsoft-Windows-Shell-Setup. Default value is "Microsoft-Windows-Shell-Setup". + :vartype component_name: Literal["Microsoft-Windows-Shell-Setup"] + :ivar setting_name: Specifies the name of the setting to which the content applies. Possible + values are: FirstLogonCommands and AutoLogon. Known values are: "AutoLogon" and + "FirstLogonCommands". + :vartype setting_name: Union[str, "SettingNames"] + :ivar content: Specifies the XML formatted content that is added to the unattend.xml file for + the specified path and component. The XML must be less than 4KB and must include the root + element for the setting or feature that is being inserted. + :vartype content: str + """ + + passName: Literal["OobeSystem"] + """The pass name. Currently, the only allowable value is OobeSystem. Default value is + \"OobeSystem\".""" + componentName: Literal["Microsoft-Windows-Shell-Setup"] + """The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + Default value is \"Microsoft-Windows-Shell-Setup\".""" + settingName: Union[str, "SettingNames"] + """Specifies the name of the setting to which the content applies. Possible values are: + FirstLogonCommands and AutoLogon. Known values are: \"AutoLogon\" and \"FirstLogonCommands\".""" + content: str + """Specifies the XML formatted content that is added to the unattend.xml file for the specified + path and component. The XML must be less than 4KB and must include the root element for the + setting or feature that is being inserted.""" + + +class ApiEntityReference(TypedDict, total=False): + """The API entity reference. + + :ivar id: The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + :vartype id: str + """ + + id: str + """The ARM resource id in the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...""" + + +class ApplicationProfile(TypedDict, total=False): + """Contains the list of gallery applications that should be made available to the VM/VMSS. + + :ivar gallery_applications: Specifies the gallery applications that should be made available to + the VM/VMSS. + :vartype gallery_applications: list["VMGalleryApplication"] + """ + + galleryApplications: list["VMGalleryApplication"] + """Specifies the gallery applications that should be made available to the VM/VMSS.""" + + +class BaseVirtualMachineProfile(TypedDict, total=False): + """Describes the base virtual machine profile for fleet. + + :ivar os_profile: Specifies the operating system settings for the virtual machines in the scale + set. + :vartype os_profile: "VirtualMachineScaleSetOSProfile" + :ivar storage_profile: Specifies the storage settings for the virtual machine disks. + :vartype storage_profile: "VirtualMachineScaleSetStorageProfile" + :ivar network_profile: Specifies properties of the network interfaces of the virtual machines + in the scale set. + :vartype network_profile: "VirtualMachineScaleSetNetworkProfile" + :ivar security_profile: Specifies the Security related profile settings for the virtual + machines in the scale set. + :vartype security_profile: "SecurityProfile" + :ivar diagnostics_profile: Specifies the boot diagnostic settings state. + :vartype diagnostics_profile: "DiagnosticsProfile" + :ivar extension_profile: Specifies a collection of settings for extensions installed on virtual + machines in the scale set. + :vartype extension_profile: "VirtualMachineScaleSetExtensionProfile" + :ivar license_type: Specifies that the image or disk that is being used was licensed + on-premises.

Possible values for Windows Server operating system are:

+ Windows_Client

Windows_Server

Possible values for Linux Server operating + system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more + information, see `Azure Hybrid Use Benefit for Windows Server + `_ +

`Azure Hybrid Use Benefit for Linux Server + `_ +

Minimum api-version: 2015-06-15. + :vartype license_type: str + :ivar scheduled_events_profile: Specifies Scheduled Event related configurations. + :vartype scheduled_events_profile: "ScheduledEventsProfile" + :ivar user_data: UserData for the virtual machines in the scale set, which must be base-64 + encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + :vartype user_data: str + :ivar capacity_reservation: Specifies the capacity reservation related details of a scale set. + Minimum api-version: 2021-04-01. + :vartype capacity_reservation: "CapacityReservationProfile" + :ivar application_profile: Specifies the gallery applications that should be made available to + the VM/VMSS. + :vartype application_profile: "ApplicationProfile" + :ivar hardware_profile: Specifies the hardware profile related details of a scale set. Minimum + api-version: 2021-11-01. + :vartype hardware_profile: "VirtualMachineScaleSetHardwareProfile" + :ivar service_artifact_reference: Specifies the service artifact reference id used to set same + image version for all virtual machines in the scale set when using 'latest' image version. + Minimum api-version: 2022-11-01. + :vartype service_artifact_reference: "ServiceArtifactReference" + :ivar security_posture_reference: Specifies the security posture to be used for all virtual + machines in the scale set. Minimum api-version: 2023-03-01. + :vartype security_posture_reference: "SecurityPostureReference" + :ivar time_created: Specifies the time in which this VM profile for the Virtual Machine Scale + Set was created. Minimum API version for this property is 2023-09-01. This value will be added + to VMSS Flex VM tags when creating/updating the VMSS VM Profile with minimum api-version + 2023-09-01. Examples: "2024-07-01T00:00:01.1234567+00:00". + :vartype time_created: str + """ + + osProfile: "VirtualMachineScaleSetOSProfile" + """Specifies the operating system settings for the virtual machines in the scale set.""" + storageProfile: "VirtualMachineScaleSetStorageProfile" + """Specifies the storage settings for the virtual machine disks.""" + networkProfile: "VirtualMachineScaleSetNetworkProfile" + """Specifies properties of the network interfaces of the virtual machines in the scale set.""" + securityProfile: "SecurityProfile" + """Specifies the Security related profile settings for the virtual machines in the scale set.""" + diagnosticsProfile: "DiagnosticsProfile" + """Specifies the boot diagnostic settings state.""" + extensionProfile: "VirtualMachineScaleSetExtensionProfile" + """Specifies a collection of settings for extensions installed on virtual machines in the scale + set.""" + licenseType: str + """Specifies that the image or disk that is being used was licensed on-premises.

Possible + values for Windows Server operating system are:

Windows_Client

Windows_Server +

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL) +

SLES_BYOS (for SUSE)

For more information, see `Azure Hybrid Use Benefit for + Windows Server + `_ +

`Azure Hybrid Use Benefit for Linux Server + `_ +

Minimum api-version: 2015-06-15.""" + scheduledEventsProfile: "ScheduledEventsProfile" + """Specifies Scheduled Event related configurations.""" + userData: str + """UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer + should not pass any secrets in here. Minimum api-version: 2021-03-01.""" + capacityReservation: "CapacityReservationProfile" + """Specifies the capacity reservation related details of a scale set. Minimum api-version: + 2021-04-01.""" + applicationProfile: "ApplicationProfile" + """Specifies the gallery applications that should be made available to the VM/VMSS.""" + hardwareProfile: "VirtualMachineScaleSetHardwareProfile" + """Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01.""" + serviceArtifactReference: "ServiceArtifactReference" + """Specifies the service artifact reference id used to set same image version for all virtual + machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01.""" + securityPostureReference: "SecurityPostureReference" + """Specifies the security posture to be used for all virtual machines in the scale set. Minimum + api-version: 2023-03-01.""" + timeCreated: str + """Specifies the time in which this VM profile for the Virtual Machine Scale Set was created. + Minimum API version for this property is 2023-09-01. This value will be added to VMSS Flex VM + tags when creating/updating the VMSS VM Profile with minimum api-version 2023-09-01. Examples: + \"2024-07-01T00:00:01.1234567+00:00\".""" + + +class BootDiagnostics(TypedDict, total=False): + """Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot + to diagnose VM status. You can easily view the output of your console log. Azure also enables + you to see a screenshot of the VM from the hypervisor. + + :ivar enabled: Whether boot diagnostics should be enabled on the Virtual Machine. + :vartype enabled: bool + :ivar storage_uri: Uri of the storage account to use for placing the console output and + screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage + will be used. + :vartype storage_uri: str + """ + + enabled: bool + """Whether boot diagnostics should be enabled on the Virtual Machine.""" + storageUri: str + """Uri of the storage account to use for placing the console output and screenshot. If storageUri + is not specified while enabling boot diagnostics, managed storage will be used.""" + + +class CapacityReservationProfile(TypedDict, total=False): + """The parameters of a capacity reservation Profile. + + :ivar capacity_reservation_group: Specifies the capacity reservation group resource id that + should be used for allocating the virtual machine or scaleset vm instances provided enough + capacity has been reserved. Please refer to `https://aka.ms/CapacityReservation + `_ for more details. + :vartype capacity_reservation_group: "SubResource" + """ + + capacityReservationGroup: "SubResource" + """Specifies the capacity reservation group resource id that should be used for allocating the + virtual machine or scaleset vm instances provided enough capacity has been reserved. Please + refer to `https://aka.ms/CapacityReservation `_ for more + details.""" + + +class ComputeProfile(TypedDict, total=False): + """Compute Profile to use for running user's workloads. + + :ivar base_virtual_machine_profile: Base Virtual Machine Profile Properties to be specified + according to + "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile". + Required. + :vartype base_virtual_machine_profile: "BaseVirtualMachineProfile" + :ivar compute_api_version: Specifies the Microsoft.Compute API version to use when creating + underlying Virtual Machine scale sets and Virtual Machines. The default value will be the + latest supported computeApiVersion by Compute Fleet. + :vartype compute_api_version: str + :ivar platform_fault_domain_count: Specifies the number of fault domains to use when creating + the underlying VMSS. A fault domain is a logical group of hardware within an Azure datacenter. + VMs in the same fault domain share a common power source and network switch. If not specified, + defaults to 1, which represents "Max Spreading" (using as many fault domains as possible). This + property cannot be updated. + :vartype platform_fault_domain_count: int + :ivar additional_virtual_machine_capabilities: Specifies VMSS and VM API entity models support + two additional capabilities as of today: ultraSSDEnabled and hibernationEnabled. + ultraSSDEnabled: Enables UltraSSD_LRS storage account type on the VMSS VMs. hibernationEnabled: + Enables the hibernation capability on the VMSS VMs. Default value is null if not specified. + This property cannot be updated once set. + :vartype additional_virtual_machine_capabilities: "AdditionalCapabilities" + """ + + baseVirtualMachineProfile: Required["BaseVirtualMachineProfile"] + """Base Virtual Machine Profile Properties to be specified according to + \"specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile\". + Required.""" + computeApiVersion: str + """Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine + scale sets and Virtual Machines. The default value will be the latest supported + computeApiVersion by Compute Fleet.""" + platformFaultDomainCount: int + """Specifies the number of fault domains to use when creating the underlying VMSS. A fault domain + is a logical group of hardware within an Azure datacenter. VMs in the same fault domain share a + common power source and network switch. If not specified, defaults to 1, which represents \"Max + Spreading\" (using as many fault domains as possible). This property cannot be updated.""" + additionalVirtualMachineCapabilities: "AdditionalCapabilities" + """Specifies VMSS and VM API entity models support two additional capabilities as of today: + ultraSSDEnabled and hibernationEnabled. ultraSSDEnabled: Enables UltraSSD_LRS storage account + type on the VMSS VMs. hibernationEnabled: Enables the hibernation capability on the VMSS VMs. + Default value is null if not specified. This property cannot be updated once set.""" + + +class DiagnosticsProfile(TypedDict, total=False): + """Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + + :ivar boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view + Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified + then ensure that the storage account is in the same region and subscription as the VM. You can + easily view the output of your console log. Azure also enables you to see a screenshot of the + VM from the hypervisor. + :vartype boot_diagnostics: "BootDiagnostics" + """ + + bootDiagnostics: "BootDiagnostics" + """Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot + to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage + account is in the same region and subscription as the VM. You can easily view the output of + your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.""" + + +class DiffDiskSettings(TypedDict, total=False): + """Describes the parameters of ephemeral disk settings that can be specified for operating system + disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + + :ivar option: Specifies the ephemeral disk settings for operating system disk. "Local" + :vartype option: Union[str, "DiffDiskOptions"] + :ivar placement: Specifies the ephemeral disk placement for operating system disk. Possible + values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one + is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size + documentation for Windows VM at + `https://learn.microsoft.com/azure/virtual-machines/windows/sizes + `_ and Linux VM at + `https://learn.microsoft.com/azure/virtual-machines/linux/sizes + `_ to check which VM sizes + exposes a cache disk. Known values are: "CacheDisk", "ResourceDisk", and "NvmeDisk". + :vartype placement: Union[str, "DiffDiskPlacement"] + """ + + option: Union[str, "DiffDiskOptions"] + """Specifies the ephemeral disk settings for operating system disk. \"Local\"""" + placement: Union[str, "DiffDiskPlacement"] + """Specifies the ephemeral disk placement for operating system disk. Possible values are: + **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured + for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for + Windows VM at `https://learn.microsoft.com/azure/virtual-machines/windows/sizes + `_ and Linux VM at + `https://learn.microsoft.com/azure/virtual-machines/linux/sizes + `_ to check which VM sizes + exposes a cache disk. Known values are: \"CacheDisk\", \"ResourceDisk\", and \"NvmeDisk\".""" + + +class DiskEncryptionSetParameters(TypedDict, total=False): + """Describes the parameter of customer managed disk encryption set resource id that can be + specified for disk. **Note:** The disk encryption set resource id can only be specified for + managed disk. Please refer `https://aka.ms/mdssewithcmkoverview + `_ for more details. + + :ivar id: Resource Id. + :vartype id: str + """ + + id: str + """Resource Id.""" + + +class EncryptionIdentity(TypedDict, total=False): + """Specifies the Managed Identity used by ADE to get access token for keyvault operations. + + :ivar user_assigned_identity_resource_id: Specifies ARM Resource ID of one of the user + identities associated with the VM. + :vartype user_assigned_identity_resource_id: str + """ + + userAssignedIdentityResourceId: str + """Specifies ARM Resource ID of one of the user identities associated with the VM.""" + + +class Resource(TypedDict, total=False): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: "SystemData" + """ + + id: str + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: str + """The name of the resource.""" + type: str + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + systemData: "SystemData" + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: dict[str, str] + """Resource tags.""" + location: Required[str] + """The geo-location where the resource lives. Required.""" + + +class Fleet(TrackedResource): + """An Compute Fleet resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "FleetProperties" + :ivar zones: Zones in which the Compute Fleet is available. + :vartype zones: list[str] + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + :ivar plan: Details of the resource plan. + :vartype plan: "Plan" + """ + + properties: "FleetProperties" + """The resource-specific properties for this resource.""" + zones: list[str] + """Zones in which the Compute Fleet is available.""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + plan: "Plan" + """Details of the resource plan.""" + + +class FleetProperties(TypedDict, total=False): + """Details of the Compute Fleet. + + :ivar provisioning_state: The status of the last operation. Known values are: "Succeeded", + "Failed", "Canceled", "Creating", "Updating", "Deleting", and "Migrating". + :vartype provisioning_state: Union[str, "ProvisioningState"] + :ivar spot_priority_profile: Configuration Options for Spot instances in Compute Fleet. + :vartype spot_priority_profile: "SpotPriorityProfile" + :ivar regular_priority_profile: Configuration Options for Regular instances in Compute Fleet. + :vartype regular_priority_profile: "RegularPriorityProfile" + :ivar vm_sizes_profile: List of VM sizes supported for Compute Fleet. Required. + :vartype vm_sizes_profile: list["VmSizeProfile"] + :ivar vm_attributes: Attribute based Fleet. + :vartype vm_attributes: "VMAttributes" + :ivar additional_locations_profile: Represents the configuration for additional locations where + Fleet resources may be deployed. + :vartype additional_locations_profile: "AdditionalLocationsProfile" + :ivar compute_profile: Compute Profile to use for running user's workloads. Required. + :vartype compute_profile: "ComputeProfile" + :ivar time_created: Specifies the time at which the Compute Fleet is created. + :vartype time_created: str + :ivar unique_id: Specifies the ID which uniquely identifies a Compute Fleet. + :vartype unique_id: str + :ivar mode: Mode of the Fleet. Known values are: "Managed" and "Launch". + :vartype mode: Union[str, "FleetMode"] + :ivar vm_name_prefix: VirtualMachine prefix to be used for the virtual machines launched by + Fleet. Can be used only with Launch mode. + :vartype vm_name_prefix: str + :ivar capacity_type: Specifies capacity type for Fleet Regular and Spot priority profiles. + capacityType is an immutable property. Once set during Fleet creation, it cannot be updated. + Specifying different capacity type for Fleet Regular and Spot priority profiles is not allowed. + Known values are: "VM" and "VCpu". + :vartype capacity_type: Union[str, "CapacityType"] + :ivar zone_allocation_policy: Zone Allocation Policy for Fleet. + :vartype zone_allocation_policy: "ZoneAllocationPolicy" + """ + + provisioningState: Union[str, "ProvisioningState"] + """The status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Creating\", \"Updating\", \"Deleting\", and \"Migrating\".""" + spotPriorityProfile: "SpotPriorityProfile" + """Configuration Options for Spot instances in Compute Fleet.""" + regularPriorityProfile: "RegularPriorityProfile" + """Configuration Options for Regular instances in Compute Fleet.""" + vmSizesProfile: Required[list["VmSizeProfile"]] + """List of VM sizes supported for Compute Fleet. Required.""" + vmAttributes: "VMAttributes" + """Attribute based Fleet.""" + additionalLocationsProfile: "AdditionalLocationsProfile" + """Represents the configuration for additional locations where Fleet resources may be deployed.""" + computeProfile: Required["ComputeProfile"] + """Compute Profile to use for running user's workloads. Required.""" + timeCreated: str + """Specifies the time at which the Compute Fleet is created.""" + uniqueId: str + """Specifies the ID which uniquely identifies a Compute Fleet.""" + mode: Union[str, "FleetMode"] + """Mode of the Fleet. Known values are: \"Managed\" and \"Launch\".""" + vmNamePrefix: str + """VirtualMachine prefix to be used for the virtual machines launched by Fleet. Can be used only + with Launch mode.""" + capacityType: Union[str, "CapacityType"] + """Specifies capacity type for Fleet Regular and Spot priority profiles. capacityType is an + immutable property. Once set during Fleet creation, it cannot be updated. Specifying different + capacity type for Fleet Regular and Spot priority profiles is not allowed. Known values are: + \"VM\" and \"VCpu\".""" + zoneAllocationPolicy: "ZoneAllocationPolicy" + """Zone Allocation Policy for Fleet.""" + + +class FleetUpdate(TypedDict, total=False): + """Fleet Update Model. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar identity: Updatable managed service identity. + :vartype identity: "ManagedServiceIdentityUpdate" + :ivar plan: Updatable resource plan. + :vartype plan: "ResourcePlanUpdate" + :ivar properties: RP-specific updatable properties. + :vartype properties: "FleetProperties" + """ + + tags: dict[str, str] + """Resource tags.""" + identity: "ManagedServiceIdentityUpdate" + """Updatable managed service identity.""" + plan: "ResourcePlanUpdate" + """Updatable resource plan.""" + properties: "FleetProperties" + """RP-specific updatable properties.""" + + +class ImageReference(TypedDict, total=False): + """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. + + :ivar id: Resource Id. + :vartype id: str + :ivar publisher: The image publisher. + :vartype publisher: str + :ivar offer: Specifies the offer of the platform image or marketplace image used to create the + virtual machine. + :vartype offer: str + :ivar sku: The image SKU. + :vartype sku: str + :ivar version: Specifies the version of the platform image or marketplace image used to create + the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and + Build are decimal numbers. Specify 'latest' to use the latest version of an image available at + deploy time. Even if you use 'latest', the VM image will not automatically update after deploy + time even if a new version becomes available. Please do not use field 'version' for gallery + image deployment, gallery image should always use 'id' field for deployment, to use 'latest' + version of gallery image, just set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input. + :vartype version: str + :ivar exact_version: Specifies in decimal numbers, the version of platform image or marketplace + image used to create the virtual machine. This readonly field differs from 'version', only if + the value specified in 'version' field is 'latest'. + :vartype exact_version: str + :ivar shared_gallery_image_id: Specified the shared gallery image unique id for vm deployment. + This can be fetched from shared gallery image GET call. + :vartype shared_gallery_image_id: str + :ivar community_gallery_image_id: Specified the community gallery image unique id for vm + deployment. This can be fetched from community gallery image GET call. + :vartype community_gallery_image_id: str + """ + + id: str + """Resource Id.""" + publisher: str + """The image publisher.""" + offer: str + """Specifies the offer of the platform image or marketplace image used to create the virtual + machine.""" + sku: str + """The image SKU.""" + version: str + """Specifies the version of the platform image or marketplace image used to create the virtual + machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are + decimal numbers. Specify 'latest' to use the latest version of an image available at deploy + time. Even if you use 'latest', the VM image will not automatically update after deploy time + even if a new version becomes available. Please do not use field 'version' for gallery image + deployment, gallery image should always use 'id' field for deployment, to use 'latest' version + of gallery image, just set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input.""" + exactVersion: str + """Specifies in decimal numbers, the version of platform image or marketplace image used to create + the virtual machine. This readonly field differs from 'version', only if the value specified in + 'version' field is 'latest'.""" + sharedGalleryImageId: str + """Specified the shared gallery image unique id for vm deployment. This can be fetched from shared + gallery image GET call.""" + communityGalleryImageId: str + """Specified the community gallery image unique id for vm deployment. This can be fetched from + community gallery image GET call.""" + + +class KeyVaultSecretReference(TypedDict, total=False): + """Describes a reference to Key Vault Secret. + + :ivar secret_url: The URL referencing a secret in a Key Vault. Required. + :vartype secret_url: str + :ivar source_vault: The relative URL of the Key Vault containing the secret. Required. + :vartype source_vault: "SubResource" + """ + + secretUrl: Required[str] + """The URL referencing a secret in a Key Vault. Required.""" + sourceVault: Required["SubResource"] + """The relative URL of the Key Vault containing the secret. Required.""" + + +class LinuxConfiguration(TypedDict, total=False): + """Specifies the Linux operating system settings on the virtual machine. For a list of supported + Linux distributions, see `Linux on Azure-Endorsed Distributions + `_. + + :ivar disable_password_authentication: Specifies whether password authentication should be + disabled. + :vartype disable_password_authentication: bool + :ivar ssh: Specifies the ssh key configuration for a Linux OS. + :vartype ssh: "SshConfiguration" + :ivar provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the + virtual machine. When this property is not specified in the request body, default behavior is + to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can + be added to the VM later. + :vartype provision_vm_agent: bool + :ivar patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on + Linux. + :vartype patch_settings: "LinuxPatchSettings" + :ivar enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled + for the Linux virtual machine. Default value is false. + :vartype enable_vm_agent_platform_updates: bool + """ + + disablePasswordAuthentication: bool + """Specifies whether password authentication should be disabled.""" + ssh: "SshConfiguration" + """Specifies the ssh key configuration for a Linux OS.""" + provisionVMAgent: bool + """Indicates whether virtual machine agent should be provisioned on the virtual machine. When this + property is not specified in the request body, default behavior is to set it to true. This will + ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.""" + patchSettings: "LinuxPatchSettings" + """[Preview Feature] Specifies settings related to VM Guest Patching on Linux.""" + enableVMAgentPlatformUpdates: bool + """Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default + value is false.""" + + +class LinuxPatchSettings(TypedDict, total=False): + """Specifies settings related to VM Guest Patching on Linux. + + :ivar patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual + machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching + configuration is used.

**AutomaticByPlatform** - The virtual machine will be + automatically updated by the platform. The property provisionVMAgent must be true. Known values + are: "ImageDefault" and "AutomaticByPlatform". + :vartype patch_mode: Union[str, "LinuxVMGuestPatchMode"] + :ivar assessment_mode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual + machine.

Possible values are:

**ImageDefault** - You control the timing + of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform + will trigger periodic patch assessments. The property provisionVMAgent must be true. Known + values are: "ImageDefault" and "AutomaticByPlatform". + :vartype assessment_mode: Union[str, "LinuxPatchAssessmentMode"] + :ivar automatic_by_platform_settings: Specifies additional settings for patch mode + AutomaticByPlatform in VM Guest Patching on Linux. + :vartype automatic_by_platform_settings: "LinuxVMGuestPatchAutomaticByPlatformSettings" + """ + + patchMode: Union[str, "LinuxVMGuestPatchMode"] + """Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated + to virtual machine scale set with OrchestrationMode as Flexible.

Possible values + are:

**ImageDefault** - The virtual machine's default patching configuration is + used.

**AutomaticByPlatform** - The virtual machine will be automatically updated + by the platform. The property provisionVMAgent must be true. Known values are: \"ImageDefault\" + and \"AutomaticByPlatform\".""" + assessmentMode: Union[str, "LinuxPatchAssessmentMode"] + """Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

+ Possible values are:

**ImageDefault** - You control the timing of patch assessments + on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic + patch assessments. The property provisionVMAgent must be true. Known values are: + \"ImageDefault\" and \"AutomaticByPlatform\".""" + automaticByPlatformSettings: "LinuxVMGuestPatchAutomaticByPlatformSettings" + """Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux.""" + + +class LinuxVMGuestPatchAutomaticByPlatformSettings(TypedDict, total=False): # pylint: disable=name-too-long + """Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in + Linux patch settings. + + :ivar reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch + installation operations. Known values are: "Unknown", "IfRequired", "Never", and "Always". + :vartype reboot_setting: Union[str, "LinuxVMGuestPatchAutomaticByPlatformRebootSetting"] + :ivar bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching + without accidental upgrades. + :vartype bypass_platform_safety_checks_on_user_schedule: bool + """ + + rebootSetting: Union[str, "LinuxVMGuestPatchAutomaticByPlatformRebootSetting"] + """Specifies the reboot setting for all AutomaticByPlatform patch installation operations. Known + values are: \"Unknown\", \"IfRequired\", \"Never\", and \"Always\".""" + bypassPlatformSafetyChecksOnUserSchedule: bool + """Enables customer to schedule patching without accidental upgrades.""" + + +class LocationProfile(TypedDict, total=False): + """Represents the profile for a single additional location in the Fleet. The location and the + virtualMachineProfileOverride (optional). + + :ivar location: The ARM location name of the additional region. If LocationProfile is + specified, then location is required. Required. + :vartype location: str + :ivar virtual_machine_profile_override: An override for + computeProfile.baseVirtualMachineProfile specific to this region. This override is merged with + the base virtual machine profile to define the final virtual machine profile for the resources + deployed in this location. + :vartype virtual_machine_profile_override: "BaseVirtualMachineProfile" + """ + + location: Required[str] + """The ARM location name of the additional region. If LocationProfile is specified, then location + is required. Required.""" + virtualMachineProfileOverride: "BaseVirtualMachineProfile" + """An override for computeProfile.baseVirtualMachineProfile specific to this region. This override + is merged with the base virtual machine profile to define the final virtual machine profile for + the resources deployed in this location.""" + + +class ManagedServiceIdentity(TypedDict, total=False): + """Managed service identity (system assigned and/or user assigned identities). + + :ivar principal_id: The service principal ID of the system assigned identity. This property + will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the system assigned identity. This property will only be + provided for a system assigned identity. + :vartype tenant_id: str + :ivar type: The type of managed identity assigned to this resource. Required. Known values are: + "None", "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned". + :vartype type: Union[str, "ManagedServiceIdentityType"] + :ivar user_assigned_identities: The identities assigned to this resource by the user. + :vartype user_assigned_identities: dict[str, "UserAssignedIdentity"] + """ + + principalId: str + """The service principal ID of the system assigned identity. This property will only be provided + for a system assigned identity.""" + tenantId: str + """The tenant ID of the system assigned identity. This property will only be provided for a system + assigned identity.""" + type: Required[Union[str, "ManagedServiceIdentityType"]] + """The type of managed identity assigned to this resource. Required. Known values are: \"None\", + \"SystemAssigned\", \"UserAssigned\", and \"SystemAssigned,UserAssigned\".""" + userAssignedIdentities: dict[str, "UserAssignedIdentity"] + """The identities assigned to this resource by the user.""" + + +class ManagedServiceIdentityUpdate(TypedDict, total=False): + """The template for adding optional properties. + + :ivar type: The type of managed identity assigned to this resource. Known values are: "None", + "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned". + :vartype type: Union[str, "ManagedServiceIdentityType"] + :ivar user_assigned_identities: The identities assigned to this resource by the user. + :vartype user_assigned_identities: dict[str, "UserAssignedIdentity"] + """ + + type: Union[str, "ManagedServiceIdentityType"] + """The type of managed identity assigned to this resource. Known values are: \"None\", + \"SystemAssigned\", \"UserAssigned\", and \"SystemAssigned,UserAssigned\".""" + userAssignedIdentities: dict[str, "UserAssignedIdentity"] + """The identities assigned to this resource by the user.""" + + +class OSImageNotificationProfile(TypedDict, total=False): + """Specifies OS Image Scheduled Event related configurations. + + :ivar not_before_timeout: Length of time a Virtual Machine being reimaged or having its OS + upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto + approved (timed out). The configuration is specified in ISO 8601 format, and the value must not + exceed 15 minutes (PT15M). + :vartype not_before_timeout: str + :ivar enable: Specifies whether the OS Image Scheduled event is enabled or disabled. + :vartype enable: bool + """ + + notBeforeTimeout: str + """Length of time a Virtual Machine being reimaged or having its OS upgraded will have to + potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). + The configuration is specified in ISO 8601 format, and the value must not exceed 15 minutes + (PT15M).""" + enable: bool + """Specifies whether the OS Image Scheduled event is enabled or disabled.""" + + +class PatchSettings(TypedDict, total=False): + """Specifies settings related to VM Guest Patching on Windows. + + :ivar patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual + machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a + virtual machine. You do this by applying patches manually inside the VM. In this mode, + automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must + be false

**AutomaticByOS** - The virtual machine will automatically be updated by + the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

+ **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The + properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true. Known + values are: "Manual", "AutomaticByOS", and "AutomaticByPlatform". + :vartype patch_mode: Union[str, "WindowsVMGuestPatchMode"] + :ivar enable_hotpatching: Enables customers to patch their Azure VMs without requiring a + reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must + be set to 'AutomaticByPlatform'. + :vartype enable_hotpatching: bool + :ivar assessment_mode: Specifies the mode of VM Guest patch assessment for the IaaS virtual + machine.

Possible values are:

**ImageDefault** - You control the timing + of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform + will trigger periodic patch assessments. The property provisionVMAgent must be true. Known + values are: "ImageDefault" and "AutomaticByPlatform". + :vartype assessment_mode: Union[str, "WindowsPatchAssessmentMode"] + :ivar automatic_by_platform_settings: Specifies additional settings for patch mode + AutomaticByPlatform in VM Guest Patching on Windows. + :vartype automatic_by_platform_settings: "WindowsVMGuestPatchAutomaticByPlatformSettings" + """ + + patchMode: Union[str, "WindowsVMGuestPatchMode"] + """Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated + to virtual machine scale set with OrchestrationMode as Flexible.

Possible values + are:

**Manual** - You control the application of patches to a virtual machine. You + do this by applying patches manually inside the VM. In this mode, automatic updates are + disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

+ **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** + - the virtual machine will automatically updated by the platform. The properties + provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true. Known values + are: \"Manual\", \"AutomaticByOS\", and \"AutomaticByPlatform\".""" + enableHotpatching: bool + """Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, + the 'provisionVMAgent' must be set to true and 'patchMode' must be set to + 'AutomaticByPlatform'.""" + assessmentMode: Union[str, "WindowsPatchAssessmentMode"] + """Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

+ Possible values are:

**ImageDefault** - You control the timing of patch assessments + on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic + patch assessments. The property provisionVMAgent must be true. Known values are: + \"ImageDefault\" and \"AutomaticByPlatform\".""" + automaticByPlatformSettings: "WindowsVMGuestPatchAutomaticByPlatformSettings" + """Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Windows.""" + + +class Plan(TypedDict, total=False): + """Plan for the resource. + + :ivar name: A user defined name of the 3rd Party Artifact that is being procured. Required. + :vartype name: str + :ivar publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. + Required. + :vartype publisher: str + :ivar product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to + the OfferID specified for the artifact at the time of Data Market onboarding. Required. + :vartype product: str + :ivar promotion_code: A publisher provided promotion code as provisioned in Data Market for the + said product/artifact. + :vartype promotion_code: str + :ivar version: The version of the desired product/artifact. + :vartype version: str + """ + + name: Required[str] + """A user defined name of the 3rd Party Artifact that is being procured. Required.""" + publisher: Required[str] + """The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. Required.""" + product: Required[str] + """The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID + specified for the artifact at the time of Data Market onboarding. Required.""" + promotionCode: str + """A publisher provided promotion code as provisioned in Data Market for the said + product/artifact.""" + version: str + """The version of the desired product/artifact.""" + + +class ProxyAgentSettings(TypedDict, total=False): + """Specifies ProxyAgent settings while creating the virtual machine. Minimum api-version: + 2023-09-01. + + :ivar enabled: Specifies whether ProxyAgent feature should be enabled on the virtual machine or + virtual machine scale set. + :vartype enabled: bool + :ivar mode: Specifies the mode that ProxyAgent will execute on if the feature is enabled. + ProxyAgent will start to audit or monitor but not enforce access control over requests to host + endpoints in Audit mode, while in Enforce mode it will enforce access control. The default + value is Enforce mode. Known values are: "Audit" and "Enforce". + :vartype mode: Union[str, "Mode"] + :ivar key_incarnation_id: Increase the value of this property allows user to reset the key used + for securing communication channel between guest and host. + :vartype key_incarnation_id: int + """ + + enabled: bool + """Specifies whether ProxyAgent feature should be enabled on the virtual machine or virtual + machine scale set.""" + mode: Union[str, "Mode"] + """Specifies the mode that ProxyAgent will execute on if the feature is enabled. ProxyAgent will + start to audit or monitor but not enforce access control over requests to host endpoints in + Audit mode, while in Enforce mode it will enforce access control. The default value is Enforce + mode. Known values are: \"Audit\" and \"Enforce\".""" + keyIncarnationId: int + """Increase the value of this property allows user to reset the key used for securing + communication channel between guest and host.""" + + +class PublicIPAddressSku(TypedDict, total=False): + """Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + + :ivar name: Specify public IP sku name. Known values are: "Basic" and "Standard". + :vartype name: Union[str, "PublicIPAddressSkuName"] + :ivar tier: Specify public IP sku tier. Known values are: "Regional" and "Global". + :vartype tier: Union[str, "PublicIPAddressSkuTier"] + """ + + name: Union[str, "PublicIPAddressSkuName"] + """Specify public IP sku name. Known values are: \"Basic\" and \"Standard\".""" + tier: Union[str, "PublicIPAddressSkuTier"] + """Specify public IP sku tier. Known values are: \"Regional\" and \"Global\".""" + + +class RegularPriorityProfile(TypedDict, total=False): + """Configuration Options for Regular instances in Compute Fleet. + + :ivar capacity: Total capacity to achieve. It is currently in terms of number of VMs. + :vartype capacity: int + :ivar min_capacity: Minimum capacity to achieve which cannot be updated. If we will not be able + to "guarantee" minimum capacity, we will reject the request in the sync path itself. + :vartype min_capacity: int + :ivar allocation_strategy: Allocation strategy to follow when determining the VM sizes + distribution for Regular VMs. Known values are: "LowestPrice" and "Prioritized". + :vartype allocation_strategy: Union[str, "RegularPriorityAllocationStrategy"] + """ + + capacity: int + """Total capacity to achieve. It is currently in terms of number of VMs.""" + minCapacity: int + """Minimum capacity to achieve which cannot be updated. If we will not be able to \"guarantee\" + minimum capacity, we will reject the request in the sync path itself.""" + allocationStrategy: Union[str, "RegularPriorityAllocationStrategy"] + """Allocation strategy to follow when determining the VM sizes distribution for Regular VMs. Known + values are: \"LowestPrice\" and \"Prioritized\".""" + + +class ResourcePlanUpdate(TypedDict, total=False): + """The template for adding optional properties. + + :ivar name: A user defined name of the 3rd Party Artifact that is being procured. + :vartype name: str + :ivar publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. + :vartype publisher: str + :ivar product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to + the OfferID specified for the artifact at the time of Data Market onboarding. + :vartype product: str + :ivar promotion_code: A publisher provided promotion code as provisioned in Data Market for the + said product/artifact. + :vartype promotion_code: str + :ivar version: The version of the desired product/artifact. + :vartype version: str + """ + + name: str + """A user defined name of the 3rd Party Artifact that is being procured.""" + publisher: str + """The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic.""" + product: str + """The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID + specified for the artifact at the time of Data Market onboarding.""" + promotionCode: str + """A publisher provided promotion code as provisioned in Data Market for the said + product/artifact.""" + version: str + """The version of the desired product/artifact.""" + + +class ScheduledEventsProfile(TypedDict, total=False): + """Specifies Scheduled Event related configurations. + + :ivar terminate_notification_profile: Specifies Terminate Scheduled Event related + configurations. + :vartype terminate_notification_profile: "TerminateNotificationProfile" + :ivar os_image_notification_profile: Specifies OS Image Scheduled Event related configurations. + :vartype os_image_notification_profile: "OSImageNotificationProfile" + """ + + terminateNotificationProfile: "TerminateNotificationProfile" + """Specifies Terminate Scheduled Event related configurations.""" + osImageNotificationProfile: "OSImageNotificationProfile" + """Specifies OS Image Scheduled Event related configurations.""" + + +class SecurityPostureReference(TypedDict, total=False): + """Specifies the security posture to be used for all virtual machines in the scale set. Minimum + api-version: 2023-03-01. + + :ivar id: The security posture reference id in the form of + /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest. + :vartype id: str + :ivar exclude_extensions: List of virtual machine extension names to exclude when applying the + security posture. + :vartype exclude_extensions: list[str] + :ivar is_overridable: Whether the security posture can be overridden by the user. + :vartype is_overridable: bool + """ + + id: str + """The security posture reference id in the form of + /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest.""" + excludeExtensions: list[str] + """List of virtual machine extension names to exclude when applying the security posture.""" + isOverridable: bool + """Whether the security posture can be overridden by the user.""" + + +class SecurityProfile(TypedDict, total=False): + """Specifies the Security profile settings for the virtual machine or virtual machine scale set. + + :ivar uefi_settings: Specifies the security settings like secure boot and vTPM used while + creating the virtual machine. Minimum api-version: 2020-12-01. + :vartype uefi_settings: "UefiSettings" + :ivar encryption_at_host: This property can be used by user in the request to enable or disable + the Host Encryption for the virtual machine or virtual machine scale set. This will enable the + encryption for all the disks including Resource/Temp disk at host itself. The default behavior + is: The Encryption at host will be disabled unless this property is set to true for the + resource. + :vartype encryption_at_host: bool + :ivar security_type: Specifies the SecurityType of the virtual machine. It has to be set to any + specified value to enable UefiSettings. The default behavior is: UefiSettings will not be + enabled unless this property is set. Known values are: "TrustedLaunch" and "ConfidentialVM". + :vartype security_type: Union[str, "SecurityTypes"] + :ivar encryption_identity: Specifies the Managed Identity used by ADE to get access token for + keyvault operations. + :vartype encryption_identity: "EncryptionIdentity" + :ivar proxy_agent_settings: Specifies ProxyAgent settings while creating the virtual machine. + Minimum api-version: 2023-09-01. + :vartype proxy_agent_settings: "ProxyAgentSettings" + """ + + uefiSettings: "UefiSettings" + """Specifies the security settings like secure boot and vTPM used while creating the virtual + machine. Minimum api-version: 2020-12-01.""" + encryptionAtHost: bool + """This property can be used by user in the request to enable or disable the Host Encryption for + the virtual machine or virtual machine scale set. This will enable the encryption for all the + disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at + host will be disabled unless this property is set to true for the resource.""" + securityType: Union[str, "SecurityTypes"] + """Specifies the SecurityType of the virtual machine. It has to be set to any specified value to + enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this + property is set. Known values are: \"TrustedLaunch\" and \"ConfidentialVM\".""" + encryptionIdentity: "EncryptionIdentity" + """Specifies the Managed Identity used by ADE to get access token for keyvault operations.""" + proxyAgentSettings: "ProxyAgentSettings" + """Specifies ProxyAgent settings while creating the virtual machine. Minimum api-version: + 2023-09-01.""" + + +class ServiceArtifactReference(TypedDict, total=False): + """Specifies the service artifact reference id used to set same image version for all virtual + machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01. + + :ivar id: The service artifact reference id in the form of + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}. + :vartype id: str + """ + + id: str + """The service artifact reference id in the form of + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}.""" + + +class SpotPriorityProfile(TypedDict, total=False): + """Configuration Options for Spot instances in Compute Fleet. + + :ivar capacity: Total capacity to achieve. It is currently in terms of number of VMs. + :vartype capacity: int + :ivar min_capacity: Minimum capacity to achieve which cannot be updated. If we will not be able + to "guarantee" minimum capacity, we will reject the request in the sync path itself. + :vartype min_capacity: int + :ivar max_price_per_vm: Price per hour of each Spot VM will never exceed this. + :vartype max_price_per_vm: float + :ivar eviction_policy: Eviction Policy to follow when evicting Spot VMs. Known values are: + "Delete" and "Deallocate". + :vartype eviction_policy: Union[str, "EvictionPolicy"] + :ivar allocation_strategy: Allocation strategy to follow when determining the VM sizes + distribution for Spot VMs. Known values are: "PriceCapacityOptimized", "LowestPrice", and + "CapacityOptimized". + :vartype allocation_strategy: Union[str, "SpotAllocationStrategy"] + :ivar maintain: Flag to enable/disable continuous goal seeking for the desired capacity and + restoration of evicted Spot VMs. If maintain is enabled, AzureFleetRP will use all VM sizes in + vmSizesProfile to create new VMs (if VMs are evicted deleted) or update existing VMs with new + VM sizes (if VMs are evicted deallocated or failed to allocate due to capacity constraint) in + order to achieve the desired capacity. Maintain is enabled by default. + :vartype maintain: bool + """ + + capacity: int + """Total capacity to achieve. It is currently in terms of number of VMs.""" + minCapacity: int + """Minimum capacity to achieve which cannot be updated. If we will not be able to \"guarantee\" + minimum capacity, we will reject the request in the sync path itself.""" + maxPricePerVM: float + """Price per hour of each Spot VM will never exceed this.""" + evictionPolicy: Union[str, "EvictionPolicy"] + """Eviction Policy to follow when evicting Spot VMs. Known values are: \"Delete\" and + \"Deallocate\".""" + allocationStrategy: Union[str, "SpotAllocationStrategy"] + """Allocation strategy to follow when determining the VM sizes distribution for Spot VMs. Known + values are: \"PriceCapacityOptimized\", \"LowestPrice\", and \"CapacityOptimized\".""" + maintain: bool + """Flag to enable/disable continuous goal seeking for the desired capacity and restoration of + evicted Spot VMs. If maintain is enabled, AzureFleetRP will use all VM sizes in vmSizesProfile + to create new VMs (if VMs are evicted deleted) or update existing VMs with new VM sizes (if VMs + are evicted deallocated or failed to allocate due to capacity constraint) in order to achieve + the desired capacity. Maintain is enabled by default.""" + + +class SshConfiguration(TypedDict, total=False): + """SSH configuration for Linux based VMs running on Azure. + + :ivar public_keys: The list of SSH public keys used to authenticate with linux based VMs. + :vartype public_keys: list["SshPublicKey"] + """ + + publicKeys: list["SshPublicKey"] + """The list of SSH public keys used to authenticate with linux based VMs.""" + + +class SshPublicKey(TypedDict, total=False): + """Contains information about SSH certificate public key and the path on the Linux VM where the + public key is placed. + + :ivar path: Specifies the full path on the created VM where ssh public key is stored. If the + file already exists, the specified key is appended to the file. Example: + /home/user/.ssh/authorized_keys. + :vartype path: str + :ivar key_data: SSH public key certificate used to authenticate with the VM through ssh. The + key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH + keys on Linux and Mac for Linux VMs in + Azure]`https://learn.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed + `_). + :vartype key_data: str + """ + + path: str + """Specifies the full path on the created VM where ssh public key is stored. If the file already + exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys.""" + keyData: str + """SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at + least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and + Mac for Linux VMs in + Azure]`https://learn.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed + `_).""" + + +class SubResource(TypedDict, total=False): + """Describes SubResource. + + :ivar id: Resource Id. + :vartype id: str + """ + + id: str + """Resource Id.""" + + +class SystemData(TypedDict, total=False): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Known values are: + "User", "Application", "ManagedIdentity", and "Key". + :vartype created_by_type: Union[str, "CreatedByType"] + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: str + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Known values + are: "User", "Application", "ManagedIdentity", and "Key". + :vartype last_modified_by_type: Union[str, "CreatedByType"] + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: str + """ + + createdBy: str + """The identity that created the resource.""" + createdByType: Union[str, "CreatedByType"] + """The type of identity that created the resource. Known values are: \"User\", \"Application\", + \"ManagedIdentity\", and \"Key\".""" + createdAt: str + """The timestamp of resource creation (UTC).""" + lastModifiedBy: str + """The identity that last modified the resource.""" + lastModifiedByType: Union[str, "CreatedByType"] + """The type of identity that last modified the resource. Known values are: \"User\", + \"Application\", \"ManagedIdentity\", and \"Key\".""" + lastModifiedAt: str + """The timestamp of resource last modification (UTC).""" + + +class TerminateNotificationProfile(TypedDict, total=False): + """Specifies Terminate Scheduled Event related configurations. + + :ivar not_before_timeout: Configurable length of time a Virtual Machine being deleted will have + to potentially approve the Terminate Scheduled Event before the event is auto approved (timed + out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes + (PT5M). + :vartype not_before_timeout: str + :ivar enable: Specifies whether the Terminate Scheduled event is enabled or disabled. + :vartype enable: bool + """ + + notBeforeTimeout: str + """Configurable length of time a Virtual Machine being deleted will have to potentially approve + the Terminate Scheduled Event before the event is auto approved (timed out). The configuration + must be specified in ISO 8601 format, the default value is 5 minutes (PT5M).""" + enable: bool + """Specifies whether the Terminate Scheduled event is enabled or disabled.""" + + +class UefiSettings(TypedDict, total=False): + """Specifies the security settings like secure boot and vTPM used while creating the virtual + machine. Minimum api-version: 2020-12-01. + + :ivar secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual + machine. Minimum api-version: 2020-12-01. + :vartype secure_boot_enabled: bool + :ivar v_tpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Minimum + api-version: 2020-12-01. + :vartype v_tpm_enabled: bool + """ + + secureBootEnabled: bool + """Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: + 2020-12-01.""" + vTpmEnabled: bool + """Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: + 2020-12-01.""" + + +class UserAssignedIdentity(TypedDict, total=False): + """User assigned identity properties. + + :ivar principal_id: The principal ID of the assigned identity. + :vartype principal_id: str + :ivar client_id: The client ID of the assigned identity. + :vartype client_id: str + """ + + principalId: str + """The principal ID of the assigned identity.""" + clientId: str + """The client ID of the assigned identity.""" + + +class VaultCertificate(TypedDict, total=False): + """Describes a single certificate reference in a Key Vault, and where the certificate should + reside on the VM. + + :ivar certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as + a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault + `_. In this case, your + certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded + in UTF-8:

{
"data":"",
"dataType":"pfx",
+ "password":""
}
To install certificates on a virtual machine it is + recommended to use the `Azure Key Vault virtual machine extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_. + :vartype certificate_url: str + :ivar certificate_store: For Windows VMs, specifies the certificate store on the Virtual + Machine to which the certificate should be added. The specified certificate store is implicitly + in the LocalMachine account. For Linux VMs, the certificate file is placed under the + /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 + certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are + .pem formatted. + :vartype certificate_store: str + """ + + certificateUrl: str + """This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a + secret to the Key Vault, see `Add a key or secret to the key vault + `_. In this case, your + certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded + in UTF-8:

{
\"data\":\"\",
+ \"dataType\":\"pfx\",
\"password\":\"\"
}
To install + certificates on a virtual machine it is recommended to use the `Azure Key Vault virtual machine + extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_.""" + certificateStore: str + """For Windows VMs, specifies the certificate store on the Virtual Machine to which the + certificate should be added. The specified certificate store is implicitly in the LocalMachine + account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, + with the file name <UppercaseThumbprint>.crt for the X509 certificate file and + <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.""" + + +class VaultSecretGroup(TypedDict, total=False): + """Describes a set of certificates which are all in the same Key Vault. + + :ivar source_vault: The relative URL of the Key Vault containing all of the certificates in + VaultCertificates. + :vartype source_vault: "SubResource" + :ivar vault_certificates: The list of key vault references in SourceVault which contain + certificates. + :vartype vault_certificates: list["VaultCertificate"] + """ + + sourceVault: "SubResource" + """The relative URL of the Key Vault containing all of the certificates in VaultCertificates.""" + vaultCertificates: list["VaultCertificate"] + """The list of key vault references in SourceVault which contain certificates.""" + + +class VirtualHardDisk(TypedDict, total=False): + """Describes the uri of a disk. + + :ivar uri: Specifies the virtual hard disk's uri. + :vartype uri: str + """ + + uri: str + """Specifies the virtual hard disk's uri.""" + + +class VirtualMachineScaleSetDataDisk(TypedDict, total=False): + """Describes a virtual machine scale set data disk. + + :ivar name: The disk name. + :vartype name: str + :ivar lun: Specifies the logical unit number of the data disk. This value is used to identify + data disks within the VM and therefore must be unique for each data disk attached to a VM. + Required. + :vartype lun: int + :ivar caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** + **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium + storage.**. Known values are: "None", "ReadOnly", and "ReadWrite". + :vartype caching: Union[str, "CachingTypes"] + :ivar write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or + disabled on the disk. + :vartype write_accelerator_enabled: bool + :ivar create_option: The create option. Required. Known values are: "FromImage", "Empty", + "Attach", "Copy", and "Restore". + :vartype create_option: Union[str, "DiskCreateOptionTypes"] + :ivar disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be + used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is + the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :vartype disk_size_gb: int + :ivar managed_disk: The managed disk parameters. + :vartype managed_disk: "VirtualMachineScaleSetManagedDiskParameters" + :ivar disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk. Should be used + only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be + assigned based on diskSizeGB. + :vartype disk_iops_read_write: int + :ivar disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk. + Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value + would be assigned based on diskSizeGB. + :vartype disk_m_bps_read_write: int + :ivar delete_option: Specifies whether data disk should be deleted or detached upon VMSS Flex + deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

+ Possible values:

**Delete** If this value is used, the data disk is deleted when the + VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained + after VMSS Flex VM is deleted.

The default value is set to **Delete**. Known values + are: "Delete" and "Detach". + :vartype delete_option: Union[str, "DiskDeleteOptionTypes"] + """ + + name: str + """The disk name.""" + lun: Required[int] + """Specifies the logical unit number of the data disk. This value is used to identify data disks + within the VM and therefore must be unique for each data disk attached to a VM. Required.""" + caching: Union[str, "CachingTypes"] + """Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** + The default values are: **None for Standard storage. ReadOnly for Premium storage.**. Known + values are: \"None\", \"ReadOnly\", and \"ReadWrite\".""" + writeAcceleratorEnabled: bool + """Specifies whether writeAccelerator should be enabled or disabled on the disk.""" + createOption: Required[Union[str, "DiskCreateOptionTypes"]] + """The create option. Required. Known values are: \"FromImage\", \"Empty\", \"Attach\", \"Copy\", + and \"Restore\".""" + diskSizeGB: int + """Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite + the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes + x 1024^3 for the disk and the value cannot be larger than 1023.""" + managedDisk: "VirtualMachineScaleSetManagedDiskParameters" + """The managed disk parameters.""" + diskIOPSReadWrite: int + """Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType + is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.""" + diskMBpsReadWrite: int + """Specifies the bandwidth in MB per second for the managed disk. Should be used only when + StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based + on diskSizeGB.""" + deleteOption: Union[str, "DiskDeleteOptionTypes"] + """Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature + is available for VMSS with Flexible OrchestrationMode only).

Possible values:

+ **Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is + deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM + is deleted.

The default value is set to **Delete**. Known values are: \"Delete\" and + \"Detach\".""" + + +class VirtualMachineScaleSetExtension(TypedDict, total=False): + """Describes a Virtual Machine Scale Set Extension. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: The name of the extension. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar properties: Describes the properties of a Virtual Machine Scale Set Extension. + :vartype properties: "VirtualMachineScaleSetExtensionProperties" + """ + + id: str + """Resource Id.""" + name: str + """The name of the extension.""" + type: str + """Resource type.""" + properties: "VirtualMachineScaleSetExtensionProperties" + """Describes the properties of a Virtual Machine Scale Set Extension.""" + + +class VirtualMachineScaleSetExtensionProfile(TypedDict, total=False): + """Describes a virtual machine scale set extension profile. + + :ivar extensions: The virtual machine scale set child extension resources. + :vartype extensions: list["VirtualMachineScaleSetExtension"] + :ivar extensions_time_budget: Specifies the time alloted for all extensions to start. The time + duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in + ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + :vartype extensions_time_budget: str + """ + + extensions: list["VirtualMachineScaleSetExtension"] + """The virtual machine scale set child extension resources.""" + extensionsTimeBudget: str + """Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default + value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01.""" + + +class VirtualMachineScaleSetExtensionProperties(TypedDict, total=False): # pylint: disable=name-too-long + """Describes the properties of a Virtual Machine Scale Set Extension. + + :ivar force_update_tag: If a value is provided and is different from the previous value, the + extension handler will be forced to update even if the extension configuration has not changed. + :vartype force_update_tag: str + :ivar publisher: The name of the extension handler publisher. + :vartype publisher: str + :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". + :vartype type: str + :ivar type_handler_version: Specifies the version of the script handler. + :vartype type_handler_version: str + :ivar auto_upgrade_minor_version: Indicates whether the extension should use a newer minor + version if one is available at deployment time. Once deployed, however, the extension will not + upgrade minor versions unless redeployed, even with this property set to true. + :vartype auto_upgrade_minor_version: bool + :ivar enable_automatic_upgrade: Indicates whether the extension should be automatically + upgraded by the platform if there is a newer version of the extension available. + :vartype enable_automatic_upgrade: bool + :ivar settings: Json formatted public settings for the extension. + :vartype settings: dict[str, Any] + :ivar protected_settings: The extension can contain either protectedSettings or + protectedSettingsFromKeyVault or no protected settings at all. + :vartype protected_settings: dict[str, Any] + :ivar provisioning_state: The provisioning state, which only appears in the response. + :vartype provisioning_state: str + :ivar provision_after_extensions: Collection of extension names after which this extension + needs to be provisioned. + :vartype provision_after_extensions: list[str] + :ivar suppress_failures: Indicates whether failures stemming from the extension will be + suppressed (Operational failures such as not connecting to the VM will not be suppressed + regardless of this value). The default is false. + :vartype suppress_failures: bool + :ivar protected_settings_from_key_vault: The extensions protected settings that are passed by + reference, and consumed from key vault. + :vartype protected_settings_from_key_vault: "KeyVaultSecretReference" + """ + + forceUpdateTag: str + """If a value is provided and is different from the previous value, the extension handler will be + forced to update even if the extension configuration has not changed.""" + publisher: str + """The name of the extension handler publisher.""" + type: str + """Specifies the type of the extension; an example is \"CustomScriptExtension\".""" + typeHandlerVersion: str + """Specifies the version of the script handler.""" + autoUpgradeMinorVersion: bool + """Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless + redeployed, even with this property set to true.""" + enableAutomaticUpgrade: bool + """Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available.""" + settings: dict[str, Any] + """Json formatted public settings for the extension.""" + protectedSettings: dict[str, Any] + """The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no + protected settings at all.""" + provisioningState: str + """The provisioning state, which only appears in the response.""" + provisionAfterExtensions: list[str] + """Collection of extension names after which this extension needs to be provisioned.""" + suppressFailures: bool + """Indicates whether failures stemming from the extension will be suppressed (Operational failures + such as not connecting to the VM will not be suppressed regardless of this value). The default + is false.""" + protectedSettingsFromKeyVault: "KeyVaultSecretReference" + """The extensions protected settings that are passed by reference, and consumed from key vault.""" + + +class VirtualMachineScaleSetHardwareProfile(TypedDict, total=False): + """Specifies the hardware settings for the virtual machine scale set. + + :ivar vm_size_properties: Specifies the properties for customizing the size of the virtual + machine. Minimum api-version: 2021-11-01. Please follow the instructions in `VM Customization + `_ for more details. + :vartype vm_size_properties: "VMSizeProperties" + """ + + vmSizeProperties: "VMSizeProperties" + """Specifies the properties for customizing the size of the virtual machine. Minimum api-version: + 2021-11-01. Please follow the instructions in `VM Customization + `_ for more details.""" + + +class VirtualMachineScaleSetIPConfiguration(TypedDict, total=False): + """Describes a virtual machine scale set network profile's IP configuration. + + :ivar name: The IP configuration name. Required. + :vartype name: str + :ivar properties: Describes a virtual machine scale set network profile's IP configuration + properties. + :vartype properties: "VirtualMachineScaleSetIPConfigurationProperties" + """ + + name: Required[str] + """The IP configuration name. Required.""" + properties: "VirtualMachineScaleSetIPConfigurationProperties" + """Describes a virtual machine scale set network profile's IP configuration properties.""" + + +class VirtualMachineScaleSetIPConfigurationProperties(TypedDict, total=False): # pylint: disable=name-too-long + """Describes a virtual machine scale set network profile's IP configuration properties. + + :ivar subnet: Specifies the identifier of the subnet. + :vartype subnet: "ApiEntityReference" + :ivar primary: Specifies the primary network interface in case the virtual machine has more + than 1 network interface. + :vartype primary: bool + :ivar public_ip_address_configuration: The publicIPAddressConfiguration. + :vartype public_ip_address_configuration: "VirtualMachineScaleSetPublicIPAddressConfiguration" + :ivar private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents + whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible + values are: 'IPv4' and 'IPv6'. Known values are: "IPv4" and "IPv6". + :vartype private_ip_address_version: Union[str, "IPVersion"] + :ivar application_gateway_backend_address_pools: Specifies an array of references to backend + address pools of application gateways. A scale set can reference backend address pools of + multiple application gateways. Multiple scale sets cannot use the same application gateway. + :vartype application_gateway_backend_address_pools: list["SubResource"] + :ivar application_security_groups: Specifies an array of references to application security + group. + :vartype application_security_groups: list["SubResource"] + :ivar load_balancer_backend_address_pools: Specifies an array of references to backend address + pools of load balancers. A scale set can reference backend address pools of one public and one + internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :vartype load_balancer_backend_address_pools: list["SubResource"] + :ivar load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools of + the load balancers. A scale set can reference inbound nat pools of one public and one internal + load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :vartype load_balancer_inbound_nat_pools: list["SubResource"] + """ + + subnet: "ApiEntityReference" + """Specifies the identifier of the subnet.""" + primary: bool + """Specifies the primary network interface in case the virtual machine has more than 1 network + interface.""" + publicIPAddressConfiguration: "VirtualMachineScaleSetPublicIPAddressConfiguration" + """The publicIPAddressConfiguration.""" + privateIPAddressVersion: Union[str, "IPVersion"] + """Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and + 'IPv6'. Known values are: \"IPv4\" and \"IPv6\".""" + applicationGatewayBackendAddressPools: list["SubResource"] + """Specifies an array of references to backend address pools of application gateways. A scale set + can reference backend address pools of multiple application gateways. Multiple scale sets + cannot use the same application gateway.""" + applicationSecurityGroups: list["SubResource"] + """Specifies an array of references to application security group.""" + loadBalancerBackendAddressPools: list["SubResource"] + """Specifies an array of references to backend address pools of load balancers. A scale set can + reference backend address pools of one public and one internal load balancer. Multiple scale + sets cannot use the same basic sku load balancer.""" + loadBalancerInboundNatPools: list["SubResource"] + """Specifies an array of references to inbound Nat pools of the load balancers. A scale set can + reference inbound nat pools of one public and one internal load balancer. Multiple scale sets + cannot use the same basic sku load balancer.""" + + +class VirtualMachineScaleSetIpTag(TypedDict, total=False): + """Contains the IP tag associated with the public IP address. + + :ivar ip_tag_type: IP tag type. Example: FirstPartyUsage. + :vartype ip_tag_type: str + :ivar tag: IP tag associated with the public IP. Example: SQL, Storage etc. + :vartype tag: str + """ + + ipTagType: str + """IP tag type. Example: FirstPartyUsage.""" + tag: str + """IP tag associated with the public IP. Example: SQL, Storage etc.""" + + +class VirtualMachineScaleSetManagedDiskParameters(TypedDict, total=False): # pylint: disable=name-too-long + """Describes the parameters of a ScaleSet managed disk. + + :ivar storage_account_type: Specifies the storage account type for the managed disk. NOTE: + UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. Known values + are: "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", "UltraSSD_LRS", "Premium_ZRS", + "StandardSSD_ZRS", and "PremiumV2_LRS". + :vartype storage_account_type: Union[str, "StorageAccountTypes"] + :ivar disk_encryption_set: Specifies the customer managed disk encryption set resource id for + the managed disk. + :vartype disk_encryption_set: "DiskEncryptionSetParameters" + :ivar security_profile: Specifies the security profile for the managed disk. + :vartype security_profile: "VMDiskSecurityProfile" + """ + + storageAccountType: Union[str, "StorageAccountTypes"] + """Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used + with data disks, it cannot be used with OS Disk. Known values are: \"Standard_LRS\", + \"Premium_LRS\", \"StandardSSD_LRS\", \"UltraSSD_LRS\", \"Premium_ZRS\", \"StandardSSD_ZRS\", + and \"PremiumV2_LRS\".""" + diskEncryptionSet: "DiskEncryptionSetParameters" + """Specifies the customer managed disk encryption set resource id for the managed disk.""" + securityProfile: "VMDiskSecurityProfile" + """Specifies the security profile for the managed disk.""" + + +class VirtualMachineScaleSetNetworkConfiguration(TypedDict, total=False): # pylint: disable=name-too-long + """Describes a virtual machine scale set network profile's network configurations. + + :ivar name: The network configuration name. Required. + :vartype name: str + :ivar properties: Describes a virtual machine scale set network profile's IP configuration. + :vartype properties: "VirtualMachineScaleSetNetworkConfigurationProperties" + """ + + name: Required[str] + """The network configuration name. Required.""" + properties: "VirtualMachineScaleSetNetworkConfigurationProperties" + """Describes a virtual machine scale set network profile's IP configuration.""" + + +class VirtualMachineScaleSetNetworkConfigurationDnsSettings(TypedDict, total=False): # pylint: disable=name-too-long + """Describes a virtual machines scale sets network configuration's DNS settings. + + :ivar dns_servers: List of DNS servers IP addresses. + :vartype dns_servers: list[str] + """ + + dnsServers: list[str] + """List of DNS servers IP addresses.""" + + +class VirtualMachineScaleSetNetworkConfigurationProperties(TypedDict, total=False): # pylint: disable=name-too-long + """Describes a virtual machine scale set network profile's IP configuration. + + :ivar primary: Specifies the primary network interface in case the virtual machine has more + than 1 network interface. + :vartype primary: bool + :ivar enable_accelerated_networking: Specifies whether the network interface is accelerated + networking-enabled. + :vartype enable_accelerated_networking: bool + :ivar disable_tcp_state_tracking: Specifies whether the network interface is disabled for tcp + state tracking. + :vartype disable_tcp_state_tracking: bool + :ivar enable_fpga: Specifies whether the network interface is FPGA networking-enabled. + :vartype enable_fpga: bool + :ivar network_security_group: The network security group. + :vartype network_security_group: "SubResource" + :ivar dns_settings: The dns settings to be applied on the network interfaces. + :vartype dns_settings: "VirtualMachineScaleSetNetworkConfigurationDnsSettings" + :ivar ip_configurations: Specifies the IP configurations of the network interface. Required. + :vartype ip_configurations: list["VirtualMachineScaleSetIPConfiguration"] + :ivar enable_ip_forwarding: Whether IP forwarding enabled on this NIC. + :vartype enable_ip_forwarding: bool + :ivar delete_option: Specify what happens to the network interface when the VM is deleted. + Known values are: "Delete" and "Detach". + :vartype delete_option: Union[str, "DeleteOptions"] + :ivar auxiliary_mode: Specifies whether the Auxiliary mode is enabled for the Network Interface + resource. Known values are: "None", "AcceleratedConnections", and "Floating". + :vartype auxiliary_mode: Union[str, "NetworkInterfaceAuxiliaryMode"] + :ivar auxiliary_sku: Specifies whether the Auxiliary sku is enabled for the Network Interface + resource. Known values are: "None", "A1", "A2", "A4", and "A8". + :vartype auxiliary_sku: Union[str, "NetworkInterfaceAuxiliarySku"] + """ + + primary: bool + """Specifies the primary network interface in case the virtual machine has more than 1 network + interface.""" + enableAcceleratedNetworking: bool + """Specifies whether the network interface is accelerated networking-enabled.""" + disableTcpStateTracking: bool + """Specifies whether the network interface is disabled for tcp state tracking.""" + enableFpga: bool + """Specifies whether the network interface is FPGA networking-enabled.""" + networkSecurityGroup: "SubResource" + """The network security group.""" + dnsSettings: "VirtualMachineScaleSetNetworkConfigurationDnsSettings" + """The dns settings to be applied on the network interfaces.""" + ipConfigurations: Required[list["VirtualMachineScaleSetIPConfiguration"]] + """Specifies the IP configurations of the network interface. Required.""" + enableIPForwarding: bool + """Whether IP forwarding enabled on this NIC.""" + deleteOption: Union[str, "DeleteOptions"] + """Specify what happens to the network interface when the VM is deleted. Known values are: + \"Delete\" and \"Detach\".""" + auxiliaryMode: Union[str, "NetworkInterfaceAuxiliaryMode"] + """Specifies whether the Auxiliary mode is enabled for the Network Interface resource. Known + values are: \"None\", \"AcceleratedConnections\", and \"Floating\".""" + auxiliarySku: Union[str, "NetworkInterfaceAuxiliarySku"] + """Specifies whether the Auxiliary sku is enabled for the Network Interface resource. Known values + are: \"None\", \"A1\", \"A2\", \"A4\", and \"A8\".""" + + +class VirtualMachineScaleSetNetworkProfile(TypedDict, total=False): + """Describes a virtual machine scale set network profile. + + :ivar health_probe: A reference to a load balancer probe used to determine the health of an + instance in the virtual machine scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + :vartype health_probe: "ApiEntityReference" + :ivar network_interface_configurations: The list of network configurations. + :vartype network_interface_configurations: list["VirtualMachineScaleSetNetworkConfiguration"] + :ivar network_api_version: specifies the Microsoft.Network API version used when creating + networking resources in the Network Interface Configurations for Virtual Machine Scale Set with + orchestration mode 'Flexible'. "2020-11-01" + :vartype network_api_version: Union[str, "NetworkApiVersion"] + """ + + healthProbe: "ApiEntityReference" + """A reference to a load balancer probe used to determine the health of an instance in the virtual + machine scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.""" + networkInterfaceConfigurations: list["VirtualMachineScaleSetNetworkConfiguration"] + """The list of network configurations.""" + networkApiVersion: Union[str, "NetworkApiVersion"] + """specifies the Microsoft.Network API version used when creating networking resources in the + Network Interface Configurations for Virtual Machine Scale Set with orchestration mode + 'Flexible'. \"2020-11-01\"""" + + +class VirtualMachineScaleSetOSDisk(TypedDict, total=False): + """Describes a virtual machine scale set operating system disk. + + :ivar name: The disk name. + :vartype name: str + :ivar caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** + **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium + storage.**. Known values are: "None", "ReadOnly", and "ReadWrite". + :vartype caching: Union[str, "CachingTypes"] + :ivar write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or + disabled on the disk. + :vartype write_accelerator_enabled: bool + :ivar create_option: Specifies how the virtual machines in the scale set should be created. The + only allowed value is: **FromImage.** This value is used when you are using an image to create + the virtual machine. If you are using a platform image, you also use the imageReference element + described above. If you are using a marketplace image, you also use the plan element + previously described. Required. Known values are: "FromImage", "Empty", "Attach", "Copy", and + "Restore". + :vartype create_option: Union[str, "DiskCreateOptionTypes"] + :ivar diff_disk_settings: Specifies the ephemeral disk Settings for the operating system disk + used by the virtual machine scale set. + :vartype diff_disk_settings: "DiffDiskSettings" + :ivar disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be + used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is + the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :vartype disk_size_gb: int + :ivar os_type: This property allows you to specify the type of the OS that is included in the + disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** + **Linux.**. Known values are: "Windows" and "Linux". + :vartype os_type: Union[str, "OperatingSystemTypes"] + :ivar image: Specifies information about the unmanaged user image to base the scale set on. + :vartype image: "VirtualHardDisk" + :ivar vhd_containers: Specifies the container urls that are used to store operating system + disks for the scale set. + :vartype vhd_containers: list[str] + :ivar managed_disk: The managed disk parameters. + :vartype managed_disk: "VirtualMachineScaleSetManagedDiskParameters" + :ivar delete_option: Specifies whether OS Disk should be deleted or detached upon VMSS Flex + deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

+ Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS + Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after + VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS + Disk, the default value is set to **Delete**. User cannot change the delete option for + Ephemeral OS Disk. Known values are: "Delete" and "Detach". + :vartype delete_option: Union[str, "DiskDeleteOptionTypes"] + """ + + name: str + """The disk name.""" + caching: Union[str, "CachingTypes"] + """Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** + The default values are: **None for Standard storage. ReadOnly for Premium storage.**. Known + values are: \"None\", \"ReadOnly\", and \"ReadWrite\".""" + writeAcceleratorEnabled: bool + """Specifies whether writeAccelerator should be enabled or disabled on the disk.""" + createOption: Required[Union[str, "DiskCreateOptionTypes"]] + """Specifies how the virtual machines in the scale set should be created. The only allowed value + is: **FromImage.** This value is used when you are using an image to create the virtual + machine. If you are using a platform image, you also use the imageReference element described + above. If you are using a marketplace image, you also use the plan element previously + described. Required. Known values are: \"FromImage\", \"Empty\", \"Attach\", \"Copy\", and + \"Restore\".""" + diffDiskSettings: "DiffDiskSettings" + """Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine + scale set.""" + diskSizeGB: int + """Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite + the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of + bytes x 1024^3 for the disk and the value cannot be larger than 1023.""" + osType: Union[str, "OperatingSystemTypes"] + """This property allows you to specify the type of the OS that is included in the disk if creating + a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**. Known + values are: \"Windows\" and \"Linux\".""" + image: "VirtualHardDisk" + """Specifies information about the unmanaged user image to base the scale set on.""" + vhdContainers: list[str] + """Specifies the container urls that are used to store operating system disks for the scale set.""" + managedDisk: "VirtualMachineScaleSetManagedDiskParameters" + """The managed disk parameters.""" + deleteOption: Union[str, "DiskDeleteOptionTypes"] + """Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature + is available for VMSS with Flexible OrchestrationMode only).

Possible values:

+ **Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

+ **Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted. +

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is + set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. Known values + are: \"Delete\" and \"Detach\".""" + + +class VirtualMachineScaleSetOSProfile(TypedDict, total=False): + """Describes a virtual machine scale set OS profile. + + :ivar computer_name_prefix: Specifies the computer name prefix for all of the virtual machines + in the scale set. Computer name prefixes must be 1 to 15 characters long. + :vartype computer_name_prefix: str + :ivar admin_username: Specifies the name of the administrator account.

**Windows-only + restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", + "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", + "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", + "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". +

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 + characters

**Max-length (Windows):** 20 characters. + :vartype admin_username: str + :ivar admin_password: Specifies the password of the administrator account.

+ **Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters +

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 + characters

**Complexity requirements:** 3 out of 4 conditions below need to be + fulfilled
Has lower characters
Has upper characters
Has a digit
Has a + special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", + "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", + "iloveyou!"

For resetting the password, see `How to reset the Remote Desktop service + or its login password in a Windows VM + `_

For + resetting root password, see `Manage users, SSH, and check or repair disks on Azure Linux VMs + using the VMAccess Extension + `_. + :vartype admin_password: str + :ivar custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded + string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum + length of the binary array is 65535 bytes. For using cloud-init for your VM, see `Using + cloud-init to customize a Linux VM during creation + `_. + :vartype custom_data: str + :ivar windows_configuration: Specifies Windows operating system settings on the virtual + machine. + :vartype windows_configuration: "WindowsConfiguration" + :ivar linux_configuration: Specifies the Linux operating system settings on the virtual + machine. For a list of supported Linux distributions, see `Linux on Azure-Endorsed + Distributions `_. + :vartype linux_configuration: "LinuxConfiguration" + :ivar secrets: Specifies set of certificates that should be installed onto the virtual machines + in the scale set. To install certificates on a virtual machine it is recommended to use the + `Azure Key Vault virtual machine extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_. + :vartype secrets: list["VaultSecretGroup"] + :ivar allow_extension_operations: Specifies whether extension operations should be allowed on + the virtual machine scale set. This may only be set to False when no extensions are present on + the virtual machine scale set. + :vartype allow_extension_operations: bool + :ivar require_guest_provision_signal: Optional property which must either be set to True or + omitted. + :vartype require_guest_provision_signal: bool + """ + + computerNamePrefix: str + """Specifies the computer name prefix for all of the virtual machines in the scale set. Computer + name prefixes must be 1 to 15 characters long.""" + adminUsername: str + """Specifies the name of the administrator account.

**Windows-only restriction:** Cannot + end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", + \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", + \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", + \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", + \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character +

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 + characters.""" + adminPassword: str + """Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 + characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** + 123 characters

**Max-length (Linux):** 72 characters

**Complexity + requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters +
Has upper characters
Has a digit
Has a special character (Regex match [\\W_]) +

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", + \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" +

For resetting the password, see `How to reset the Remote Desktop service or its login + password in a Windows VM + `_

For + resetting root password, see `Manage users, SSH, and check or repair disks on Azure Linux VMs + using the VMAccess Extension + `_.""" + customData: str + """Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a + binary array that is saved as a file on the Virtual Machine. The maximum length of the binary + array is 65535 bytes. For using cloud-init for your VM, see `Using cloud-init to customize a + Linux VM during creation + `_.""" + windowsConfiguration: "WindowsConfiguration" + """Specifies Windows operating system settings on the virtual machine.""" + linuxConfiguration: "LinuxConfiguration" + """Specifies the Linux operating system settings on the virtual machine. For a list of supported + Linux distributions, see `Linux on Azure-Endorsed Distributions + `_.""" + secrets: list["VaultSecretGroup"] + """Specifies set of certificates that should be installed onto the virtual machines in the scale + set. To install certificates on a virtual machine it is recommended to use the `Azure Key Vault + virtual machine extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_.""" + allowExtensionOperations: bool + """Specifies whether extension operations should be allowed on the virtual machine scale set. This + may only be set to False when no extensions are present on the virtual machine scale set.""" + requireGuestProvisionSignal: bool + """Optional property which must either be set to True or omitted.""" + + +class VirtualMachineScaleSetPublicIPAddressConfiguration(TypedDict, total=False): # pylint: disable=name-too-long + """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. + + :ivar name: The publicIP address configuration name. Required. + :vartype name: str + :ivar properties: Describes a virtual machines scale set IP Configuration's PublicIPAddress + configuration. + :vartype properties: "VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + :ivar sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + :vartype sku: "PublicIPAddressSku" + """ + + name: Required[str] + """The publicIP address configuration name. Required.""" + properties: "VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration.""" + sku: "PublicIPAddressSku" + """Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.""" + + +class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings( + TypedDict, total=False +): # pylint: disable=name-too-long + """Describes a virtual machines scale sets network configuration's DNS settings. + + :ivar domain_name_label: The Domain name label.The concatenation of the domain name label and + vm index will be the domain name labels of the PublicIPAddress resources that will be created. + Required. + :vartype domain_name_label: str + :ivar domain_name_label_scope: The Domain name label scope.The concatenation of the hashed + domain name label that generated according to the policy from domain name label scope and vm + index will be the domain name labels of the PublicIPAddress resources that will be created. + Known values are: "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", and "NoReuse". + :vartype domain_name_label_scope: Union[str, "DomainNameLabelScopeTypes"] + """ + + domainNameLabel: Required[str] + """The Domain name label.The concatenation of the domain name label and vm index will be the + domain name labels of the PublicIPAddress resources that will be created. Required.""" + domainNameLabelScope: Union[str, "DomainNameLabelScopeTypes"] + """The Domain name label scope.The concatenation of the hashed domain name label that generated + according to the policy from domain name label scope and vm index will be the domain name + labels of the PublicIPAddress resources that will be created. Known values are: + \"TenantReuse\", \"SubscriptionReuse\", \"ResourceGroupReuse\", and \"NoReuse\".""" + + +class VirtualMachineScaleSetPublicIPAddressConfigurationProperties( + TypedDict, total=False +): # pylint: disable=name-too-long + """Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. + + :ivar idle_timeout_in_minutes: The idle timeout of the public IP address. + :vartype idle_timeout_in_minutes: int + :ivar dns_settings: The dns settings to be applied on the publicIP addresses . + :vartype dns_settings: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + :ivar ip_tags: The list of IP tags associated with the public IP address. + :vartype ip_tags: list["VirtualMachineScaleSetIpTag"] + :ivar public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. + :vartype public_ip_prefix: "SubResource" + :ivar public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents + whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values + are: 'IPv4' and 'IPv6'. Known values are: "IPv4" and "IPv6". + :vartype public_ip_address_version: Union[str, "IPVersion"] + :ivar delete_option: Specify what happens to the public IP when the VM is deleted. Known values + are: "Delete" and "Detach". + :vartype delete_option: Union[str, "DeleteOptions"] + """ + + idleTimeoutInMinutes: int + """The idle timeout of the public IP address.""" + dnsSettings: "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + """The dns settings to be applied on the publicIP addresses .""" + ipTags: list["VirtualMachineScaleSetIpTag"] + """The list of IP tags associated with the public IP address.""" + publicIPPrefix: "SubResource" + """The PublicIPPrefix from which to allocate publicIP addresses.""" + publicIPAddressVersion: Union[str, "IPVersion"] + """Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and + 'IPv6'. Known values are: \"IPv4\" and \"IPv6\".""" + deleteOption: Union[str, "DeleteOptions"] + """Specify what happens to the public IP when the VM is deleted. Known values are: \"Delete\" and + \"Detach\".""" + + +class VirtualMachineScaleSetStorageProfile(TypedDict, total=False): + """Describes a virtual machine scale set storage profile. + + :ivar image_reference: 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. + :vartype image_reference: "ImageReference" + :ivar os_disk: Specifies information about the operating system disk used by the virtual + machines in the scale set. For more information about disks, see `About disks and VHDs for + Azure virtual machines + `_. + :vartype os_disk: "VirtualMachineScaleSetOSDisk" + :ivar data_disks: Specifies the parameters that are used to add data disks to the virtual + machines in the scale set. For more information about disks, see `About disks and VHDs for + Azure virtual machines + `_. + :vartype data_disks: list["VirtualMachineScaleSetDataDisk"] + :ivar disk_controller_type: Specifies the disk controller type configured for the virtual + machines in the scale set. Minimum api-version: 2022-08-01. Known values are: "SCSI" and + "NVMe". + :vartype disk_controller_type: Union[str, "DiskControllerTypes"] + """ + + imageReference: "ImageReference" + """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.""" + osDisk: "VirtualMachineScaleSetOSDisk" + """Specifies information about the operating system disk used by the virtual machines in the scale + set. For more information about disks, see `About disks and VHDs for Azure virtual machines + `_.""" + dataDisks: list["VirtualMachineScaleSetDataDisk"] + """Specifies the parameters that are used to add data disks to the virtual machines in the scale + set. For more information about disks, see `About disks and VHDs for Azure virtual machines + `_.""" + diskControllerType: Union[str, "DiskControllerTypes"] + """Specifies the disk controller type configured for the virtual machines in the scale set. + Minimum api-version: 2022-08-01. Known values are: \"SCSI\" and \"NVMe\".""" + + +class VMAttributeMinMaxDouble(TypedDict, total=False): + """VMAttributes using double values. + + :ivar min: Minimum value. default 0. Double.MinValue(). + :vartype min: float + :ivar max: Maximum value. Double.MaxValue(1.7976931348623157E+308). + :vartype max: float + """ + + min: float + """Minimum value. default 0. Double.MinValue().""" + max: float + """Maximum value. Double.MaxValue(1.7976931348623157E+308).""" + + +class VMAttributeMinMaxInteger(TypedDict, total=False): + """While retrieving VMSizes from CRS, Min = 0 (uint.MinValue) if not specified, Max = 4294967295 + (uint.MaxValue) if not specified. This allows to filter VMAttributes on all available VMSizes. + + :ivar min: Min VMSize from CRS, Min = 0 (uint.MinValue) if not specified. + :vartype min: int + :ivar max: Max VMSize from CRS, Max = 4294967295 (uint.MaxValue) if not specified. + :vartype max: int + """ + + min: int + """Min VMSize from CRS, Min = 0 (uint.MinValue) if not specified.""" + max: int + """Max VMSize from CRS, Max = 4294967295 (uint.MaxValue) if not specified.""" + + +class VMAttributes(TypedDict, total=False): + """VMAttributes that will be used to filter VMSizes which will be used to build Fleet. + + :ivar v_cpu_count: The range of vCpuCount specified from Min to Max. Must be specified if + VMAttributes are specified, either Min or Max is required if specified. Required. + :vartype v_cpu_count: "VMAttributeMinMaxInteger" + :ivar memory_in_gi_b: The range of memory specified from Min to Max. Must be specified if + VMAttributes are specified, either Min or Max is required if specified. Required. + :vartype memory_in_gi_b: "VMAttributeMinMaxDouble" + :ivar memory_in_gi_b_per_v_cpu: The range of memory in GiB per vCPU specified from min to max. + Optional parameter. Either Min or Max is required if specified. + :vartype memory_in_gi_b_per_v_cpu: "VMAttributeMinMaxDouble" + :ivar local_storage_support: Specifies whether the VMSize supporting local storage should be + used to build Fleet or not. Included - Default if not specified as most Azure VMs support local + storage. Known values are: "Excluded", "Included", and "Required". + :vartype local_storage_support: Union[str, "VMAttributeSupport"] + :ivar local_storage_in_gi_b: LocalStorageSupport should be set to "Included" or "Required" to + use this VMAttribute. If localStorageSupport is "Excluded", this VMAttribute can not be used. + :vartype local_storage_in_gi_b: "VMAttributeMinMaxDouble" + :ivar local_storage_disk_types: The local storage disk types specified as a list. + LocalStorageSupport should be set to "Included" or "Required" to use this VMAttribute. If + localStorageSupport is "Excluded", this VMAttribute can not be used. + :vartype local_storage_disk_types: list[Union[str, "LocalStorageDiskType"]] + :ivar data_disk_count: The range of data disk count specified from Min to Max. Optional + parameter. Either Min or Max is required if specified. + :vartype data_disk_count: "VMAttributeMinMaxInteger" + :ivar network_interface_count: The range of network interface count specified from Min to Max. + Optional parameter. Either Min or Max is required if specified. + :vartype network_interface_count: "VMAttributeMinMaxInteger" + :ivar network_bandwidth_in_mbps: The range of network bandwidth in Mbps specified from Min to + Max. Optional parameter. Either Min or Max is required if specified. + :vartype network_bandwidth_in_mbps: "VMAttributeMinMaxDouble" + :ivar rdma_support: Specifies whether the VMSize supporting RDMA (Remote Direct Memory Access) + should be used to build Fleet or not. Known values are: "Excluded", "Included", and "Required". + :vartype rdma_support: Union[str, "VMAttributeSupport"] + :ivar rdma_network_interface_count: The range of RDMA (Remote Direct Memory Access) network + interface count specified from Min to Max. Optional parameter. Either Min or Max is required if + specified. rdmaSupport should be set to "Included" or "Required" to use this VMAttribute. If + rdmaSupport is "Excluded", this VMAttribute can not be used. + :vartype rdma_network_interface_count: "VMAttributeMinMaxInteger" + :ivar accelerator_support: Specifies whether the VMSize supporting accelerator should be used + to build Fleet or not. acceleratorSupport should be set to "Included" or "Required" to use this + VMAttribute. If acceleratorSupport is "Excluded", this VMAttribute can not be used. Known + values are: "Excluded", "Included", and "Required". + :vartype accelerator_support: Union[str, "VMAttributeSupport"] + :ivar accelerator_manufacturers: The accelerator manufacturers specified as a list. + acceleratorSupport should be set to "Included" or "Required" to use this VMAttribute. If + acceleratorSupport is "Excluded", this VMAttribute can not be used. + :vartype accelerator_manufacturers: list[Union[str, "AcceleratorManufacturer"]] + :ivar accelerator_types: The accelerator types specified as a list. acceleratorSupport should + be set to "Included" or "Required" to use this VMAttribute. If acceleratorSupport is + "Excluded", this VMAttribute can not be used. + :vartype accelerator_types: list[Union[str, "AcceleratorType"]] + :ivar accelerator_count: The range of accelerator count specified from min to max. Optional + parameter. Either Min or Max is required if specified. acceleratorSupport should be set to + "Included" or "Required" to use this VMAttribute. If acceleratorSupport is "Excluded", this + VMAttribute can not be used. + :vartype accelerator_count: "VMAttributeMinMaxInteger" + :ivar vm_categories: The VM category specified as a list. Optional parameter. + :vartype vm_categories: list[Union[str, "VMCategory"]] + :ivar architecture_types: The VM architecture types specified as a list. Optional parameter. + :vartype architecture_types: list[Union[str, "ArchitectureType"]] + :ivar cpu_manufacturers: The VM CPU manufacturers specified as a list. Optional parameter. + :vartype cpu_manufacturers: list[Union[str, "CpuManufacturer"]] + :ivar burstable_support: Specifies whether the VMSize supporting burstable capability should be + used to build Fleet or not. Known values are: "Excluded", "Included", and "Required". + :vartype burstable_support: Union[str, "VMAttributeSupport"] + :ivar excluded_vm_sizes: Specifies which VMSizes should be excluded while building Fleet. + Optional parameter. + :vartype excluded_vm_sizes: list[str] + """ + + vCpuCount: Required["VMAttributeMinMaxInteger"] + """The range of vCpuCount specified from Min to Max. Must be specified if VMAttributes are + specified, either Min or Max is required if specified. Required.""" + memoryInGiB: Required["VMAttributeMinMaxDouble"] + """The range of memory specified from Min to Max. Must be specified if VMAttributes are specified, + either Min or Max is required if specified. Required.""" + memoryInGiBPerVCpu: "VMAttributeMinMaxDouble" + """The range of memory in GiB per vCPU specified from min to max. Optional parameter. Either Min + or Max is required if specified.""" + localStorageSupport: Union[str, "VMAttributeSupport"] + """Specifies whether the VMSize supporting local storage should be used to build Fleet or not. + Included - Default if not specified as most Azure VMs support local storage. Known values are: + \"Excluded\", \"Included\", and \"Required\".""" + localStorageInGiB: "VMAttributeMinMaxDouble" + """LocalStorageSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If + localStorageSupport is \"Excluded\", this VMAttribute can not be used.""" + localStorageDiskTypes: list[Union[str, "LocalStorageDiskType"]] + """The local storage disk types specified as a list. LocalStorageSupport should be set to + \"Included\" or \"Required\" to use this VMAttribute. If localStorageSupport is \"Excluded\", + this VMAttribute can not be used.""" + dataDiskCount: "VMAttributeMinMaxInteger" + """The range of data disk count specified from Min to Max. Optional parameter. Either Min or Max + is required if specified.""" + networkInterfaceCount: "VMAttributeMinMaxInteger" + """The range of network interface count specified from Min to Max. Optional parameter. Either Min + or Max is required if specified.""" + networkBandwidthInMbps: "VMAttributeMinMaxDouble" + """The range of network bandwidth in Mbps specified from Min to Max. Optional parameter. Either + Min or Max is required if specified.""" + rdmaSupport: Union[str, "VMAttributeSupport"] + """Specifies whether the VMSize supporting RDMA (Remote Direct Memory Access) should be used to + build Fleet or not. Known values are: \"Excluded\", \"Included\", and \"Required\".""" + rdmaNetworkInterfaceCount: "VMAttributeMinMaxInteger" + """The range of RDMA (Remote Direct Memory Access) network interface count specified from Min to + Max. Optional parameter. Either Min or Max is required if specified. rdmaSupport should be set + to \"Included\" or \"Required\" to use this VMAttribute. If rdmaSupport is \"Excluded\", this + VMAttribute can not be used.""" + acceleratorSupport: Union[str, "VMAttributeSupport"] + """Specifies whether the VMSize supporting accelerator should be used to build Fleet or not. + acceleratorSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If + acceleratorSupport is \"Excluded\", this VMAttribute can not be used. Known values are: + \"Excluded\", \"Included\", and \"Required\".""" + acceleratorManufacturers: list[Union[str, "AcceleratorManufacturer"]] + """The accelerator manufacturers specified as a list. acceleratorSupport should be set to + \"Included\" or \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", + this VMAttribute can not be used.""" + acceleratorTypes: list[Union[str, "AcceleratorType"]] + """The accelerator types specified as a list. acceleratorSupport should be set to \"Included\" or + \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute + can not be used.""" + acceleratorCount: "VMAttributeMinMaxInteger" + """The range of accelerator count specified from min to max. Optional parameter. Either Min or Max + is required if specified. acceleratorSupport should be set to \"Included\" or \"Required\" to + use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute can not be used.""" + vmCategories: list[Union[str, "VMCategory"]] + """The VM category specified as a list. Optional parameter.""" + architectureTypes: list[Union[str, "ArchitectureType"]] + """The VM architecture types specified as a list. Optional parameter.""" + cpuManufacturers: list[Union[str, "CpuManufacturer"]] + """The VM CPU manufacturers specified as a list. Optional parameter.""" + burstableSupport: Union[str, "VMAttributeSupport"] + """Specifies whether the VMSize supporting burstable capability should be used to build Fleet or + not. Known values are: \"Excluded\", \"Included\", and \"Required\".""" + excludedVMSizes: list[str] + """Specifies which VMSizes should be excluded while building Fleet. Optional parameter.""" + + +class VMDiskSecurityProfile(TypedDict, total=False): + """Specifies the security profile settings for the managed disk. **Note:** It can only be set for + Confidential VMs. + + :ivar security_encryption_type: Specifies the EncryptionType of the managed disk. It is set to + DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, + VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not + persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only + Confidential VMs. Known values are: "VMGuestStateOnly", "DiskWithVMGuestState", and + "NonPersistedTPM". + :vartype security_encryption_type: Union[str, "SecurityEncryptionTypes"] + :ivar disk_encryption_set: Specifies the customer managed disk encryption set resource id for + the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and + VMGuest blob. + :vartype disk_encryption_set: "DiskEncryptionSetParameters" + """ + + securityEncryptionType: Union[str, "SecurityEncryptionTypes"] + """Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for + encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of + just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the + VMGuestState blob.. **Note:** It can be set for only Confidential VMs. Known values are: + \"VMGuestStateOnly\", \"DiskWithVMGuestState\", and \"NonPersistedTPM\".""" + diskEncryptionSet: "DiskEncryptionSetParameters" + """Specifies the customer managed disk encryption set resource id for the managed disk that is + used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob.""" + + +class VMGalleryApplication(TypedDict, total=False): + """Specifies the required information to reference a compute gallery application version. + + :ivar tags: Optional, Specifies a passthrough value for more generic context. + :vartype tags: str + :ivar order: Optional, Specifies the order in which the packages have to be installed. + :vartype order: int + :ivar package_reference_id: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}. + Required. + :vartype package_reference_id: str + :ivar configuration_reference: Optional, Specifies the uri to an azure blob that will replace + the default configuration for the package if provided. + :vartype configuration_reference: str + :ivar treat_failure_as_deployment_failure: Optional, If true, any failure for any operation in + the VmApplication will fail the deployment. + :vartype treat_failure_as_deployment_failure: bool + :ivar enable_automatic_upgrade: If set to true, when a new Gallery Application version is + available in PIR/SIG, it will be automatically updated for the VM/VMSS. + :vartype enable_automatic_upgrade: bool + """ + + tags: str + """Optional, Specifies a passthrough value for more generic context.""" + order: int + """Optional, Specifies the order in which the packages have to be installed.""" + packageReferenceId: Required[str] + """Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}. + Required.""" + configurationReference: str + """Optional, Specifies the uri to an azure blob that will replace the default configuration for + the package if provided.""" + treatFailureAsDeploymentFailure: bool + """Optional, If true, any failure for any operation in the VmApplication will fail the deployment.""" + enableAutomaticUpgrade: bool + """If set to true, when a new Gallery Application version is available in PIR/SIG, it will be + automatically updated for the VM/VMSS.""" + + +class VmSizeProfile(TypedDict, total=False): + """Specifications about a VM Size. This will also contain the corresponding rank and weight in + future. + + :ivar name: The Sku name (e.g. 'Standard_DS1_v2'). Required. + :vartype name: str + :ivar rank: The rank of the VM size. This is used with + 'RegularPriorityAllocationStrategy.Prioritized' The lower the number, the higher the priority. + Starting with 0. + :vartype rank: int + """ + + name: Required[str] + """The Sku name (e.g. 'Standard_DS1_v2'). Required.""" + rank: int + """The rank of the VM size. This is used with 'RegularPriorityAllocationStrategy.Prioritized' The + lower the number, the higher the priority. Starting with 0.""" + + +class VMSizeProperties(TypedDict, total=False): + """Specifies VM Size Property settings on the virtual machine. + + :ivar v_cpus_available: Specifies the number of vCPUs available for the VM. When this property + is not specified in the request body the default behavior is to set it to the value of vCPUs + available for that VM size exposed in api response of `List all available virtual machine sizes + in a region `_. + :vartype v_cpus_available: int + :ivar v_cpus_per_core: Specifies the vCPU to physical core ratio. When this property is not + specified in the request body the default behavior is set to the value of vCPUsPerCore for the + VM Size exposed in api response of `List all available virtual machine sizes in a region + `_. **Setting this + property to 1 also means that hyper-threading is disabled.**. + :vartype v_cpus_per_core: int + """ + + vCPUsAvailable: int + """Specifies the number of vCPUs available for the VM. When this property is not specified in the + request body the default behavior is to set it to the value of vCPUs available for that VM size + exposed in api response of `List all available virtual machine sizes in a region + `_.""" + vCPUsPerCore: int + """Specifies the vCPU to physical core ratio. When this property is not specified in the request + body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api + response of `List all available virtual machine sizes in a region + `_. **Setting this + property to 1 also means that hyper-threading is disabled.**.""" + + +class WindowsConfiguration(TypedDict, total=False): + """Specifies Windows operating system settings on the virtual machine. + + :ivar provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the + virtual machine. When this property is not specified in the request body, it is set to true by + default. This will ensure that VM Agent is installed on the VM so that extensions can be added + to the VM later. + :vartype provision_vm_agent: bool + :ivar enable_automatic_updates: Indicates whether Automatic Updates is enabled for the Windows + virtual machine. Default value is true. For virtual machine scale sets, this property can be + updated and updates will take effect on OS reprovisioning. + :vartype enable_automatic_updates: bool + :ivar time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be `TimeZoneInfo.Id + `_ value + from time zones returned by `TimeZoneInfo.GetSystemTimeZones + `_. + :vartype time_zone: str + :ivar additional_unattend_content: Specifies additional base-64 encoded XML formatted + information that can be included in the Unattend.xml file, which is used by Windows Setup. + :vartype additional_unattend_content: list["AdditionalUnattendContent"] + :ivar patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on + Windows. + :vartype patch_settings: "PatchSettings" + :ivar win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows + PowerShell. + :vartype win_rm: "WinRMConfiguration" + :ivar enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled + for the Windows virtual machine. Default value is false. + :vartype enable_vm_agent_platform_updates: bool + """ + + provisionVMAgent: bool + """Indicates whether virtual machine agent should be provisioned on the virtual machine. When this + property is not specified in the request body, it is set to true by default. This will ensure + that VM Agent is installed on the VM so that extensions can be added to the VM later.""" + enableAutomaticUpdates: bool + """Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value + is true. For virtual machine scale sets, this property can be updated and updates will take + effect on OS reprovisioning.""" + timeZone: str + """Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\". Possible values + can be `TimeZoneInfo.Id + `_ value + from time zones returned by `TimeZoneInfo.GetSystemTimeZones + `_.""" + additionalUnattendContent: list["AdditionalUnattendContent"] + """Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup.""" + patchSettings: "PatchSettings" + """[Preview Feature] Specifies settings related to VM Guest Patching on Windows.""" + winRM: "WinRMConfiguration" + """Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.""" + enableVMAgentPlatformUpdates: bool + """Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default + value is false.""" + + +class WindowsVMGuestPatchAutomaticByPlatformSettings(TypedDict, total=False): # pylint: disable=name-too-long + """Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in + Windows patch settings. + + :ivar reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch + installation operations. Known values are: "Unknown", "IfRequired", "Never", and "Always". + :vartype reboot_setting: Union[str, "WindowsVMGuestPatchAutomaticByPlatformRebootSetting"] + :ivar bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching + without accidental upgrades. + :vartype bypass_platform_safety_checks_on_user_schedule: bool + """ + + rebootSetting: Union[str, "WindowsVMGuestPatchAutomaticByPlatformRebootSetting"] + """Specifies the reboot setting for all AutomaticByPlatform patch installation operations. Known + values are: \"Unknown\", \"IfRequired\", \"Never\", and \"Always\".""" + bypassPlatformSafetyChecksOnUserSchedule: bool + """Enables customer to schedule patching without accidental upgrades.""" + + +class WinRMConfiguration(TypedDict, total=False): + """Describes Windows Remote Management configuration of the VM. + + :ivar listeners: The list of Windows Remote Management listeners. + :vartype listeners: list["WinRMListener"] + """ + + listeners: list["WinRMListener"] + """The list of Windows Remote Management listeners.""" + + +class WinRMListener(TypedDict, total=False): + """Describes Protocol and thumbprint of Windows Remote Management listener. + + :ivar protocol: Specifies the protocol of WinRM listener. Possible values are: **http,** + **https.**. Known values are: "Http" and "Https". + :vartype protocol: Union[str, "ProtocolTypes"] + :ivar certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as + a secret. For adding a secret to the Key Vault, see `Add a key or secret to the key vault + `_. In this case, your + certificate needs to be the Base64 encoding of the following JSON Object which is encoded in + UTF-8:

{
"data":"",
"dataType":"pfx",
+ "password":""
}
To install certificates on a virtual machine it is + recommended to use the `Azure Key Vault virtual machine extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_. + :vartype certificate_url: str + """ + + protocol: Union[str, "ProtocolTypes"] + """Specifies the protocol of WinRM listener. Possible values are: **http,** **https.**. Known + values are: \"Http\" and \"Https\".""" + certificateUrl: str + """This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a + secret to the Key Vault, see `Add a key or secret to the key vault + `_. In this case, your + certificate needs to be the Base64 encoding of the following JSON Object which is encoded in + UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
+ \"password\":\"\"
}
To install certificates on a virtual machine it + is recommended to use the `Azure Key Vault virtual machine extension for Linux + `_ or the `Azure + Key Vault virtual machine extension for Windows + `_.""" + + +class ZoneAllocationPolicy(TypedDict, total=False): + """ZoneAllocationPolicy for Compute Fleet. + + :ivar distribution_strategy: Distribution strategy used for zone allocation policy. Required. + Known values are: "BestEffortSingleZone" and "Prioritized". + :vartype distribution_strategy: Union[str, "ZoneDistributionStrategy"] + :ivar zone_preferences: Zone preferences, required when zone distribution strategy is + Prioritized. + :vartype zone_preferences: list["ZonePreference"] + """ + + distributionStrategy: Required[Union[str, "ZoneDistributionStrategy"]] + """Distribution strategy used for zone allocation policy. Required. Known values are: + \"BestEffortSingleZone\" and \"Prioritized\".""" + zonePreferences: list["ZonePreference"] + """Zone preferences, required when zone distribution strategy is Prioritized.""" + + +class ZonePreference(TypedDict, total=False): + """Zone preferences for Compute Fleet zone allocation policy. + + :ivar zone: Name of the zone. Required. + :vartype zone: str + :ivar rank: The rank of the zone. This is used with 'Prioritized' ZoneDistributionStrategy. The + lower the number, the higher the priority, starting with 0. 0 is the highest rank. If not + specified, defaults to lowest rank. + :vartype rank: int + """ + + zone: Required[str] + """Name of the zone. Required.""" + rank: int + """The rank of the zone. This is used with 'Prioritized' ZoneDistributionStrategy. The lower the + number, the higher the priority, starting with 0. 0 is the highest rank. If not specified, + defaults to lowest rank.""" diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_create_or_update_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_create_or_update_maximum_set_gen.py index 3fd5c8164706..1cb2e479a98d 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_create_or_update_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_create_or_update_maximum_set_gen.py @@ -670,6 +670,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Fleets_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_delete_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_delete_maximum_set_gen.py index 264233531b49..9db5ce4cd017 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_delete_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Fleets_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_get_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_get_maximum_set_gen.py index 15e8aa96a97c..1e31a3c0c937 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_get_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Fleets_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_resource_group_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_resource_group_maximum_set_gen.py index 651052cf8a6a..5a1cee762af6 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_resource_group_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_resource_group_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Fleets_ListByResourceGroup_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_ListByResourceGroup_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_subscription_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_subscription_maximum_set_gen.py index 1327bcdbafa0..90eb293e9e2e 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_subscription_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_by_subscription_maximum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Fleets_ListBySubscription_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_ListBySubscription_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machine_scale_sets_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machine_scale_sets_maximum_set_gen.py index 60c7caca9ca5..112200fd32bd 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machine_scale_sets_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machine_scale_sets_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Fleets_ListVirtualMachineScaleSets_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_ListVirtualMachineScaleSets_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machines_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machines_maximum_set_gen.py index f97a18860ba4..61f3e89dc4d3 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machines_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_list_virtual_machines_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Fleets_ListVirtualMachines_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_ListVirtualMachines_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_update_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_update_maximum_set_gen.py index e2a02a85a251..29b01f122579 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_update_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/fleets_update_maximum_set_gen.py @@ -669,6 +669,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Fleets_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Fleets_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_maximum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_maximum_set_gen.py index de428eab3bd4..f58a25dd1835 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_maximum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_maximum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Operations_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Operations_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_minimum_set_gen.py b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_minimum_set_gen.py index 26be03be58d4..272241830aa8 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_minimum_set_gen.py +++ b/sdk/computefleet/azure-mgmt-computefleet/generated_samples/operations_list_minimum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Operations_List_MinimumSet_Gen.json +# x-ms-original-file: 2026-06-01-preview/Operations_List_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/computefleet/azure-mgmt-computefleet/pyproject.toml b/sdk/computefleet/azure-mgmt-computefleet/pyproject.toml index 6d4c72b2500b..8e046a59052d 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/pyproject.toml +++ b/sdk/computefleet/azure-mgmt-computefleet/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] requires-python = ">=3.10" keywords = [ diff --git a/sdk/computefleet/azure-mgmt-computefleet/tsp-location.yaml b/sdk/computefleet/azure-mgmt-computefleet/tsp-location.yaml index da8e580f315a..b9f635cb360b 100644 --- a/sdk/computefleet/azure-mgmt-computefleet/tsp-location.yaml +++ b/sdk/computefleet/azure-mgmt-computefleet/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/azurefleet/resource-manager/Microsoft.AzureFleet/AzureFleet -commit: 5c7cd01768cc4a537f309dff14af7be34f87cd14 +commit: 8f7fea5ba3635cfc07ea6fca3b4560990b9431dc repo: Azure/azure-rest-api-specs additionalDirectories: