pulumi-azure-native 2.81.0a1736184069__py3-none-any.whl → 2.81.0a1736233463__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 (278) hide show
  1. pulumi_azure_native/__init__.py +42 -0
  2. pulumi_azure_native/azurestackhci/__init__.py +3 -0
  3. pulumi_azure_native/azurestackhci/arc_setting.py +3 -3
  4. pulumi_azure_native/azurestackhci/cluster.py +3 -3
  5. pulumi_azure_native/azurestackhci/deployment_setting.py +3 -3
  6. pulumi_azure_native/azurestackhci/edge_device.py +3 -3
  7. pulumi_azure_native/azurestackhci/extension.py +3 -3
  8. pulumi_azure_native/azurestackhci/get_arc_setting.py +2 -2
  9. pulumi_azure_native/azurestackhci/get_cluster.py +2 -2
  10. pulumi_azure_native/azurestackhci/get_deployment_setting.py +2 -2
  11. pulumi_azure_native/azurestackhci/get_edge_device.py +2 -2
  12. pulumi_azure_native/azurestackhci/get_extension.py +2 -2
  13. pulumi_azure_native/azurestackhci/get_security_setting.py +2 -2
  14. pulumi_azure_native/azurestackhci/get_update.py +2 -2
  15. pulumi_azure_native/azurestackhci/get_update_run.py +2 -2
  16. pulumi_azure_native/azurestackhci/get_update_summary.py +2 -2
  17. pulumi_azure_native/azurestackhci/hci_edge_device_job.py +1 -1
  18. pulumi_azure_native/azurestackhci/security_setting.py +3 -3
  19. pulumi_azure_native/azurestackhci/update.py +3 -3
  20. pulumi_azure_native/azurestackhci/update_run.py +3 -3
  21. pulumi_azure_native/azurestackhci/update_summary.py +3 -3
  22. pulumi_azure_native/azurestackhci/v20210901preview/arc_setting.py +1 -1
  23. pulumi_azure_native/azurestackhci/v20220101/cluster.py +1 -1
  24. pulumi_azure_native/azurestackhci/v20220901/cluster.py +1 -1
  25. pulumi_azure_native/azurestackhci/v20221215preview/arc_setting.py +1 -1
  26. pulumi_azure_native/azurestackhci/v20221215preview/cluster.py +1 -1
  27. pulumi_azure_native/azurestackhci/v20221215preview/extension.py +1 -1
  28. pulumi_azure_native/azurestackhci/v20221215preview/update.py +1 -1
  29. pulumi_azure_native/azurestackhci/v20221215preview/update_run.py +1 -1
  30. pulumi_azure_native/azurestackhci/v20221215preview/update_summary.py +1 -1
  31. pulumi_azure_native/azurestackhci/v20230301/arc_setting.py +1 -1
  32. pulumi_azure_native/azurestackhci/v20230301/cluster.py +1 -1
  33. pulumi_azure_native/azurestackhci/v20230301/extension.py +1 -1
  34. pulumi_azure_native/azurestackhci/v20230301/update.py +1 -1
  35. pulumi_azure_native/azurestackhci/v20230301/update_run.py +1 -1
  36. pulumi_azure_native/azurestackhci/v20230301/update_summary.py +1 -1
  37. pulumi_azure_native/azurestackhci/v20230601/arc_setting.py +1 -1
  38. pulumi_azure_native/azurestackhci/v20230601/cluster.py +1 -1
  39. pulumi_azure_native/azurestackhci/v20230601/extension.py +1 -1
  40. pulumi_azure_native/azurestackhci/v20230601/update.py +1 -1
  41. pulumi_azure_native/azurestackhci/v20230601/update_run.py +1 -1
  42. pulumi_azure_native/azurestackhci/v20230601/update_summary.py +1 -1
  43. pulumi_azure_native/azurestackhci/v20230801/arc_setting.py +1 -1
  44. pulumi_azure_native/azurestackhci/v20230801/cluster.py +1 -1
  45. pulumi_azure_native/azurestackhci/v20230801/extension.py +1 -1
  46. pulumi_azure_native/azurestackhci/v20230801/update.py +1 -1
  47. pulumi_azure_native/azurestackhci/v20230801/update_run.py +1 -1
  48. pulumi_azure_native/azurestackhci/v20230801/update_summary.py +1 -1
  49. pulumi_azure_native/azurestackhci/v20230801preview/arc_setting.py +1 -1
  50. pulumi_azure_native/azurestackhci/v20230801preview/cluster.py +1 -1
  51. pulumi_azure_native/azurestackhci/v20230801preview/deployment_setting.py +1 -1
  52. pulumi_azure_native/azurestackhci/v20230801preview/edge_device.py +1 -1
  53. pulumi_azure_native/azurestackhci/v20230801preview/extension.py +1 -1
  54. pulumi_azure_native/azurestackhci/v20230801preview/update.py +1 -1
  55. pulumi_azure_native/azurestackhci/v20230801preview/update_run.py +1 -1
  56. pulumi_azure_native/azurestackhci/v20230801preview/update_summary.py +1 -1
  57. pulumi_azure_native/azurestackhci/v20231101preview/arc_setting.py +1 -1
  58. pulumi_azure_native/azurestackhci/v20231101preview/cluster.py +1 -1
  59. pulumi_azure_native/azurestackhci/v20231101preview/deployment_setting.py +1 -1
  60. pulumi_azure_native/azurestackhci/v20231101preview/edge_device.py +1 -1
  61. pulumi_azure_native/azurestackhci/v20231101preview/extension.py +1 -1
  62. pulumi_azure_native/azurestackhci/v20231101preview/security_setting.py +1 -1
  63. pulumi_azure_native/azurestackhci/v20231101preview/update.py +1 -1
  64. pulumi_azure_native/azurestackhci/v20231101preview/update_run.py +1 -1
  65. pulumi_azure_native/azurestackhci/v20231101preview/update_summary.py +1 -1
  66. pulumi_azure_native/azurestackhci/v20240101/arc_setting.py +1 -1
  67. pulumi_azure_native/azurestackhci/v20240101/cluster.py +1 -1
  68. pulumi_azure_native/azurestackhci/v20240101/deployment_setting.py +1 -1
  69. pulumi_azure_native/azurestackhci/v20240101/edge_device.py +1 -1
  70. pulumi_azure_native/azurestackhci/v20240101/extension.py +1 -1
  71. pulumi_azure_native/azurestackhci/v20240101/security_setting.py +1 -1
  72. pulumi_azure_native/azurestackhci/v20240101/update.py +1 -1
  73. pulumi_azure_native/azurestackhci/v20240101/update_run.py +1 -1
  74. pulumi_azure_native/azurestackhci/v20240101/update_summary.py +1 -1
  75. pulumi_azure_native/azurestackhci/v20240215preview/arc_setting.py +1 -1
  76. pulumi_azure_native/azurestackhci/v20240215preview/cluster.py +1 -1
  77. pulumi_azure_native/azurestackhci/v20240215preview/deployment_setting.py +1 -1
  78. pulumi_azure_native/azurestackhci/v20240215preview/extension.py +1 -1
  79. pulumi_azure_native/azurestackhci/v20240215preview/hci_edge_device.py +1 -1
  80. pulumi_azure_native/azurestackhci/v20240215preview/security_setting.py +1 -1
  81. pulumi_azure_native/azurestackhci/v20240215preview/update.py +1 -1
  82. pulumi_azure_native/azurestackhci/v20240215preview/update_run.py +1 -1
  83. pulumi_azure_native/azurestackhci/v20240215preview/update_summary.py +1 -1
  84. pulumi_azure_native/azurestackhci/v20240401/arc_setting.py +1 -1
  85. pulumi_azure_native/azurestackhci/v20240401/cluster.py +1 -1
  86. pulumi_azure_native/azurestackhci/v20240401/deployment_setting.py +1 -1
  87. pulumi_azure_native/azurestackhci/v20240401/extension.py +1 -1
  88. pulumi_azure_native/azurestackhci/v20240401/hci_edge_device.py +1 -1
  89. pulumi_azure_native/azurestackhci/v20240401/security_setting.py +1 -1
  90. pulumi_azure_native/azurestackhci/v20240401/update.py +1 -1
  91. pulumi_azure_native/azurestackhci/v20240401/update_run.py +1 -1
  92. pulumi_azure_native/azurestackhci/v20240401/update_summary.py +1 -1
  93. pulumi_azure_native/azurestackhci/v20240901preview/arc_setting.py +1 -1
  94. pulumi_azure_native/azurestackhci/v20240901preview/cluster.py +1 -1
  95. pulumi_azure_native/azurestackhci/v20240901preview/deployment_setting.py +1 -1
  96. pulumi_azure_native/azurestackhci/v20240901preview/extension.py +1 -1
  97. pulumi_azure_native/azurestackhci/v20240901preview/hci_edge_device.py +1 -1
  98. pulumi_azure_native/azurestackhci/v20240901preview/hci_edge_device_job.py +1 -1
  99. pulumi_azure_native/azurestackhci/v20240901preview/security_setting.py +1 -1
  100. pulumi_azure_native/azurestackhci/v20240901preview/update.py +1 -1
  101. pulumi_azure_native/azurestackhci/v20240901preview/update_run.py +1 -1
  102. pulumi_azure_native/azurestackhci/v20240901preview/update_summary.py +1 -1
  103. pulumi_azure_native/azurestackhci/v20241201preview/__init__.py +30 -0
  104. pulumi_azure_native/azurestackhci/v20241201preview/_enums.py +267 -0
  105. pulumi_azure_native/azurestackhci/v20241201preview/_inputs.py +3459 -0
  106. pulumi_azure_native/azurestackhci/v20241201preview/arc_setting.py +406 -0
  107. pulumi_azure_native/azurestackhci/v20241201preview/cluster.py +680 -0
  108. pulumi_azure_native/azurestackhci/v20241201preview/deployment_setting.py +335 -0
  109. pulumi_azure_native/azurestackhci/v20241201preview/extension.py +473 -0
  110. pulumi_azure_native/azurestackhci/v20241201preview/get_arc_setting.py +275 -0
  111. pulumi_azure_native/azurestackhci/v20241201preview/get_cluster.py +521 -0
  112. pulumi_azure_native/azurestackhci/v20241201preview/get_deployment_setting.py +219 -0
  113. pulumi_azure_native/azurestackhci/v20241201preview/get_extension.py +295 -0
  114. pulumi_azure_native/azurestackhci/v20241201preview/get_hci_edge_device.py +158 -0
  115. pulumi_azure_native/azurestackhci/v20241201preview/get_hci_edge_device_job.py +164 -0
  116. pulumi_azure_native/azurestackhci/v20241201preview/get_security_setting.py +205 -0
  117. pulumi_azure_native/azurestackhci/v20241201preview/get_update.py +401 -0
  118. pulumi_azure_native/azurestackhci/v20241201preview/get_update_run.py +337 -0
  119. pulumi_azure_native/azurestackhci/v20241201preview/get_update_summary.py +283 -0
  120. pulumi_azure_native/azurestackhci/v20241201preview/hci_edge_device.py +233 -0
  121. pulumi_azure_native/azurestackhci/v20241201preview/hci_edge_device_job.py +256 -0
  122. pulumi_azure_native/azurestackhci/v20241201preview/outputs.py +6470 -0
  123. pulumi_azure_native/azurestackhci/v20241201preview/security_setting.py +310 -0
  124. pulumi_azure_native/azurestackhci/v20241201preview/update.py +724 -0
  125. pulumi_azure_native/azurestackhci/v20241201preview/update_run.py +619 -0
  126. pulumi_azure_native/azurestackhci/v20241201preview/update_summary.py +471 -0
  127. pulumi_azure_native/networkcloud/__init__.py +3 -0
  128. pulumi_azure_native/networkcloud/agent_pool.py +3 -3
  129. pulumi_azure_native/networkcloud/bare_metal_machine.py +3 -3
  130. pulumi_azure_native/networkcloud/bare_metal_machine_key_set.py +3 -3
  131. pulumi_azure_native/networkcloud/bmc_key_set.py +3 -3
  132. pulumi_azure_native/networkcloud/cloud_services_network.py +3 -3
  133. pulumi_azure_native/networkcloud/cluster.py +3 -3
  134. pulumi_azure_native/networkcloud/cluster_manager.py +3 -3
  135. pulumi_azure_native/networkcloud/console.py +3 -3
  136. pulumi_azure_native/networkcloud/get_agent_pool.py +2 -2
  137. pulumi_azure_native/networkcloud/get_bare_metal_machine.py +2 -2
  138. pulumi_azure_native/networkcloud/get_bare_metal_machine_key_set.py +2 -2
  139. pulumi_azure_native/networkcloud/get_bmc_key_set.py +2 -2
  140. pulumi_azure_native/networkcloud/get_cloud_services_network.py +2 -2
  141. pulumi_azure_native/networkcloud/get_cluster.py +2 -2
  142. pulumi_azure_native/networkcloud/get_cluster_manager.py +2 -2
  143. pulumi_azure_native/networkcloud/get_console.py +2 -2
  144. pulumi_azure_native/networkcloud/get_kubernetes_cluster.py +2 -2
  145. pulumi_azure_native/networkcloud/get_kubernetes_cluster_feature.py +2 -2
  146. pulumi_azure_native/networkcloud/get_l2_network.py +2 -2
  147. pulumi_azure_native/networkcloud/get_l3_network.py +2 -2
  148. pulumi_azure_native/networkcloud/get_metrics_configuration.py +2 -2
  149. pulumi_azure_native/networkcloud/get_rack.py +2 -2
  150. pulumi_azure_native/networkcloud/get_storage_appliance.py +2 -2
  151. pulumi_azure_native/networkcloud/get_trunked_network.py +2 -2
  152. pulumi_azure_native/networkcloud/get_virtual_machine.py +2 -2
  153. pulumi_azure_native/networkcloud/get_volume.py +2 -2
  154. pulumi_azure_native/networkcloud/kubernetes_cluster.py +3 -3
  155. pulumi_azure_native/networkcloud/kubernetes_cluster_feature.py +3 -3
  156. pulumi_azure_native/networkcloud/l2_network.py +3 -3
  157. pulumi_azure_native/networkcloud/l3_network.py +3 -3
  158. pulumi_azure_native/networkcloud/metrics_configuration.py +3 -3
  159. pulumi_azure_native/networkcloud/rack.py +3 -3
  160. pulumi_azure_native/networkcloud/storage_appliance.py +3 -3
  161. pulumi_azure_native/networkcloud/trunked_network.py +3 -3
  162. pulumi_azure_native/networkcloud/v20230701/agent_pool.py +1 -1
  163. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine.py +1 -1
  164. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine_key_set.py +1 -1
  165. pulumi_azure_native/networkcloud/v20230701/bmc_key_set.py +1 -1
  166. pulumi_azure_native/networkcloud/v20230701/cloud_services_network.py +1 -1
  167. pulumi_azure_native/networkcloud/v20230701/cluster.py +1 -1
  168. pulumi_azure_native/networkcloud/v20230701/cluster_manager.py +1 -1
  169. pulumi_azure_native/networkcloud/v20230701/console.py +1 -1
  170. pulumi_azure_native/networkcloud/v20230701/kubernetes_cluster.py +1 -1
  171. pulumi_azure_native/networkcloud/v20230701/l2_network.py +1 -1
  172. pulumi_azure_native/networkcloud/v20230701/l3_network.py +1 -1
  173. pulumi_azure_native/networkcloud/v20230701/metrics_configuration.py +1 -1
  174. pulumi_azure_native/networkcloud/v20230701/rack.py +1 -1
  175. pulumi_azure_native/networkcloud/v20230701/storage_appliance.py +1 -1
  176. pulumi_azure_native/networkcloud/v20230701/trunked_network.py +1 -1
  177. pulumi_azure_native/networkcloud/v20230701/virtual_machine.py +1 -1
  178. pulumi_azure_native/networkcloud/v20230701/volume.py +1 -1
  179. pulumi_azure_native/networkcloud/v20231001preview/agent_pool.py +1 -1
  180. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine.py +1 -1
  181. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine_key_set.py +1 -1
  182. pulumi_azure_native/networkcloud/v20231001preview/bmc_key_set.py +1 -1
  183. pulumi_azure_native/networkcloud/v20231001preview/cloud_services_network.py +1 -1
  184. pulumi_azure_native/networkcloud/v20231001preview/cluster.py +1 -1
  185. pulumi_azure_native/networkcloud/v20231001preview/cluster_manager.py +1 -1
  186. pulumi_azure_native/networkcloud/v20231001preview/console.py +1 -1
  187. pulumi_azure_native/networkcloud/v20231001preview/kubernetes_cluster.py +1 -1
  188. pulumi_azure_native/networkcloud/v20231001preview/l2_network.py +1 -1
  189. pulumi_azure_native/networkcloud/v20231001preview/l3_network.py +1 -1
  190. pulumi_azure_native/networkcloud/v20231001preview/metrics_configuration.py +1 -1
  191. pulumi_azure_native/networkcloud/v20231001preview/rack.py +1 -1
  192. pulumi_azure_native/networkcloud/v20231001preview/storage_appliance.py +1 -1
  193. pulumi_azure_native/networkcloud/v20231001preview/trunked_network.py +1 -1
  194. pulumi_azure_native/networkcloud/v20231001preview/virtual_machine.py +1 -1
  195. pulumi_azure_native/networkcloud/v20231001preview/volume.py +1 -1
  196. pulumi_azure_native/networkcloud/v20240601preview/agent_pool.py +1 -1
  197. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine.py +1 -1
  198. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine_key_set.py +1 -1
  199. pulumi_azure_native/networkcloud/v20240601preview/bmc_key_set.py +1 -1
  200. pulumi_azure_native/networkcloud/v20240601preview/cloud_services_network.py +1 -1
  201. pulumi_azure_native/networkcloud/v20240601preview/cluster.py +1 -1
  202. pulumi_azure_native/networkcloud/v20240601preview/cluster_manager.py +1 -1
  203. pulumi_azure_native/networkcloud/v20240601preview/console.py +1 -1
  204. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster.py +1 -1
  205. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster_feature.py +1 -1
  206. pulumi_azure_native/networkcloud/v20240601preview/l2_network.py +1 -1
  207. pulumi_azure_native/networkcloud/v20240601preview/l3_network.py +1 -1
  208. pulumi_azure_native/networkcloud/v20240601preview/metrics_configuration.py +1 -1
  209. pulumi_azure_native/networkcloud/v20240601preview/rack.py +1 -1
  210. pulumi_azure_native/networkcloud/v20240601preview/storage_appliance.py +1 -1
  211. pulumi_azure_native/networkcloud/v20240601preview/trunked_network.py +1 -1
  212. pulumi_azure_native/networkcloud/v20240601preview/virtual_machine.py +1 -1
  213. pulumi_azure_native/networkcloud/v20240601preview/volume.py +1 -1
  214. pulumi_azure_native/networkcloud/v20240701/agent_pool.py +1 -1
  215. pulumi_azure_native/networkcloud/v20240701/bare_metal_machine.py +1 -1
  216. pulumi_azure_native/networkcloud/v20240701/bare_metal_machine_key_set.py +1 -1
  217. pulumi_azure_native/networkcloud/v20240701/bmc_key_set.py +1 -1
  218. pulumi_azure_native/networkcloud/v20240701/cloud_services_network.py +1 -1
  219. pulumi_azure_native/networkcloud/v20240701/cluster.py +1 -1
  220. pulumi_azure_native/networkcloud/v20240701/cluster_manager.py +1 -1
  221. pulumi_azure_native/networkcloud/v20240701/console.py +1 -1
  222. pulumi_azure_native/networkcloud/v20240701/kubernetes_cluster.py +1 -1
  223. pulumi_azure_native/networkcloud/v20240701/kubernetes_cluster_feature.py +1 -1
  224. pulumi_azure_native/networkcloud/v20240701/l2_network.py +1 -1
  225. pulumi_azure_native/networkcloud/v20240701/l3_network.py +1 -1
  226. pulumi_azure_native/networkcloud/v20240701/metrics_configuration.py +1 -1
  227. pulumi_azure_native/networkcloud/v20240701/rack.py +1 -1
  228. pulumi_azure_native/networkcloud/v20240701/storage_appliance.py +1 -1
  229. pulumi_azure_native/networkcloud/v20240701/trunked_network.py +1 -1
  230. pulumi_azure_native/networkcloud/v20240701/virtual_machine.py +1 -1
  231. pulumi_azure_native/networkcloud/v20240701/volume.py +1 -1
  232. pulumi_azure_native/networkcloud/v20241001preview/__init__.py +46 -0
  233. pulumi_azure_native/networkcloud/v20241001preview/_enums.py +353 -0
  234. pulumi_azure_native/networkcloud/v20241001preview/_inputs.py +3580 -0
  235. pulumi_azure_native/networkcloud/v20241001preview/agent_pool.py +610 -0
  236. pulumi_azure_native/networkcloud/v20241001preview/bare_metal_machine.py +795 -0
  237. pulumi_azure_native/networkcloud/v20241001preview/bare_metal_machine_key_set.py +507 -0
  238. pulumi_azure_native/networkcloud/v20241001preview/bmc_key_set.py +448 -0
  239. pulumi_azure_native/networkcloud/v20241001preview/cloud_services_network.py +417 -0
  240. pulumi_azure_native/networkcloud/v20241001preview/cluster.py +917 -0
  241. pulumi_azure_native/networkcloud/v20241001preview/cluster_manager.py +452 -0
  242. pulumi_azure_native/networkcloud/v20241001preview/console.py +417 -0
  243. pulumi_azure_native/networkcloud/v20241001preview/get_agent_pool.py +370 -0
  244. pulumi_azure_native/networkcloud/v20241001preview/get_bare_metal_machine.py +616 -0
  245. pulumi_azure_native/networkcloud/v20241001preview/get_bare_metal_machine_key_set.py +328 -0
  246. pulumi_azure_native/networkcloud/v20241001preview/get_bmc_key_set.py +300 -0
  247. pulumi_azure_native/networkcloud/v20241001preview/get_cloud_services_network.py +328 -0
  248. pulumi_azure_native/networkcloud/v20241001preview/get_cluster.py +603 -0
  249. pulumi_azure_native/networkcloud/v20241001preview/get_cluster_manager.py +308 -0
  250. pulumi_azure_native/networkcloud/v20241001preview/get_console.py +286 -0
  251. pulumi_azure_native/networkcloud/v20241001preview/get_kubernetes_cluster.py +406 -0
  252. pulumi_azure_native/networkcloud/v20241001preview/get_kubernetes_cluster_feature.py +258 -0
  253. pulumi_azure_native/networkcloud/v20241001preview/get_l2_network.py +308 -0
  254. pulumi_azure_native/networkcloud/v20241001preview/get_l3_network.py +380 -0
  255. pulumi_azure_native/networkcloud/v20241001preview/get_metrics_configuration.py +258 -0
  256. pulumi_azure_native/networkcloud/v20241001preview/get_rack.py +280 -0
  257. pulumi_azure_native/networkcloud/v20241001preview/get_storage_appliance.py +420 -0
  258. pulumi_azure_native/networkcloud/v20241001preview/get_trunked_network.py +322 -0
  259. pulumi_azure_native/networkcloud/v20241001preview/get_virtual_machine.py +518 -0
  260. pulumi_azure_native/networkcloud/v20241001preview/get_volume.py +252 -0
  261. pulumi_azure_native/networkcloud/v20241001preview/kubernetes_cluster.py +564 -0
  262. pulumi_azure_native/networkcloud/v20241001preview/kubernetes_cluster_feature.py +336 -0
  263. pulumi_azure_native/networkcloud/v20241001preview/l2_network.py +419 -0
  264. pulumi_azure_native/networkcloud/v20241001preview/l3_network.py +581 -0
  265. pulumi_azure_native/networkcloud/v20241001preview/metrics_configuration.py +376 -0
  266. pulumi_azure_native/networkcloud/v20241001preview/outputs.py +4372 -0
  267. pulumi_azure_native/networkcloud/v20241001preview/rack.py +416 -0
  268. pulumi_azure_native/networkcloud/v20241001preview/storage_appliance.py +536 -0
  269. pulumi_azure_native/networkcloud/v20241001preview/trunked_network.py +449 -0
  270. pulumi_azure_native/networkcloud/v20241001preview/virtual_machine.py +852 -0
  271. pulumi_azure_native/networkcloud/v20241001preview/volume.py +336 -0
  272. pulumi_azure_native/networkcloud/virtual_machine.py +3 -3
  273. pulumi_azure_native/networkcloud/volume.py +3 -3
  274. pulumi_azure_native/pulumi-plugin.json +1 -1
  275. {pulumi_azure_native-2.81.0a1736184069.dist-info → pulumi_azure_native-2.81.0a1736233463.dist-info}/METADATA +1 -1
  276. {pulumi_azure_native-2.81.0a1736184069.dist-info → pulumi_azure_native-2.81.0a1736233463.dist-info}/RECORD +278 -214
  277. {pulumi_azure_native-2.81.0a1736184069.dist-info → pulumi_azure_native-2.81.0a1736233463.dist-info}/WHEEL +0 -0
  278. {pulumi_azure_native-2.81.0a1736184069.dist-info → pulumi_azure_native-2.81.0a1736233463.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3459 @@
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 ._enums import *
17
+
18
+ __all__ = [
19
+ 'AdapterPropertyOverridesArgs',
20
+ 'AdapterPropertyOverridesArgsDict',
21
+ 'ArcConnectivityPropertiesArgs',
22
+ 'ArcConnectivityPropertiesArgsDict',
23
+ 'ClusterDesiredPropertiesArgs',
24
+ 'ClusterDesiredPropertiesArgsDict',
25
+ 'DeploymentClusterArgs',
26
+ 'DeploymentClusterArgsDict',
27
+ 'DeploymentConfigurationArgs',
28
+ 'DeploymentConfigurationArgsDict',
29
+ 'DeploymentDataArgs',
30
+ 'DeploymentDataArgsDict',
31
+ 'DeploymentSecuritySettingsArgs',
32
+ 'DeploymentSecuritySettingsArgsDict',
33
+ 'DeviceConfigurationArgs',
34
+ 'DeviceConfigurationArgsDict',
35
+ 'EceDeploymentSecretsArgs',
36
+ 'EceDeploymentSecretsArgsDict',
37
+ 'HciCollectLogJobPropertiesArgs',
38
+ 'HciCollectLogJobPropertiesArgsDict',
39
+ 'HciEdgeDevicePropertiesArgs',
40
+ 'HciEdgeDevicePropertiesArgsDict',
41
+ 'HciRemoteSupportJobPropertiesArgs',
42
+ 'HciRemoteSupportJobPropertiesArgsDict',
43
+ 'HostNetworkArgs',
44
+ 'HostNetworkArgsDict',
45
+ 'InfrastructureNetworkArgs',
46
+ 'InfrastructureNetworkArgsDict',
47
+ 'IntentsArgs',
48
+ 'IntentsArgsDict',
49
+ 'IpPoolsArgs',
50
+ 'IpPoolsArgsDict',
51
+ 'NetworkControllerArgs',
52
+ 'NetworkControllerArgsDict',
53
+ 'NicDetailArgs',
54
+ 'NicDetailArgsDict',
55
+ 'ObservabilityArgs',
56
+ 'ObservabilityArgsDict',
57
+ 'OptionalServicesArgs',
58
+ 'OptionalServicesArgsDict',
59
+ 'PhysicalNodesArgs',
60
+ 'PhysicalNodesArgsDict',
61
+ 'QosPolicyOverridesArgs',
62
+ 'QosPolicyOverridesArgsDict',
63
+ 'SbeCredentialsArgs',
64
+ 'SbeCredentialsArgsDict',
65
+ 'SbeDeploymentInfoArgs',
66
+ 'SbeDeploymentInfoArgsDict',
67
+ 'SbePartnerInfoArgs',
68
+ 'SbePartnerInfoArgsDict',
69
+ 'SbePartnerPropertiesArgs',
70
+ 'SbePartnerPropertiesArgsDict',
71
+ 'ScaleUnitsArgs',
72
+ 'ScaleUnitsArgsDict',
73
+ 'SdnIntegrationArgs',
74
+ 'SdnIntegrationArgsDict',
75
+ 'SecretsLocationDetailsArgs',
76
+ 'SecretsLocationDetailsArgsDict',
77
+ 'ServiceConfigurationArgs',
78
+ 'ServiceConfigurationArgsDict',
79
+ 'SoftwareAssurancePropertiesArgs',
80
+ 'SoftwareAssurancePropertiesArgsDict',
81
+ 'StepArgs',
82
+ 'StepArgsDict',
83
+ 'StorageAdapterIPInfoArgs',
84
+ 'StorageAdapterIPInfoArgsDict',
85
+ 'StorageNetworksArgs',
86
+ 'StorageNetworksArgsDict',
87
+ 'StorageArgs',
88
+ 'StorageArgsDict',
89
+ 'UpdatePrerequisiteArgs',
90
+ 'UpdatePrerequisiteArgsDict',
91
+ 'VirtualSwitchConfigurationOverridesArgs',
92
+ 'VirtualSwitchConfigurationOverridesArgsDict',
93
+ ]
94
+
95
+ MYPY = False
96
+
97
+ if not MYPY:
98
+ class AdapterPropertyOverridesArgsDict(TypedDict):
99
+ """
100
+ The AdapterPropertyOverrides of a cluster.
101
+ """
102
+ jumbo_packet: NotRequired[pulumi.Input[str]]
103
+ """
104
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
105
+ """
106
+ network_direct: NotRequired[pulumi.Input[str]]
107
+ """
108
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
109
+ """
110
+ network_direct_technology: NotRequired[pulumi.Input[str]]
111
+ """
112
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'
113
+ """
114
+ elif False:
115
+ AdapterPropertyOverridesArgsDict: TypeAlias = Mapping[str, Any]
116
+
117
+ @pulumi.input_type
118
+ class AdapterPropertyOverridesArgs:
119
+ def __init__(__self__, *,
120
+ jumbo_packet: Optional[pulumi.Input[str]] = None,
121
+ network_direct: Optional[pulumi.Input[str]] = None,
122
+ network_direct_technology: Optional[pulumi.Input[str]] = None):
123
+ """
124
+ The AdapterPropertyOverrides of a cluster.
125
+ :param pulumi.Input[str] jumbo_packet: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
126
+ :param pulumi.Input[str] network_direct: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
127
+ :param pulumi.Input[str] network_direct_technology: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'
128
+ """
129
+ if jumbo_packet is not None:
130
+ pulumi.set(__self__, "jumbo_packet", jumbo_packet)
131
+ if network_direct is not None:
132
+ pulumi.set(__self__, "network_direct", network_direct)
133
+ if network_direct_technology is not None:
134
+ pulumi.set(__self__, "network_direct_technology", network_direct_technology)
135
+
136
+ @property
137
+ @pulumi.getter(name="jumboPacket")
138
+ def jumbo_packet(self) -> Optional[pulumi.Input[str]]:
139
+ """
140
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
141
+ """
142
+ return pulumi.get(self, "jumbo_packet")
143
+
144
+ @jumbo_packet.setter
145
+ def jumbo_packet(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "jumbo_packet", value)
147
+
148
+ @property
149
+ @pulumi.getter(name="networkDirect")
150
+ def network_direct(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
153
+ """
154
+ return pulumi.get(self, "network_direct")
155
+
156
+ @network_direct.setter
157
+ def network_direct(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "network_direct", value)
159
+
160
+ @property
161
+ @pulumi.getter(name="networkDirectTechnology")
162
+ def network_direct_technology(self) -> Optional[pulumi.Input[str]]:
163
+ """
164
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'
165
+ """
166
+ return pulumi.get(self, "network_direct_technology")
167
+
168
+ @network_direct_technology.setter
169
+ def network_direct_technology(self, value: Optional[pulumi.Input[str]]):
170
+ pulumi.set(self, "network_direct_technology", value)
171
+
172
+
173
+ if not MYPY:
174
+ class ArcConnectivityPropertiesArgsDict(TypedDict):
175
+ """
176
+ Connectivity related configuration required by arc server.
177
+ """
178
+ enabled: NotRequired[pulumi.Input[bool]]
179
+ """
180
+ True indicates ARC connectivity is enabled
181
+ """
182
+ service_configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceConfigurationArgsDict']]]]
183
+ """
184
+ Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'.
185
+ """
186
+ elif False:
187
+ ArcConnectivityPropertiesArgsDict: TypeAlias = Mapping[str, Any]
188
+
189
+ @pulumi.input_type
190
+ class ArcConnectivityPropertiesArgs:
191
+ def __init__(__self__, *,
192
+ enabled: Optional[pulumi.Input[bool]] = None,
193
+ service_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceConfigurationArgs']]]] = None):
194
+ """
195
+ Connectivity related configuration required by arc server.
196
+ :param pulumi.Input[bool] enabled: True indicates ARC connectivity is enabled
197
+ :param pulumi.Input[Sequence[pulumi.Input['ServiceConfigurationArgs']]] service_configurations: Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'.
198
+ """
199
+ if enabled is not None:
200
+ pulumi.set(__self__, "enabled", enabled)
201
+ if service_configurations is not None:
202
+ pulumi.set(__self__, "service_configurations", service_configurations)
203
+
204
+ @property
205
+ @pulumi.getter
206
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
207
+ """
208
+ True indicates ARC connectivity is enabled
209
+ """
210
+ return pulumi.get(self, "enabled")
211
+
212
+ @enabled.setter
213
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
214
+ pulumi.set(self, "enabled", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="serviceConfigurations")
218
+ def service_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceConfigurationArgs']]]]:
219
+ """
220
+ Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'.
221
+ """
222
+ return pulumi.get(self, "service_configurations")
223
+
224
+ @service_configurations.setter
225
+ def service_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceConfigurationArgs']]]]):
226
+ pulumi.set(self, "service_configurations", value)
227
+
228
+
229
+ if not MYPY:
230
+ class ClusterDesiredPropertiesArgsDict(TypedDict):
231
+ """
232
+ Desired properties of the cluster.
233
+ """
234
+ diagnostic_level: NotRequired[pulumi.Input[Union[str, 'DiagnosticLevel']]]
235
+ """
236
+ Desired level of diagnostic data emitted by the cluster.
237
+ """
238
+ windows_server_subscription: NotRequired[pulumi.Input[Union[str, 'WindowsServerSubscription']]]
239
+ """
240
+ Desired state of Windows Server Subscription.
241
+ """
242
+ elif False:
243
+ ClusterDesiredPropertiesArgsDict: TypeAlias = Mapping[str, Any]
244
+
245
+ @pulumi.input_type
246
+ class ClusterDesiredPropertiesArgs:
247
+ def __init__(__self__, *,
248
+ diagnostic_level: Optional[pulumi.Input[Union[str, 'DiagnosticLevel']]] = None,
249
+ windows_server_subscription: Optional[pulumi.Input[Union[str, 'WindowsServerSubscription']]] = None):
250
+ """
251
+ Desired properties of the cluster.
252
+ :param pulumi.Input[Union[str, 'DiagnosticLevel']] diagnostic_level: Desired level of diagnostic data emitted by the cluster.
253
+ :param pulumi.Input[Union[str, 'WindowsServerSubscription']] windows_server_subscription: Desired state of Windows Server Subscription.
254
+ """
255
+ if diagnostic_level is not None:
256
+ pulumi.set(__self__, "diagnostic_level", diagnostic_level)
257
+ if windows_server_subscription is not None:
258
+ pulumi.set(__self__, "windows_server_subscription", windows_server_subscription)
259
+
260
+ @property
261
+ @pulumi.getter(name="diagnosticLevel")
262
+ def diagnostic_level(self) -> Optional[pulumi.Input[Union[str, 'DiagnosticLevel']]]:
263
+ """
264
+ Desired level of diagnostic data emitted by the cluster.
265
+ """
266
+ return pulumi.get(self, "diagnostic_level")
267
+
268
+ @diagnostic_level.setter
269
+ def diagnostic_level(self, value: Optional[pulumi.Input[Union[str, 'DiagnosticLevel']]]):
270
+ pulumi.set(self, "diagnostic_level", value)
271
+
272
+ @property
273
+ @pulumi.getter(name="windowsServerSubscription")
274
+ def windows_server_subscription(self) -> Optional[pulumi.Input[Union[str, 'WindowsServerSubscription']]]:
275
+ """
276
+ Desired state of Windows Server Subscription.
277
+ """
278
+ return pulumi.get(self, "windows_server_subscription")
279
+
280
+ @windows_server_subscription.setter
281
+ def windows_server_subscription(self, value: Optional[pulumi.Input[Union[str, 'WindowsServerSubscription']]]):
282
+ pulumi.set(self, "windows_server_subscription", value)
283
+
284
+
285
+ if not MYPY:
286
+ class DeploymentClusterArgsDict(TypedDict):
287
+ """
288
+ AzureStackHCI Cluster deployment properties.
289
+ """
290
+ azure_service_endpoint: NotRequired[pulumi.Input[str]]
291
+ """
292
+ For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net.
293
+ """
294
+ cloud_account_name: NotRequired[pulumi.Input[str]]
295
+ """
296
+ Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster.
297
+ """
298
+ name: NotRequired[pulumi.Input[str]]
299
+ """
300
+ The cluster name provided when preparing Active Directory.
301
+ """
302
+ witness_path: NotRequired[pulumi.Input[str]]
303
+ """
304
+ Specify the fileshare path for the local witness for your Azure Stack HCI cluster.
305
+ """
306
+ witness_type: NotRequired[pulumi.Input[str]]
307
+ """
308
+ Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'.
309
+ """
310
+ elif False:
311
+ DeploymentClusterArgsDict: TypeAlias = Mapping[str, Any]
312
+
313
+ @pulumi.input_type
314
+ class DeploymentClusterArgs:
315
+ def __init__(__self__, *,
316
+ azure_service_endpoint: Optional[pulumi.Input[str]] = None,
317
+ cloud_account_name: Optional[pulumi.Input[str]] = None,
318
+ name: Optional[pulumi.Input[str]] = None,
319
+ witness_path: Optional[pulumi.Input[str]] = None,
320
+ witness_type: Optional[pulumi.Input[str]] = None):
321
+ """
322
+ AzureStackHCI Cluster deployment properties.
323
+ :param pulumi.Input[str] azure_service_endpoint: For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net.
324
+ :param pulumi.Input[str] cloud_account_name: Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster.
325
+ :param pulumi.Input[str] name: The cluster name provided when preparing Active Directory.
326
+ :param pulumi.Input[str] witness_path: Specify the fileshare path for the local witness for your Azure Stack HCI cluster.
327
+ :param pulumi.Input[str] witness_type: Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'.
328
+ """
329
+ if azure_service_endpoint is not None:
330
+ pulumi.set(__self__, "azure_service_endpoint", azure_service_endpoint)
331
+ if cloud_account_name is not None:
332
+ pulumi.set(__self__, "cloud_account_name", cloud_account_name)
333
+ if name is not None:
334
+ pulumi.set(__self__, "name", name)
335
+ if witness_path is not None:
336
+ pulumi.set(__self__, "witness_path", witness_path)
337
+ if witness_type is not None:
338
+ pulumi.set(__self__, "witness_type", witness_type)
339
+
340
+ @property
341
+ @pulumi.getter(name="azureServiceEndpoint")
342
+ def azure_service_endpoint(self) -> Optional[pulumi.Input[str]]:
343
+ """
344
+ For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net.
345
+ """
346
+ return pulumi.get(self, "azure_service_endpoint")
347
+
348
+ @azure_service_endpoint.setter
349
+ def azure_service_endpoint(self, value: Optional[pulumi.Input[str]]):
350
+ pulumi.set(self, "azure_service_endpoint", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="cloudAccountName")
354
+ def cloud_account_name(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster.
357
+ """
358
+ return pulumi.get(self, "cloud_account_name")
359
+
360
+ @cloud_account_name.setter
361
+ def cloud_account_name(self, value: Optional[pulumi.Input[str]]):
362
+ pulumi.set(self, "cloud_account_name", value)
363
+
364
+ @property
365
+ @pulumi.getter
366
+ def name(self) -> Optional[pulumi.Input[str]]:
367
+ """
368
+ The cluster name provided when preparing Active Directory.
369
+ """
370
+ return pulumi.get(self, "name")
371
+
372
+ @name.setter
373
+ def name(self, value: Optional[pulumi.Input[str]]):
374
+ pulumi.set(self, "name", value)
375
+
376
+ @property
377
+ @pulumi.getter(name="witnessPath")
378
+ def witness_path(self) -> Optional[pulumi.Input[str]]:
379
+ """
380
+ Specify the fileshare path for the local witness for your Azure Stack HCI cluster.
381
+ """
382
+ return pulumi.get(self, "witness_path")
383
+
384
+ @witness_path.setter
385
+ def witness_path(self, value: Optional[pulumi.Input[str]]):
386
+ pulumi.set(self, "witness_path", value)
387
+
388
+ @property
389
+ @pulumi.getter(name="witnessType")
390
+ def witness_type(self) -> Optional[pulumi.Input[str]]:
391
+ """
392
+ Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'.
393
+ """
394
+ return pulumi.get(self, "witness_type")
395
+
396
+ @witness_type.setter
397
+ def witness_type(self, value: Optional[pulumi.Input[str]]):
398
+ pulumi.set(self, "witness_type", value)
399
+
400
+
401
+ if not MYPY:
402
+ class DeploymentConfigurationArgsDict(TypedDict):
403
+ """
404
+ Deployment Configuration
405
+ """
406
+ scale_units: pulumi.Input[Sequence[pulumi.Input['ScaleUnitsArgsDict']]]
407
+ """
408
+ Scale units will contains list of deployment data
409
+ """
410
+ version: NotRequired[pulumi.Input[str]]
411
+ """
412
+ deployment template version
413
+ """
414
+ elif False:
415
+ DeploymentConfigurationArgsDict: TypeAlias = Mapping[str, Any]
416
+
417
+ @pulumi.input_type
418
+ class DeploymentConfigurationArgs:
419
+ def __init__(__self__, *,
420
+ scale_units: pulumi.Input[Sequence[pulumi.Input['ScaleUnitsArgs']]],
421
+ version: Optional[pulumi.Input[str]] = None):
422
+ """
423
+ Deployment Configuration
424
+ :param pulumi.Input[Sequence[pulumi.Input['ScaleUnitsArgs']]] scale_units: Scale units will contains list of deployment data
425
+ :param pulumi.Input[str] version: deployment template version
426
+ """
427
+ pulumi.set(__self__, "scale_units", scale_units)
428
+ if version is not None:
429
+ pulumi.set(__self__, "version", version)
430
+
431
+ @property
432
+ @pulumi.getter(name="scaleUnits")
433
+ def scale_units(self) -> pulumi.Input[Sequence[pulumi.Input['ScaleUnitsArgs']]]:
434
+ """
435
+ Scale units will contains list of deployment data
436
+ """
437
+ return pulumi.get(self, "scale_units")
438
+
439
+ @scale_units.setter
440
+ def scale_units(self, value: pulumi.Input[Sequence[pulumi.Input['ScaleUnitsArgs']]]):
441
+ pulumi.set(self, "scale_units", value)
442
+
443
+ @property
444
+ @pulumi.getter
445
+ def version(self) -> Optional[pulumi.Input[str]]:
446
+ """
447
+ deployment template version
448
+ """
449
+ return pulumi.get(self, "version")
450
+
451
+ @version.setter
452
+ def version(self, value: Optional[pulumi.Input[str]]):
453
+ pulumi.set(self, "version", value)
454
+
455
+
456
+ if not MYPY:
457
+ class DeploymentDataArgsDict(TypedDict):
458
+ """
459
+ The Deployment data of AzureStackHCI Cluster.
460
+ """
461
+ adou_path: NotRequired[pulumi.Input[str]]
462
+ """
463
+ The path to the Active Directory Organizational Unit container object prepared for the deployment.
464
+ """
465
+ cluster: NotRequired[pulumi.Input['DeploymentClusterArgsDict']]
466
+ """
467
+ Observability config to deploy AzureStackHCI Cluster.
468
+ """
469
+ domain_fqdn: NotRequired[pulumi.Input[str]]
470
+ """
471
+ FQDN to deploy cluster
472
+ """
473
+ host_network: NotRequired[pulumi.Input['HostNetworkArgsDict']]
474
+ """
475
+ HostNetwork config to deploy AzureStackHCI Cluster.
476
+ """
477
+ infrastructure_network: NotRequired[pulumi.Input[Sequence[pulumi.Input['InfrastructureNetworkArgsDict']]]]
478
+ """
479
+ InfrastructureNetwork config to deploy AzureStackHCI Cluster.
480
+ """
481
+ naming_prefix: NotRequired[pulumi.Input[str]]
482
+ """
483
+ naming prefix to deploy cluster.
484
+ """
485
+ observability: NotRequired[pulumi.Input['ObservabilityArgsDict']]
486
+ """
487
+ Observability config to deploy AzureStackHCI Cluster.
488
+ """
489
+ optional_services: NotRequired[pulumi.Input['OptionalServicesArgsDict']]
490
+ """
491
+ OptionalServices config to deploy AzureStackHCI Cluster.
492
+ """
493
+ physical_nodes: NotRequired[pulumi.Input[Sequence[pulumi.Input['PhysicalNodesArgsDict']]]]
494
+ """
495
+ list of physical nodes config to deploy AzureStackHCI Cluster.
496
+ """
497
+ sdn_integration: NotRequired[pulumi.Input['SdnIntegrationArgsDict']]
498
+ """
499
+ SDN Integration config to deploy AzureStackHCI Cluster.
500
+ """
501
+ secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input['EceDeploymentSecretsArgsDict']]]]
502
+ """
503
+ secrets used for cloud deployment.
504
+ """
505
+ secrets_location: NotRequired[pulumi.Input[str]]
506
+ """
507
+ Azure keyvault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead.
508
+ """
509
+ security_settings: NotRequired[pulumi.Input['DeploymentSecuritySettingsArgsDict']]
510
+ """
511
+ SecuritySettings to deploy AzureStackHCI Cluster.
512
+ """
513
+ storage: NotRequired[pulumi.Input['StorageArgsDict']]
514
+ """
515
+ Storage config to deploy AzureStackHCI Cluster.
516
+ """
517
+ elif False:
518
+ DeploymentDataArgsDict: TypeAlias = Mapping[str, Any]
519
+
520
+ @pulumi.input_type
521
+ class DeploymentDataArgs:
522
+ def __init__(__self__, *,
523
+ adou_path: Optional[pulumi.Input[str]] = None,
524
+ cluster: Optional[pulumi.Input['DeploymentClusterArgs']] = None,
525
+ domain_fqdn: Optional[pulumi.Input[str]] = None,
526
+ host_network: Optional[pulumi.Input['HostNetworkArgs']] = None,
527
+ infrastructure_network: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureNetworkArgs']]]] = None,
528
+ naming_prefix: Optional[pulumi.Input[str]] = None,
529
+ observability: Optional[pulumi.Input['ObservabilityArgs']] = None,
530
+ optional_services: Optional[pulumi.Input['OptionalServicesArgs']] = None,
531
+ physical_nodes: Optional[pulumi.Input[Sequence[pulumi.Input['PhysicalNodesArgs']]]] = None,
532
+ sdn_integration: Optional[pulumi.Input['SdnIntegrationArgs']] = None,
533
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['EceDeploymentSecretsArgs']]]] = None,
534
+ secrets_location: Optional[pulumi.Input[str]] = None,
535
+ security_settings: Optional[pulumi.Input['DeploymentSecuritySettingsArgs']] = None,
536
+ storage: Optional[pulumi.Input['StorageArgs']] = None):
537
+ """
538
+ The Deployment data of AzureStackHCI Cluster.
539
+ :param pulumi.Input[str] adou_path: The path to the Active Directory Organizational Unit container object prepared for the deployment.
540
+ :param pulumi.Input['DeploymentClusterArgs'] cluster: Observability config to deploy AzureStackHCI Cluster.
541
+ :param pulumi.Input[str] domain_fqdn: FQDN to deploy cluster
542
+ :param pulumi.Input['HostNetworkArgs'] host_network: HostNetwork config to deploy AzureStackHCI Cluster.
543
+ :param pulumi.Input[Sequence[pulumi.Input['InfrastructureNetworkArgs']]] infrastructure_network: InfrastructureNetwork config to deploy AzureStackHCI Cluster.
544
+ :param pulumi.Input[str] naming_prefix: naming prefix to deploy cluster.
545
+ :param pulumi.Input['ObservabilityArgs'] observability: Observability config to deploy AzureStackHCI Cluster.
546
+ :param pulumi.Input['OptionalServicesArgs'] optional_services: OptionalServices config to deploy AzureStackHCI Cluster.
547
+ :param pulumi.Input[Sequence[pulumi.Input['PhysicalNodesArgs']]] physical_nodes: list of physical nodes config to deploy AzureStackHCI Cluster.
548
+ :param pulumi.Input['SdnIntegrationArgs'] sdn_integration: SDN Integration config to deploy AzureStackHCI Cluster.
549
+ :param pulumi.Input[Sequence[pulumi.Input['EceDeploymentSecretsArgs']]] secrets: secrets used for cloud deployment.
550
+ :param pulumi.Input[str] secrets_location: Azure keyvault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead.
551
+ :param pulumi.Input['DeploymentSecuritySettingsArgs'] security_settings: SecuritySettings to deploy AzureStackHCI Cluster.
552
+ :param pulumi.Input['StorageArgs'] storage: Storage config to deploy AzureStackHCI Cluster.
553
+ """
554
+ if adou_path is not None:
555
+ pulumi.set(__self__, "adou_path", adou_path)
556
+ if cluster is not None:
557
+ pulumi.set(__self__, "cluster", cluster)
558
+ if domain_fqdn is not None:
559
+ pulumi.set(__self__, "domain_fqdn", domain_fqdn)
560
+ if host_network is not None:
561
+ pulumi.set(__self__, "host_network", host_network)
562
+ if infrastructure_network is not None:
563
+ pulumi.set(__self__, "infrastructure_network", infrastructure_network)
564
+ if naming_prefix is not None:
565
+ pulumi.set(__self__, "naming_prefix", naming_prefix)
566
+ if observability is not None:
567
+ pulumi.set(__self__, "observability", observability)
568
+ if optional_services is not None:
569
+ pulumi.set(__self__, "optional_services", optional_services)
570
+ if physical_nodes is not None:
571
+ pulumi.set(__self__, "physical_nodes", physical_nodes)
572
+ if sdn_integration is not None:
573
+ pulumi.set(__self__, "sdn_integration", sdn_integration)
574
+ if secrets is not None:
575
+ pulumi.set(__self__, "secrets", secrets)
576
+ if secrets_location is not None:
577
+ pulumi.set(__self__, "secrets_location", secrets_location)
578
+ if security_settings is not None:
579
+ pulumi.set(__self__, "security_settings", security_settings)
580
+ if storage is not None:
581
+ pulumi.set(__self__, "storage", storage)
582
+
583
+ @property
584
+ @pulumi.getter(name="adouPath")
585
+ def adou_path(self) -> Optional[pulumi.Input[str]]:
586
+ """
587
+ The path to the Active Directory Organizational Unit container object prepared for the deployment.
588
+ """
589
+ return pulumi.get(self, "adou_path")
590
+
591
+ @adou_path.setter
592
+ def adou_path(self, value: Optional[pulumi.Input[str]]):
593
+ pulumi.set(self, "adou_path", value)
594
+
595
+ @property
596
+ @pulumi.getter
597
+ def cluster(self) -> Optional[pulumi.Input['DeploymentClusterArgs']]:
598
+ """
599
+ Observability config to deploy AzureStackHCI Cluster.
600
+ """
601
+ return pulumi.get(self, "cluster")
602
+
603
+ @cluster.setter
604
+ def cluster(self, value: Optional[pulumi.Input['DeploymentClusterArgs']]):
605
+ pulumi.set(self, "cluster", value)
606
+
607
+ @property
608
+ @pulumi.getter(name="domainFqdn")
609
+ def domain_fqdn(self) -> Optional[pulumi.Input[str]]:
610
+ """
611
+ FQDN to deploy cluster
612
+ """
613
+ return pulumi.get(self, "domain_fqdn")
614
+
615
+ @domain_fqdn.setter
616
+ def domain_fqdn(self, value: Optional[pulumi.Input[str]]):
617
+ pulumi.set(self, "domain_fqdn", value)
618
+
619
+ @property
620
+ @pulumi.getter(name="hostNetwork")
621
+ def host_network(self) -> Optional[pulumi.Input['HostNetworkArgs']]:
622
+ """
623
+ HostNetwork config to deploy AzureStackHCI Cluster.
624
+ """
625
+ return pulumi.get(self, "host_network")
626
+
627
+ @host_network.setter
628
+ def host_network(self, value: Optional[pulumi.Input['HostNetworkArgs']]):
629
+ pulumi.set(self, "host_network", value)
630
+
631
+ @property
632
+ @pulumi.getter(name="infrastructureNetwork")
633
+ def infrastructure_network(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureNetworkArgs']]]]:
634
+ """
635
+ InfrastructureNetwork config to deploy AzureStackHCI Cluster.
636
+ """
637
+ return pulumi.get(self, "infrastructure_network")
638
+
639
+ @infrastructure_network.setter
640
+ def infrastructure_network(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureNetworkArgs']]]]):
641
+ pulumi.set(self, "infrastructure_network", value)
642
+
643
+ @property
644
+ @pulumi.getter(name="namingPrefix")
645
+ def naming_prefix(self) -> Optional[pulumi.Input[str]]:
646
+ """
647
+ naming prefix to deploy cluster.
648
+ """
649
+ return pulumi.get(self, "naming_prefix")
650
+
651
+ @naming_prefix.setter
652
+ def naming_prefix(self, value: Optional[pulumi.Input[str]]):
653
+ pulumi.set(self, "naming_prefix", value)
654
+
655
+ @property
656
+ @pulumi.getter
657
+ def observability(self) -> Optional[pulumi.Input['ObservabilityArgs']]:
658
+ """
659
+ Observability config to deploy AzureStackHCI Cluster.
660
+ """
661
+ return pulumi.get(self, "observability")
662
+
663
+ @observability.setter
664
+ def observability(self, value: Optional[pulumi.Input['ObservabilityArgs']]):
665
+ pulumi.set(self, "observability", value)
666
+
667
+ @property
668
+ @pulumi.getter(name="optionalServices")
669
+ def optional_services(self) -> Optional[pulumi.Input['OptionalServicesArgs']]:
670
+ """
671
+ OptionalServices config to deploy AzureStackHCI Cluster.
672
+ """
673
+ return pulumi.get(self, "optional_services")
674
+
675
+ @optional_services.setter
676
+ def optional_services(self, value: Optional[pulumi.Input['OptionalServicesArgs']]):
677
+ pulumi.set(self, "optional_services", value)
678
+
679
+ @property
680
+ @pulumi.getter(name="physicalNodes")
681
+ def physical_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PhysicalNodesArgs']]]]:
682
+ """
683
+ list of physical nodes config to deploy AzureStackHCI Cluster.
684
+ """
685
+ return pulumi.get(self, "physical_nodes")
686
+
687
+ @physical_nodes.setter
688
+ def physical_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PhysicalNodesArgs']]]]):
689
+ pulumi.set(self, "physical_nodes", value)
690
+
691
+ @property
692
+ @pulumi.getter(name="sdnIntegration")
693
+ def sdn_integration(self) -> Optional[pulumi.Input['SdnIntegrationArgs']]:
694
+ """
695
+ SDN Integration config to deploy AzureStackHCI Cluster.
696
+ """
697
+ return pulumi.get(self, "sdn_integration")
698
+
699
+ @sdn_integration.setter
700
+ def sdn_integration(self, value: Optional[pulumi.Input['SdnIntegrationArgs']]):
701
+ pulumi.set(self, "sdn_integration", value)
702
+
703
+ @property
704
+ @pulumi.getter
705
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EceDeploymentSecretsArgs']]]]:
706
+ """
707
+ secrets used for cloud deployment.
708
+ """
709
+ return pulumi.get(self, "secrets")
710
+
711
+ @secrets.setter
712
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EceDeploymentSecretsArgs']]]]):
713
+ pulumi.set(self, "secrets", value)
714
+
715
+ @property
716
+ @pulumi.getter(name="secretsLocation")
717
+ def secrets_location(self) -> Optional[pulumi.Input[str]]:
718
+ """
719
+ Azure keyvault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead.
720
+ """
721
+ return pulumi.get(self, "secrets_location")
722
+
723
+ @secrets_location.setter
724
+ def secrets_location(self, value: Optional[pulumi.Input[str]]):
725
+ pulumi.set(self, "secrets_location", value)
726
+
727
+ @property
728
+ @pulumi.getter(name="securitySettings")
729
+ def security_settings(self) -> Optional[pulumi.Input['DeploymentSecuritySettingsArgs']]:
730
+ """
731
+ SecuritySettings to deploy AzureStackHCI Cluster.
732
+ """
733
+ return pulumi.get(self, "security_settings")
734
+
735
+ @security_settings.setter
736
+ def security_settings(self, value: Optional[pulumi.Input['DeploymentSecuritySettingsArgs']]):
737
+ pulumi.set(self, "security_settings", value)
738
+
739
+ @property
740
+ @pulumi.getter
741
+ def storage(self) -> Optional[pulumi.Input['StorageArgs']]:
742
+ """
743
+ Storage config to deploy AzureStackHCI Cluster.
744
+ """
745
+ return pulumi.get(self, "storage")
746
+
747
+ @storage.setter
748
+ def storage(self, value: Optional[pulumi.Input['StorageArgs']]):
749
+ pulumi.set(self, "storage", value)
750
+
751
+
752
+ if not MYPY:
753
+ class DeploymentSecuritySettingsArgsDict(TypedDict):
754
+ """
755
+ The SecuritySettings of AzureStackHCI Cluster.
756
+ """
757
+ bitlocker_boot_volume: NotRequired[pulumi.Input[bool]]
758
+ """
759
+ When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent.
760
+ """
761
+ bitlocker_data_volumes: NotRequired[pulumi.Input[bool]]
762
+ """
763
+ When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes.
764
+ """
765
+ credential_guard_enforced: NotRequired[pulumi.Input[bool]]
766
+ """
767
+ When set to true, Credential Guard is enabled.
768
+ """
769
+ drift_control_enforced: NotRequired[pulumi.Input[bool]]
770
+ """
771
+ When set to true, the security baseline is re-applied regularly.
772
+ """
773
+ drtm_protection: NotRequired[pulumi.Input[bool]]
774
+ """
775
+ By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent.
776
+ """
777
+ hvci_protection: NotRequired[pulumi.Input[bool]]
778
+ """
779
+ By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster.
780
+ """
781
+ side_channel_mitigation_enforced: NotRequired[pulumi.Input[bool]]
782
+ """
783
+ When set to true, all the side channel mitigations are enabled
784
+ """
785
+ smb_cluster_encryption: NotRequired[pulumi.Input[bool]]
786
+ """
787
+ When set to true, cluster east-west traffic is encrypted.
788
+ """
789
+ smb_signing_enforced: NotRequired[pulumi.Input[bool]]
790
+ """
791
+ When set to true, the SMB default instance requires sign in for the client and server services.
792
+ """
793
+ wdac_enforced: NotRequired[pulumi.Input[bool]]
794
+ """
795
+ WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster.
796
+ """
797
+ elif False:
798
+ DeploymentSecuritySettingsArgsDict: TypeAlias = Mapping[str, Any]
799
+
800
+ @pulumi.input_type
801
+ class DeploymentSecuritySettingsArgs:
802
+ def __init__(__self__, *,
803
+ bitlocker_boot_volume: Optional[pulumi.Input[bool]] = None,
804
+ bitlocker_data_volumes: Optional[pulumi.Input[bool]] = None,
805
+ credential_guard_enforced: Optional[pulumi.Input[bool]] = None,
806
+ drift_control_enforced: Optional[pulumi.Input[bool]] = None,
807
+ drtm_protection: Optional[pulumi.Input[bool]] = None,
808
+ hvci_protection: Optional[pulumi.Input[bool]] = None,
809
+ side_channel_mitigation_enforced: Optional[pulumi.Input[bool]] = None,
810
+ smb_cluster_encryption: Optional[pulumi.Input[bool]] = None,
811
+ smb_signing_enforced: Optional[pulumi.Input[bool]] = None,
812
+ wdac_enforced: Optional[pulumi.Input[bool]] = None):
813
+ """
814
+ The SecuritySettings of AzureStackHCI Cluster.
815
+ :param pulumi.Input[bool] bitlocker_boot_volume: When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent.
816
+ :param pulumi.Input[bool] bitlocker_data_volumes: When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes.
817
+ :param pulumi.Input[bool] credential_guard_enforced: When set to true, Credential Guard is enabled.
818
+ :param pulumi.Input[bool] drift_control_enforced: When set to true, the security baseline is re-applied regularly.
819
+ :param pulumi.Input[bool] drtm_protection: By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent.
820
+ :param pulumi.Input[bool] hvci_protection: By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster.
821
+ :param pulumi.Input[bool] side_channel_mitigation_enforced: When set to true, all the side channel mitigations are enabled
822
+ :param pulumi.Input[bool] smb_cluster_encryption: When set to true, cluster east-west traffic is encrypted.
823
+ :param pulumi.Input[bool] smb_signing_enforced: When set to true, the SMB default instance requires sign in for the client and server services.
824
+ :param pulumi.Input[bool] wdac_enforced: WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster.
825
+ """
826
+ if bitlocker_boot_volume is None:
827
+ bitlocker_boot_volume = True
828
+ if bitlocker_boot_volume is not None:
829
+ pulumi.set(__self__, "bitlocker_boot_volume", bitlocker_boot_volume)
830
+ if bitlocker_data_volumes is None:
831
+ bitlocker_data_volumes = True
832
+ if bitlocker_data_volumes is not None:
833
+ pulumi.set(__self__, "bitlocker_data_volumes", bitlocker_data_volumes)
834
+ if credential_guard_enforced is None:
835
+ credential_guard_enforced = False
836
+ if credential_guard_enforced is not None:
837
+ pulumi.set(__self__, "credential_guard_enforced", credential_guard_enforced)
838
+ if drift_control_enforced is None:
839
+ drift_control_enforced = True
840
+ if drift_control_enforced is not None:
841
+ pulumi.set(__self__, "drift_control_enforced", drift_control_enforced)
842
+ if drtm_protection is None:
843
+ drtm_protection = True
844
+ if drtm_protection is not None:
845
+ pulumi.set(__self__, "drtm_protection", drtm_protection)
846
+ if hvci_protection is None:
847
+ hvci_protection = True
848
+ if hvci_protection is not None:
849
+ pulumi.set(__self__, "hvci_protection", hvci_protection)
850
+ if side_channel_mitigation_enforced is None:
851
+ side_channel_mitigation_enforced = True
852
+ if side_channel_mitigation_enforced is not None:
853
+ pulumi.set(__self__, "side_channel_mitigation_enforced", side_channel_mitigation_enforced)
854
+ if smb_cluster_encryption is None:
855
+ smb_cluster_encryption = False
856
+ if smb_cluster_encryption is not None:
857
+ pulumi.set(__self__, "smb_cluster_encryption", smb_cluster_encryption)
858
+ if smb_signing_enforced is None:
859
+ smb_signing_enforced = True
860
+ if smb_signing_enforced is not None:
861
+ pulumi.set(__self__, "smb_signing_enforced", smb_signing_enforced)
862
+ if wdac_enforced is None:
863
+ wdac_enforced = True
864
+ if wdac_enforced is not None:
865
+ pulumi.set(__self__, "wdac_enforced", wdac_enforced)
866
+
867
+ @property
868
+ @pulumi.getter(name="bitlockerBootVolume")
869
+ def bitlocker_boot_volume(self) -> Optional[pulumi.Input[bool]]:
870
+ """
871
+ When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent.
872
+ """
873
+ return pulumi.get(self, "bitlocker_boot_volume")
874
+
875
+ @bitlocker_boot_volume.setter
876
+ def bitlocker_boot_volume(self, value: Optional[pulumi.Input[bool]]):
877
+ pulumi.set(self, "bitlocker_boot_volume", value)
878
+
879
+ @property
880
+ @pulumi.getter(name="bitlockerDataVolumes")
881
+ def bitlocker_data_volumes(self) -> Optional[pulumi.Input[bool]]:
882
+ """
883
+ When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes.
884
+ """
885
+ return pulumi.get(self, "bitlocker_data_volumes")
886
+
887
+ @bitlocker_data_volumes.setter
888
+ def bitlocker_data_volumes(self, value: Optional[pulumi.Input[bool]]):
889
+ pulumi.set(self, "bitlocker_data_volumes", value)
890
+
891
+ @property
892
+ @pulumi.getter(name="credentialGuardEnforced")
893
+ def credential_guard_enforced(self) -> Optional[pulumi.Input[bool]]:
894
+ """
895
+ When set to true, Credential Guard is enabled.
896
+ """
897
+ return pulumi.get(self, "credential_guard_enforced")
898
+
899
+ @credential_guard_enforced.setter
900
+ def credential_guard_enforced(self, value: Optional[pulumi.Input[bool]]):
901
+ pulumi.set(self, "credential_guard_enforced", value)
902
+
903
+ @property
904
+ @pulumi.getter(name="driftControlEnforced")
905
+ def drift_control_enforced(self) -> Optional[pulumi.Input[bool]]:
906
+ """
907
+ When set to true, the security baseline is re-applied regularly.
908
+ """
909
+ return pulumi.get(self, "drift_control_enforced")
910
+
911
+ @drift_control_enforced.setter
912
+ def drift_control_enforced(self, value: Optional[pulumi.Input[bool]]):
913
+ pulumi.set(self, "drift_control_enforced", value)
914
+
915
+ @property
916
+ @pulumi.getter(name="drtmProtection")
917
+ def drtm_protection(self) -> Optional[pulumi.Input[bool]]:
918
+ """
919
+ By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent.
920
+ """
921
+ return pulumi.get(self, "drtm_protection")
922
+
923
+ @drtm_protection.setter
924
+ def drtm_protection(self, value: Optional[pulumi.Input[bool]]):
925
+ pulumi.set(self, "drtm_protection", value)
926
+
927
+ @property
928
+ @pulumi.getter(name="hvciProtection")
929
+ def hvci_protection(self) -> Optional[pulumi.Input[bool]]:
930
+ """
931
+ By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster.
932
+ """
933
+ return pulumi.get(self, "hvci_protection")
934
+
935
+ @hvci_protection.setter
936
+ def hvci_protection(self, value: Optional[pulumi.Input[bool]]):
937
+ pulumi.set(self, "hvci_protection", value)
938
+
939
+ @property
940
+ @pulumi.getter(name="sideChannelMitigationEnforced")
941
+ def side_channel_mitigation_enforced(self) -> Optional[pulumi.Input[bool]]:
942
+ """
943
+ When set to true, all the side channel mitigations are enabled
944
+ """
945
+ return pulumi.get(self, "side_channel_mitigation_enforced")
946
+
947
+ @side_channel_mitigation_enforced.setter
948
+ def side_channel_mitigation_enforced(self, value: Optional[pulumi.Input[bool]]):
949
+ pulumi.set(self, "side_channel_mitigation_enforced", value)
950
+
951
+ @property
952
+ @pulumi.getter(name="smbClusterEncryption")
953
+ def smb_cluster_encryption(self) -> Optional[pulumi.Input[bool]]:
954
+ """
955
+ When set to true, cluster east-west traffic is encrypted.
956
+ """
957
+ return pulumi.get(self, "smb_cluster_encryption")
958
+
959
+ @smb_cluster_encryption.setter
960
+ def smb_cluster_encryption(self, value: Optional[pulumi.Input[bool]]):
961
+ pulumi.set(self, "smb_cluster_encryption", value)
962
+
963
+ @property
964
+ @pulumi.getter(name="smbSigningEnforced")
965
+ def smb_signing_enforced(self) -> Optional[pulumi.Input[bool]]:
966
+ """
967
+ When set to true, the SMB default instance requires sign in for the client and server services.
968
+ """
969
+ return pulumi.get(self, "smb_signing_enforced")
970
+
971
+ @smb_signing_enforced.setter
972
+ def smb_signing_enforced(self, value: Optional[pulumi.Input[bool]]):
973
+ pulumi.set(self, "smb_signing_enforced", value)
974
+
975
+ @property
976
+ @pulumi.getter(name="wdacEnforced")
977
+ def wdac_enforced(self) -> Optional[pulumi.Input[bool]]:
978
+ """
979
+ WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster.
980
+ """
981
+ return pulumi.get(self, "wdac_enforced")
982
+
983
+ @wdac_enforced.setter
984
+ def wdac_enforced(self, value: Optional[pulumi.Input[bool]]):
985
+ pulumi.set(self, "wdac_enforced", value)
986
+
987
+
988
+ if not MYPY:
989
+ class DeviceConfigurationArgsDict(TypedDict):
990
+ """
991
+ The device Configuration for edge device.
992
+ """
993
+ device_metadata: NotRequired[pulumi.Input[str]]
994
+ """
995
+ Device metadata details.
996
+ """
997
+ nic_details: NotRequired[pulumi.Input[Sequence[pulumi.Input['NicDetailArgsDict']]]]
998
+ """
999
+ NIC Details of device
1000
+ """
1001
+ elif False:
1002
+ DeviceConfigurationArgsDict: TypeAlias = Mapping[str, Any]
1003
+
1004
+ @pulumi.input_type
1005
+ class DeviceConfigurationArgs:
1006
+ def __init__(__self__, *,
1007
+ device_metadata: Optional[pulumi.Input[str]] = None,
1008
+ nic_details: Optional[pulumi.Input[Sequence[pulumi.Input['NicDetailArgs']]]] = None):
1009
+ """
1010
+ The device Configuration for edge device.
1011
+ :param pulumi.Input[str] device_metadata: Device metadata details.
1012
+ :param pulumi.Input[Sequence[pulumi.Input['NicDetailArgs']]] nic_details: NIC Details of device
1013
+ """
1014
+ if device_metadata is not None:
1015
+ pulumi.set(__self__, "device_metadata", device_metadata)
1016
+ if nic_details is not None:
1017
+ pulumi.set(__self__, "nic_details", nic_details)
1018
+
1019
+ @property
1020
+ @pulumi.getter(name="deviceMetadata")
1021
+ def device_metadata(self) -> Optional[pulumi.Input[str]]:
1022
+ """
1023
+ Device metadata details.
1024
+ """
1025
+ return pulumi.get(self, "device_metadata")
1026
+
1027
+ @device_metadata.setter
1028
+ def device_metadata(self, value: Optional[pulumi.Input[str]]):
1029
+ pulumi.set(self, "device_metadata", value)
1030
+
1031
+ @property
1032
+ @pulumi.getter(name="nicDetails")
1033
+ def nic_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NicDetailArgs']]]]:
1034
+ """
1035
+ NIC Details of device
1036
+ """
1037
+ return pulumi.get(self, "nic_details")
1038
+
1039
+ @nic_details.setter
1040
+ def nic_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NicDetailArgs']]]]):
1041
+ pulumi.set(self, "nic_details", value)
1042
+
1043
+
1044
+ if not MYPY:
1045
+ class EceDeploymentSecretsArgsDict(TypedDict):
1046
+ """
1047
+ Protected parameters list stored in keyvault.
1048
+ """
1049
+ ece_secret_name: NotRequired[pulumi.Input[Union[str, 'EceSecrets']]]
1050
+ """
1051
+ Secret name expected for Enterprise Cloud Engine (ECE) deployment.
1052
+ """
1053
+ secret_location: NotRequired[pulumi.Input[str]]
1054
+ """
1055
+ Secret URI stored in keyvault.
1056
+ """
1057
+ secret_name: NotRequired[pulumi.Input[str]]
1058
+ """
1059
+ Secret name stored in keyvault.
1060
+ """
1061
+ elif False:
1062
+ EceDeploymentSecretsArgsDict: TypeAlias = Mapping[str, Any]
1063
+
1064
+ @pulumi.input_type
1065
+ class EceDeploymentSecretsArgs:
1066
+ def __init__(__self__, *,
1067
+ ece_secret_name: Optional[pulumi.Input[Union[str, 'EceSecrets']]] = None,
1068
+ secret_location: Optional[pulumi.Input[str]] = None,
1069
+ secret_name: Optional[pulumi.Input[str]] = None):
1070
+ """
1071
+ Protected parameters list stored in keyvault.
1072
+ :param pulumi.Input[Union[str, 'EceSecrets']] ece_secret_name: Secret name expected for Enterprise Cloud Engine (ECE) deployment.
1073
+ :param pulumi.Input[str] secret_location: Secret URI stored in keyvault.
1074
+ :param pulumi.Input[str] secret_name: Secret name stored in keyvault.
1075
+ """
1076
+ if ece_secret_name is not None:
1077
+ pulumi.set(__self__, "ece_secret_name", ece_secret_name)
1078
+ if secret_location is not None:
1079
+ pulumi.set(__self__, "secret_location", secret_location)
1080
+ if secret_name is not None:
1081
+ pulumi.set(__self__, "secret_name", secret_name)
1082
+
1083
+ @property
1084
+ @pulumi.getter(name="eceSecretName")
1085
+ def ece_secret_name(self) -> Optional[pulumi.Input[Union[str, 'EceSecrets']]]:
1086
+ """
1087
+ Secret name expected for Enterprise Cloud Engine (ECE) deployment.
1088
+ """
1089
+ return pulumi.get(self, "ece_secret_name")
1090
+
1091
+ @ece_secret_name.setter
1092
+ def ece_secret_name(self, value: Optional[pulumi.Input[Union[str, 'EceSecrets']]]):
1093
+ pulumi.set(self, "ece_secret_name", value)
1094
+
1095
+ @property
1096
+ @pulumi.getter(name="secretLocation")
1097
+ def secret_location(self) -> Optional[pulumi.Input[str]]:
1098
+ """
1099
+ Secret URI stored in keyvault.
1100
+ """
1101
+ return pulumi.get(self, "secret_location")
1102
+
1103
+ @secret_location.setter
1104
+ def secret_location(self, value: Optional[pulumi.Input[str]]):
1105
+ pulumi.set(self, "secret_location", value)
1106
+
1107
+ @property
1108
+ @pulumi.getter(name="secretName")
1109
+ def secret_name(self) -> Optional[pulumi.Input[str]]:
1110
+ """
1111
+ Secret name stored in keyvault.
1112
+ """
1113
+ return pulumi.get(self, "secret_name")
1114
+
1115
+ @secret_name.setter
1116
+ def secret_name(self, value: Optional[pulumi.Input[str]]):
1117
+ pulumi.set(self, "secret_name", value)
1118
+
1119
+
1120
+ if not MYPY:
1121
+ class HciCollectLogJobPropertiesArgsDict(TypedDict):
1122
+ """
1123
+ Represents the properties of an HCI Collect Log job.
1124
+ """
1125
+ from_date: pulumi.Input[str]
1126
+ """
1127
+ From date for log collection.
1128
+ """
1129
+ job_type: pulumi.Input[str]
1130
+ """
1131
+ Job Type supported.
1132
+ Expected value is 'CollectLog'.
1133
+ """
1134
+ to_date: pulumi.Input[str]
1135
+ """
1136
+ To date for log collection.
1137
+ """
1138
+ deployment_mode: NotRequired[pulumi.Input[Union[str, 'DeploymentMode']]]
1139
+ """
1140
+ Deployment mode to trigger job.
1141
+ """
1142
+ elif False:
1143
+ HciCollectLogJobPropertiesArgsDict: TypeAlias = Mapping[str, Any]
1144
+
1145
+ @pulumi.input_type
1146
+ class HciCollectLogJobPropertiesArgs:
1147
+ def __init__(__self__, *,
1148
+ from_date: pulumi.Input[str],
1149
+ job_type: pulumi.Input[str],
1150
+ to_date: pulumi.Input[str],
1151
+ deployment_mode: Optional[pulumi.Input[Union[str, 'DeploymentMode']]] = None):
1152
+ """
1153
+ Represents the properties of an HCI Collect Log job.
1154
+ :param pulumi.Input[str] from_date: From date for log collection.
1155
+ :param pulumi.Input[str] job_type: Job Type supported.
1156
+ Expected value is 'CollectLog'.
1157
+ :param pulumi.Input[str] to_date: To date for log collection.
1158
+ :param pulumi.Input[Union[str, 'DeploymentMode']] deployment_mode: Deployment mode to trigger job.
1159
+ """
1160
+ pulumi.set(__self__, "from_date", from_date)
1161
+ pulumi.set(__self__, "job_type", 'CollectLog')
1162
+ pulumi.set(__self__, "to_date", to_date)
1163
+ if deployment_mode is not None:
1164
+ pulumi.set(__self__, "deployment_mode", deployment_mode)
1165
+
1166
+ @property
1167
+ @pulumi.getter(name="fromDate")
1168
+ def from_date(self) -> pulumi.Input[str]:
1169
+ """
1170
+ From date for log collection.
1171
+ """
1172
+ return pulumi.get(self, "from_date")
1173
+
1174
+ @from_date.setter
1175
+ def from_date(self, value: pulumi.Input[str]):
1176
+ pulumi.set(self, "from_date", value)
1177
+
1178
+ @property
1179
+ @pulumi.getter(name="jobType")
1180
+ def job_type(self) -> pulumi.Input[str]:
1181
+ """
1182
+ Job Type supported.
1183
+ Expected value is 'CollectLog'.
1184
+ """
1185
+ return pulumi.get(self, "job_type")
1186
+
1187
+ @job_type.setter
1188
+ def job_type(self, value: pulumi.Input[str]):
1189
+ pulumi.set(self, "job_type", value)
1190
+
1191
+ @property
1192
+ @pulumi.getter(name="toDate")
1193
+ def to_date(self) -> pulumi.Input[str]:
1194
+ """
1195
+ To date for log collection.
1196
+ """
1197
+ return pulumi.get(self, "to_date")
1198
+
1199
+ @to_date.setter
1200
+ def to_date(self, value: pulumi.Input[str]):
1201
+ pulumi.set(self, "to_date", value)
1202
+
1203
+ @property
1204
+ @pulumi.getter(name="deploymentMode")
1205
+ def deployment_mode(self) -> Optional[pulumi.Input[Union[str, 'DeploymentMode']]]:
1206
+ """
1207
+ Deployment mode to trigger job.
1208
+ """
1209
+ return pulumi.get(self, "deployment_mode")
1210
+
1211
+ @deployment_mode.setter
1212
+ def deployment_mode(self, value: Optional[pulumi.Input[Union[str, 'DeploymentMode']]]):
1213
+ pulumi.set(self, "deployment_mode", value)
1214
+
1215
+
1216
+ if not MYPY:
1217
+ class HciEdgeDevicePropertiesArgsDict(TypedDict):
1218
+ """
1219
+ properties for Arc-enabled edge device with HCI OS.
1220
+ """
1221
+ device_configuration: NotRequired[pulumi.Input['DeviceConfigurationArgsDict']]
1222
+ """
1223
+ Device Configuration
1224
+ """
1225
+ elif False:
1226
+ HciEdgeDevicePropertiesArgsDict: TypeAlias = Mapping[str, Any]
1227
+
1228
+ @pulumi.input_type
1229
+ class HciEdgeDevicePropertiesArgs:
1230
+ def __init__(__self__, *,
1231
+ device_configuration: Optional[pulumi.Input['DeviceConfigurationArgs']] = None):
1232
+ """
1233
+ properties for Arc-enabled edge device with HCI OS.
1234
+ :param pulumi.Input['DeviceConfigurationArgs'] device_configuration: Device Configuration
1235
+ """
1236
+ if device_configuration is not None:
1237
+ pulumi.set(__self__, "device_configuration", device_configuration)
1238
+
1239
+ @property
1240
+ @pulumi.getter(name="deviceConfiguration")
1241
+ def device_configuration(self) -> Optional[pulumi.Input['DeviceConfigurationArgs']]:
1242
+ """
1243
+ Device Configuration
1244
+ """
1245
+ return pulumi.get(self, "device_configuration")
1246
+
1247
+ @device_configuration.setter
1248
+ def device_configuration(self, value: Optional[pulumi.Input['DeviceConfigurationArgs']]):
1249
+ pulumi.set(self, "device_configuration", value)
1250
+
1251
+
1252
+ if not MYPY:
1253
+ class HciRemoteSupportJobPropertiesArgsDict(TypedDict):
1254
+ """
1255
+ Represents the properties of a remote support job for HCI.
1256
+ """
1257
+ access_level: pulumi.Input[Union[str, 'RemoteSupportAccessLevel']]
1258
+ """
1259
+ Remote support access level.
1260
+ """
1261
+ expiration_timestamp: pulumi.Input[str]
1262
+ """
1263
+ Remote support expiration timestamp.
1264
+ """
1265
+ job_type: pulumi.Input[str]
1266
+ """
1267
+ Job Type supported.
1268
+ Expected value is 'RemoteSupport'.
1269
+ """
1270
+ type: pulumi.Input[Union[str, 'RemoteSupportType']]
1271
+ """
1272
+ Remote support type.
1273
+ """
1274
+ deployment_mode: NotRequired[pulumi.Input[Union[str, 'DeploymentMode']]]
1275
+ """
1276
+ Deployment mode to trigger job.
1277
+ """
1278
+ elif False:
1279
+ HciRemoteSupportJobPropertiesArgsDict: TypeAlias = Mapping[str, Any]
1280
+
1281
+ @pulumi.input_type
1282
+ class HciRemoteSupportJobPropertiesArgs:
1283
+ def __init__(__self__, *,
1284
+ access_level: pulumi.Input[Union[str, 'RemoteSupportAccessLevel']],
1285
+ expiration_timestamp: pulumi.Input[str],
1286
+ job_type: pulumi.Input[str],
1287
+ type: pulumi.Input[Union[str, 'RemoteSupportType']],
1288
+ deployment_mode: Optional[pulumi.Input[Union[str, 'DeploymentMode']]] = None):
1289
+ """
1290
+ Represents the properties of a remote support job for HCI.
1291
+ :param pulumi.Input[Union[str, 'RemoteSupportAccessLevel']] access_level: Remote support access level.
1292
+ :param pulumi.Input[str] expiration_timestamp: Remote support expiration timestamp.
1293
+ :param pulumi.Input[str] job_type: Job Type supported.
1294
+ Expected value is 'RemoteSupport'.
1295
+ :param pulumi.Input[Union[str, 'RemoteSupportType']] type: Remote support type.
1296
+ :param pulumi.Input[Union[str, 'DeploymentMode']] deployment_mode: Deployment mode to trigger job.
1297
+ """
1298
+ pulumi.set(__self__, "access_level", access_level)
1299
+ pulumi.set(__self__, "expiration_timestamp", expiration_timestamp)
1300
+ pulumi.set(__self__, "job_type", 'RemoteSupport')
1301
+ pulumi.set(__self__, "type", type)
1302
+ if deployment_mode is not None:
1303
+ pulumi.set(__self__, "deployment_mode", deployment_mode)
1304
+
1305
+ @property
1306
+ @pulumi.getter(name="accessLevel")
1307
+ def access_level(self) -> pulumi.Input[Union[str, 'RemoteSupportAccessLevel']]:
1308
+ """
1309
+ Remote support access level.
1310
+ """
1311
+ return pulumi.get(self, "access_level")
1312
+
1313
+ @access_level.setter
1314
+ def access_level(self, value: pulumi.Input[Union[str, 'RemoteSupportAccessLevel']]):
1315
+ pulumi.set(self, "access_level", value)
1316
+
1317
+ @property
1318
+ @pulumi.getter(name="expirationTimestamp")
1319
+ def expiration_timestamp(self) -> pulumi.Input[str]:
1320
+ """
1321
+ Remote support expiration timestamp.
1322
+ """
1323
+ return pulumi.get(self, "expiration_timestamp")
1324
+
1325
+ @expiration_timestamp.setter
1326
+ def expiration_timestamp(self, value: pulumi.Input[str]):
1327
+ pulumi.set(self, "expiration_timestamp", value)
1328
+
1329
+ @property
1330
+ @pulumi.getter(name="jobType")
1331
+ def job_type(self) -> pulumi.Input[str]:
1332
+ """
1333
+ Job Type supported.
1334
+ Expected value is 'RemoteSupport'.
1335
+ """
1336
+ return pulumi.get(self, "job_type")
1337
+
1338
+ @job_type.setter
1339
+ def job_type(self, value: pulumi.Input[str]):
1340
+ pulumi.set(self, "job_type", value)
1341
+
1342
+ @property
1343
+ @pulumi.getter
1344
+ def type(self) -> pulumi.Input[Union[str, 'RemoteSupportType']]:
1345
+ """
1346
+ Remote support type.
1347
+ """
1348
+ return pulumi.get(self, "type")
1349
+
1350
+ @type.setter
1351
+ def type(self, value: pulumi.Input[Union[str, 'RemoteSupportType']]):
1352
+ pulumi.set(self, "type", value)
1353
+
1354
+ @property
1355
+ @pulumi.getter(name="deploymentMode")
1356
+ def deployment_mode(self) -> Optional[pulumi.Input[Union[str, 'DeploymentMode']]]:
1357
+ """
1358
+ Deployment mode to trigger job.
1359
+ """
1360
+ return pulumi.get(self, "deployment_mode")
1361
+
1362
+ @deployment_mode.setter
1363
+ def deployment_mode(self, value: Optional[pulumi.Input[Union[str, 'DeploymentMode']]]):
1364
+ pulumi.set(self, "deployment_mode", value)
1365
+
1366
+
1367
+ if not MYPY:
1368
+ class HostNetworkArgsDict(TypedDict):
1369
+ """
1370
+ The HostNetwork of a cluster.
1371
+ """
1372
+ enable_storage_auto_ip: NotRequired[pulumi.Input[bool]]
1373
+ """
1374
+ Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
1375
+ """
1376
+ intents: NotRequired[pulumi.Input[Sequence[pulumi.Input['IntentsArgsDict']]]]
1377
+ """
1378
+ The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
1379
+ """
1380
+ storage_connectivity_switchless: NotRequired[pulumi.Input[bool]]
1381
+ """
1382
+ Defines how the storage adapters between nodes are connected either switch or switch less..
1383
+ """
1384
+ storage_networks: NotRequired[pulumi.Input[Sequence[pulumi.Input['StorageNetworksArgsDict']]]]
1385
+ """
1386
+ List of StorageNetworks config to deploy AzureStackHCI Cluster.
1387
+ """
1388
+ elif False:
1389
+ HostNetworkArgsDict: TypeAlias = Mapping[str, Any]
1390
+
1391
+ @pulumi.input_type
1392
+ class HostNetworkArgs:
1393
+ def __init__(__self__, *,
1394
+ enable_storage_auto_ip: Optional[pulumi.Input[bool]] = None,
1395
+ intents: Optional[pulumi.Input[Sequence[pulumi.Input['IntentsArgs']]]] = None,
1396
+ storage_connectivity_switchless: Optional[pulumi.Input[bool]] = None,
1397
+ storage_networks: Optional[pulumi.Input[Sequence[pulumi.Input['StorageNetworksArgs']]]] = None):
1398
+ """
1399
+ The HostNetwork of a cluster.
1400
+ :param pulumi.Input[bool] enable_storage_auto_ip: Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
1401
+ :param pulumi.Input[Sequence[pulumi.Input['IntentsArgs']]] intents: The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
1402
+ :param pulumi.Input[bool] storage_connectivity_switchless: Defines how the storage adapters between nodes are connected either switch or switch less..
1403
+ :param pulumi.Input[Sequence[pulumi.Input['StorageNetworksArgs']]] storage_networks: List of StorageNetworks config to deploy AzureStackHCI Cluster.
1404
+ """
1405
+ if enable_storage_auto_ip is None:
1406
+ enable_storage_auto_ip = False
1407
+ if enable_storage_auto_ip is not None:
1408
+ pulumi.set(__self__, "enable_storage_auto_ip", enable_storage_auto_ip)
1409
+ if intents is not None:
1410
+ pulumi.set(__self__, "intents", intents)
1411
+ if storage_connectivity_switchless is None:
1412
+ storage_connectivity_switchless = False
1413
+ if storage_connectivity_switchless is not None:
1414
+ pulumi.set(__self__, "storage_connectivity_switchless", storage_connectivity_switchless)
1415
+ if storage_networks is not None:
1416
+ pulumi.set(__self__, "storage_networks", storage_networks)
1417
+
1418
+ @property
1419
+ @pulumi.getter(name="enableStorageAutoIp")
1420
+ def enable_storage_auto_ip(self) -> Optional[pulumi.Input[bool]]:
1421
+ """
1422
+ Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.
1423
+ """
1424
+ return pulumi.get(self, "enable_storage_auto_ip")
1425
+
1426
+ @enable_storage_auto_ip.setter
1427
+ def enable_storage_auto_ip(self, value: Optional[pulumi.Input[bool]]):
1428
+ pulumi.set(self, "enable_storage_auto_ip", value)
1429
+
1430
+ @property
1431
+ @pulumi.getter
1432
+ def intents(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IntentsArgs']]]]:
1433
+ """
1434
+ The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.
1435
+ """
1436
+ return pulumi.get(self, "intents")
1437
+
1438
+ @intents.setter
1439
+ def intents(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IntentsArgs']]]]):
1440
+ pulumi.set(self, "intents", value)
1441
+
1442
+ @property
1443
+ @pulumi.getter(name="storageConnectivitySwitchless")
1444
+ def storage_connectivity_switchless(self) -> Optional[pulumi.Input[bool]]:
1445
+ """
1446
+ Defines how the storage adapters between nodes are connected either switch or switch less..
1447
+ """
1448
+ return pulumi.get(self, "storage_connectivity_switchless")
1449
+
1450
+ @storage_connectivity_switchless.setter
1451
+ def storage_connectivity_switchless(self, value: Optional[pulumi.Input[bool]]):
1452
+ pulumi.set(self, "storage_connectivity_switchless", value)
1453
+
1454
+ @property
1455
+ @pulumi.getter(name="storageNetworks")
1456
+ def storage_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StorageNetworksArgs']]]]:
1457
+ """
1458
+ List of StorageNetworks config to deploy AzureStackHCI Cluster.
1459
+ """
1460
+ return pulumi.get(self, "storage_networks")
1461
+
1462
+ @storage_networks.setter
1463
+ def storage_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StorageNetworksArgs']]]]):
1464
+ pulumi.set(self, "storage_networks", value)
1465
+
1466
+
1467
+ if not MYPY:
1468
+ class InfrastructureNetworkArgsDict(TypedDict):
1469
+ """
1470
+ The InfrastructureNetwork of a AzureStackHCI Cluster.
1471
+ """
1472
+ dns_servers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1473
+ """
1474
+ IPv4 address of the DNS servers in your environment.
1475
+ """
1476
+ gateway: NotRequired[pulumi.Input[str]]
1477
+ """
1478
+ Default gateway that should be used for the provided IP address space.
1479
+ """
1480
+ ip_pools: NotRequired[pulumi.Input[Sequence[pulumi.Input['IpPoolsArgsDict']]]]
1481
+ """
1482
+ Range of IP addresses from which addresses are allocated for nodes within a subnet.
1483
+ """
1484
+ subnet_mask: NotRequired[pulumi.Input[str]]
1485
+ """
1486
+ Subnet mask that matches the provided IP address space.
1487
+ """
1488
+ use_dhcp: NotRequired[pulumi.Input[bool]]
1489
+ """
1490
+ Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required
1491
+ """
1492
+ elif False:
1493
+ InfrastructureNetworkArgsDict: TypeAlias = Mapping[str, Any]
1494
+
1495
+ @pulumi.input_type
1496
+ class InfrastructureNetworkArgs:
1497
+ def __init__(__self__, *,
1498
+ dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1499
+ gateway: Optional[pulumi.Input[str]] = None,
1500
+ ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input['IpPoolsArgs']]]] = None,
1501
+ subnet_mask: Optional[pulumi.Input[str]] = None,
1502
+ use_dhcp: Optional[pulumi.Input[bool]] = None):
1503
+ """
1504
+ The InfrastructureNetwork of a AzureStackHCI Cluster.
1505
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: IPv4 address of the DNS servers in your environment.
1506
+ :param pulumi.Input[str] gateway: Default gateway that should be used for the provided IP address space.
1507
+ :param pulumi.Input[Sequence[pulumi.Input['IpPoolsArgs']]] ip_pools: Range of IP addresses from which addresses are allocated for nodes within a subnet.
1508
+ :param pulumi.Input[str] subnet_mask: Subnet mask that matches the provided IP address space.
1509
+ :param pulumi.Input[bool] use_dhcp: Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required
1510
+ """
1511
+ if dns_servers is not None:
1512
+ pulumi.set(__self__, "dns_servers", dns_servers)
1513
+ if gateway is not None:
1514
+ pulumi.set(__self__, "gateway", gateway)
1515
+ if ip_pools is not None:
1516
+ pulumi.set(__self__, "ip_pools", ip_pools)
1517
+ if subnet_mask is not None:
1518
+ pulumi.set(__self__, "subnet_mask", subnet_mask)
1519
+ if use_dhcp is not None:
1520
+ pulumi.set(__self__, "use_dhcp", use_dhcp)
1521
+
1522
+ @property
1523
+ @pulumi.getter(name="dnsServers")
1524
+ def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1525
+ """
1526
+ IPv4 address of the DNS servers in your environment.
1527
+ """
1528
+ return pulumi.get(self, "dns_servers")
1529
+
1530
+ @dns_servers.setter
1531
+ def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1532
+ pulumi.set(self, "dns_servers", value)
1533
+
1534
+ @property
1535
+ @pulumi.getter
1536
+ def gateway(self) -> Optional[pulumi.Input[str]]:
1537
+ """
1538
+ Default gateway that should be used for the provided IP address space.
1539
+ """
1540
+ return pulumi.get(self, "gateway")
1541
+
1542
+ @gateway.setter
1543
+ def gateway(self, value: Optional[pulumi.Input[str]]):
1544
+ pulumi.set(self, "gateway", value)
1545
+
1546
+ @property
1547
+ @pulumi.getter(name="ipPools")
1548
+ def ip_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpPoolsArgs']]]]:
1549
+ """
1550
+ Range of IP addresses from which addresses are allocated for nodes within a subnet.
1551
+ """
1552
+ return pulumi.get(self, "ip_pools")
1553
+
1554
+ @ip_pools.setter
1555
+ def ip_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpPoolsArgs']]]]):
1556
+ pulumi.set(self, "ip_pools", value)
1557
+
1558
+ @property
1559
+ @pulumi.getter(name="subnetMask")
1560
+ def subnet_mask(self) -> Optional[pulumi.Input[str]]:
1561
+ """
1562
+ Subnet mask that matches the provided IP address space.
1563
+ """
1564
+ return pulumi.get(self, "subnet_mask")
1565
+
1566
+ @subnet_mask.setter
1567
+ def subnet_mask(self, value: Optional[pulumi.Input[str]]):
1568
+ pulumi.set(self, "subnet_mask", value)
1569
+
1570
+ @property
1571
+ @pulumi.getter(name="useDhcp")
1572
+ def use_dhcp(self) -> Optional[pulumi.Input[bool]]:
1573
+ """
1574
+ Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required
1575
+ """
1576
+ return pulumi.get(self, "use_dhcp")
1577
+
1578
+ @use_dhcp.setter
1579
+ def use_dhcp(self, value: Optional[pulumi.Input[bool]]):
1580
+ pulumi.set(self, "use_dhcp", value)
1581
+
1582
+
1583
+ if not MYPY:
1584
+ class IntentsArgsDict(TypedDict):
1585
+ """
1586
+ The Intents of a cluster.
1587
+ """
1588
+ adapter: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1589
+ """
1590
+ Array of network interfaces used for the network intent.
1591
+ """
1592
+ adapter_property_overrides: NotRequired[pulumi.Input['AdapterPropertyOverridesArgsDict']]
1593
+ """
1594
+ Set Adapter PropertyOverrides for cluster.
1595
+ """
1596
+ name: NotRequired[pulumi.Input[str]]
1597
+ """
1598
+ Name of the network intent you wish to create.
1599
+ """
1600
+ override_adapter_property: NotRequired[pulumi.Input[bool]]
1601
+ """
1602
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1603
+ """
1604
+ override_qos_policy: NotRequired[pulumi.Input[bool]]
1605
+ """
1606
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1607
+ """
1608
+ override_virtual_switch_configuration: NotRequired[pulumi.Input[bool]]
1609
+ """
1610
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1611
+ """
1612
+ qos_policy_overrides: NotRequired[pulumi.Input['QosPolicyOverridesArgsDict']]
1613
+ """
1614
+ Set QoS PolicyOverrides for cluster.
1615
+ """
1616
+ traffic_type: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1617
+ """
1618
+ List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'.
1619
+ """
1620
+ virtual_switch_configuration_overrides: NotRequired[pulumi.Input['VirtualSwitchConfigurationOverridesArgsDict']]
1621
+ """
1622
+ Set virtualSwitch ConfigurationOverrides for cluster.
1623
+ """
1624
+ elif False:
1625
+ IntentsArgsDict: TypeAlias = Mapping[str, Any]
1626
+
1627
+ @pulumi.input_type
1628
+ class IntentsArgs:
1629
+ def __init__(__self__, *,
1630
+ adapter: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1631
+ adapter_property_overrides: Optional[pulumi.Input['AdapterPropertyOverridesArgs']] = None,
1632
+ name: Optional[pulumi.Input[str]] = None,
1633
+ override_adapter_property: Optional[pulumi.Input[bool]] = None,
1634
+ override_qos_policy: Optional[pulumi.Input[bool]] = None,
1635
+ override_virtual_switch_configuration: Optional[pulumi.Input[bool]] = None,
1636
+ qos_policy_overrides: Optional[pulumi.Input['QosPolicyOverridesArgs']] = None,
1637
+ traffic_type: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1638
+ virtual_switch_configuration_overrides: Optional[pulumi.Input['VirtualSwitchConfigurationOverridesArgs']] = None):
1639
+ """
1640
+ The Intents of a cluster.
1641
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] adapter: Array of network interfaces used for the network intent.
1642
+ :param pulumi.Input['AdapterPropertyOverridesArgs'] adapter_property_overrides: Set Adapter PropertyOverrides for cluster.
1643
+ :param pulumi.Input[str] name: Name of the network intent you wish to create.
1644
+ :param pulumi.Input[bool] override_adapter_property: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1645
+ :param pulumi.Input[bool] override_qos_policy: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1646
+ :param pulumi.Input[bool] override_virtual_switch_configuration: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1647
+ :param pulumi.Input['QosPolicyOverridesArgs'] qos_policy_overrides: Set QoS PolicyOverrides for cluster.
1648
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] traffic_type: List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'.
1649
+ :param pulumi.Input['VirtualSwitchConfigurationOverridesArgs'] virtual_switch_configuration_overrides: Set virtualSwitch ConfigurationOverrides for cluster.
1650
+ """
1651
+ if adapter is not None:
1652
+ pulumi.set(__self__, "adapter", adapter)
1653
+ if adapter_property_overrides is not None:
1654
+ pulumi.set(__self__, "adapter_property_overrides", adapter_property_overrides)
1655
+ if name is not None:
1656
+ pulumi.set(__self__, "name", name)
1657
+ if override_adapter_property is None:
1658
+ override_adapter_property = False
1659
+ if override_adapter_property is not None:
1660
+ pulumi.set(__self__, "override_adapter_property", override_adapter_property)
1661
+ if override_qos_policy is None:
1662
+ override_qos_policy = False
1663
+ if override_qos_policy is not None:
1664
+ pulumi.set(__self__, "override_qos_policy", override_qos_policy)
1665
+ if override_virtual_switch_configuration is None:
1666
+ override_virtual_switch_configuration = False
1667
+ if override_virtual_switch_configuration is not None:
1668
+ pulumi.set(__self__, "override_virtual_switch_configuration", override_virtual_switch_configuration)
1669
+ if qos_policy_overrides is not None:
1670
+ pulumi.set(__self__, "qos_policy_overrides", qos_policy_overrides)
1671
+ if traffic_type is not None:
1672
+ pulumi.set(__self__, "traffic_type", traffic_type)
1673
+ if virtual_switch_configuration_overrides is not None:
1674
+ pulumi.set(__self__, "virtual_switch_configuration_overrides", virtual_switch_configuration_overrides)
1675
+
1676
+ @property
1677
+ @pulumi.getter
1678
+ def adapter(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1679
+ """
1680
+ Array of network interfaces used for the network intent.
1681
+ """
1682
+ return pulumi.get(self, "adapter")
1683
+
1684
+ @adapter.setter
1685
+ def adapter(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1686
+ pulumi.set(self, "adapter", value)
1687
+
1688
+ @property
1689
+ @pulumi.getter(name="adapterPropertyOverrides")
1690
+ def adapter_property_overrides(self) -> Optional[pulumi.Input['AdapterPropertyOverridesArgs']]:
1691
+ """
1692
+ Set Adapter PropertyOverrides for cluster.
1693
+ """
1694
+ return pulumi.get(self, "adapter_property_overrides")
1695
+
1696
+ @adapter_property_overrides.setter
1697
+ def adapter_property_overrides(self, value: Optional[pulumi.Input['AdapterPropertyOverridesArgs']]):
1698
+ pulumi.set(self, "adapter_property_overrides", value)
1699
+
1700
+ @property
1701
+ @pulumi.getter
1702
+ def name(self) -> Optional[pulumi.Input[str]]:
1703
+ """
1704
+ Name of the network intent you wish to create.
1705
+ """
1706
+ return pulumi.get(self, "name")
1707
+
1708
+ @name.setter
1709
+ def name(self, value: Optional[pulumi.Input[str]]):
1710
+ pulumi.set(self, "name", value)
1711
+
1712
+ @property
1713
+ @pulumi.getter(name="overrideAdapterProperty")
1714
+ def override_adapter_property(self) -> Optional[pulumi.Input[bool]]:
1715
+ """
1716
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1717
+ """
1718
+ return pulumi.get(self, "override_adapter_property")
1719
+
1720
+ @override_adapter_property.setter
1721
+ def override_adapter_property(self, value: Optional[pulumi.Input[bool]]):
1722
+ pulumi.set(self, "override_adapter_property", value)
1723
+
1724
+ @property
1725
+ @pulumi.getter(name="overrideQosPolicy")
1726
+ def override_qos_policy(self) -> Optional[pulumi.Input[bool]]:
1727
+ """
1728
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1729
+ """
1730
+ return pulumi.get(self, "override_qos_policy")
1731
+
1732
+ @override_qos_policy.setter
1733
+ def override_qos_policy(self, value: Optional[pulumi.Input[bool]]):
1734
+ pulumi.set(self, "override_qos_policy", value)
1735
+
1736
+ @property
1737
+ @pulumi.getter(name="overrideVirtualSwitchConfiguration")
1738
+ def override_virtual_switch_configuration(self) -> Optional[pulumi.Input[bool]]:
1739
+ """
1740
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
1741
+ """
1742
+ return pulumi.get(self, "override_virtual_switch_configuration")
1743
+
1744
+ @override_virtual_switch_configuration.setter
1745
+ def override_virtual_switch_configuration(self, value: Optional[pulumi.Input[bool]]):
1746
+ pulumi.set(self, "override_virtual_switch_configuration", value)
1747
+
1748
+ @property
1749
+ @pulumi.getter(name="qosPolicyOverrides")
1750
+ def qos_policy_overrides(self) -> Optional[pulumi.Input['QosPolicyOverridesArgs']]:
1751
+ """
1752
+ Set QoS PolicyOverrides for cluster.
1753
+ """
1754
+ return pulumi.get(self, "qos_policy_overrides")
1755
+
1756
+ @qos_policy_overrides.setter
1757
+ def qos_policy_overrides(self, value: Optional[pulumi.Input['QosPolicyOverridesArgs']]):
1758
+ pulumi.set(self, "qos_policy_overrides", value)
1759
+
1760
+ @property
1761
+ @pulumi.getter(name="trafficType")
1762
+ def traffic_type(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1763
+ """
1764
+ List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'.
1765
+ """
1766
+ return pulumi.get(self, "traffic_type")
1767
+
1768
+ @traffic_type.setter
1769
+ def traffic_type(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1770
+ pulumi.set(self, "traffic_type", value)
1771
+
1772
+ @property
1773
+ @pulumi.getter(name="virtualSwitchConfigurationOverrides")
1774
+ def virtual_switch_configuration_overrides(self) -> Optional[pulumi.Input['VirtualSwitchConfigurationOverridesArgs']]:
1775
+ """
1776
+ Set virtualSwitch ConfigurationOverrides for cluster.
1777
+ """
1778
+ return pulumi.get(self, "virtual_switch_configuration_overrides")
1779
+
1780
+ @virtual_switch_configuration_overrides.setter
1781
+ def virtual_switch_configuration_overrides(self, value: Optional[pulumi.Input['VirtualSwitchConfigurationOverridesArgs']]):
1782
+ pulumi.set(self, "virtual_switch_configuration_overrides", value)
1783
+
1784
+
1785
+ if not MYPY:
1786
+ class IpPoolsArgsDict(TypedDict):
1787
+ """
1788
+ The dnsServers of a device.
1789
+ """
1790
+ ending_address: NotRequired[pulumi.Input[str]]
1791
+ """
1792
+ Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1793
+ """
1794
+ starting_address: NotRequired[pulumi.Input[str]]
1795
+ """
1796
+ Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1797
+ """
1798
+ elif False:
1799
+ IpPoolsArgsDict: TypeAlias = Mapping[str, Any]
1800
+
1801
+ @pulumi.input_type
1802
+ class IpPoolsArgs:
1803
+ def __init__(__self__, *,
1804
+ ending_address: Optional[pulumi.Input[str]] = None,
1805
+ starting_address: Optional[pulumi.Input[str]] = None):
1806
+ """
1807
+ The dnsServers of a device.
1808
+ :param pulumi.Input[str] ending_address: Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1809
+ :param pulumi.Input[str] starting_address: Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1810
+ """
1811
+ if ending_address is not None:
1812
+ pulumi.set(__self__, "ending_address", ending_address)
1813
+ if starting_address is not None:
1814
+ pulumi.set(__self__, "starting_address", starting_address)
1815
+
1816
+ @property
1817
+ @pulumi.getter(name="endingAddress")
1818
+ def ending_address(self) -> Optional[pulumi.Input[str]]:
1819
+ """
1820
+ Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1821
+ """
1822
+ return pulumi.get(self, "ending_address")
1823
+
1824
+ @ending_address.setter
1825
+ def ending_address(self, value: Optional[pulumi.Input[str]]):
1826
+ pulumi.set(self, "ending_address", value)
1827
+
1828
+ @property
1829
+ @pulumi.getter(name="startingAddress")
1830
+ def starting_address(self) -> Optional[pulumi.Input[str]]:
1831
+ """
1832
+ Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering.
1833
+ """
1834
+ return pulumi.get(self, "starting_address")
1835
+
1836
+ @starting_address.setter
1837
+ def starting_address(self, value: Optional[pulumi.Input[str]]):
1838
+ pulumi.set(self, "starting_address", value)
1839
+
1840
+
1841
+ if not MYPY:
1842
+ class NetworkControllerArgsDict(TypedDict):
1843
+ """
1844
+ network controller config for SDN Integration to deploy AzureStackHCI Cluster.
1845
+ """
1846
+ mac_address_pool_start: NotRequired[pulumi.Input[str]]
1847
+ """
1848
+ macAddressPoolStart of network controller used for SDN Integration.
1849
+ """
1850
+ mac_address_pool_stop: NotRequired[pulumi.Input[str]]
1851
+ """
1852
+ macAddressPoolStop of network controller used for SDN Integration.
1853
+ """
1854
+ network_virtualization_enabled: NotRequired[pulumi.Input[bool]]
1855
+ """
1856
+ NetworkVirtualizationEnabled of network controller used for SDN Integration.
1857
+ """
1858
+ elif False:
1859
+ NetworkControllerArgsDict: TypeAlias = Mapping[str, Any]
1860
+
1861
+ @pulumi.input_type
1862
+ class NetworkControllerArgs:
1863
+ def __init__(__self__, *,
1864
+ mac_address_pool_start: Optional[pulumi.Input[str]] = None,
1865
+ mac_address_pool_stop: Optional[pulumi.Input[str]] = None,
1866
+ network_virtualization_enabled: Optional[pulumi.Input[bool]] = None):
1867
+ """
1868
+ network controller config for SDN Integration to deploy AzureStackHCI Cluster.
1869
+ :param pulumi.Input[str] mac_address_pool_start: macAddressPoolStart of network controller used for SDN Integration.
1870
+ :param pulumi.Input[str] mac_address_pool_stop: macAddressPoolStop of network controller used for SDN Integration.
1871
+ :param pulumi.Input[bool] network_virtualization_enabled: NetworkVirtualizationEnabled of network controller used for SDN Integration.
1872
+ """
1873
+ if mac_address_pool_start is not None:
1874
+ pulumi.set(__self__, "mac_address_pool_start", mac_address_pool_start)
1875
+ if mac_address_pool_stop is not None:
1876
+ pulumi.set(__self__, "mac_address_pool_stop", mac_address_pool_stop)
1877
+ if network_virtualization_enabled is not None:
1878
+ pulumi.set(__self__, "network_virtualization_enabled", network_virtualization_enabled)
1879
+
1880
+ @property
1881
+ @pulumi.getter(name="macAddressPoolStart")
1882
+ def mac_address_pool_start(self) -> Optional[pulumi.Input[str]]:
1883
+ """
1884
+ macAddressPoolStart of network controller used for SDN Integration.
1885
+ """
1886
+ return pulumi.get(self, "mac_address_pool_start")
1887
+
1888
+ @mac_address_pool_start.setter
1889
+ def mac_address_pool_start(self, value: Optional[pulumi.Input[str]]):
1890
+ pulumi.set(self, "mac_address_pool_start", value)
1891
+
1892
+ @property
1893
+ @pulumi.getter(name="macAddressPoolStop")
1894
+ def mac_address_pool_stop(self) -> Optional[pulumi.Input[str]]:
1895
+ """
1896
+ macAddressPoolStop of network controller used for SDN Integration.
1897
+ """
1898
+ return pulumi.get(self, "mac_address_pool_stop")
1899
+
1900
+ @mac_address_pool_stop.setter
1901
+ def mac_address_pool_stop(self, value: Optional[pulumi.Input[str]]):
1902
+ pulumi.set(self, "mac_address_pool_stop", value)
1903
+
1904
+ @property
1905
+ @pulumi.getter(name="networkVirtualizationEnabled")
1906
+ def network_virtualization_enabled(self) -> Optional[pulumi.Input[bool]]:
1907
+ """
1908
+ NetworkVirtualizationEnabled of network controller used for SDN Integration.
1909
+ """
1910
+ return pulumi.get(self, "network_virtualization_enabled")
1911
+
1912
+ @network_virtualization_enabled.setter
1913
+ def network_virtualization_enabled(self, value: Optional[pulumi.Input[bool]]):
1914
+ pulumi.set(self, "network_virtualization_enabled", value)
1915
+
1916
+
1917
+ if not MYPY:
1918
+ class NicDetailArgsDict(TypedDict):
1919
+ """
1920
+ The NIC Detail of a device.
1921
+ """
1922
+ adapter_name: NotRequired[pulumi.Input[str]]
1923
+ """
1924
+ Adapter Name of NIC
1925
+ """
1926
+ component_id: NotRequired[pulumi.Input[str]]
1927
+ """
1928
+ Component Id of NIC
1929
+ """
1930
+ default_gateway: NotRequired[pulumi.Input[str]]
1931
+ """
1932
+ Default Gateway of NIC
1933
+ """
1934
+ default_isolation_id: NotRequired[pulumi.Input[str]]
1935
+ """
1936
+ Default Isolation of Management NIC
1937
+ """
1938
+ dns_servers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1939
+ """
1940
+ DNS Servers for NIC
1941
+ """
1942
+ driver_version: NotRequired[pulumi.Input[str]]
1943
+ """
1944
+ Driver Version of NIC
1945
+ """
1946
+ interface_description: NotRequired[pulumi.Input[str]]
1947
+ """
1948
+ Interface Description of NIC
1949
+ """
1950
+ ip4_address: NotRequired[pulumi.Input[str]]
1951
+ """
1952
+ Subnet Mask of NIC
1953
+ """
1954
+ subnet_mask: NotRequired[pulumi.Input[str]]
1955
+ """
1956
+ Subnet Mask of NIC
1957
+ """
1958
+ elif False:
1959
+ NicDetailArgsDict: TypeAlias = Mapping[str, Any]
1960
+
1961
+ @pulumi.input_type
1962
+ class NicDetailArgs:
1963
+ def __init__(__self__, *,
1964
+ adapter_name: Optional[pulumi.Input[str]] = None,
1965
+ component_id: Optional[pulumi.Input[str]] = None,
1966
+ default_gateway: Optional[pulumi.Input[str]] = None,
1967
+ default_isolation_id: Optional[pulumi.Input[str]] = None,
1968
+ dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1969
+ driver_version: Optional[pulumi.Input[str]] = None,
1970
+ interface_description: Optional[pulumi.Input[str]] = None,
1971
+ ip4_address: Optional[pulumi.Input[str]] = None,
1972
+ subnet_mask: Optional[pulumi.Input[str]] = None):
1973
+ """
1974
+ The NIC Detail of a device.
1975
+ :param pulumi.Input[str] adapter_name: Adapter Name of NIC
1976
+ :param pulumi.Input[str] component_id: Component Id of NIC
1977
+ :param pulumi.Input[str] default_gateway: Default Gateway of NIC
1978
+ :param pulumi.Input[str] default_isolation_id: Default Isolation of Management NIC
1979
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: DNS Servers for NIC
1980
+ :param pulumi.Input[str] driver_version: Driver Version of NIC
1981
+ :param pulumi.Input[str] interface_description: Interface Description of NIC
1982
+ :param pulumi.Input[str] ip4_address: Subnet Mask of NIC
1983
+ :param pulumi.Input[str] subnet_mask: Subnet Mask of NIC
1984
+ """
1985
+ if adapter_name is not None:
1986
+ pulumi.set(__self__, "adapter_name", adapter_name)
1987
+ if component_id is not None:
1988
+ pulumi.set(__self__, "component_id", component_id)
1989
+ if default_gateway is not None:
1990
+ pulumi.set(__self__, "default_gateway", default_gateway)
1991
+ if default_isolation_id is not None:
1992
+ pulumi.set(__self__, "default_isolation_id", default_isolation_id)
1993
+ if dns_servers is not None:
1994
+ pulumi.set(__self__, "dns_servers", dns_servers)
1995
+ if driver_version is not None:
1996
+ pulumi.set(__self__, "driver_version", driver_version)
1997
+ if interface_description is not None:
1998
+ pulumi.set(__self__, "interface_description", interface_description)
1999
+ if ip4_address is not None:
2000
+ pulumi.set(__self__, "ip4_address", ip4_address)
2001
+ if subnet_mask is not None:
2002
+ pulumi.set(__self__, "subnet_mask", subnet_mask)
2003
+
2004
+ @property
2005
+ @pulumi.getter(name="adapterName")
2006
+ def adapter_name(self) -> Optional[pulumi.Input[str]]:
2007
+ """
2008
+ Adapter Name of NIC
2009
+ """
2010
+ return pulumi.get(self, "adapter_name")
2011
+
2012
+ @adapter_name.setter
2013
+ def adapter_name(self, value: Optional[pulumi.Input[str]]):
2014
+ pulumi.set(self, "adapter_name", value)
2015
+
2016
+ @property
2017
+ @pulumi.getter(name="componentId")
2018
+ def component_id(self) -> Optional[pulumi.Input[str]]:
2019
+ """
2020
+ Component Id of NIC
2021
+ """
2022
+ return pulumi.get(self, "component_id")
2023
+
2024
+ @component_id.setter
2025
+ def component_id(self, value: Optional[pulumi.Input[str]]):
2026
+ pulumi.set(self, "component_id", value)
2027
+
2028
+ @property
2029
+ @pulumi.getter(name="defaultGateway")
2030
+ def default_gateway(self) -> Optional[pulumi.Input[str]]:
2031
+ """
2032
+ Default Gateway of NIC
2033
+ """
2034
+ return pulumi.get(self, "default_gateway")
2035
+
2036
+ @default_gateway.setter
2037
+ def default_gateway(self, value: Optional[pulumi.Input[str]]):
2038
+ pulumi.set(self, "default_gateway", value)
2039
+
2040
+ @property
2041
+ @pulumi.getter(name="defaultIsolationId")
2042
+ def default_isolation_id(self) -> Optional[pulumi.Input[str]]:
2043
+ """
2044
+ Default Isolation of Management NIC
2045
+ """
2046
+ return pulumi.get(self, "default_isolation_id")
2047
+
2048
+ @default_isolation_id.setter
2049
+ def default_isolation_id(self, value: Optional[pulumi.Input[str]]):
2050
+ pulumi.set(self, "default_isolation_id", value)
2051
+
2052
+ @property
2053
+ @pulumi.getter(name="dnsServers")
2054
+ def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2055
+ """
2056
+ DNS Servers for NIC
2057
+ """
2058
+ return pulumi.get(self, "dns_servers")
2059
+
2060
+ @dns_servers.setter
2061
+ def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2062
+ pulumi.set(self, "dns_servers", value)
2063
+
2064
+ @property
2065
+ @pulumi.getter(name="driverVersion")
2066
+ def driver_version(self) -> Optional[pulumi.Input[str]]:
2067
+ """
2068
+ Driver Version of NIC
2069
+ """
2070
+ return pulumi.get(self, "driver_version")
2071
+
2072
+ @driver_version.setter
2073
+ def driver_version(self, value: Optional[pulumi.Input[str]]):
2074
+ pulumi.set(self, "driver_version", value)
2075
+
2076
+ @property
2077
+ @pulumi.getter(name="interfaceDescription")
2078
+ def interface_description(self) -> Optional[pulumi.Input[str]]:
2079
+ """
2080
+ Interface Description of NIC
2081
+ """
2082
+ return pulumi.get(self, "interface_description")
2083
+
2084
+ @interface_description.setter
2085
+ def interface_description(self, value: Optional[pulumi.Input[str]]):
2086
+ pulumi.set(self, "interface_description", value)
2087
+
2088
+ @property
2089
+ @pulumi.getter(name="ip4Address")
2090
+ def ip4_address(self) -> Optional[pulumi.Input[str]]:
2091
+ """
2092
+ Subnet Mask of NIC
2093
+ """
2094
+ return pulumi.get(self, "ip4_address")
2095
+
2096
+ @ip4_address.setter
2097
+ def ip4_address(self, value: Optional[pulumi.Input[str]]):
2098
+ pulumi.set(self, "ip4_address", value)
2099
+
2100
+ @property
2101
+ @pulumi.getter(name="subnetMask")
2102
+ def subnet_mask(self) -> Optional[pulumi.Input[str]]:
2103
+ """
2104
+ Subnet Mask of NIC
2105
+ """
2106
+ return pulumi.get(self, "subnet_mask")
2107
+
2108
+ @subnet_mask.setter
2109
+ def subnet_mask(self, value: Optional[pulumi.Input[str]]):
2110
+ pulumi.set(self, "subnet_mask", value)
2111
+
2112
+
2113
+ if not MYPY:
2114
+ class ObservabilityArgsDict(TypedDict):
2115
+ """
2116
+ The Observability of AzureStackHCI Cluster.
2117
+ """
2118
+ episodic_data_upload: NotRequired[pulumi.Input[bool]]
2119
+ """
2120
+ When set to true, collects log data to facilitate quicker issue resolution.
2121
+ """
2122
+ eu_location: NotRequired[pulumi.Input[bool]]
2123
+ """
2124
+ Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU.
2125
+ """
2126
+ streaming_data_client: NotRequired[pulumi.Input[bool]]
2127
+ """
2128
+ Enables telemetry data to be sent to Microsoft
2129
+ """
2130
+ elif False:
2131
+ ObservabilityArgsDict: TypeAlias = Mapping[str, Any]
2132
+
2133
+ @pulumi.input_type
2134
+ class ObservabilityArgs:
2135
+ def __init__(__self__, *,
2136
+ episodic_data_upload: Optional[pulumi.Input[bool]] = None,
2137
+ eu_location: Optional[pulumi.Input[bool]] = None,
2138
+ streaming_data_client: Optional[pulumi.Input[bool]] = None):
2139
+ """
2140
+ The Observability of AzureStackHCI Cluster.
2141
+ :param pulumi.Input[bool] episodic_data_upload: When set to true, collects log data to facilitate quicker issue resolution.
2142
+ :param pulumi.Input[bool] eu_location: Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU.
2143
+ :param pulumi.Input[bool] streaming_data_client: Enables telemetry data to be sent to Microsoft
2144
+ """
2145
+ if episodic_data_upload is None:
2146
+ episodic_data_upload = True
2147
+ if episodic_data_upload is not None:
2148
+ pulumi.set(__self__, "episodic_data_upload", episodic_data_upload)
2149
+ if eu_location is None:
2150
+ eu_location = False
2151
+ if eu_location is not None:
2152
+ pulumi.set(__self__, "eu_location", eu_location)
2153
+ if streaming_data_client is None:
2154
+ streaming_data_client = True
2155
+ if streaming_data_client is not None:
2156
+ pulumi.set(__self__, "streaming_data_client", streaming_data_client)
2157
+
2158
+ @property
2159
+ @pulumi.getter(name="episodicDataUpload")
2160
+ def episodic_data_upload(self) -> Optional[pulumi.Input[bool]]:
2161
+ """
2162
+ When set to true, collects log data to facilitate quicker issue resolution.
2163
+ """
2164
+ return pulumi.get(self, "episodic_data_upload")
2165
+
2166
+ @episodic_data_upload.setter
2167
+ def episodic_data_upload(self, value: Optional[pulumi.Input[bool]]):
2168
+ pulumi.set(self, "episodic_data_upload", value)
2169
+
2170
+ @property
2171
+ @pulumi.getter(name="euLocation")
2172
+ def eu_location(self) -> Optional[pulumi.Input[bool]]:
2173
+ """
2174
+ Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU.
2175
+ """
2176
+ return pulumi.get(self, "eu_location")
2177
+
2178
+ @eu_location.setter
2179
+ def eu_location(self, value: Optional[pulumi.Input[bool]]):
2180
+ pulumi.set(self, "eu_location", value)
2181
+
2182
+ @property
2183
+ @pulumi.getter(name="streamingDataClient")
2184
+ def streaming_data_client(self) -> Optional[pulumi.Input[bool]]:
2185
+ """
2186
+ Enables telemetry data to be sent to Microsoft
2187
+ """
2188
+ return pulumi.get(self, "streaming_data_client")
2189
+
2190
+ @streaming_data_client.setter
2191
+ def streaming_data_client(self, value: Optional[pulumi.Input[bool]]):
2192
+ pulumi.set(self, "streaming_data_client", value)
2193
+
2194
+
2195
+ if not MYPY:
2196
+ class OptionalServicesArgsDict(TypedDict):
2197
+ """
2198
+ The OptionalServices of AzureStackHCI Cluster.
2199
+ """
2200
+ custom_location: NotRequired[pulumi.Input[str]]
2201
+ """
2202
+ The name of custom location.
2203
+ """
2204
+ elif False:
2205
+ OptionalServicesArgsDict: TypeAlias = Mapping[str, Any]
2206
+
2207
+ @pulumi.input_type
2208
+ class OptionalServicesArgs:
2209
+ def __init__(__self__, *,
2210
+ custom_location: Optional[pulumi.Input[str]] = None):
2211
+ """
2212
+ The OptionalServices of AzureStackHCI Cluster.
2213
+ :param pulumi.Input[str] custom_location: The name of custom location.
2214
+ """
2215
+ if custom_location is not None:
2216
+ pulumi.set(__self__, "custom_location", custom_location)
2217
+
2218
+ @property
2219
+ @pulumi.getter(name="customLocation")
2220
+ def custom_location(self) -> Optional[pulumi.Input[str]]:
2221
+ """
2222
+ The name of custom location.
2223
+ """
2224
+ return pulumi.get(self, "custom_location")
2225
+
2226
+ @custom_location.setter
2227
+ def custom_location(self, value: Optional[pulumi.Input[str]]):
2228
+ pulumi.set(self, "custom_location", value)
2229
+
2230
+
2231
+ if not MYPY:
2232
+ class PhysicalNodesArgsDict(TypedDict):
2233
+ """
2234
+ The PhysicalNodes of a cluster.
2235
+ """
2236
+ ipv4_address: NotRequired[pulumi.Input[str]]
2237
+ """
2238
+ The IPv4 address assigned to each physical server on your Azure Stack HCI cluster.
2239
+ """
2240
+ name: NotRequired[pulumi.Input[str]]
2241
+ """
2242
+ NETBIOS name of each physical server on your Azure Stack HCI cluster.
2243
+ """
2244
+ elif False:
2245
+ PhysicalNodesArgsDict: TypeAlias = Mapping[str, Any]
2246
+
2247
+ @pulumi.input_type
2248
+ class PhysicalNodesArgs:
2249
+ def __init__(__self__, *,
2250
+ ipv4_address: Optional[pulumi.Input[str]] = None,
2251
+ name: Optional[pulumi.Input[str]] = None):
2252
+ """
2253
+ The PhysicalNodes of a cluster.
2254
+ :param pulumi.Input[str] ipv4_address: The IPv4 address assigned to each physical server on your Azure Stack HCI cluster.
2255
+ :param pulumi.Input[str] name: NETBIOS name of each physical server on your Azure Stack HCI cluster.
2256
+ """
2257
+ if ipv4_address is not None:
2258
+ pulumi.set(__self__, "ipv4_address", ipv4_address)
2259
+ if name is not None:
2260
+ pulumi.set(__self__, "name", name)
2261
+
2262
+ @property
2263
+ @pulumi.getter(name="ipv4Address")
2264
+ def ipv4_address(self) -> Optional[pulumi.Input[str]]:
2265
+ """
2266
+ The IPv4 address assigned to each physical server on your Azure Stack HCI cluster.
2267
+ """
2268
+ return pulumi.get(self, "ipv4_address")
2269
+
2270
+ @ipv4_address.setter
2271
+ def ipv4_address(self, value: Optional[pulumi.Input[str]]):
2272
+ pulumi.set(self, "ipv4_address", value)
2273
+
2274
+ @property
2275
+ @pulumi.getter
2276
+ def name(self) -> Optional[pulumi.Input[str]]:
2277
+ """
2278
+ NETBIOS name of each physical server on your Azure Stack HCI cluster.
2279
+ """
2280
+ return pulumi.get(self, "name")
2281
+
2282
+ @name.setter
2283
+ def name(self, value: Optional[pulumi.Input[str]]):
2284
+ pulumi.set(self, "name", value)
2285
+
2286
+
2287
+ if not MYPY:
2288
+ class QosPolicyOverridesArgsDict(TypedDict):
2289
+ """
2290
+ The QoSPolicyOverrides of a cluster.
2291
+ """
2292
+ bandwidth_percentage_smb: NotRequired[pulumi.Input[str]]
2293
+ """
2294
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2295
+ """
2296
+ priority_value8021_action_cluster: NotRequired[pulumi.Input[str]]
2297
+ """
2298
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2299
+ """
2300
+ priority_value8021_action_smb: NotRequired[pulumi.Input[str]]
2301
+ """
2302
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2303
+ """
2304
+ elif False:
2305
+ QosPolicyOverridesArgsDict: TypeAlias = Mapping[str, Any]
2306
+
2307
+ @pulumi.input_type
2308
+ class QosPolicyOverridesArgs:
2309
+ def __init__(__self__, *,
2310
+ bandwidth_percentage_smb: Optional[pulumi.Input[str]] = None,
2311
+ priority_value8021_action_cluster: Optional[pulumi.Input[str]] = None,
2312
+ priority_value8021_action_smb: Optional[pulumi.Input[str]] = None):
2313
+ """
2314
+ The QoSPolicyOverrides of a cluster.
2315
+ :param pulumi.Input[str] bandwidth_percentage_smb: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2316
+ :param pulumi.Input[str] priority_value8021_action_cluster: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2317
+ :param pulumi.Input[str] priority_value8021_action_smb: This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2318
+ """
2319
+ if bandwidth_percentage_smb is not None:
2320
+ pulumi.set(__self__, "bandwidth_percentage_smb", bandwidth_percentage_smb)
2321
+ if priority_value8021_action_cluster is not None:
2322
+ pulumi.set(__self__, "priority_value8021_action_cluster", priority_value8021_action_cluster)
2323
+ if priority_value8021_action_smb is not None:
2324
+ pulumi.set(__self__, "priority_value8021_action_smb", priority_value8021_action_smb)
2325
+
2326
+ @property
2327
+ @pulumi.getter(name="bandwidthPercentageSMB")
2328
+ def bandwidth_percentage_smb(self) -> Optional[pulumi.Input[str]]:
2329
+ """
2330
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2331
+ """
2332
+ return pulumi.get(self, "bandwidth_percentage_smb")
2333
+
2334
+ @bandwidth_percentage_smb.setter
2335
+ def bandwidth_percentage_smb(self, value: Optional[pulumi.Input[str]]):
2336
+ pulumi.set(self, "bandwidth_percentage_smb", value)
2337
+
2338
+ @property
2339
+ @pulumi.getter(name="priorityValue8021ActionCluster")
2340
+ def priority_value8021_action_cluster(self) -> Optional[pulumi.Input[str]]:
2341
+ """
2342
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2343
+ """
2344
+ return pulumi.get(self, "priority_value8021_action_cluster")
2345
+
2346
+ @priority_value8021_action_cluster.setter
2347
+ def priority_value8021_action_cluster(self, value: Optional[pulumi.Input[str]]):
2348
+ pulumi.set(self, "priority_value8021_action_cluster", value)
2349
+
2350
+ @property
2351
+ @pulumi.getter(name="priorityValue8021ActionSMB")
2352
+ def priority_value8021_action_smb(self) -> Optional[pulumi.Input[str]]:
2353
+ """
2354
+ This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.
2355
+ """
2356
+ return pulumi.get(self, "priority_value8021_action_smb")
2357
+
2358
+ @priority_value8021_action_smb.setter
2359
+ def priority_value8021_action_smb(self, value: Optional[pulumi.Input[str]]):
2360
+ pulumi.set(self, "priority_value8021_action_smb", value)
2361
+
2362
+
2363
+ if not MYPY:
2364
+ class SbeCredentialsArgsDict(TypedDict):
2365
+ """
2366
+ secrets used for solution builder extension (SBE) partner extensibility.
2367
+ """
2368
+ ece_secret_name: NotRequired[pulumi.Input[str]]
2369
+ """
2370
+ secret name expected for Enterprise Cloud Engine (ECE).
2371
+ """
2372
+ secret_location: NotRequired[pulumi.Input[str]]
2373
+ """
2374
+ secret URI stored in keyvault.
2375
+ """
2376
+ secret_name: NotRequired[pulumi.Input[str]]
2377
+ """
2378
+ secret name stored in keyvault.
2379
+ """
2380
+ elif False:
2381
+ SbeCredentialsArgsDict: TypeAlias = Mapping[str, Any]
2382
+
2383
+ @pulumi.input_type
2384
+ class SbeCredentialsArgs:
2385
+ def __init__(__self__, *,
2386
+ ece_secret_name: Optional[pulumi.Input[str]] = None,
2387
+ secret_location: Optional[pulumi.Input[str]] = None,
2388
+ secret_name: Optional[pulumi.Input[str]] = None):
2389
+ """
2390
+ secrets used for solution builder extension (SBE) partner extensibility.
2391
+ :param pulumi.Input[str] ece_secret_name: secret name expected for Enterprise Cloud Engine (ECE).
2392
+ :param pulumi.Input[str] secret_location: secret URI stored in keyvault.
2393
+ :param pulumi.Input[str] secret_name: secret name stored in keyvault.
2394
+ """
2395
+ if ece_secret_name is not None:
2396
+ pulumi.set(__self__, "ece_secret_name", ece_secret_name)
2397
+ if secret_location is not None:
2398
+ pulumi.set(__self__, "secret_location", secret_location)
2399
+ if secret_name is not None:
2400
+ pulumi.set(__self__, "secret_name", secret_name)
2401
+
2402
+ @property
2403
+ @pulumi.getter(name="eceSecretName")
2404
+ def ece_secret_name(self) -> Optional[pulumi.Input[str]]:
2405
+ """
2406
+ secret name expected for Enterprise Cloud Engine (ECE).
2407
+ """
2408
+ return pulumi.get(self, "ece_secret_name")
2409
+
2410
+ @ece_secret_name.setter
2411
+ def ece_secret_name(self, value: Optional[pulumi.Input[str]]):
2412
+ pulumi.set(self, "ece_secret_name", value)
2413
+
2414
+ @property
2415
+ @pulumi.getter(name="secretLocation")
2416
+ def secret_location(self) -> Optional[pulumi.Input[str]]:
2417
+ """
2418
+ secret URI stored in keyvault.
2419
+ """
2420
+ return pulumi.get(self, "secret_location")
2421
+
2422
+ @secret_location.setter
2423
+ def secret_location(self, value: Optional[pulumi.Input[str]]):
2424
+ pulumi.set(self, "secret_location", value)
2425
+
2426
+ @property
2427
+ @pulumi.getter(name="secretName")
2428
+ def secret_name(self) -> Optional[pulumi.Input[str]]:
2429
+ """
2430
+ secret name stored in keyvault.
2431
+ """
2432
+ return pulumi.get(self, "secret_name")
2433
+
2434
+ @secret_name.setter
2435
+ def secret_name(self, value: Optional[pulumi.Input[str]]):
2436
+ pulumi.set(self, "secret_name", value)
2437
+
2438
+
2439
+ if not MYPY:
2440
+ class SbeDeploymentInfoArgsDict(TypedDict):
2441
+ """
2442
+ Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment.
2443
+ """
2444
+ family: NotRequired[pulumi.Input[str]]
2445
+ """
2446
+ SBE family name.
2447
+ """
2448
+ publisher: NotRequired[pulumi.Input[str]]
2449
+ """
2450
+ SBE manifest publisher.
2451
+ """
2452
+ sbe_manifest_creation_date: NotRequired[pulumi.Input[str]]
2453
+ """
2454
+ SBE Manifest Creation Date.
2455
+ """
2456
+ sbe_manifest_source: NotRequired[pulumi.Input[str]]
2457
+ """
2458
+ SBE Manifest Source.
2459
+ """
2460
+ version: NotRequired[pulumi.Input[str]]
2461
+ """
2462
+ SBE package version.
2463
+ """
2464
+ elif False:
2465
+ SbeDeploymentInfoArgsDict: TypeAlias = Mapping[str, Any]
2466
+
2467
+ @pulumi.input_type
2468
+ class SbeDeploymentInfoArgs:
2469
+ def __init__(__self__, *,
2470
+ family: Optional[pulumi.Input[str]] = None,
2471
+ publisher: Optional[pulumi.Input[str]] = None,
2472
+ sbe_manifest_creation_date: Optional[pulumi.Input[str]] = None,
2473
+ sbe_manifest_source: Optional[pulumi.Input[str]] = None,
2474
+ version: Optional[pulumi.Input[str]] = None):
2475
+ """
2476
+ Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment.
2477
+ :param pulumi.Input[str] family: SBE family name.
2478
+ :param pulumi.Input[str] publisher: SBE manifest publisher.
2479
+ :param pulumi.Input[str] sbe_manifest_creation_date: SBE Manifest Creation Date.
2480
+ :param pulumi.Input[str] sbe_manifest_source: SBE Manifest Source.
2481
+ :param pulumi.Input[str] version: SBE package version.
2482
+ """
2483
+ if family is not None:
2484
+ pulumi.set(__self__, "family", family)
2485
+ if publisher is not None:
2486
+ pulumi.set(__self__, "publisher", publisher)
2487
+ if sbe_manifest_creation_date is not None:
2488
+ pulumi.set(__self__, "sbe_manifest_creation_date", sbe_manifest_creation_date)
2489
+ if sbe_manifest_source is not None:
2490
+ pulumi.set(__self__, "sbe_manifest_source", sbe_manifest_source)
2491
+ if version is not None:
2492
+ pulumi.set(__self__, "version", version)
2493
+
2494
+ @property
2495
+ @pulumi.getter
2496
+ def family(self) -> Optional[pulumi.Input[str]]:
2497
+ """
2498
+ SBE family name.
2499
+ """
2500
+ return pulumi.get(self, "family")
2501
+
2502
+ @family.setter
2503
+ def family(self, value: Optional[pulumi.Input[str]]):
2504
+ pulumi.set(self, "family", value)
2505
+
2506
+ @property
2507
+ @pulumi.getter
2508
+ def publisher(self) -> Optional[pulumi.Input[str]]:
2509
+ """
2510
+ SBE manifest publisher.
2511
+ """
2512
+ return pulumi.get(self, "publisher")
2513
+
2514
+ @publisher.setter
2515
+ def publisher(self, value: Optional[pulumi.Input[str]]):
2516
+ pulumi.set(self, "publisher", value)
2517
+
2518
+ @property
2519
+ @pulumi.getter(name="sbeManifestCreationDate")
2520
+ def sbe_manifest_creation_date(self) -> Optional[pulumi.Input[str]]:
2521
+ """
2522
+ SBE Manifest Creation Date.
2523
+ """
2524
+ return pulumi.get(self, "sbe_manifest_creation_date")
2525
+
2526
+ @sbe_manifest_creation_date.setter
2527
+ def sbe_manifest_creation_date(self, value: Optional[pulumi.Input[str]]):
2528
+ pulumi.set(self, "sbe_manifest_creation_date", value)
2529
+
2530
+ @property
2531
+ @pulumi.getter(name="sbeManifestSource")
2532
+ def sbe_manifest_source(self) -> Optional[pulumi.Input[str]]:
2533
+ """
2534
+ SBE Manifest Source.
2535
+ """
2536
+ return pulumi.get(self, "sbe_manifest_source")
2537
+
2538
+ @sbe_manifest_source.setter
2539
+ def sbe_manifest_source(self, value: Optional[pulumi.Input[str]]):
2540
+ pulumi.set(self, "sbe_manifest_source", value)
2541
+
2542
+ @property
2543
+ @pulumi.getter
2544
+ def version(self) -> Optional[pulumi.Input[str]]:
2545
+ """
2546
+ SBE package version.
2547
+ """
2548
+ return pulumi.get(self, "version")
2549
+
2550
+ @version.setter
2551
+ def version(self, value: Optional[pulumi.Input[str]]):
2552
+ pulumi.set(self, "version", value)
2553
+
2554
+
2555
+ if not MYPY:
2556
+ class SbePartnerInfoArgsDict(TypedDict):
2557
+ """
2558
+ The solution builder extension (SBE) partner deployment info for cluster.
2559
+ """
2560
+ credential_list: NotRequired[pulumi.Input[Sequence[pulumi.Input['SbeCredentialsArgsDict']]]]
2561
+ """
2562
+ SBE credentials list for AzureStackHCI cluster deployment.
2563
+ """
2564
+ partner_properties: NotRequired[pulumi.Input[Sequence[pulumi.Input['SbePartnerPropertiesArgsDict']]]]
2565
+ """
2566
+ List of SBE partner properties for AzureStackHCI cluster deployment.
2567
+ """
2568
+ sbe_deployment_info: NotRequired[pulumi.Input['SbeDeploymentInfoArgsDict']]
2569
+ """
2570
+ SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment.
2571
+ """
2572
+ elif False:
2573
+ SbePartnerInfoArgsDict: TypeAlias = Mapping[str, Any]
2574
+
2575
+ @pulumi.input_type
2576
+ class SbePartnerInfoArgs:
2577
+ def __init__(__self__, *,
2578
+ credential_list: Optional[pulumi.Input[Sequence[pulumi.Input['SbeCredentialsArgs']]]] = None,
2579
+ partner_properties: Optional[pulumi.Input[Sequence[pulumi.Input['SbePartnerPropertiesArgs']]]] = None,
2580
+ sbe_deployment_info: Optional[pulumi.Input['SbeDeploymentInfoArgs']] = None):
2581
+ """
2582
+ The solution builder extension (SBE) partner deployment info for cluster.
2583
+ :param pulumi.Input[Sequence[pulumi.Input['SbeCredentialsArgs']]] credential_list: SBE credentials list for AzureStackHCI cluster deployment.
2584
+ :param pulumi.Input[Sequence[pulumi.Input['SbePartnerPropertiesArgs']]] partner_properties: List of SBE partner properties for AzureStackHCI cluster deployment.
2585
+ :param pulumi.Input['SbeDeploymentInfoArgs'] sbe_deployment_info: SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment.
2586
+ """
2587
+ if credential_list is not None:
2588
+ pulumi.set(__self__, "credential_list", credential_list)
2589
+ if partner_properties is not None:
2590
+ pulumi.set(__self__, "partner_properties", partner_properties)
2591
+ if sbe_deployment_info is not None:
2592
+ pulumi.set(__self__, "sbe_deployment_info", sbe_deployment_info)
2593
+
2594
+ @property
2595
+ @pulumi.getter(name="credentialList")
2596
+ def credential_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SbeCredentialsArgs']]]]:
2597
+ """
2598
+ SBE credentials list for AzureStackHCI cluster deployment.
2599
+ """
2600
+ return pulumi.get(self, "credential_list")
2601
+
2602
+ @credential_list.setter
2603
+ def credential_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SbeCredentialsArgs']]]]):
2604
+ pulumi.set(self, "credential_list", value)
2605
+
2606
+ @property
2607
+ @pulumi.getter(name="partnerProperties")
2608
+ def partner_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SbePartnerPropertiesArgs']]]]:
2609
+ """
2610
+ List of SBE partner properties for AzureStackHCI cluster deployment.
2611
+ """
2612
+ return pulumi.get(self, "partner_properties")
2613
+
2614
+ @partner_properties.setter
2615
+ def partner_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SbePartnerPropertiesArgs']]]]):
2616
+ pulumi.set(self, "partner_properties", value)
2617
+
2618
+ @property
2619
+ @pulumi.getter(name="sbeDeploymentInfo")
2620
+ def sbe_deployment_info(self) -> Optional[pulumi.Input['SbeDeploymentInfoArgs']]:
2621
+ """
2622
+ SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment.
2623
+ """
2624
+ return pulumi.get(self, "sbe_deployment_info")
2625
+
2626
+ @sbe_deployment_info.setter
2627
+ def sbe_deployment_info(self, value: Optional[pulumi.Input['SbeDeploymentInfoArgs']]):
2628
+ pulumi.set(self, "sbe_deployment_info", value)
2629
+
2630
+
2631
+ if not MYPY:
2632
+ class SbePartnerPropertiesArgsDict(TypedDict):
2633
+ """
2634
+ Solution builder extension (SBE) partner properties object.
2635
+ """
2636
+ name: NotRequired[pulumi.Input[str]]
2637
+ """
2638
+ SBE partner property name.
2639
+ """
2640
+ value: NotRequired[pulumi.Input[str]]
2641
+ """
2642
+ SBE partner property value.
2643
+ """
2644
+ elif False:
2645
+ SbePartnerPropertiesArgsDict: TypeAlias = Mapping[str, Any]
2646
+
2647
+ @pulumi.input_type
2648
+ class SbePartnerPropertiesArgs:
2649
+ def __init__(__self__, *,
2650
+ name: Optional[pulumi.Input[str]] = None,
2651
+ value: Optional[pulumi.Input[str]] = None):
2652
+ """
2653
+ Solution builder extension (SBE) partner properties object.
2654
+ :param pulumi.Input[str] name: SBE partner property name.
2655
+ :param pulumi.Input[str] value: SBE partner property value.
2656
+ """
2657
+ if name is not None:
2658
+ pulumi.set(__self__, "name", name)
2659
+ if value is not None:
2660
+ pulumi.set(__self__, "value", value)
2661
+
2662
+ @property
2663
+ @pulumi.getter
2664
+ def name(self) -> Optional[pulumi.Input[str]]:
2665
+ """
2666
+ SBE partner property name.
2667
+ """
2668
+ return pulumi.get(self, "name")
2669
+
2670
+ @name.setter
2671
+ def name(self, value: Optional[pulumi.Input[str]]):
2672
+ pulumi.set(self, "name", value)
2673
+
2674
+ @property
2675
+ @pulumi.getter
2676
+ def value(self) -> Optional[pulumi.Input[str]]:
2677
+ """
2678
+ SBE partner property value.
2679
+ """
2680
+ return pulumi.get(self, "value")
2681
+
2682
+ @value.setter
2683
+ def value(self, value: Optional[pulumi.Input[str]]):
2684
+ pulumi.set(self, "value", value)
2685
+
2686
+
2687
+ if not MYPY:
2688
+ class ScaleUnitsArgsDict(TypedDict):
2689
+ """
2690
+ Scale units will contains list of deployment data
2691
+ """
2692
+ deployment_data: pulumi.Input['DeploymentDataArgsDict']
2693
+ """
2694
+ Deployment Data to deploy AzureStackHCI Cluster.
2695
+ """
2696
+ sbe_partner_info: NotRequired[pulumi.Input['SbePartnerInfoArgsDict']]
2697
+ """
2698
+ Solution builder extension (SBE) partner properties
2699
+ """
2700
+ elif False:
2701
+ ScaleUnitsArgsDict: TypeAlias = Mapping[str, Any]
2702
+
2703
+ @pulumi.input_type
2704
+ class ScaleUnitsArgs:
2705
+ def __init__(__self__, *,
2706
+ deployment_data: pulumi.Input['DeploymentDataArgs'],
2707
+ sbe_partner_info: Optional[pulumi.Input['SbePartnerInfoArgs']] = None):
2708
+ """
2709
+ Scale units will contains list of deployment data
2710
+ :param pulumi.Input['DeploymentDataArgs'] deployment_data: Deployment Data to deploy AzureStackHCI Cluster.
2711
+ :param pulumi.Input['SbePartnerInfoArgs'] sbe_partner_info: Solution builder extension (SBE) partner properties
2712
+ """
2713
+ pulumi.set(__self__, "deployment_data", deployment_data)
2714
+ if sbe_partner_info is not None:
2715
+ pulumi.set(__self__, "sbe_partner_info", sbe_partner_info)
2716
+
2717
+ @property
2718
+ @pulumi.getter(name="deploymentData")
2719
+ def deployment_data(self) -> pulumi.Input['DeploymentDataArgs']:
2720
+ """
2721
+ Deployment Data to deploy AzureStackHCI Cluster.
2722
+ """
2723
+ return pulumi.get(self, "deployment_data")
2724
+
2725
+ @deployment_data.setter
2726
+ def deployment_data(self, value: pulumi.Input['DeploymentDataArgs']):
2727
+ pulumi.set(self, "deployment_data", value)
2728
+
2729
+ @property
2730
+ @pulumi.getter(name="sbePartnerInfo")
2731
+ def sbe_partner_info(self) -> Optional[pulumi.Input['SbePartnerInfoArgs']]:
2732
+ """
2733
+ Solution builder extension (SBE) partner properties
2734
+ """
2735
+ return pulumi.get(self, "sbe_partner_info")
2736
+
2737
+ @sbe_partner_info.setter
2738
+ def sbe_partner_info(self, value: Optional[pulumi.Input['SbePartnerInfoArgs']]):
2739
+ pulumi.set(self, "sbe_partner_info", value)
2740
+
2741
+
2742
+ if not MYPY:
2743
+ class SdnIntegrationArgsDict(TypedDict):
2744
+ """
2745
+ SDN Integration config to deploy AzureStackHCI Cluster.
2746
+ """
2747
+ network_controller: NotRequired[pulumi.Input['NetworkControllerArgsDict']]
2748
+ """
2749
+ network controller config for SDN Integration to deploy AzureStackHCI Cluster.
2750
+ """
2751
+ elif False:
2752
+ SdnIntegrationArgsDict: TypeAlias = Mapping[str, Any]
2753
+
2754
+ @pulumi.input_type
2755
+ class SdnIntegrationArgs:
2756
+ def __init__(__self__, *,
2757
+ network_controller: Optional[pulumi.Input['NetworkControllerArgs']] = None):
2758
+ """
2759
+ SDN Integration config to deploy AzureStackHCI Cluster.
2760
+ :param pulumi.Input['NetworkControllerArgs'] network_controller: network controller config for SDN Integration to deploy AzureStackHCI Cluster.
2761
+ """
2762
+ if network_controller is not None:
2763
+ pulumi.set(__self__, "network_controller", network_controller)
2764
+
2765
+ @property
2766
+ @pulumi.getter(name="networkController")
2767
+ def network_controller(self) -> Optional[pulumi.Input['NetworkControllerArgs']]:
2768
+ """
2769
+ network controller config for SDN Integration to deploy AzureStackHCI Cluster.
2770
+ """
2771
+ return pulumi.get(self, "network_controller")
2772
+
2773
+ @network_controller.setter
2774
+ def network_controller(self, value: Optional[pulumi.Input['NetworkControllerArgs']]):
2775
+ pulumi.set(self, "network_controller", value)
2776
+
2777
+
2778
+ if not MYPY:
2779
+ class SecretsLocationDetailsArgsDict(TypedDict):
2780
+ """
2781
+ Secrets location details
2782
+ """
2783
+ secrets_location: pulumi.Input[str]
2784
+ """
2785
+ secrets location
2786
+ """
2787
+ secrets_type: pulumi.Input[Union[str, 'SecretsType']]
2788
+ """
2789
+ Type of secrets to store
2790
+ """
2791
+ elif False:
2792
+ SecretsLocationDetailsArgsDict: TypeAlias = Mapping[str, Any]
2793
+
2794
+ @pulumi.input_type
2795
+ class SecretsLocationDetailsArgs:
2796
+ def __init__(__self__, *,
2797
+ secrets_location: pulumi.Input[str],
2798
+ secrets_type: pulumi.Input[Union[str, 'SecretsType']]):
2799
+ """
2800
+ Secrets location details
2801
+ :param pulumi.Input[str] secrets_location: secrets location
2802
+ :param pulumi.Input[Union[str, 'SecretsType']] secrets_type: Type of secrets to store
2803
+ """
2804
+ pulumi.set(__self__, "secrets_location", secrets_location)
2805
+ pulumi.set(__self__, "secrets_type", secrets_type)
2806
+
2807
+ @property
2808
+ @pulumi.getter(name="secretsLocation")
2809
+ def secrets_location(self) -> pulumi.Input[str]:
2810
+ """
2811
+ secrets location
2812
+ """
2813
+ return pulumi.get(self, "secrets_location")
2814
+
2815
+ @secrets_location.setter
2816
+ def secrets_location(self, value: pulumi.Input[str]):
2817
+ pulumi.set(self, "secrets_location", value)
2818
+
2819
+ @property
2820
+ @pulumi.getter(name="secretsType")
2821
+ def secrets_type(self) -> pulumi.Input[Union[str, 'SecretsType']]:
2822
+ """
2823
+ Type of secrets to store
2824
+ """
2825
+ return pulumi.get(self, "secrets_type")
2826
+
2827
+ @secrets_type.setter
2828
+ def secrets_type(self, value: pulumi.Input[Union[str, 'SecretsType']]):
2829
+ pulumi.set(self, "secrets_type", value)
2830
+
2831
+
2832
+ if not MYPY:
2833
+ class ServiceConfigurationArgsDict(TypedDict):
2834
+ """
2835
+ Service configuration details
2836
+ """
2837
+ port: pulumi.Input[float]
2838
+ """
2839
+ The port on which service is enabled.
2840
+ """
2841
+ service_name: pulumi.Input[Union[str, 'ServiceName']]
2842
+ """
2843
+ Name of the service.
2844
+ """
2845
+ elif False:
2846
+ ServiceConfigurationArgsDict: TypeAlias = Mapping[str, Any]
2847
+
2848
+ @pulumi.input_type
2849
+ class ServiceConfigurationArgs:
2850
+ def __init__(__self__, *,
2851
+ port: pulumi.Input[float],
2852
+ service_name: pulumi.Input[Union[str, 'ServiceName']]):
2853
+ """
2854
+ Service configuration details
2855
+ :param pulumi.Input[float] port: The port on which service is enabled.
2856
+ :param pulumi.Input[Union[str, 'ServiceName']] service_name: Name of the service.
2857
+ """
2858
+ pulumi.set(__self__, "port", port)
2859
+ pulumi.set(__self__, "service_name", service_name)
2860
+
2861
+ @property
2862
+ @pulumi.getter
2863
+ def port(self) -> pulumi.Input[float]:
2864
+ """
2865
+ The port on which service is enabled.
2866
+ """
2867
+ return pulumi.get(self, "port")
2868
+
2869
+ @port.setter
2870
+ def port(self, value: pulumi.Input[float]):
2871
+ pulumi.set(self, "port", value)
2872
+
2873
+ @property
2874
+ @pulumi.getter(name="serviceName")
2875
+ def service_name(self) -> pulumi.Input[Union[str, 'ServiceName']]:
2876
+ """
2877
+ Name of the service.
2878
+ """
2879
+ return pulumi.get(self, "service_name")
2880
+
2881
+ @service_name.setter
2882
+ def service_name(self, value: pulumi.Input[Union[str, 'ServiceName']]):
2883
+ pulumi.set(self, "service_name", value)
2884
+
2885
+
2886
+ if not MYPY:
2887
+ class SoftwareAssurancePropertiesArgsDict(TypedDict):
2888
+ """
2889
+ Software Assurance properties of the cluster.
2890
+ """
2891
+ software_assurance_intent: NotRequired[pulumi.Input[Union[str, 'SoftwareAssuranceIntent']]]
2892
+ """
2893
+ Customer Intent for Software Assurance Benefit.
2894
+ """
2895
+ elif False:
2896
+ SoftwareAssurancePropertiesArgsDict: TypeAlias = Mapping[str, Any]
2897
+
2898
+ @pulumi.input_type
2899
+ class SoftwareAssurancePropertiesArgs:
2900
+ def __init__(__self__, *,
2901
+ software_assurance_intent: Optional[pulumi.Input[Union[str, 'SoftwareAssuranceIntent']]] = None):
2902
+ """
2903
+ Software Assurance properties of the cluster.
2904
+ :param pulumi.Input[Union[str, 'SoftwareAssuranceIntent']] software_assurance_intent: Customer Intent for Software Assurance Benefit.
2905
+ """
2906
+ if software_assurance_intent is not None:
2907
+ pulumi.set(__self__, "software_assurance_intent", software_assurance_intent)
2908
+
2909
+ @property
2910
+ @pulumi.getter(name="softwareAssuranceIntent")
2911
+ def software_assurance_intent(self) -> Optional[pulumi.Input[Union[str, 'SoftwareAssuranceIntent']]]:
2912
+ """
2913
+ Customer Intent for Software Assurance Benefit.
2914
+ """
2915
+ return pulumi.get(self, "software_assurance_intent")
2916
+
2917
+ @software_assurance_intent.setter
2918
+ def software_assurance_intent(self, value: Optional[pulumi.Input[Union[str, 'SoftwareAssuranceIntent']]]):
2919
+ pulumi.set(self, "software_assurance_intent", value)
2920
+
2921
+
2922
+ if not MYPY:
2923
+ class StepArgsDict(TypedDict):
2924
+ """
2925
+ Progress representation of the update run steps.
2926
+ """
2927
+ description: NotRequired[pulumi.Input[str]]
2928
+ """
2929
+ More detailed description of the step.
2930
+ """
2931
+ end_time_utc: NotRequired[pulumi.Input[str]]
2932
+ """
2933
+ When the step reached a terminal state.
2934
+ """
2935
+ error_message: NotRequired[pulumi.Input[str]]
2936
+ """
2937
+ Error message, specified if the step is in a failed state.
2938
+ """
2939
+ expected_execution_time: NotRequired[pulumi.Input[str]]
2940
+ """
2941
+ Expected execution time of a given step. This is optionally authored in the update action plan and can be empty.
2942
+ """
2943
+ last_updated_time_utc: NotRequired[pulumi.Input[str]]
2944
+ """
2945
+ Completion time of this step or the last completed sub-step.
2946
+ """
2947
+ name: NotRequired[pulumi.Input[str]]
2948
+ """
2949
+ Name of the step.
2950
+ """
2951
+ start_time_utc: NotRequired[pulumi.Input[str]]
2952
+ """
2953
+ When the step started, or empty if it has not started executing.
2954
+ """
2955
+ status: NotRequired[pulumi.Input[str]]
2956
+ """
2957
+ Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'.
2958
+ """
2959
+ steps: NotRequired[pulumi.Input[Sequence[pulumi.Input['StepArgsDict']]]]
2960
+ """
2961
+ Recursive model for child steps of this step.
2962
+ """
2963
+ elif False:
2964
+ StepArgsDict: TypeAlias = Mapping[str, Any]
2965
+
2966
+ @pulumi.input_type
2967
+ class StepArgs:
2968
+ def __init__(__self__, *,
2969
+ description: Optional[pulumi.Input[str]] = None,
2970
+ end_time_utc: Optional[pulumi.Input[str]] = None,
2971
+ error_message: Optional[pulumi.Input[str]] = None,
2972
+ expected_execution_time: Optional[pulumi.Input[str]] = None,
2973
+ last_updated_time_utc: Optional[pulumi.Input[str]] = None,
2974
+ name: Optional[pulumi.Input[str]] = None,
2975
+ start_time_utc: Optional[pulumi.Input[str]] = None,
2976
+ status: Optional[pulumi.Input[str]] = None,
2977
+ steps: Optional[pulumi.Input[Sequence[pulumi.Input['StepArgs']]]] = None):
2978
+ """
2979
+ Progress representation of the update run steps.
2980
+ :param pulumi.Input[str] description: More detailed description of the step.
2981
+ :param pulumi.Input[str] end_time_utc: When the step reached a terminal state.
2982
+ :param pulumi.Input[str] error_message: Error message, specified if the step is in a failed state.
2983
+ :param pulumi.Input[str] expected_execution_time: Expected execution time of a given step. This is optionally authored in the update action plan and can be empty.
2984
+ :param pulumi.Input[str] last_updated_time_utc: Completion time of this step or the last completed sub-step.
2985
+ :param pulumi.Input[str] name: Name of the step.
2986
+ :param pulumi.Input[str] start_time_utc: When the step started, or empty if it has not started executing.
2987
+ :param pulumi.Input[str] status: Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'.
2988
+ :param pulumi.Input[Sequence[pulumi.Input['StepArgs']]] steps: Recursive model for child steps of this step.
2989
+ """
2990
+ if description is not None:
2991
+ pulumi.set(__self__, "description", description)
2992
+ if end_time_utc is not None:
2993
+ pulumi.set(__self__, "end_time_utc", end_time_utc)
2994
+ if error_message is not None:
2995
+ pulumi.set(__self__, "error_message", error_message)
2996
+ if expected_execution_time is not None:
2997
+ pulumi.set(__self__, "expected_execution_time", expected_execution_time)
2998
+ if last_updated_time_utc is not None:
2999
+ pulumi.set(__self__, "last_updated_time_utc", last_updated_time_utc)
3000
+ if name is not None:
3001
+ pulumi.set(__self__, "name", name)
3002
+ if start_time_utc is not None:
3003
+ pulumi.set(__self__, "start_time_utc", start_time_utc)
3004
+ if status is not None:
3005
+ pulumi.set(__self__, "status", status)
3006
+ if steps is not None:
3007
+ pulumi.set(__self__, "steps", steps)
3008
+
3009
+ @property
3010
+ @pulumi.getter
3011
+ def description(self) -> Optional[pulumi.Input[str]]:
3012
+ """
3013
+ More detailed description of the step.
3014
+ """
3015
+ return pulumi.get(self, "description")
3016
+
3017
+ @description.setter
3018
+ def description(self, value: Optional[pulumi.Input[str]]):
3019
+ pulumi.set(self, "description", value)
3020
+
3021
+ @property
3022
+ @pulumi.getter(name="endTimeUtc")
3023
+ def end_time_utc(self) -> Optional[pulumi.Input[str]]:
3024
+ """
3025
+ When the step reached a terminal state.
3026
+ """
3027
+ return pulumi.get(self, "end_time_utc")
3028
+
3029
+ @end_time_utc.setter
3030
+ def end_time_utc(self, value: Optional[pulumi.Input[str]]):
3031
+ pulumi.set(self, "end_time_utc", value)
3032
+
3033
+ @property
3034
+ @pulumi.getter(name="errorMessage")
3035
+ def error_message(self) -> Optional[pulumi.Input[str]]:
3036
+ """
3037
+ Error message, specified if the step is in a failed state.
3038
+ """
3039
+ return pulumi.get(self, "error_message")
3040
+
3041
+ @error_message.setter
3042
+ def error_message(self, value: Optional[pulumi.Input[str]]):
3043
+ pulumi.set(self, "error_message", value)
3044
+
3045
+ @property
3046
+ @pulumi.getter(name="expectedExecutionTime")
3047
+ def expected_execution_time(self) -> Optional[pulumi.Input[str]]:
3048
+ """
3049
+ Expected execution time of a given step. This is optionally authored in the update action plan and can be empty.
3050
+ """
3051
+ return pulumi.get(self, "expected_execution_time")
3052
+
3053
+ @expected_execution_time.setter
3054
+ def expected_execution_time(self, value: Optional[pulumi.Input[str]]):
3055
+ pulumi.set(self, "expected_execution_time", value)
3056
+
3057
+ @property
3058
+ @pulumi.getter(name="lastUpdatedTimeUtc")
3059
+ def last_updated_time_utc(self) -> Optional[pulumi.Input[str]]:
3060
+ """
3061
+ Completion time of this step or the last completed sub-step.
3062
+ """
3063
+ return pulumi.get(self, "last_updated_time_utc")
3064
+
3065
+ @last_updated_time_utc.setter
3066
+ def last_updated_time_utc(self, value: Optional[pulumi.Input[str]]):
3067
+ pulumi.set(self, "last_updated_time_utc", value)
3068
+
3069
+ @property
3070
+ @pulumi.getter
3071
+ def name(self) -> Optional[pulumi.Input[str]]:
3072
+ """
3073
+ Name of the step.
3074
+ """
3075
+ return pulumi.get(self, "name")
3076
+
3077
+ @name.setter
3078
+ def name(self, value: Optional[pulumi.Input[str]]):
3079
+ pulumi.set(self, "name", value)
3080
+
3081
+ @property
3082
+ @pulumi.getter(name="startTimeUtc")
3083
+ def start_time_utc(self) -> Optional[pulumi.Input[str]]:
3084
+ """
3085
+ When the step started, or empty if it has not started executing.
3086
+ """
3087
+ return pulumi.get(self, "start_time_utc")
3088
+
3089
+ @start_time_utc.setter
3090
+ def start_time_utc(self, value: Optional[pulumi.Input[str]]):
3091
+ pulumi.set(self, "start_time_utc", value)
3092
+
3093
+ @property
3094
+ @pulumi.getter
3095
+ def status(self) -> Optional[pulumi.Input[str]]:
3096
+ """
3097
+ Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'.
3098
+ """
3099
+ return pulumi.get(self, "status")
3100
+
3101
+ @status.setter
3102
+ def status(self, value: Optional[pulumi.Input[str]]):
3103
+ pulumi.set(self, "status", value)
3104
+
3105
+ @property
3106
+ @pulumi.getter
3107
+ def steps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StepArgs']]]]:
3108
+ """
3109
+ Recursive model for child steps of this step.
3110
+ """
3111
+ return pulumi.get(self, "steps")
3112
+
3113
+ @steps.setter
3114
+ def steps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StepArgs']]]]):
3115
+ pulumi.set(self, "steps", value)
3116
+
3117
+
3118
+ if not MYPY:
3119
+ class StorageAdapterIPInfoArgsDict(TypedDict):
3120
+ """
3121
+ The StorageAdapter physical nodes of a cluster.
3122
+ """
3123
+ ipv4_address: NotRequired[pulumi.Input[str]]
3124
+ """
3125
+ The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3126
+ """
3127
+ physical_node: NotRequired[pulumi.Input[str]]
3128
+ """
3129
+ storage adapter physical node name.
3130
+ """
3131
+ subnet_mask: NotRequired[pulumi.Input[str]]
3132
+ """
3133
+ The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3134
+ """
3135
+ elif False:
3136
+ StorageAdapterIPInfoArgsDict: TypeAlias = Mapping[str, Any]
3137
+
3138
+ @pulumi.input_type
3139
+ class StorageAdapterIPInfoArgs:
3140
+ def __init__(__self__, *,
3141
+ ipv4_address: Optional[pulumi.Input[str]] = None,
3142
+ physical_node: Optional[pulumi.Input[str]] = None,
3143
+ subnet_mask: Optional[pulumi.Input[str]] = None):
3144
+ """
3145
+ The StorageAdapter physical nodes of a cluster.
3146
+ :param pulumi.Input[str] ipv4_address: The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3147
+ :param pulumi.Input[str] physical_node: storage adapter physical node name.
3148
+ :param pulumi.Input[str] subnet_mask: The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3149
+ """
3150
+ if ipv4_address is not None:
3151
+ pulumi.set(__self__, "ipv4_address", ipv4_address)
3152
+ if physical_node is not None:
3153
+ pulumi.set(__self__, "physical_node", physical_node)
3154
+ if subnet_mask is not None:
3155
+ pulumi.set(__self__, "subnet_mask", subnet_mask)
3156
+
3157
+ @property
3158
+ @pulumi.getter(name="ipv4Address")
3159
+ def ipv4_address(self) -> Optional[pulumi.Input[str]]:
3160
+ """
3161
+ The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3162
+ """
3163
+ return pulumi.get(self, "ipv4_address")
3164
+
3165
+ @ipv4_address.setter
3166
+ def ipv4_address(self, value: Optional[pulumi.Input[str]]):
3167
+ pulumi.set(self, "ipv4_address", value)
3168
+
3169
+ @property
3170
+ @pulumi.getter(name="physicalNode")
3171
+ def physical_node(self) -> Optional[pulumi.Input[str]]:
3172
+ """
3173
+ storage adapter physical node name.
3174
+ """
3175
+ return pulumi.get(self, "physical_node")
3176
+
3177
+ @physical_node.setter
3178
+ def physical_node(self, value: Optional[pulumi.Input[str]]):
3179
+ pulumi.set(self, "physical_node", value)
3180
+
3181
+ @property
3182
+ @pulumi.getter(name="subnetMask")
3183
+ def subnet_mask(self) -> Optional[pulumi.Input[str]]:
3184
+ """
3185
+ The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster.
3186
+ """
3187
+ return pulumi.get(self, "subnet_mask")
3188
+
3189
+ @subnet_mask.setter
3190
+ def subnet_mask(self, value: Optional[pulumi.Input[str]]):
3191
+ pulumi.set(self, "subnet_mask", value)
3192
+
3193
+
3194
+ if not MYPY:
3195
+ class StorageNetworksArgsDict(TypedDict):
3196
+ """
3197
+ The StorageNetworks of a cluster.
3198
+ """
3199
+ name: NotRequired[pulumi.Input[str]]
3200
+ """
3201
+ Name of the storage network.
3202
+ """
3203
+ network_adapter_name: NotRequired[pulumi.Input[str]]
3204
+ """
3205
+ Name of the storage network adapter.
3206
+ """
3207
+ storage_adapter_ip_info: NotRequired[pulumi.Input[Sequence[pulumi.Input['StorageAdapterIPInfoArgsDict']]]]
3208
+ """
3209
+ List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.
3210
+ """
3211
+ vlan_id: NotRequired[pulumi.Input[str]]
3212
+ """
3213
+ ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic.
3214
+ """
3215
+ elif False:
3216
+ StorageNetworksArgsDict: TypeAlias = Mapping[str, Any]
3217
+
3218
+ @pulumi.input_type
3219
+ class StorageNetworksArgs:
3220
+ def __init__(__self__, *,
3221
+ name: Optional[pulumi.Input[str]] = None,
3222
+ network_adapter_name: Optional[pulumi.Input[str]] = None,
3223
+ storage_adapter_ip_info: Optional[pulumi.Input[Sequence[pulumi.Input['StorageAdapterIPInfoArgs']]]] = None,
3224
+ vlan_id: Optional[pulumi.Input[str]] = None):
3225
+ """
3226
+ The StorageNetworks of a cluster.
3227
+ :param pulumi.Input[str] name: Name of the storage network.
3228
+ :param pulumi.Input[str] network_adapter_name: Name of the storage network adapter.
3229
+ :param pulumi.Input[Sequence[pulumi.Input['StorageAdapterIPInfoArgs']]] storage_adapter_ip_info: List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.
3230
+ :param pulumi.Input[str] vlan_id: ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic.
3231
+ """
3232
+ if name is not None:
3233
+ pulumi.set(__self__, "name", name)
3234
+ if network_adapter_name is not None:
3235
+ pulumi.set(__self__, "network_adapter_name", network_adapter_name)
3236
+ if storage_adapter_ip_info is not None:
3237
+ pulumi.set(__self__, "storage_adapter_ip_info", storage_adapter_ip_info)
3238
+ if vlan_id is not None:
3239
+ pulumi.set(__self__, "vlan_id", vlan_id)
3240
+
3241
+ @property
3242
+ @pulumi.getter
3243
+ def name(self) -> Optional[pulumi.Input[str]]:
3244
+ """
3245
+ Name of the storage network.
3246
+ """
3247
+ return pulumi.get(self, "name")
3248
+
3249
+ @name.setter
3250
+ def name(self, value: Optional[pulumi.Input[str]]):
3251
+ pulumi.set(self, "name", value)
3252
+
3253
+ @property
3254
+ @pulumi.getter(name="networkAdapterName")
3255
+ def network_adapter_name(self) -> Optional[pulumi.Input[str]]:
3256
+ """
3257
+ Name of the storage network adapter.
3258
+ """
3259
+ return pulumi.get(self, "network_adapter_name")
3260
+
3261
+ @network_adapter_name.setter
3262
+ def network_adapter_name(self, value: Optional[pulumi.Input[str]]):
3263
+ pulumi.set(self, "network_adapter_name", value)
3264
+
3265
+ @property
3266
+ @pulumi.getter(name="storageAdapterIPInfo")
3267
+ def storage_adapter_ip_info(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StorageAdapterIPInfoArgs']]]]:
3268
+ """
3269
+ List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.
3270
+ """
3271
+ return pulumi.get(self, "storage_adapter_ip_info")
3272
+
3273
+ @storage_adapter_ip_info.setter
3274
+ def storage_adapter_ip_info(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StorageAdapterIPInfoArgs']]]]):
3275
+ pulumi.set(self, "storage_adapter_ip_info", value)
3276
+
3277
+ @property
3278
+ @pulumi.getter(name="vlanId")
3279
+ def vlan_id(self) -> Optional[pulumi.Input[str]]:
3280
+ """
3281
+ ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic.
3282
+ """
3283
+ return pulumi.get(self, "vlan_id")
3284
+
3285
+ @vlan_id.setter
3286
+ def vlan_id(self, value: Optional[pulumi.Input[str]]):
3287
+ pulumi.set(self, "vlan_id", value)
3288
+
3289
+
3290
+ if not MYPY:
3291
+ class StorageArgsDict(TypedDict):
3292
+ """
3293
+ The Storage config of AzureStackHCI Cluster.
3294
+ """
3295
+ configuration_mode: NotRequired[pulumi.Input[str]]
3296
+ """
3297
+ By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage'
3298
+ """
3299
+ elif False:
3300
+ StorageArgsDict: TypeAlias = Mapping[str, Any]
3301
+
3302
+ @pulumi.input_type
3303
+ class StorageArgs:
3304
+ def __init__(__self__, *,
3305
+ configuration_mode: Optional[pulumi.Input[str]] = None):
3306
+ """
3307
+ The Storage config of AzureStackHCI Cluster.
3308
+ :param pulumi.Input[str] configuration_mode: By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage'
3309
+ """
3310
+ if configuration_mode is None:
3311
+ configuration_mode = 'Express'
3312
+ if configuration_mode is not None:
3313
+ pulumi.set(__self__, "configuration_mode", configuration_mode)
3314
+
3315
+ @property
3316
+ @pulumi.getter(name="configurationMode")
3317
+ def configuration_mode(self) -> Optional[pulumi.Input[str]]:
3318
+ """
3319
+ By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage'
3320
+ """
3321
+ return pulumi.get(self, "configuration_mode")
3322
+
3323
+ @configuration_mode.setter
3324
+ def configuration_mode(self, value: Optional[pulumi.Input[str]]):
3325
+ pulumi.set(self, "configuration_mode", value)
3326
+
3327
+
3328
+ if not MYPY:
3329
+ class UpdatePrerequisiteArgsDict(TypedDict):
3330
+ """
3331
+ If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
3332
+ """
3333
+ package_name: NotRequired[pulumi.Input[str]]
3334
+ """
3335
+ Friendly name of the prerequisite.
3336
+ """
3337
+ update_type: NotRequired[pulumi.Input[str]]
3338
+ """
3339
+ Updatable component type.
3340
+ """
3341
+ version: NotRequired[pulumi.Input[str]]
3342
+ """
3343
+ Version of the prerequisite.
3344
+ """
3345
+ elif False:
3346
+ UpdatePrerequisiteArgsDict: TypeAlias = Mapping[str, Any]
3347
+
3348
+ @pulumi.input_type
3349
+ class UpdatePrerequisiteArgs:
3350
+ def __init__(__self__, *,
3351
+ package_name: Optional[pulumi.Input[str]] = None,
3352
+ update_type: Optional[pulumi.Input[str]] = None,
3353
+ version: Optional[pulumi.Input[str]] = None):
3354
+ """
3355
+ If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.
3356
+ :param pulumi.Input[str] package_name: Friendly name of the prerequisite.
3357
+ :param pulumi.Input[str] update_type: Updatable component type.
3358
+ :param pulumi.Input[str] version: Version of the prerequisite.
3359
+ """
3360
+ if package_name is not None:
3361
+ pulumi.set(__self__, "package_name", package_name)
3362
+ if update_type is not None:
3363
+ pulumi.set(__self__, "update_type", update_type)
3364
+ if version is not None:
3365
+ pulumi.set(__self__, "version", version)
3366
+
3367
+ @property
3368
+ @pulumi.getter(name="packageName")
3369
+ def package_name(self) -> Optional[pulumi.Input[str]]:
3370
+ """
3371
+ Friendly name of the prerequisite.
3372
+ """
3373
+ return pulumi.get(self, "package_name")
3374
+
3375
+ @package_name.setter
3376
+ def package_name(self, value: Optional[pulumi.Input[str]]):
3377
+ pulumi.set(self, "package_name", value)
3378
+
3379
+ @property
3380
+ @pulumi.getter(name="updateType")
3381
+ def update_type(self) -> Optional[pulumi.Input[str]]:
3382
+ """
3383
+ Updatable component type.
3384
+ """
3385
+ return pulumi.get(self, "update_type")
3386
+
3387
+ @update_type.setter
3388
+ def update_type(self, value: Optional[pulumi.Input[str]]):
3389
+ pulumi.set(self, "update_type", value)
3390
+
3391
+ @property
3392
+ @pulumi.getter
3393
+ def version(self) -> Optional[pulumi.Input[str]]:
3394
+ """
3395
+ Version of the prerequisite.
3396
+ """
3397
+ return pulumi.get(self, "version")
3398
+
3399
+ @version.setter
3400
+ def version(self, value: Optional[pulumi.Input[str]]):
3401
+ pulumi.set(self, "version", value)
3402
+
3403
+
3404
+ if not MYPY:
3405
+ class VirtualSwitchConfigurationOverridesArgsDict(TypedDict):
3406
+ """
3407
+ The VirtualSwitchConfigurationOverrides of a cluster.
3408
+ """
3409
+ enable_iov: NotRequired[pulumi.Input[str]]
3410
+ """
3411
+ Enable IoV for Virtual Switch
3412
+ """
3413
+ load_balancing_algorithm: NotRequired[pulumi.Input[str]]
3414
+ """
3415
+ Load Balancing Algorithm for Virtual Switch
3416
+ """
3417
+ elif False:
3418
+ VirtualSwitchConfigurationOverridesArgsDict: TypeAlias = Mapping[str, Any]
3419
+
3420
+ @pulumi.input_type
3421
+ class VirtualSwitchConfigurationOverridesArgs:
3422
+ def __init__(__self__, *,
3423
+ enable_iov: Optional[pulumi.Input[str]] = None,
3424
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None):
3425
+ """
3426
+ The VirtualSwitchConfigurationOverrides of a cluster.
3427
+ :param pulumi.Input[str] enable_iov: Enable IoV for Virtual Switch
3428
+ :param pulumi.Input[str] load_balancing_algorithm: Load Balancing Algorithm for Virtual Switch
3429
+ """
3430
+ if enable_iov is not None:
3431
+ pulumi.set(__self__, "enable_iov", enable_iov)
3432
+ if load_balancing_algorithm is not None:
3433
+ pulumi.set(__self__, "load_balancing_algorithm", load_balancing_algorithm)
3434
+
3435
+ @property
3436
+ @pulumi.getter(name="enableIov")
3437
+ def enable_iov(self) -> Optional[pulumi.Input[str]]:
3438
+ """
3439
+ Enable IoV for Virtual Switch
3440
+ """
3441
+ return pulumi.get(self, "enable_iov")
3442
+
3443
+ @enable_iov.setter
3444
+ def enable_iov(self, value: Optional[pulumi.Input[str]]):
3445
+ pulumi.set(self, "enable_iov", value)
3446
+
3447
+ @property
3448
+ @pulumi.getter(name="loadBalancingAlgorithm")
3449
+ def load_balancing_algorithm(self) -> Optional[pulumi.Input[str]]:
3450
+ """
3451
+ Load Balancing Algorithm for Virtual Switch
3452
+ """
3453
+ return pulumi.get(self, "load_balancing_algorithm")
3454
+
3455
+ @load_balancing_algorithm.setter
3456
+ def load_balancing_algorithm(self, value: Optional[pulumi.Input[str]]):
3457
+ pulumi.set(self, "load_balancing_algorithm", value)
3458
+
3459
+