pulumi-azure-native 2.58.0a1724403460__py3-none-any.whl → 2.59.0a1724845184__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-azure-native might be problematic. Click here for more details.

Files changed (236) hide show
  1. pulumi_azure_native/__init__.py +65 -2
  2. pulumi_azure_native/azurefleet/_enums.py +1 -1
  3. pulumi_azure_native/azurefleet/v20231101preview/_enums.py +1 -1
  4. pulumi_azure_native/azurefleet/v20240501preview/_enums.py +1 -1
  5. pulumi_azure_native/consumption/__init__.py +3 -0
  6. pulumi_azure_native/consumption/budget.py +3 -3
  7. pulumi_azure_native/consumption/get_budget.py +2 -2
  8. pulumi_azure_native/consumption/v20230501/budget.py +1 -1
  9. pulumi_azure_native/consumption/v20231101/budget.py +1 -1
  10. pulumi_azure_native/consumption/v20240801/__init__.py +12 -0
  11. pulumi_azure_native/consumption/v20240801/_enums.py +99 -0
  12. pulumi_azure_native/consumption/v20240801/_inputs.py +466 -0
  13. pulumi_azure_native/consumption/v20240801/budget.py +388 -0
  14. pulumi_azure_native/consumption/v20240801/get_budget.py +227 -0
  15. pulumi_azure_native/consumption/v20240801/outputs.py +418 -0
  16. pulumi_azure_native/containerservice/v20240402preview/_inputs.py +3 -3
  17. pulumi_azure_native/containerservice/v20240402preview/outputs.py +2 -2
  18. pulumi_azure_native/containerservice/v20240502preview/_inputs.py +3 -3
  19. pulumi_azure_native/containerservice/v20240502preview/outputs.py +2 -2
  20. pulumi_azure_native/containerservice/v20240602preview/_inputs.py +3 -3
  21. pulumi_azure_native/containerservice/v20240602preview/outputs.py +2 -2
  22. pulumi_azure_native/databricks/__init__.py +3 -0
  23. pulumi_azure_native/databricks/access_connector.py +3 -3
  24. pulumi_azure_native/databricks/get_access_connector.py +2 -2
  25. pulumi_azure_native/databricks/get_private_endpoint_connection.py +2 -2
  26. pulumi_azure_native/databricks/get_workspace.py +2 -2
  27. pulumi_azure_native/databricks/private_endpoint_connection.py +3 -3
  28. pulumi_azure_native/databricks/v20220401preview/access_connector.py +1 -1
  29. pulumi_azure_native/databricks/v20230201/private_endpoint_connection.py +1 -1
  30. pulumi_azure_native/databricks/v20230201/v_net_peering.py +1 -1
  31. pulumi_azure_native/databricks/v20230201/workspace.py +1 -1
  32. pulumi_azure_native/databricks/v20230501/access_connector.py +1 -1
  33. pulumi_azure_native/databricks/v20230915preview/private_endpoint_connection.py +1 -1
  34. pulumi_azure_native/databricks/v20230915preview/v_net_peering.py +1 -1
  35. pulumi_azure_native/databricks/v20230915preview/workspace.py +1 -1
  36. pulumi_azure_native/databricks/v20240501/access_connector.py +1 -1
  37. pulumi_azure_native/databricks/v20240501/private_endpoint_connection.py +1 -1
  38. pulumi_azure_native/databricks/v20240501/v_net_peering.py +1 -1
  39. pulumi_azure_native/databricks/v20240501/workspace.py +1 -1
  40. pulumi_azure_native/databricks/v20240901preview/__init__.py +18 -0
  41. pulumi_azure_native/databricks/v20240901preview/_enums.py +122 -0
  42. pulumi_azure_native/databricks/v20240901preview/_inputs.py +1712 -0
  43. pulumi_azure_native/databricks/v20240901preview/access_connector.py +268 -0
  44. pulumi_azure_native/databricks/v20240901preview/get_access_connector.py +175 -0
  45. pulumi_azure_native/databricks/v20240901preview/get_private_endpoint_connection.py +128 -0
  46. pulumi_azure_native/databricks/v20240901preview/get_v_net_peering.py +245 -0
  47. pulumi_azure_native/databricks/v20240901preview/get_workspace.py +448 -0
  48. pulumi_azure_native/databricks/v20240901preview/outputs.py +1954 -0
  49. pulumi_azure_native/databricks/v20240901preview/private_endpoint_connection.py +212 -0
  50. pulumi_azure_native/databricks/v20240901preview/v_net_peering.py +434 -0
  51. pulumi_azure_native/databricks/v20240901preview/workspace.py +688 -0
  52. pulumi_azure_native/databricks/v_net_peering.py +1 -1
  53. pulumi_azure_native/databricks/workspace.py +3 -3
  54. pulumi_azure_native/hybridconnectivity/__init__.py +3 -0
  55. pulumi_azure_native/hybridconnectivity/endpoint.py +3 -3
  56. pulumi_azure_native/hybridconnectivity/get_endpoint.py +2 -2
  57. pulumi_azure_native/hybridconnectivity/get_service_configuration.py +4 -0
  58. pulumi_azure_native/hybridconnectivity/list_endpoint_credentials.py +2 -2
  59. pulumi_azure_native/hybridconnectivity/list_endpoint_ingress_gateway_credentials.py +4 -0
  60. pulumi_azure_native/hybridconnectivity/list_endpoint_managed_proxy_details.py +2 -2
  61. pulumi_azure_native/hybridconnectivity/service_configuration.py +5 -1
  62. pulumi_azure_native/hybridconnectivity/v20220501preview/endpoint.py +1 -1
  63. pulumi_azure_native/hybridconnectivity/v20230315/endpoint.py +1 -1
  64. pulumi_azure_native/hybridconnectivity/v20230315/service_configuration.py +1 -1
  65. pulumi_azure_native/hybridconnectivity/v20241201/__init__.py +17 -0
  66. pulumi_azure_native/hybridconnectivity/v20241201/_enums.py +37 -0
  67. pulumi_azure_native/hybridconnectivity/v20241201/_inputs.py +79 -0
  68. pulumi_azure_native/hybridconnectivity/v20241201/endpoint.py +374 -0
  69. pulumi_azure_native/hybridconnectivity/v20241201/get_endpoint.py +214 -0
  70. pulumi_azure_native/hybridconnectivity/v20241201/get_service_configuration.py +258 -0
  71. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_credentials.py +159 -0
  72. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_ingress_gateway_credentials.py +198 -0
  73. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_managed_proxy_details.py +112 -0
  74. pulumi_azure_native/hybridconnectivity/v20241201/outputs.py +196 -0
  75. pulumi_azure_native/hybridconnectivity/v20241201/service_configuration.py +463 -0
  76. pulumi_azure_native/iotoperations/v20240815preview/_enums.py +2 -2
  77. pulumi_azure_native/iotoperations/v20240815preview/_inputs.py +19 -22
  78. pulumi_azure_native/iotoperations/v20240815preview/outputs.py +11 -14
  79. pulumi_azure_native/networkcloud/__init__.py +5 -0
  80. pulumi_azure_native/networkcloud/_inputs.py +52 -0
  81. pulumi_azure_native/networkcloud/agent_pool.py +3 -3
  82. pulumi_azure_native/networkcloud/bare_metal_machine.py +3 -3
  83. pulumi_azure_native/networkcloud/bare_metal_machine_key_set.py +3 -3
  84. pulumi_azure_native/networkcloud/bmc_key_set.py +3 -3
  85. pulumi_azure_native/networkcloud/cloud_services_network.py +3 -3
  86. pulumi_azure_native/networkcloud/cluster.py +3 -3
  87. pulumi_azure_native/networkcloud/cluster_manager.py +3 -3
  88. pulumi_azure_native/networkcloud/console.py +3 -3
  89. pulumi_azure_native/networkcloud/get_agent_pool.py +2 -2
  90. pulumi_azure_native/networkcloud/get_bare_metal_machine.py +2 -2
  91. pulumi_azure_native/networkcloud/get_bare_metal_machine_key_set.py +2 -2
  92. pulumi_azure_native/networkcloud/get_bmc_key_set.py +2 -2
  93. pulumi_azure_native/networkcloud/get_cloud_services_network.py +2 -2
  94. pulumi_azure_native/networkcloud/get_cluster.py +2 -2
  95. pulumi_azure_native/networkcloud/get_cluster_manager.py +2 -2
  96. pulumi_azure_native/networkcloud/get_console.py +2 -2
  97. pulumi_azure_native/networkcloud/get_kubernetes_cluster.py +2 -2
  98. pulumi_azure_native/networkcloud/get_kubernetes_cluster_feature.py +244 -0
  99. pulumi_azure_native/networkcloud/get_l2_network.py +2 -2
  100. pulumi_azure_native/networkcloud/get_l3_network.py +2 -2
  101. pulumi_azure_native/networkcloud/get_metrics_configuration.py +2 -2
  102. pulumi_azure_native/networkcloud/get_rack.py +2 -2
  103. pulumi_azure_native/networkcloud/get_storage_appliance.py +2 -2
  104. pulumi_azure_native/networkcloud/get_trunked_network.py +2 -2
  105. pulumi_azure_native/networkcloud/get_virtual_machine.py +2 -2
  106. pulumi_azure_native/networkcloud/get_volume.py +2 -2
  107. pulumi_azure_native/networkcloud/kubernetes_cluster.py +3 -3
  108. pulumi_azure_native/networkcloud/kubernetes_cluster_feature.py +338 -0
  109. pulumi_azure_native/networkcloud/l2_network.py +3 -3
  110. pulumi_azure_native/networkcloud/l3_network.py +3 -3
  111. pulumi_azure_native/networkcloud/metrics_configuration.py +3 -3
  112. pulumi_azure_native/networkcloud/outputs.py +30 -0
  113. pulumi_azure_native/networkcloud/rack.py +3 -3
  114. pulumi_azure_native/networkcloud/storage_appliance.py +3 -3
  115. pulumi_azure_native/networkcloud/trunked_network.py +3 -3
  116. pulumi_azure_native/networkcloud/v20230701/agent_pool.py +1 -1
  117. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine.py +1 -1
  118. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine_key_set.py +1 -1
  119. pulumi_azure_native/networkcloud/v20230701/bmc_key_set.py +1 -1
  120. pulumi_azure_native/networkcloud/v20230701/cloud_services_network.py +1 -1
  121. pulumi_azure_native/networkcloud/v20230701/cluster.py +1 -1
  122. pulumi_azure_native/networkcloud/v20230701/cluster_manager.py +1 -1
  123. pulumi_azure_native/networkcloud/v20230701/console.py +1 -1
  124. pulumi_azure_native/networkcloud/v20230701/kubernetes_cluster.py +1 -1
  125. pulumi_azure_native/networkcloud/v20230701/l2_network.py +1 -1
  126. pulumi_azure_native/networkcloud/v20230701/l3_network.py +1 -1
  127. pulumi_azure_native/networkcloud/v20230701/metrics_configuration.py +1 -1
  128. pulumi_azure_native/networkcloud/v20230701/rack.py +1 -1
  129. pulumi_azure_native/networkcloud/v20230701/storage_appliance.py +1 -1
  130. pulumi_azure_native/networkcloud/v20230701/trunked_network.py +1 -1
  131. pulumi_azure_native/networkcloud/v20230701/virtual_machine.py +1 -1
  132. pulumi_azure_native/networkcloud/v20230701/volume.py +1 -1
  133. pulumi_azure_native/networkcloud/v20231001preview/agent_pool.py +1 -1
  134. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine.py +1 -1
  135. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine_key_set.py +1 -1
  136. pulumi_azure_native/networkcloud/v20231001preview/bmc_key_set.py +1 -1
  137. pulumi_azure_native/networkcloud/v20231001preview/cloud_services_network.py +1 -1
  138. pulumi_azure_native/networkcloud/v20231001preview/cluster.py +1 -1
  139. pulumi_azure_native/networkcloud/v20231001preview/cluster_manager.py +1 -1
  140. pulumi_azure_native/networkcloud/v20231001preview/console.py +1 -1
  141. pulumi_azure_native/networkcloud/v20231001preview/kubernetes_cluster.py +1 -1
  142. pulumi_azure_native/networkcloud/v20231001preview/l2_network.py +1 -1
  143. pulumi_azure_native/networkcloud/v20231001preview/l3_network.py +1 -1
  144. pulumi_azure_native/networkcloud/v20231001preview/metrics_configuration.py +1 -1
  145. pulumi_azure_native/networkcloud/v20231001preview/rack.py +1 -1
  146. pulumi_azure_native/networkcloud/v20231001preview/storage_appliance.py +1 -1
  147. pulumi_azure_native/networkcloud/v20231001preview/trunked_network.py +1 -1
  148. pulumi_azure_native/networkcloud/v20231001preview/virtual_machine.py +1 -1
  149. pulumi_azure_native/networkcloud/v20231001preview/volume.py +1 -1
  150. pulumi_azure_native/networkcloud/v20240601preview/__init__.py +46 -0
  151. pulumi_azure_native/networkcloud/v20240601preview/_enums.py +327 -0
  152. pulumi_azure_native/networkcloud/v20240601preview/_inputs.py +3436 -0
  153. pulumi_azure_native/networkcloud/v20240601preview/agent_pool.py +610 -0
  154. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine.py +795 -0
  155. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine_key_set.py +507 -0
  156. pulumi_azure_native/networkcloud/v20240601preview/bmc_key_set.py +448 -0
  157. pulumi_azure_native/networkcloud/v20240601preview/cloud_services_network.py +417 -0
  158. pulumi_azure_native/networkcloud/v20240601preview/cluster.py +830 -0
  159. pulumi_azure_native/networkcloud/v20240601preview/cluster_manager.py +452 -0
  160. pulumi_azure_native/networkcloud/v20240601preview/console.py +417 -0
  161. pulumi_azure_native/networkcloud/v20240601preview/get_agent_pool.py +346 -0
  162. pulumi_azure_native/networkcloud/v20240601preview/get_bare_metal_machine.py +575 -0
  163. pulumi_azure_native/networkcloud/v20240601preview/get_bare_metal_machine_key_set.py +307 -0
  164. pulumi_azure_native/networkcloud/v20240601preview/get_bmc_key_set.py +281 -0
  165. pulumi_azure_native/networkcloud/v20240601preview/get_cloud_services_network.py +308 -0
  166. pulumi_azure_native/networkcloud/v20240601preview/get_cluster.py +524 -0
  167. pulumi_azure_native/networkcloud/v20240601preview/get_cluster_manager.py +289 -0
  168. pulumi_azure_native/networkcloud/v20240601preview/get_console.py +268 -0
  169. pulumi_azure_native/networkcloud/v20240601preview/get_kubernetes_cluster.py +380 -0
  170. pulumi_azure_native/networkcloud/v20240601preview/get_kubernetes_cluster_feature.py +242 -0
  171. pulumi_azure_native/networkcloud/v20240601preview/get_l2_network.py +289 -0
  172. pulumi_azure_native/networkcloud/v20240601preview/get_l3_network.py +356 -0
  173. pulumi_azure_native/networkcloud/v20240601preview/get_metrics_configuration.py +242 -0
  174. pulumi_azure_native/networkcloud/v20240601preview/get_rack.py +263 -0
  175. pulumi_azure_native/networkcloud/v20240601preview/get_storage_appliance.py +393 -0
  176. pulumi_azure_native/networkcloud/v20240601preview/get_trunked_network.py +302 -0
  177. pulumi_azure_native/networkcloud/v20240601preview/get_virtual_machine.py +471 -0
  178. pulumi_azure_native/networkcloud/v20240601preview/get_volume.py +237 -0
  179. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster.py +564 -0
  180. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster_feature.py +336 -0
  181. pulumi_azure_native/networkcloud/v20240601preview/l2_network.py +419 -0
  182. pulumi_azure_native/networkcloud/v20240601preview/l3_network.py +581 -0
  183. pulumi_azure_native/networkcloud/v20240601preview/metrics_configuration.py +376 -0
  184. pulumi_azure_native/networkcloud/v20240601preview/outputs.py +4231 -0
  185. pulumi_azure_native/networkcloud/v20240601preview/rack.py +416 -0
  186. pulumi_azure_native/networkcloud/v20240601preview/storage_appliance.py +536 -0
  187. pulumi_azure_native/networkcloud/v20240601preview/trunked_network.py +449 -0
  188. pulumi_azure_native/networkcloud/v20240601preview/virtual_machine.py +823 -0
  189. pulumi_azure_native/networkcloud/v20240601preview/volume.py +336 -0
  190. pulumi_azure_native/networkcloud/virtual_machine.py +3 -3
  191. pulumi_azure_native/networkcloud/volume.py +3 -3
  192. pulumi_azure_native/pulumi-plugin.json +1 -1
  193. pulumi_azure_native/security/__init__.py +0 -2
  194. pulumi_azure_native/security/_inputs.py +0 -536
  195. pulumi_azure_native/security/outputs.py +0 -465
  196. pulumi_azure_native/security/v20200101/__init__.py +0 -2
  197. pulumi_azure_native/security/v20200101/_inputs.py +0 -536
  198. pulumi_azure_native/security/v20200101/outputs.py +0 -465
  199. pulumi_azure_native/workloads/__init__.py +3 -0
  200. pulumi_azure_native/workloads/sap_application_server_instance.py +1 -1
  201. pulumi_azure_native/workloads/sap_central_instance.py +1 -1
  202. pulumi_azure_native/workloads/sap_database_instance.py +1 -1
  203. pulumi_azure_native/workloads/sap_virtual_instance.py +1 -1
  204. pulumi_azure_native/workloads/v20211201preview/sap_application_server_instance.py +1 -1
  205. pulumi_azure_native/workloads/v20230401/sap_application_server_instance.py +1 -1
  206. pulumi_azure_native/workloads/v20230401/sap_central_instance.py +1 -1
  207. pulumi_azure_native/workloads/v20230401/sap_database_instance.py +1 -1
  208. pulumi_azure_native/workloads/v20230401/sap_virtual_instance.py +1 -1
  209. pulumi_azure_native/workloads/v20231001preview/sap_application_server_instance.py +1 -1
  210. pulumi_azure_native/workloads/v20231001preview/sap_central_instance.py +1 -1
  211. pulumi_azure_native/workloads/v20231001preview/sap_database_instance.py +1 -1
  212. pulumi_azure_native/workloads/v20231001preview/sap_virtual_instance.py +1 -1
  213. pulumi_azure_native/workloads/v20240901/__init__.py +22 -0
  214. pulumi_azure_native/workloads/v20240901/_enums.py +242 -0
  215. pulumi_azure_native/workloads/v20240901/_inputs.py +3277 -0
  216. pulumi_azure_native/workloads/v20240901/get_sap_application_server_instance.py +362 -0
  217. pulumi_azure_native/workloads/v20240901/get_sap_central_server_instance.py +336 -0
  218. pulumi_azure_native/workloads/v20240901/get_sap_database_instance.py +271 -0
  219. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance.py +292 -0
  220. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_availability_zone_details.py +95 -0
  221. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_disk_configurations.py +110 -0
  222. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_sap_supported_sku.py +110 -0
  223. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_sizing_recommendations.py +124 -0
  224. pulumi_azure_native/workloads/v20240901/outputs.py +3879 -0
  225. pulumi_azure_native/workloads/v20240901/sap_application_server_instance.py +408 -0
  226. pulumi_azure_native/workloads/v20240901/sap_central_server_instance.py +388 -0
  227. pulumi_azure_native/workloads/v20240901/sap_database_instance.py +338 -0
  228. pulumi_azure_native/workloads/v20240901/sap_virtual_instance.py +456 -0
  229. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/METADATA +1 -1
  230. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/RECORD +232 -149
  231. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/WHEEL +1 -1
  232. pulumi_azure_native/security/adaptive_application_control.py +0 -311
  233. pulumi_azure_native/security/get_adaptive_application_control.py +0 -221
  234. pulumi_azure_native/security/v20200101/adaptive_application_control.py +0 -305
  235. pulumi_azure_native/security/v20200101/get_adaptive_application_control.py +0 -215
  236. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,823 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from ... import _utilities
16
+ from . import outputs
17
+ from ._enums import *
18
+ from ._inputs import *
19
+
20
+ __all__ = ['VirtualMachineArgs', 'VirtualMachine']
21
+
22
+ @pulumi.input_type
23
+ class VirtualMachineArgs:
24
+ def __init__(__self__, *,
25
+ admin_username: pulumi.Input[str],
26
+ cloud_services_network_attachment: pulumi.Input['NetworkAttachmentArgs'],
27
+ cpu_cores: pulumi.Input[float],
28
+ extended_location: pulumi.Input['ExtendedLocationArgs'],
29
+ memory_size_gb: pulumi.Input[float],
30
+ resource_group_name: pulumi.Input[str],
31
+ storage_profile: pulumi.Input['StorageProfileArgs'],
32
+ vm_image: pulumi.Input[str],
33
+ boot_method: Optional[pulumi.Input[Union[str, 'VirtualMachineBootMethod']]] = None,
34
+ isolate_emulator_thread: Optional[pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']]] = None,
35
+ location: Optional[pulumi.Input[str]] = None,
36
+ network_attachments: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAttachmentArgs']]]] = None,
37
+ network_data: Optional[pulumi.Input[str]] = None,
38
+ placement_hints: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachinePlacementHintArgs']]]] = None,
39
+ ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]] = None,
40
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
41
+ user_data: Optional[pulumi.Input[str]] = None,
42
+ virtio_interface: Optional[pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']]] = None,
43
+ virtual_machine_name: Optional[pulumi.Input[str]] = None,
44
+ vm_device_model: Optional[pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']]] = None,
45
+ vm_image_repository_credentials: Optional[pulumi.Input['ImageRepositoryCredentialsArgs']] = None):
46
+ """
47
+ The set of arguments for constructing a VirtualMachine resource.
48
+ :param pulumi.Input[str] admin_username: The name of the administrator to which the ssh public keys will be added into the authorized keys.
49
+ :param pulumi.Input['NetworkAttachmentArgs'] cloud_services_network_attachment: The cloud service network that provides platform-level services for the virtual machine.
50
+ :param pulumi.Input[float] cpu_cores: The number of CPU cores in the virtual machine.
51
+ :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location of the cluster associated with the resource.
52
+ :param pulumi.Input[float] memory_size_gb: The memory size of the virtual machine. Allocations are measured in gibibytes.
53
+ :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive.
54
+ :param pulumi.Input['StorageProfileArgs'] storage_profile: The storage profile that specifies size and other parameters about the disks related to the virtual machine.
55
+ :param pulumi.Input[str] vm_image: The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image.
56
+ :param pulumi.Input[Union[str, 'VirtualMachineBootMethod']] boot_method: Selects the boot method for the virtual machine.
57
+ :param pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']] isolate_emulator_thread: Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine.
58
+ :param pulumi.Input[str] location: The geo-location where the resource lives
59
+ :param pulumi.Input[Sequence[pulumi.Input['NetworkAttachmentArgs']]] network_attachments: The list of network attachments to the virtual machine.
60
+ :param pulumi.Input[str] network_data: The Base64 encoded cloud-init network data.
61
+ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachinePlacementHintArgs']]] placement_hints: The scheduling hints for the virtual machine.
62
+ :param pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]] ssh_public_keys: The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername.
63
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags.
64
+ :param pulumi.Input[str] user_data: The Base64 encoded cloud-init user data.
65
+ :param pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']] virtio_interface: Field Deprecated, use virtualizationModel instead. The type of the virtio interface.
66
+ :param pulumi.Input[str] virtual_machine_name: The name of the virtual machine.
67
+ :param pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']] vm_device_model: The type of the device model to use.
68
+ :param pulumi.Input['ImageRepositoryCredentialsArgs'] vm_image_repository_credentials: The credentials used to login to the image repository that has access to the specified image.
69
+ """
70
+ pulumi.set(__self__, "admin_username", admin_username)
71
+ pulumi.set(__self__, "cloud_services_network_attachment", cloud_services_network_attachment)
72
+ pulumi.set(__self__, "cpu_cores", cpu_cores)
73
+ pulumi.set(__self__, "extended_location", extended_location)
74
+ pulumi.set(__self__, "memory_size_gb", memory_size_gb)
75
+ pulumi.set(__self__, "resource_group_name", resource_group_name)
76
+ pulumi.set(__self__, "storage_profile", storage_profile)
77
+ pulumi.set(__self__, "vm_image", vm_image)
78
+ if boot_method is None:
79
+ boot_method = 'UEFI'
80
+ if boot_method is not None:
81
+ pulumi.set(__self__, "boot_method", boot_method)
82
+ if isolate_emulator_thread is None:
83
+ isolate_emulator_thread = 'True'
84
+ if isolate_emulator_thread is not None:
85
+ pulumi.set(__self__, "isolate_emulator_thread", isolate_emulator_thread)
86
+ if location is not None:
87
+ pulumi.set(__self__, "location", location)
88
+ if network_attachments is not None:
89
+ pulumi.set(__self__, "network_attachments", network_attachments)
90
+ if network_data is not None:
91
+ pulumi.set(__self__, "network_data", network_data)
92
+ if placement_hints is not None:
93
+ pulumi.set(__self__, "placement_hints", placement_hints)
94
+ if ssh_public_keys is not None:
95
+ pulumi.set(__self__, "ssh_public_keys", ssh_public_keys)
96
+ if tags is not None:
97
+ pulumi.set(__self__, "tags", tags)
98
+ if user_data is not None:
99
+ pulumi.set(__self__, "user_data", user_data)
100
+ if virtio_interface is None:
101
+ virtio_interface = 'Modern'
102
+ if virtio_interface is not None:
103
+ pulumi.set(__self__, "virtio_interface", virtio_interface)
104
+ if virtual_machine_name is not None:
105
+ pulumi.set(__self__, "virtual_machine_name", virtual_machine_name)
106
+ if vm_device_model is None:
107
+ vm_device_model = 'T2'
108
+ if vm_device_model is not None:
109
+ pulumi.set(__self__, "vm_device_model", vm_device_model)
110
+ if vm_image_repository_credentials is not None:
111
+ pulumi.set(__self__, "vm_image_repository_credentials", vm_image_repository_credentials)
112
+
113
+ @property
114
+ @pulumi.getter(name="adminUsername")
115
+ def admin_username(self) -> pulumi.Input[str]:
116
+ """
117
+ The name of the administrator to which the ssh public keys will be added into the authorized keys.
118
+ """
119
+ return pulumi.get(self, "admin_username")
120
+
121
+ @admin_username.setter
122
+ def admin_username(self, value: pulumi.Input[str]):
123
+ pulumi.set(self, "admin_username", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="cloudServicesNetworkAttachment")
127
+ def cloud_services_network_attachment(self) -> pulumi.Input['NetworkAttachmentArgs']:
128
+ """
129
+ The cloud service network that provides platform-level services for the virtual machine.
130
+ """
131
+ return pulumi.get(self, "cloud_services_network_attachment")
132
+
133
+ @cloud_services_network_attachment.setter
134
+ def cloud_services_network_attachment(self, value: pulumi.Input['NetworkAttachmentArgs']):
135
+ pulumi.set(self, "cloud_services_network_attachment", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="cpuCores")
139
+ def cpu_cores(self) -> pulumi.Input[float]:
140
+ """
141
+ The number of CPU cores in the virtual machine.
142
+ """
143
+ return pulumi.get(self, "cpu_cores")
144
+
145
+ @cpu_cores.setter
146
+ def cpu_cores(self, value: pulumi.Input[float]):
147
+ pulumi.set(self, "cpu_cores", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="extendedLocation")
151
+ def extended_location(self) -> pulumi.Input['ExtendedLocationArgs']:
152
+ """
153
+ The extended location of the cluster associated with the resource.
154
+ """
155
+ return pulumi.get(self, "extended_location")
156
+
157
+ @extended_location.setter
158
+ def extended_location(self, value: pulumi.Input['ExtendedLocationArgs']):
159
+ pulumi.set(self, "extended_location", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="memorySizeGB")
163
+ def memory_size_gb(self) -> pulumi.Input[float]:
164
+ """
165
+ The memory size of the virtual machine. Allocations are measured in gibibytes.
166
+ """
167
+ return pulumi.get(self, "memory_size_gb")
168
+
169
+ @memory_size_gb.setter
170
+ def memory_size_gb(self, value: pulumi.Input[float]):
171
+ pulumi.set(self, "memory_size_gb", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="resourceGroupName")
175
+ def resource_group_name(self) -> pulumi.Input[str]:
176
+ """
177
+ The name of the resource group. The name is case insensitive.
178
+ """
179
+ return pulumi.get(self, "resource_group_name")
180
+
181
+ @resource_group_name.setter
182
+ def resource_group_name(self, value: pulumi.Input[str]):
183
+ pulumi.set(self, "resource_group_name", value)
184
+
185
+ @property
186
+ @pulumi.getter(name="storageProfile")
187
+ def storage_profile(self) -> pulumi.Input['StorageProfileArgs']:
188
+ """
189
+ The storage profile that specifies size and other parameters about the disks related to the virtual machine.
190
+ """
191
+ return pulumi.get(self, "storage_profile")
192
+
193
+ @storage_profile.setter
194
+ def storage_profile(self, value: pulumi.Input['StorageProfileArgs']):
195
+ pulumi.set(self, "storage_profile", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="vmImage")
199
+ def vm_image(self) -> pulumi.Input[str]:
200
+ """
201
+ The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image.
202
+ """
203
+ return pulumi.get(self, "vm_image")
204
+
205
+ @vm_image.setter
206
+ def vm_image(self, value: pulumi.Input[str]):
207
+ pulumi.set(self, "vm_image", value)
208
+
209
+ @property
210
+ @pulumi.getter(name="bootMethod")
211
+ def boot_method(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineBootMethod']]]:
212
+ """
213
+ Selects the boot method for the virtual machine.
214
+ """
215
+ return pulumi.get(self, "boot_method")
216
+
217
+ @boot_method.setter
218
+ def boot_method(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineBootMethod']]]):
219
+ pulumi.set(self, "boot_method", value)
220
+
221
+ @property
222
+ @pulumi.getter(name="isolateEmulatorThread")
223
+ def isolate_emulator_thread(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']]]:
224
+ """
225
+ Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine.
226
+ """
227
+ return pulumi.get(self, "isolate_emulator_thread")
228
+
229
+ @isolate_emulator_thread.setter
230
+ def isolate_emulator_thread(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']]]):
231
+ pulumi.set(self, "isolate_emulator_thread", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def location(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The geo-location where the resource lives
238
+ """
239
+ return pulumi.get(self, "location")
240
+
241
+ @location.setter
242
+ def location(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "location", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="networkAttachments")
247
+ def network_attachments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAttachmentArgs']]]]:
248
+ """
249
+ The list of network attachments to the virtual machine.
250
+ """
251
+ return pulumi.get(self, "network_attachments")
252
+
253
+ @network_attachments.setter
254
+ def network_attachments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAttachmentArgs']]]]):
255
+ pulumi.set(self, "network_attachments", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="networkData")
259
+ def network_data(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ The Base64 encoded cloud-init network data.
262
+ """
263
+ return pulumi.get(self, "network_data")
264
+
265
+ @network_data.setter
266
+ def network_data(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "network_data", value)
268
+
269
+ @property
270
+ @pulumi.getter(name="placementHints")
271
+ def placement_hints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachinePlacementHintArgs']]]]:
272
+ """
273
+ The scheduling hints for the virtual machine.
274
+ """
275
+ return pulumi.get(self, "placement_hints")
276
+
277
+ @placement_hints.setter
278
+ def placement_hints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachinePlacementHintArgs']]]]):
279
+ pulumi.set(self, "placement_hints", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="sshPublicKeys")
283
+ def ssh_public_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]]:
284
+ """
285
+ The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername.
286
+ """
287
+ return pulumi.get(self, "ssh_public_keys")
288
+
289
+ @ssh_public_keys.setter
290
+ def ssh_public_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]]):
291
+ pulumi.set(self, "ssh_public_keys", value)
292
+
293
+ @property
294
+ @pulumi.getter
295
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
296
+ """
297
+ Resource tags.
298
+ """
299
+ return pulumi.get(self, "tags")
300
+
301
+ @tags.setter
302
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
303
+ pulumi.set(self, "tags", value)
304
+
305
+ @property
306
+ @pulumi.getter(name="userData")
307
+ def user_data(self) -> Optional[pulumi.Input[str]]:
308
+ """
309
+ The Base64 encoded cloud-init user data.
310
+ """
311
+ return pulumi.get(self, "user_data")
312
+
313
+ @user_data.setter
314
+ def user_data(self, value: Optional[pulumi.Input[str]]):
315
+ pulumi.set(self, "user_data", value)
316
+
317
+ @property
318
+ @pulumi.getter(name="virtioInterface")
319
+ def virtio_interface(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']]]:
320
+ """
321
+ Field Deprecated, use virtualizationModel instead. The type of the virtio interface.
322
+ """
323
+ return pulumi.get(self, "virtio_interface")
324
+
325
+ @virtio_interface.setter
326
+ def virtio_interface(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']]]):
327
+ pulumi.set(self, "virtio_interface", value)
328
+
329
+ @property
330
+ @pulumi.getter(name="virtualMachineName")
331
+ def virtual_machine_name(self) -> Optional[pulumi.Input[str]]:
332
+ """
333
+ The name of the virtual machine.
334
+ """
335
+ return pulumi.get(self, "virtual_machine_name")
336
+
337
+ @virtual_machine_name.setter
338
+ def virtual_machine_name(self, value: Optional[pulumi.Input[str]]):
339
+ pulumi.set(self, "virtual_machine_name", value)
340
+
341
+ @property
342
+ @pulumi.getter(name="vmDeviceModel")
343
+ def vm_device_model(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']]]:
344
+ """
345
+ The type of the device model to use.
346
+ """
347
+ return pulumi.get(self, "vm_device_model")
348
+
349
+ @vm_device_model.setter
350
+ def vm_device_model(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']]]):
351
+ pulumi.set(self, "vm_device_model", value)
352
+
353
+ @property
354
+ @pulumi.getter(name="vmImageRepositoryCredentials")
355
+ def vm_image_repository_credentials(self) -> Optional[pulumi.Input['ImageRepositoryCredentialsArgs']]:
356
+ """
357
+ The credentials used to login to the image repository that has access to the specified image.
358
+ """
359
+ return pulumi.get(self, "vm_image_repository_credentials")
360
+
361
+ @vm_image_repository_credentials.setter
362
+ def vm_image_repository_credentials(self, value: Optional[pulumi.Input['ImageRepositoryCredentialsArgs']]):
363
+ pulumi.set(self, "vm_image_repository_credentials", value)
364
+
365
+
366
+ class VirtualMachine(pulumi.CustomResource):
367
+ @overload
368
+ def __init__(__self__,
369
+ resource_name: str,
370
+ opts: Optional[pulumi.ResourceOptions] = None,
371
+ admin_username: Optional[pulumi.Input[str]] = None,
372
+ boot_method: Optional[pulumi.Input[Union[str, 'VirtualMachineBootMethod']]] = None,
373
+ cloud_services_network_attachment: Optional[pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']]] = None,
374
+ cpu_cores: Optional[pulumi.Input[float]] = None,
375
+ extended_location: Optional[pulumi.Input[Union['ExtendedLocationArgs', 'ExtendedLocationArgsDict']]] = None,
376
+ isolate_emulator_thread: Optional[pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']]] = None,
377
+ location: Optional[pulumi.Input[str]] = None,
378
+ memory_size_gb: Optional[pulumi.Input[float]] = None,
379
+ network_attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']]]]] = None,
380
+ network_data: Optional[pulumi.Input[str]] = None,
381
+ placement_hints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachinePlacementHintArgs', 'VirtualMachinePlacementHintArgsDict']]]]] = None,
382
+ resource_group_name: Optional[pulumi.Input[str]] = None,
383
+ ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SshPublicKeyArgs', 'SshPublicKeyArgsDict']]]]] = None,
384
+ storage_profile: Optional[pulumi.Input[Union['StorageProfileArgs', 'StorageProfileArgsDict']]] = None,
385
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
386
+ user_data: Optional[pulumi.Input[str]] = None,
387
+ virtio_interface: Optional[pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']]] = None,
388
+ virtual_machine_name: Optional[pulumi.Input[str]] = None,
389
+ vm_device_model: Optional[pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']]] = None,
390
+ vm_image: Optional[pulumi.Input[str]] = None,
391
+ vm_image_repository_credentials: Optional[pulumi.Input[Union['ImageRepositoryCredentialsArgs', 'ImageRepositoryCredentialsArgsDict']]] = None,
392
+ __props__=None):
393
+ """
394
+ Create a VirtualMachine resource with the given unique name, props, and options.
395
+ :param str resource_name: The name of the resource.
396
+ :param pulumi.ResourceOptions opts: Options for the resource.
397
+ :param pulumi.Input[str] admin_username: The name of the administrator to which the ssh public keys will be added into the authorized keys.
398
+ :param pulumi.Input[Union[str, 'VirtualMachineBootMethod']] boot_method: Selects the boot method for the virtual machine.
399
+ :param pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']] cloud_services_network_attachment: The cloud service network that provides platform-level services for the virtual machine.
400
+ :param pulumi.Input[float] cpu_cores: The number of CPU cores in the virtual machine.
401
+ :param pulumi.Input[Union['ExtendedLocationArgs', 'ExtendedLocationArgsDict']] extended_location: The extended location of the cluster associated with the resource.
402
+ :param pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']] isolate_emulator_thread: Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine.
403
+ :param pulumi.Input[str] location: The geo-location where the resource lives
404
+ :param pulumi.Input[float] memory_size_gb: The memory size of the virtual machine. Allocations are measured in gibibytes.
405
+ :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']]]] network_attachments: The list of network attachments to the virtual machine.
406
+ :param pulumi.Input[str] network_data: The Base64 encoded cloud-init network data.
407
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachinePlacementHintArgs', 'VirtualMachinePlacementHintArgsDict']]]] placement_hints: The scheduling hints for the virtual machine.
408
+ :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive.
409
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SshPublicKeyArgs', 'SshPublicKeyArgsDict']]]] ssh_public_keys: The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername.
410
+ :param pulumi.Input[Union['StorageProfileArgs', 'StorageProfileArgsDict']] storage_profile: The storage profile that specifies size and other parameters about the disks related to the virtual machine.
411
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags.
412
+ :param pulumi.Input[str] user_data: The Base64 encoded cloud-init user data.
413
+ :param pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']] virtio_interface: Field Deprecated, use virtualizationModel instead. The type of the virtio interface.
414
+ :param pulumi.Input[str] virtual_machine_name: The name of the virtual machine.
415
+ :param pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']] vm_device_model: The type of the device model to use.
416
+ :param pulumi.Input[str] vm_image: The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image.
417
+ :param pulumi.Input[Union['ImageRepositoryCredentialsArgs', 'ImageRepositoryCredentialsArgsDict']] vm_image_repository_credentials: The credentials used to login to the image repository that has access to the specified image.
418
+ """
419
+ ...
420
+ @overload
421
+ def __init__(__self__,
422
+ resource_name: str,
423
+ args: VirtualMachineArgs,
424
+ opts: Optional[pulumi.ResourceOptions] = None):
425
+ """
426
+ Create a VirtualMachine resource with the given unique name, props, and options.
427
+ :param str resource_name: The name of the resource.
428
+ :param VirtualMachineArgs args: The arguments to use to populate this resource's properties.
429
+ :param pulumi.ResourceOptions opts: Options for the resource.
430
+ """
431
+ ...
432
+ def __init__(__self__, resource_name: str, *args, **kwargs):
433
+ resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineArgs, pulumi.ResourceOptions, *args, **kwargs)
434
+ if resource_args is not None:
435
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
436
+ else:
437
+ __self__._internal_init(resource_name, *args, **kwargs)
438
+
439
+ def _internal_init(__self__,
440
+ resource_name: str,
441
+ opts: Optional[pulumi.ResourceOptions] = None,
442
+ admin_username: Optional[pulumi.Input[str]] = None,
443
+ boot_method: Optional[pulumi.Input[Union[str, 'VirtualMachineBootMethod']]] = None,
444
+ cloud_services_network_attachment: Optional[pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']]] = None,
445
+ cpu_cores: Optional[pulumi.Input[float]] = None,
446
+ extended_location: Optional[pulumi.Input[Union['ExtendedLocationArgs', 'ExtendedLocationArgsDict']]] = None,
447
+ isolate_emulator_thread: Optional[pulumi.Input[Union[str, 'VirtualMachineIsolateEmulatorThread']]] = None,
448
+ location: Optional[pulumi.Input[str]] = None,
449
+ memory_size_gb: Optional[pulumi.Input[float]] = None,
450
+ network_attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkAttachmentArgs', 'NetworkAttachmentArgsDict']]]]] = None,
451
+ network_data: Optional[pulumi.Input[str]] = None,
452
+ placement_hints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VirtualMachinePlacementHintArgs', 'VirtualMachinePlacementHintArgsDict']]]]] = None,
453
+ resource_group_name: Optional[pulumi.Input[str]] = None,
454
+ ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SshPublicKeyArgs', 'SshPublicKeyArgsDict']]]]] = None,
455
+ storage_profile: Optional[pulumi.Input[Union['StorageProfileArgs', 'StorageProfileArgsDict']]] = None,
456
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
457
+ user_data: Optional[pulumi.Input[str]] = None,
458
+ virtio_interface: Optional[pulumi.Input[Union[str, 'VirtualMachineVirtioInterfaceType']]] = None,
459
+ virtual_machine_name: Optional[pulumi.Input[str]] = None,
460
+ vm_device_model: Optional[pulumi.Input[Union[str, 'VirtualMachineDeviceModelType']]] = None,
461
+ vm_image: Optional[pulumi.Input[str]] = None,
462
+ vm_image_repository_credentials: Optional[pulumi.Input[Union['ImageRepositoryCredentialsArgs', 'ImageRepositoryCredentialsArgsDict']]] = None,
463
+ __props__=None):
464
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
465
+ if not isinstance(opts, pulumi.ResourceOptions):
466
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
467
+ if opts.id is None:
468
+ if __props__ is not None:
469
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
470
+ __props__ = VirtualMachineArgs.__new__(VirtualMachineArgs)
471
+
472
+ if admin_username is None and not opts.urn:
473
+ raise TypeError("Missing required property 'admin_username'")
474
+ __props__.__dict__["admin_username"] = admin_username
475
+ if boot_method is None:
476
+ boot_method = 'UEFI'
477
+ __props__.__dict__["boot_method"] = boot_method
478
+ if cloud_services_network_attachment is None and not opts.urn:
479
+ raise TypeError("Missing required property 'cloud_services_network_attachment'")
480
+ __props__.__dict__["cloud_services_network_attachment"] = cloud_services_network_attachment
481
+ if cpu_cores is None and not opts.urn:
482
+ raise TypeError("Missing required property 'cpu_cores'")
483
+ __props__.__dict__["cpu_cores"] = cpu_cores
484
+ if extended_location is None and not opts.urn:
485
+ raise TypeError("Missing required property 'extended_location'")
486
+ __props__.__dict__["extended_location"] = extended_location
487
+ if isolate_emulator_thread is None:
488
+ isolate_emulator_thread = 'True'
489
+ __props__.__dict__["isolate_emulator_thread"] = isolate_emulator_thread
490
+ __props__.__dict__["location"] = location
491
+ if memory_size_gb is None and not opts.urn:
492
+ raise TypeError("Missing required property 'memory_size_gb'")
493
+ __props__.__dict__["memory_size_gb"] = memory_size_gb
494
+ __props__.__dict__["network_attachments"] = network_attachments
495
+ __props__.__dict__["network_data"] = network_data
496
+ __props__.__dict__["placement_hints"] = placement_hints
497
+ if resource_group_name is None and not opts.urn:
498
+ raise TypeError("Missing required property 'resource_group_name'")
499
+ __props__.__dict__["resource_group_name"] = resource_group_name
500
+ __props__.__dict__["ssh_public_keys"] = ssh_public_keys
501
+ if storage_profile is None and not opts.urn:
502
+ raise TypeError("Missing required property 'storage_profile'")
503
+ __props__.__dict__["storage_profile"] = storage_profile
504
+ __props__.__dict__["tags"] = tags
505
+ __props__.__dict__["user_data"] = user_data
506
+ if virtio_interface is None:
507
+ virtio_interface = 'Modern'
508
+ __props__.__dict__["virtio_interface"] = virtio_interface
509
+ __props__.__dict__["virtual_machine_name"] = virtual_machine_name
510
+ if vm_device_model is None:
511
+ vm_device_model = 'T2'
512
+ __props__.__dict__["vm_device_model"] = vm_device_model
513
+ if vm_image is None and not opts.urn:
514
+ raise TypeError("Missing required property 'vm_image'")
515
+ __props__.__dict__["vm_image"] = vm_image
516
+ __props__.__dict__["vm_image_repository_credentials"] = vm_image_repository_credentials
517
+ __props__.__dict__["availability_zone"] = None
518
+ __props__.__dict__["bare_metal_machine_id"] = None
519
+ __props__.__dict__["cluster_id"] = None
520
+ __props__.__dict__["detailed_status"] = None
521
+ __props__.__dict__["detailed_status_message"] = None
522
+ __props__.__dict__["name"] = None
523
+ __props__.__dict__["power_state"] = None
524
+ __props__.__dict__["provisioning_state"] = None
525
+ __props__.__dict__["system_data"] = None
526
+ __props__.__dict__["type"] = None
527
+ __props__.__dict__["volumes"] = None
528
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:networkcloud:VirtualMachine"), pulumi.Alias(type_="azure-native:networkcloud/v20230701:VirtualMachine"), pulumi.Alias(type_="azure-native:networkcloud/v20231001preview:VirtualMachine")])
529
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
530
+ super(VirtualMachine, __self__).__init__(
531
+ 'azure-native:networkcloud/v20240601preview:VirtualMachine',
532
+ resource_name,
533
+ __props__,
534
+ opts)
535
+
536
+ @staticmethod
537
+ def get(resource_name: str,
538
+ id: pulumi.Input[str],
539
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachine':
540
+ """
541
+ Get an existing VirtualMachine resource's state with the given name, id, and optional extra
542
+ properties used to qualify the lookup.
543
+
544
+ :param str resource_name: The unique name of the resulting resource.
545
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
546
+ :param pulumi.ResourceOptions opts: Options for the resource.
547
+ """
548
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
549
+
550
+ __props__ = VirtualMachineArgs.__new__(VirtualMachineArgs)
551
+
552
+ __props__.__dict__["admin_username"] = None
553
+ __props__.__dict__["availability_zone"] = None
554
+ __props__.__dict__["bare_metal_machine_id"] = None
555
+ __props__.__dict__["boot_method"] = None
556
+ __props__.__dict__["cloud_services_network_attachment"] = None
557
+ __props__.__dict__["cluster_id"] = None
558
+ __props__.__dict__["cpu_cores"] = None
559
+ __props__.__dict__["detailed_status"] = None
560
+ __props__.__dict__["detailed_status_message"] = None
561
+ __props__.__dict__["extended_location"] = None
562
+ __props__.__dict__["isolate_emulator_thread"] = None
563
+ __props__.__dict__["location"] = None
564
+ __props__.__dict__["memory_size_gb"] = None
565
+ __props__.__dict__["name"] = None
566
+ __props__.__dict__["network_attachments"] = None
567
+ __props__.__dict__["network_data"] = None
568
+ __props__.__dict__["placement_hints"] = None
569
+ __props__.__dict__["power_state"] = None
570
+ __props__.__dict__["provisioning_state"] = None
571
+ __props__.__dict__["ssh_public_keys"] = None
572
+ __props__.__dict__["storage_profile"] = None
573
+ __props__.__dict__["system_data"] = None
574
+ __props__.__dict__["tags"] = None
575
+ __props__.__dict__["type"] = None
576
+ __props__.__dict__["user_data"] = None
577
+ __props__.__dict__["virtio_interface"] = None
578
+ __props__.__dict__["vm_device_model"] = None
579
+ __props__.__dict__["vm_image"] = None
580
+ __props__.__dict__["vm_image_repository_credentials"] = None
581
+ __props__.__dict__["volumes"] = None
582
+ return VirtualMachine(resource_name, opts=opts, __props__=__props__)
583
+
584
+ @property
585
+ @pulumi.getter(name="adminUsername")
586
+ def admin_username(self) -> pulumi.Output[str]:
587
+ """
588
+ The name of the administrator to which the ssh public keys will be added into the authorized keys.
589
+ """
590
+ return pulumi.get(self, "admin_username")
591
+
592
+ @property
593
+ @pulumi.getter(name="availabilityZone")
594
+ def availability_zone(self) -> pulumi.Output[str]:
595
+ """
596
+ The cluster availability zone containing this virtual machine.
597
+ """
598
+ return pulumi.get(self, "availability_zone")
599
+
600
+ @property
601
+ @pulumi.getter(name="bareMetalMachineId")
602
+ def bare_metal_machine_id(self) -> pulumi.Output[str]:
603
+ """
604
+ The resource ID of the bare metal machine that hosts the virtual machine.
605
+ """
606
+ return pulumi.get(self, "bare_metal_machine_id")
607
+
608
+ @property
609
+ @pulumi.getter(name="bootMethod")
610
+ def boot_method(self) -> pulumi.Output[Optional[str]]:
611
+ """
612
+ Selects the boot method for the virtual machine.
613
+ """
614
+ return pulumi.get(self, "boot_method")
615
+
616
+ @property
617
+ @pulumi.getter(name="cloudServicesNetworkAttachment")
618
+ def cloud_services_network_attachment(self) -> pulumi.Output['outputs.NetworkAttachmentResponse']:
619
+ """
620
+ The cloud service network that provides platform-level services for the virtual machine.
621
+ """
622
+ return pulumi.get(self, "cloud_services_network_attachment")
623
+
624
+ @property
625
+ @pulumi.getter(name="clusterId")
626
+ def cluster_id(self) -> pulumi.Output[str]:
627
+ """
628
+ The resource ID of the cluster the virtual machine is created for.
629
+ """
630
+ return pulumi.get(self, "cluster_id")
631
+
632
+ @property
633
+ @pulumi.getter(name="cpuCores")
634
+ def cpu_cores(self) -> pulumi.Output[float]:
635
+ """
636
+ The number of CPU cores in the virtual machine.
637
+ """
638
+ return pulumi.get(self, "cpu_cores")
639
+
640
+ @property
641
+ @pulumi.getter(name="detailedStatus")
642
+ def detailed_status(self) -> pulumi.Output[str]:
643
+ """
644
+ The more detailed status of the virtual machine.
645
+ """
646
+ return pulumi.get(self, "detailed_status")
647
+
648
+ @property
649
+ @pulumi.getter(name="detailedStatusMessage")
650
+ def detailed_status_message(self) -> pulumi.Output[str]:
651
+ """
652
+ The descriptive message about the current detailed status.
653
+ """
654
+ return pulumi.get(self, "detailed_status_message")
655
+
656
+ @property
657
+ @pulumi.getter(name="extendedLocation")
658
+ def extended_location(self) -> pulumi.Output['outputs.ExtendedLocationResponse']:
659
+ """
660
+ The extended location of the cluster associated with the resource.
661
+ """
662
+ return pulumi.get(self, "extended_location")
663
+
664
+ @property
665
+ @pulumi.getter(name="isolateEmulatorThread")
666
+ def isolate_emulator_thread(self) -> pulumi.Output[Optional[str]]:
667
+ """
668
+ Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine.
669
+ """
670
+ return pulumi.get(self, "isolate_emulator_thread")
671
+
672
+ @property
673
+ @pulumi.getter
674
+ def location(self) -> pulumi.Output[str]:
675
+ """
676
+ The geo-location where the resource lives
677
+ """
678
+ return pulumi.get(self, "location")
679
+
680
+ @property
681
+ @pulumi.getter(name="memorySizeGB")
682
+ def memory_size_gb(self) -> pulumi.Output[float]:
683
+ """
684
+ The memory size of the virtual machine. Allocations are measured in gibibytes.
685
+ """
686
+ return pulumi.get(self, "memory_size_gb")
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def name(self) -> pulumi.Output[str]:
691
+ """
692
+ The name of the resource
693
+ """
694
+ return pulumi.get(self, "name")
695
+
696
+ @property
697
+ @pulumi.getter(name="networkAttachments")
698
+ def network_attachments(self) -> pulumi.Output[Optional[Sequence['outputs.NetworkAttachmentResponse']]]:
699
+ """
700
+ The list of network attachments to the virtual machine.
701
+ """
702
+ return pulumi.get(self, "network_attachments")
703
+
704
+ @property
705
+ @pulumi.getter(name="networkData")
706
+ def network_data(self) -> pulumi.Output[Optional[str]]:
707
+ """
708
+ The Base64 encoded cloud-init network data.
709
+ """
710
+ return pulumi.get(self, "network_data")
711
+
712
+ @property
713
+ @pulumi.getter(name="placementHints")
714
+ def placement_hints(self) -> pulumi.Output[Optional[Sequence['outputs.VirtualMachinePlacementHintResponse']]]:
715
+ """
716
+ The scheduling hints for the virtual machine.
717
+ """
718
+ return pulumi.get(self, "placement_hints")
719
+
720
+ @property
721
+ @pulumi.getter(name="powerState")
722
+ def power_state(self) -> pulumi.Output[str]:
723
+ """
724
+ The power state of the virtual machine.
725
+ """
726
+ return pulumi.get(self, "power_state")
727
+
728
+ @property
729
+ @pulumi.getter(name="provisioningState")
730
+ def provisioning_state(self) -> pulumi.Output[str]:
731
+ """
732
+ The provisioning state of the virtual machine.
733
+ """
734
+ return pulumi.get(self, "provisioning_state")
735
+
736
+ @property
737
+ @pulumi.getter(name="sshPublicKeys")
738
+ def ssh_public_keys(self) -> pulumi.Output[Optional[Sequence['outputs.SshPublicKeyResponse']]]:
739
+ """
740
+ The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername.
741
+ """
742
+ return pulumi.get(self, "ssh_public_keys")
743
+
744
+ @property
745
+ @pulumi.getter(name="storageProfile")
746
+ def storage_profile(self) -> pulumi.Output['outputs.StorageProfileResponse']:
747
+ """
748
+ The storage profile that specifies size and other parameters about the disks related to the virtual machine.
749
+ """
750
+ return pulumi.get(self, "storage_profile")
751
+
752
+ @property
753
+ @pulumi.getter(name="systemData")
754
+ def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']:
755
+ """
756
+ Azure Resource Manager metadata containing createdBy and modifiedBy information.
757
+ """
758
+ return pulumi.get(self, "system_data")
759
+
760
+ @property
761
+ @pulumi.getter
762
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
763
+ """
764
+ Resource tags.
765
+ """
766
+ return pulumi.get(self, "tags")
767
+
768
+ @property
769
+ @pulumi.getter
770
+ def type(self) -> pulumi.Output[str]:
771
+ """
772
+ The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
773
+ """
774
+ return pulumi.get(self, "type")
775
+
776
+ @property
777
+ @pulumi.getter(name="userData")
778
+ def user_data(self) -> pulumi.Output[Optional[str]]:
779
+ """
780
+ The Base64 encoded cloud-init user data.
781
+ """
782
+ return pulumi.get(self, "user_data")
783
+
784
+ @property
785
+ @pulumi.getter(name="virtioInterface")
786
+ def virtio_interface(self) -> pulumi.Output[Optional[str]]:
787
+ """
788
+ Field Deprecated, use virtualizationModel instead. The type of the virtio interface.
789
+ """
790
+ return pulumi.get(self, "virtio_interface")
791
+
792
+ @property
793
+ @pulumi.getter(name="vmDeviceModel")
794
+ def vm_device_model(self) -> pulumi.Output[Optional[str]]:
795
+ """
796
+ The type of the device model to use.
797
+ """
798
+ return pulumi.get(self, "vm_device_model")
799
+
800
+ @property
801
+ @pulumi.getter(name="vmImage")
802
+ def vm_image(self) -> pulumi.Output[str]:
803
+ """
804
+ The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image.
805
+ """
806
+ return pulumi.get(self, "vm_image")
807
+
808
+ @property
809
+ @pulumi.getter(name="vmImageRepositoryCredentials")
810
+ def vm_image_repository_credentials(self) -> pulumi.Output[Optional['outputs.ImageRepositoryCredentialsResponse']]:
811
+ """
812
+ The credentials used to login to the image repository that has access to the specified image.
813
+ """
814
+ return pulumi.get(self, "vm_image_repository_credentials")
815
+
816
+ @property
817
+ @pulumi.getter
818
+ def volumes(self) -> pulumi.Output[Sequence[str]]:
819
+ """
820
+ The resource IDs of volumes that are attached to the virtual machine.
821
+ """
822
+ return pulumi.get(self, "volumes")
823
+