pulumi-azure-native 2.9.1a1696411987__py3-none-any.whl → 2.10.0__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 (317) hide show
  1. pulumi_azure_native/__init__.py +133 -1
  2. pulumi_azure_native/baremetalinfrastructure/__init__.py +3 -0
  3. pulumi_azure_native/baremetalinfrastructure/azure_bare_metal_storage_instance.py +1 -1
  4. pulumi_azure_native/baremetalinfrastructure/v20230406/azure_bare_metal_storage_instance.py +1 -1
  5. pulumi_azure_native/baremetalinfrastructure/v20230804preview/__init__.py +12 -0
  6. pulumi_azure_native/baremetalinfrastructure/v20230804preview/_enums.py +23 -0
  7. pulumi_azure_native/baremetalinfrastructure/v20230804preview/_inputs.py +177 -0
  8. pulumi_azure_native/baremetalinfrastructure/v20230804preview/azure_bare_metal_storage_instance.py +282 -0
  9. pulumi_azure_native/baremetalinfrastructure/v20230804preview/get_azure_bare_metal_storage_instance.py +170 -0
  10. pulumi_azure_native/baremetalinfrastructure/v20230804preview/outputs.py +305 -0
  11. pulumi_azure_native/chaos/__init__.py +3 -0
  12. pulumi_azure_native/chaos/capability.py +1 -1
  13. pulumi_azure_native/chaos/experiment.py +1 -1
  14. pulumi_azure_native/chaos/target.py +1 -1
  15. pulumi_azure_native/chaos/v20230415preview/capability.py +1 -1
  16. pulumi_azure_native/chaos/v20230415preview/experiment.py +1 -1
  17. pulumi_azure_native/chaos/v20230415preview/target.py +1 -1
  18. pulumi_azure_native/chaos/v20230901preview/__init__.py +16 -0
  19. pulumi_azure_native/chaos/v20230901preview/_enums.py +43 -0
  20. pulumi_azure_native/chaos/v20230901preview/_inputs.py +689 -0
  21. pulumi_azure_native/chaos/v20230901preview/capability.py +258 -0
  22. pulumi_azure_native/chaos/v20230901preview/experiment.py +293 -0
  23. pulumi_azure_native/chaos/v20230901preview/get_capability.py +151 -0
  24. pulumi_azure_native/chaos/v20230901preview/get_experiment.py +183 -0
  25. pulumi_azure_native/chaos/v20230901preview/get_target.py +159 -0
  26. pulumi_azure_native/chaos/v20230901preview/outputs.py +931 -0
  27. pulumi_azure_native/chaos/v20230901preview/target.py +286 -0
  28. pulumi_azure_native/containerservice/__init__.py +3 -0
  29. pulumi_azure_native/containerservice/agent_pool.py +1 -1
  30. pulumi_azure_native/containerservice/maintenance_configuration.py +1 -1
  31. pulumi_azure_native/containerservice/managed_cluster.py +1 -1
  32. pulumi_azure_native/containerservice/managed_cluster_snapshot.py +1 -1
  33. pulumi_azure_native/containerservice/private_endpoint_connection.py +1 -1
  34. pulumi_azure_native/containerservice/snapshot.py +1 -1
  35. pulumi_azure_native/containerservice/trusted_access_role_binding.py +1 -1
  36. pulumi_azure_native/containerservice/v20190601/managed_cluster.py +1 -1
  37. pulumi_azure_native/containerservice/v20200601/agent_pool.py +1 -1
  38. pulumi_azure_native/containerservice/v20210201/agent_pool.py +1 -1
  39. pulumi_azure_native/containerservice/v20210501/managed_cluster.py +1 -1
  40. pulumi_azure_native/containerservice/v20210801/agent_pool.py +1 -1
  41. pulumi_azure_native/containerservice/v20220402preview/agent_pool.py +1 -1
  42. pulumi_azure_native/containerservice/v20230401/agent_pool.py +1 -1
  43. pulumi_azure_native/containerservice/v20230401/maintenance_configuration.py +1 -1
  44. pulumi_azure_native/containerservice/v20230401/managed_cluster.py +1 -1
  45. pulumi_azure_native/containerservice/v20230401/private_endpoint_connection.py +1 -1
  46. pulumi_azure_native/containerservice/v20230401/snapshot.py +1 -1
  47. pulumi_azure_native/containerservice/v20230502preview/agent_pool.py +1 -1
  48. pulumi_azure_native/containerservice/v20230502preview/maintenance_configuration.py +1 -1
  49. pulumi_azure_native/containerservice/v20230502preview/managed_cluster.py +1 -1
  50. pulumi_azure_native/containerservice/v20230502preview/managed_cluster_snapshot.py +1 -1
  51. pulumi_azure_native/containerservice/v20230502preview/private_endpoint_connection.py +1 -1
  52. pulumi_azure_native/containerservice/v20230502preview/snapshot.py +1 -1
  53. pulumi_azure_native/containerservice/v20230502preview/trusted_access_role_binding.py +1 -1
  54. pulumi_azure_native/containerservice/v20230601/agent_pool.py +1 -1
  55. pulumi_azure_native/containerservice/v20230601/maintenance_configuration.py +1 -1
  56. pulumi_azure_native/containerservice/v20230601/managed_cluster.py +1 -1
  57. pulumi_azure_native/containerservice/v20230601/private_endpoint_connection.py +1 -1
  58. pulumi_azure_native/containerservice/v20230601/snapshot.py +1 -1
  59. pulumi_azure_native/containerservice/v20230602preview/agent_pool.py +1 -1
  60. pulumi_azure_native/containerservice/v20230602preview/maintenance_configuration.py +1 -1
  61. pulumi_azure_native/containerservice/v20230602preview/managed_cluster.py +1 -1
  62. pulumi_azure_native/containerservice/v20230602preview/managed_cluster_snapshot.py +1 -1
  63. pulumi_azure_native/containerservice/v20230602preview/private_endpoint_connection.py +1 -1
  64. pulumi_azure_native/containerservice/v20230602preview/snapshot.py +1 -1
  65. pulumi_azure_native/containerservice/v20230602preview/trusted_access_role_binding.py +1 -1
  66. pulumi_azure_native/containerservice/v20230701/agent_pool.py +1 -1
  67. pulumi_azure_native/containerservice/v20230701/maintenance_configuration.py +1 -1
  68. pulumi_azure_native/containerservice/v20230701/managed_cluster.py +1 -1
  69. pulumi_azure_native/containerservice/v20230701/private_endpoint_connection.py +1 -1
  70. pulumi_azure_native/containerservice/v20230701/snapshot.py +1 -1
  71. pulumi_azure_native/containerservice/v20230702preview/agent_pool.py +1 -1
  72. pulumi_azure_native/containerservice/v20230702preview/maintenance_configuration.py +1 -1
  73. pulumi_azure_native/containerservice/v20230702preview/managed_cluster.py +1 -1
  74. pulumi_azure_native/containerservice/v20230702preview/managed_cluster_snapshot.py +1 -1
  75. pulumi_azure_native/containerservice/v20230702preview/private_endpoint_connection.py +1 -1
  76. pulumi_azure_native/containerservice/v20230702preview/snapshot.py +1 -1
  77. pulumi_azure_native/containerservice/v20230702preview/trusted_access_role_binding.py +1 -1
  78. pulumi_azure_native/containerservice/v20230801/agent_pool.py +1 -1
  79. pulumi_azure_native/containerservice/v20230801/maintenance_configuration.py +1 -1
  80. pulumi_azure_native/containerservice/v20230801/managed_cluster.py +1 -1
  81. pulumi_azure_native/containerservice/v20230801/private_endpoint_connection.py +1 -1
  82. pulumi_azure_native/containerservice/v20230801/snapshot.py +1 -1
  83. pulumi_azure_native/containerservice/v20230802preview/__init__.py +27 -0
  84. pulumi_azure_native/containerservice/v20230802preview/_enums.py +741 -0
  85. pulumi_azure_native/containerservice/v20230802preview/_inputs.py +6236 -0
  86. pulumi_azure_native/containerservice/v20230802preview/agent_pool.py +1473 -0
  87. pulumi_azure_native/containerservice/v20230802preview/get_agent_pool.py +708 -0
  88. pulumi_azure_native/containerservice/v20230802preview/get_maintenance_configuration.py +162 -0
  89. pulumi_azure_native/containerservice/v20230802preview/get_managed_cluster.py +768 -0
  90. pulumi_azure_native/containerservice/v20230802preview/get_managed_cluster_snapshot.py +183 -0
  91. pulumi_azure_native/containerservice/v20230802preview/get_private_endpoint_connection.py +149 -0
  92. pulumi_azure_native/containerservice/v20230802preview/get_snapshot.py +248 -0
  93. pulumi_azure_native/containerservice/v20230802preview/get_trusted_access_role_binding.py +162 -0
  94. pulumi_azure_native/containerservice/v20230802preview/list_managed_cluster_admin_credentials.py +84 -0
  95. pulumi_azure_native/containerservice/v20230802preview/list_managed_cluster_monitoring_user_credentials.py +84 -0
  96. pulumi_azure_native/containerservice/v20230802preview/list_managed_cluster_user_credentials.py +89 -0
  97. pulumi_azure_native/containerservice/v20230802preview/maintenance_configuration.py +274 -0
  98. pulumi_azure_native/containerservice/v20230802preview/managed_cluster.py +1464 -0
  99. pulumi_azure_native/containerservice/v20230802preview/managed_cluster_snapshot.py +292 -0
  100. pulumi_azure_native/containerservice/v20230802preview/outputs.py +7383 -0
  101. pulumi_azure_native/containerservice/v20230802preview/private_endpoint_connection.py +246 -0
  102. pulumi_azure_native/containerservice/v20230802preview/snapshot.py +342 -0
  103. pulumi_azure_native/containerservice/v20230802preview/trusted_access_role_binding.py +255 -0
  104. pulumi_azure_native/dashboard/__init__.py +5 -0
  105. pulumi_azure_native/dashboard/get_managed_private_endpoint.py +255 -0
  106. pulumi_azure_native/dashboard/grafana.py +1 -1
  107. pulumi_azure_native/dashboard/managed_private_endpoint.py +420 -0
  108. pulumi_azure_native/dashboard/outputs.py +34 -0
  109. pulumi_azure_native/dashboard/private_endpoint_connection.py +1 -1
  110. pulumi_azure_native/dashboard/v20210901preview/grafana.py +1 -1
  111. pulumi_azure_native/dashboard/v20220801/grafana.py +1 -1
  112. pulumi_azure_native/dashboard/v20220801/private_endpoint_connection.py +1 -1
  113. pulumi_azure_native/dashboard/v20221001preview/__init__.py +16 -0
  114. pulumi_azure_native/dashboard/v20221001preview/_enums.py +93 -0
  115. pulumi_azure_native/dashboard/v20221001preview/_inputs.py +560 -0
  116. pulumi_azure_native/dashboard/v20221001preview/get_grafana.py +183 -0
  117. pulumi_azure_native/dashboard/v20221001preview/get_managed_private_endpoint.py +253 -0
  118. pulumi_azure_native/dashboard/v20221001preview/get_private_endpoint_connection.py +175 -0
  119. pulumi_azure_native/dashboard/v20221001preview/grafana.py +311 -0
  120. pulumi_azure_native/dashboard/v20221001preview/managed_private_endpoint.py +418 -0
  121. pulumi_azure_native/dashboard/v20221001preview/outputs.py +1092 -0
  122. pulumi_azure_native/dashboard/v20221001preview/private_endpoint_connection.py +266 -0
  123. pulumi_azure_native/datadog/__init__.py +8 -0
  124. pulumi_azure_native/datadog/_enums.py +32 -0
  125. pulumi_azure_native/datadog/_inputs.py +326 -0
  126. pulumi_azure_native/datadog/get_monitored_subscription.py +125 -0
  127. pulumi_azure_native/datadog/monitor.py +1 -1
  128. pulumi_azure_native/datadog/monitored_subscription.py +208 -0
  129. pulumi_azure_native/datadog/outputs.py +368 -0
  130. pulumi_azure_native/datadog/v20220601/monitor.py +1 -1
  131. pulumi_azure_native/datadog/v20220801/__init__.py +17 -0
  132. pulumi_azure_native/datadog/v20220801/_enums.py +26 -0
  133. pulumi_azure_native/datadog/v20220801/_inputs.py +329 -0
  134. pulumi_azure_native/datadog/v20220801/get_monitor.py +166 -0
  135. pulumi_azure_native/datadog/v20220801/get_monitor_default_key.py +112 -0
  136. pulumi_azure_native/datadog/v20220801/list_monitor_api_keys.py +92 -0
  137. pulumi_azure_native/datadog/v20220801/list_monitor_hosts.py +92 -0
  138. pulumi_azure_native/datadog/v20220801/list_monitor_linked_resources.py +92 -0
  139. pulumi_azure_native/datadog/v20220801/list_monitor_monitored_resources.py +92 -0
  140. pulumi_azure_native/datadog/v20220801/monitor.py +277 -0
  141. pulumi_azure_native/datadog/v20220801/outputs.py +738 -0
  142. pulumi_azure_native/datadog/v20230101/__init__.py +19 -0
  143. pulumi_azure_native/datadog/v20230101/_enums.py +58 -0
  144. pulumi_azure_native/datadog/v20230101/_inputs.py +655 -0
  145. pulumi_azure_native/datadog/v20230101/get_monitor.py +166 -0
  146. pulumi_azure_native/datadog/v20230101/get_monitor_default_key.py +112 -0
  147. pulumi_azure_native/datadog/v20230101/get_monitored_subscription.py +123 -0
  148. pulumi_azure_native/datadog/v20230101/list_monitor_api_keys.py +92 -0
  149. pulumi_azure_native/datadog/v20230101/list_monitor_hosts.py +92 -0
  150. pulumi_azure_native/datadog/v20230101/list_monitor_linked_resources.py +92 -0
  151. pulumi_azure_native/datadog/v20230101/list_monitor_monitored_resources.py +92 -0
  152. pulumi_azure_native/datadog/v20230101/monitor.py +277 -0
  153. pulumi_azure_native/datadog/v20230101/monitored_subscription.py +206 -0
  154. pulumi_azure_native/datadog/v20230101/outputs.py +1106 -0
  155. pulumi_azure_native/datafactory/_inputs.py +16 -0
  156. pulumi_azure_native/datafactory/outputs.py +12 -0
  157. pulumi_azure_native/datafactory/v20180601/_inputs.py +16 -0
  158. pulumi_azure_native/datafactory/v20180601/outputs.py +12 -0
  159. pulumi_azure_native/migrate/__init__.py +8 -0
  160. pulumi_azure_native/migrate/_enums.py +69 -5
  161. pulumi_azure_native/migrate/_inputs.py +20 -20
  162. pulumi_azure_native/migrate/get_private_endpoint_connection_proxy_controller.py +139 -0
  163. pulumi_azure_native/migrate/get_solutions_controller_config.py +85 -0
  164. pulumi_azure_native/migrate/get_solutions_controller_solution.py +138 -0
  165. pulumi_azure_native/migrate/migrate_project.py +1 -1
  166. pulumi_azure_native/migrate/migrate_projects_controller_migrate_project.py +1 -1
  167. pulumi_azure_native/migrate/outputs.py +471 -3
  168. pulumi_azure_native/migrate/private_endpoint_connection_controller_private_endpoint_connection.py +1 -1
  169. pulumi_azure_native/migrate/private_endpoint_connection_proxy_controller.py +212 -0
  170. pulumi_azure_native/migrate/solution.py +2 -1
  171. pulumi_azure_native/migrate/solutions_controller_solution.py +218 -0
  172. pulumi_azure_native/migrate/v20180901preview/migrate_project.py +1 -1
  173. pulumi_azure_native/migrate/v20180901preview/solution.py +1 -1
  174. pulumi_azure_native/migrate/v20200501/migrate_projects_controller_migrate_project.py +1 -1
  175. pulumi_azure_native/migrate/v20200501/private_endpoint_connection_controller_private_endpoint_connection.py +1 -1
  176. pulumi_azure_native/migrate/v20230101/__init__.py +19 -0
  177. pulumi_azure_native/migrate/v20230101/_enums.py +104 -0
  178. pulumi_azure_native/migrate/v20230101/_inputs.py +316 -0
  179. pulumi_azure_native/migrate/v20230101/get_migrate_projects_controller_migrate_project.py +157 -0
  180. pulumi_azure_native/migrate/v20230101/get_private_endpoint_connection_controller_private_endpoint_connection.py +149 -0
  181. pulumi_azure_native/migrate/v20230101/get_private_endpoint_connection_proxy_controller.py +137 -0
  182. pulumi_azure_native/migrate/v20230101/get_solutions_controller_config.py +83 -0
  183. pulumi_azure_native/migrate/v20230101/get_solutions_controller_solution.py +136 -0
  184. pulumi_azure_native/migrate/v20230101/migrate_projects_controller_migrate_project.py +253 -0
  185. pulumi_azure_native/migrate/v20230101/outputs.py +1240 -0
  186. pulumi_azure_native/migrate/v20230101/private_endpoint_connection_controller_private_endpoint_connection.py +226 -0
  187. pulumi_azure_native/migrate/v20230101/private_endpoint_connection_proxy_controller.py +210 -0
  188. pulumi_azure_native/migrate/v20230101/solutions_controller_solution.py +216 -0
  189. pulumi_azure_native/networkanalytics/__init__.py +23 -0
  190. pulumi_azure_native/networkanalytics/_enums.py +64 -0
  191. pulumi_azure_native/networkanalytics/_inputs.py +313 -0
  192. pulumi_azure_native/networkanalytics/data_product.py +715 -0
  193. pulumi_azure_native/networkanalytics/data_type.py +334 -0
  194. pulumi_azure_native/networkanalytics/get_data_product.py +406 -0
  195. pulumi_azure_native/networkanalytics/get_data_type.py +216 -0
  196. pulumi_azure_native/networkanalytics/list_data_product_roles_assignments.py +94 -0
  197. pulumi_azure_native/networkanalytics/outputs.py +679 -0
  198. pulumi_azure_native/networkanalytics/v20231115/__init__.py +15 -0
  199. pulumi_azure_native/networkanalytics/v20231115/_enums.py +64 -0
  200. pulumi_azure_native/networkanalytics/v20231115/_inputs.py +313 -0
  201. pulumi_azure_native/networkanalytics/v20231115/data_product.py +713 -0
  202. pulumi_azure_native/networkanalytics/v20231115/data_type.py +332 -0
  203. pulumi_azure_native/networkanalytics/v20231115/get_data_product.py +404 -0
  204. pulumi_azure_native/networkanalytics/v20231115/get_data_type.py +214 -0
  205. pulumi_azure_native/networkanalytics/v20231115/list_data_product_roles_assignments.py +92 -0
  206. pulumi_azure_native/networkanalytics/v20231115/outputs.py +679 -0
  207. pulumi_azure_native/redhatopenshift/__init__.py +3 -0
  208. pulumi_azure_native/redhatopenshift/machine_pool.py +1 -1
  209. pulumi_azure_native/redhatopenshift/open_shift_cluster.py +1 -1
  210. pulumi_azure_native/redhatopenshift/secret.py +1 -1
  211. pulumi_azure_native/redhatopenshift/sync_identity_provider.py +1 -1
  212. pulumi_azure_native/redhatopenshift/sync_set.py +1 -1
  213. pulumi_azure_native/redhatopenshift/v20220904/machine_pool.py +1 -1
  214. pulumi_azure_native/redhatopenshift/v20220904/open_shift_cluster.py +1 -1
  215. pulumi_azure_native/redhatopenshift/v20220904/secret.py +1 -1
  216. pulumi_azure_native/redhatopenshift/v20220904/sync_identity_provider.py +1 -1
  217. pulumi_azure_native/redhatopenshift/v20220904/sync_set.py +1 -1
  218. pulumi_azure_native/redhatopenshift/v20230401/machine_pool.py +1 -1
  219. pulumi_azure_native/redhatopenshift/v20230401/open_shift_cluster.py +1 -1
  220. pulumi_azure_native/redhatopenshift/v20230401/secret.py +1 -1
  221. pulumi_azure_native/redhatopenshift/v20230401/sync_identity_provider.py +1 -1
  222. pulumi_azure_native/redhatopenshift/v20230401/sync_set.py +1 -1
  223. pulumi_azure_native/redhatopenshift/v20230701preview/machine_pool.py +1 -1
  224. pulumi_azure_native/redhatopenshift/v20230701preview/open_shift_cluster.py +1 -1
  225. pulumi_azure_native/redhatopenshift/v20230701preview/secret.py +1 -1
  226. pulumi_azure_native/redhatopenshift/v20230701preview/sync_identity_provider.py +1 -1
  227. pulumi_azure_native/redhatopenshift/v20230701preview/sync_set.py +1 -1
  228. pulumi_azure_native/redhatopenshift/v20230904/__init__.py +22 -0
  229. pulumi_azure_native/redhatopenshift/v20230904/_enums.py +66 -0
  230. pulumi_azure_native/redhatopenshift/v20230904/_inputs.py +551 -0
  231. pulumi_azure_native/redhatopenshift/v20230904/get_machine_pool.py +133 -0
  232. pulumi_azure_native/redhatopenshift/v20230904/get_open_shift_cluster.py +274 -0
  233. pulumi_azure_native/redhatopenshift/v20230904/get_secret.py +136 -0
  234. pulumi_azure_native/redhatopenshift/v20230904/get_sync_identity_provider.py +133 -0
  235. pulumi_azure_native/redhatopenshift/v20230904/get_sync_set.py +136 -0
  236. pulumi_azure_native/redhatopenshift/v20230904/list_open_shift_cluster_admin_credentials.py +78 -0
  237. pulumi_azure_native/redhatopenshift/v20230904/list_open_shift_cluster_credentials.py +91 -0
  238. pulumi_azure_native/redhatopenshift/v20230904/machine_pool.py +206 -0
  239. pulumi_azure_native/redhatopenshift/v20230904/open_shift_cluster.py +495 -0
  240. pulumi_azure_native/redhatopenshift/v20230904/outputs.py +681 -0
  241. pulumi_azure_native/redhatopenshift/v20230904/secret.py +214 -0
  242. pulumi_azure_native/redhatopenshift/v20230904/sync_identity_provider.py +206 -0
  243. pulumi_azure_native/redhatopenshift/v20230904/sync_set.py +214 -0
  244. pulumi_azure_native/servicefabric/__init__.py +3 -0
  245. pulumi_azure_native/servicefabric/managed_cluster.py +1 -1
  246. pulumi_azure_native/servicefabric/managed_cluster_application.py +1 -1
  247. pulumi_azure_native/servicefabric/managed_cluster_application_type.py +1 -1
  248. pulumi_azure_native/servicefabric/managed_cluster_application_type_version.py +1 -1
  249. pulumi_azure_native/servicefabric/managed_cluster_service.py +1 -1
  250. pulumi_azure_native/servicefabric/node_type.py +1 -1
  251. pulumi_azure_native/servicefabric/v20200101preview/managed_cluster.py +1 -1
  252. pulumi_azure_native/servicefabric/v20220101/managed_cluster.py +1 -1
  253. pulumi_azure_native/servicefabric/v20221001preview/managed_cluster.py +1 -1
  254. pulumi_azure_native/servicefabric/v20230301preview/managed_cluster.py +1 -1
  255. pulumi_azure_native/servicefabric/v20230301preview/managed_cluster_application.py +1 -1
  256. pulumi_azure_native/servicefabric/v20230301preview/managed_cluster_application_type.py +1 -1
  257. pulumi_azure_native/servicefabric/v20230301preview/managed_cluster_application_type_version.py +1 -1
  258. pulumi_azure_native/servicefabric/v20230301preview/managed_cluster_service.py +1 -1
  259. pulumi_azure_native/servicefabric/v20230301preview/node_type.py +1 -1
  260. pulumi_azure_native/servicefabric/v20230701preview/managed_cluster.py +1 -1
  261. pulumi_azure_native/servicefabric/v20230701preview/managed_cluster_application.py +1 -1
  262. pulumi_azure_native/servicefabric/v20230701preview/managed_cluster_application_type.py +1 -1
  263. pulumi_azure_native/servicefabric/v20230701preview/managed_cluster_application_type_version.py +1 -1
  264. pulumi_azure_native/servicefabric/v20230701preview/managed_cluster_service.py +1 -1
  265. pulumi_azure_native/servicefabric/v20230701preview/node_type.py +1 -1
  266. pulumi_azure_native/servicefabric/v20230901preview/__init__.py +24 -0
  267. pulumi_azure_native/servicefabric/v20230901preview/_enums.py +484 -0
  268. pulumi_azure_native/servicefabric/v20230901preview/_inputs.py +3501 -0
  269. pulumi_azure_native/servicefabric/v20230901preview/get_managed_cluster.py +625 -0
  270. pulumi_azure_native/servicefabric/v20230901preview/get_managed_cluster_application.py +228 -0
  271. pulumi_azure_native/servicefabric/v20230901preview/get_managed_cluster_application_type.py +162 -0
  272. pulumi_azure_native/servicefabric/v20230901preview/get_managed_cluster_application_type_version.py +180 -0
  273. pulumi_azure_native/servicefabric/v20230901preview/get_managed_cluster_service.py +167 -0
  274. pulumi_azure_native/servicefabric/v20230901preview/get_node_type.py +760 -0
  275. pulumi_azure_native/servicefabric/v20230901preview/getmanaged_az_resiliency_status.py +92 -0
  276. pulumi_azure_native/servicefabric/v20230901preview/getmanaged_maintenance_window_status.py +156 -0
  277. pulumi_azure_native/servicefabric/v20230901preview/managed_cluster.py +1160 -0
  278. pulumi_azure_native/servicefabric/v20230901preview/managed_cluster_application.py +404 -0
  279. pulumi_azure_native/servicefabric/v20230901preview/managed_cluster_application_type.py +253 -0
  280. pulumi_azure_native/servicefabric/v20230901preview/managed_cluster_application_type_version.py +304 -0
  281. pulumi_azure_native/servicefabric/v20230901preview/managed_cluster_service.py +295 -0
  282. pulumi_azure_native/servicefabric/v20230901preview/node_type.py +1603 -0
  283. pulumi_azure_native/servicefabric/v20230901preview/outputs.py +4039 -0
  284. pulumi_azure_native/storagemover/__init__.py +3 -0
  285. pulumi_azure_native/storagemover/agent.py +1 -1
  286. pulumi_azure_native/storagemover/endpoint.py +1 -1
  287. pulumi_azure_native/storagemover/job_definition.py +1 -1
  288. pulumi_azure_native/storagemover/project.py +1 -1
  289. pulumi_azure_native/storagemover/storage_mover.py +1 -1
  290. pulumi_azure_native/storagemover/v20230301/agent.py +1 -1
  291. pulumi_azure_native/storagemover/v20230301/endpoint.py +1 -1
  292. pulumi_azure_native/storagemover/v20230301/job_definition.py +1 -1
  293. pulumi_azure_native/storagemover/v20230301/project.py +1 -1
  294. pulumi_azure_native/storagemover/v20230301/storage_mover.py +1 -1
  295. pulumi_azure_native/storagemover/v20230701preview/agent.py +1 -1
  296. pulumi_azure_native/storagemover/v20230701preview/endpoint.py +1 -1
  297. pulumi_azure_native/storagemover/v20230701preview/job_definition.py +1 -1
  298. pulumi_azure_native/storagemover/v20230701preview/project.py +1 -1
  299. pulumi_azure_native/storagemover/v20230701preview/storage_mover.py +1 -1
  300. pulumi_azure_native/storagemover/v20231001/__init__.py +20 -0
  301. pulumi_azure_native/storagemover/v20231001/_enums.py +46 -0
  302. pulumi_azure_native/storagemover/v20231001/_inputs.py +393 -0
  303. pulumi_azure_native/storagemover/v20231001/agent.py +361 -0
  304. pulumi_azure_native/storagemover/v20231001/endpoint.py +217 -0
  305. pulumi_azure_native/storagemover/v20231001/get_agent.py +276 -0
  306. pulumi_azure_native/storagemover/v20231001/get_endpoint.py +136 -0
  307. pulumi_azure_native/storagemover/v20231001/get_job_definition.py +310 -0
  308. pulumi_azure_native/storagemover/v20231001/get_project.py +149 -0
  309. pulumi_azure_native/storagemover/v20231001/get_storage_mover.py +170 -0
  310. pulumi_azure_native/storagemover/v20231001/job_definition.py +483 -0
  311. pulumi_azure_native/storagemover/v20231001/outputs.py +619 -0
  312. pulumi_azure_native/storagemover/v20231001/project.py +224 -0
  313. pulumi_azure_native/storagemover/v20231001/storage_mover.py +261 -0
  314. {pulumi_azure_native-2.9.1a1696411987.dist-info → pulumi_azure_native-2.10.0.dist-info}/METADATA +1 -1
  315. {pulumi_azure_native-2.9.1a1696411987.dist-info → pulumi_azure_native-2.10.0.dist-info}/RECORD +317 -158
  316. {pulumi_azure_native-2.9.1a1696411987.dist-info → pulumi_azure_native-2.10.0.dist-info}/WHEEL +0 -0
  317. {pulumi_azure_native-2.9.1a1696411987.dist-info → pulumi_azure_native-2.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,4039 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from ... import _utilities
11
+ from . import outputs
12
+ from ._enums import *
13
+
14
+ __all__ = [
15
+ 'AddRemoveIncrementalNamedPartitionScalingMechanismResponse',
16
+ 'AdditionalNetworkInterfaceConfigurationResponse',
17
+ 'ApplicationHealthPolicyResponse',
18
+ 'ApplicationTypeVersionsCleanupPolicyResponse',
19
+ 'ApplicationUpgradePolicyResponse',
20
+ 'ApplicationUserAssignedIdentityResponse',
21
+ 'AveragePartitionLoadScalingTriggerResponse',
22
+ 'AverageServiceLoadScalingTriggerResponse',
23
+ 'AzureActiveDirectoryResponse',
24
+ 'ClientCertificateResponse',
25
+ 'EndpointRangeDescriptionResponse',
26
+ 'FrontendConfigurationResponse',
27
+ 'IPTagResponse',
28
+ 'IpConfigurationResponse',
29
+ 'IpConfigurationResponsePublicIPAddressConfiguration',
30
+ 'LoadBalancingRuleResponse',
31
+ 'ManagedIdentityResponse',
32
+ 'NamedPartitionSchemeResponse',
33
+ 'NetworkSecurityRuleResponse',
34
+ 'NodeTypeSkuResponse',
35
+ 'PartitionInstanceCountScaleMechanismResponse',
36
+ 'ResourceAzStatusResponse',
37
+ 'RollingUpgradeMonitoringPolicyResponse',
38
+ 'ScalingPolicyResponse',
39
+ 'ServiceCorrelationResponse',
40
+ 'ServiceEndpointResponse',
41
+ 'ServiceLoadMetricResponse',
42
+ 'ServicePlacementInvalidDomainPolicyResponse',
43
+ 'ServicePlacementNonPartiallyPlaceServicePolicyResponse',
44
+ 'ServicePlacementPreferPrimaryDomainPolicyResponse',
45
+ 'ServicePlacementRequireDomainDistributionPolicyResponse',
46
+ 'ServicePlacementRequiredDomainPolicyResponse',
47
+ 'ServiceTypeHealthPolicyResponse',
48
+ 'SettingsParameterDescriptionResponse',
49
+ 'SettingsSectionDescriptionResponse',
50
+ 'SingletonPartitionSchemeResponse',
51
+ 'SkuResponse',
52
+ 'StatefulServicePropertiesResponse',
53
+ 'StatelessServicePropertiesResponse',
54
+ 'SubResourceResponse',
55
+ 'SubnetResponse',
56
+ 'SystemDataResponse',
57
+ 'UniformInt64RangePartitionSchemeResponse',
58
+ 'UserAssignedIdentityResponse',
59
+ 'VMSSExtensionResponse',
60
+ 'VaultCertificateResponse',
61
+ 'VaultSecretGroupResponse',
62
+ 'VmImagePlanResponse',
63
+ 'VmManagedIdentityResponse',
64
+ 'VmssDataDiskResponse',
65
+ ]
66
+
67
+ @pulumi.output_type
68
+ class AddRemoveIncrementalNamedPartitionScalingMechanismResponse(dict):
69
+ """
70
+ Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.
71
+ """
72
+ @staticmethod
73
+ def __key_warning(key: str):
74
+ suggest = None
75
+ if key == "maxPartitionCount":
76
+ suggest = "max_partition_count"
77
+ elif key == "minPartitionCount":
78
+ suggest = "min_partition_count"
79
+ elif key == "scaleIncrement":
80
+ suggest = "scale_increment"
81
+
82
+ if suggest:
83
+ pulumi.log.warn(f"Key '{key}' not found in AddRemoveIncrementalNamedPartitionScalingMechanismResponse. Access the value via the '{suggest}' property getter instead.")
84
+
85
+ def __getitem__(self, key: str) -> Any:
86
+ AddRemoveIncrementalNamedPartitionScalingMechanismResponse.__key_warning(key)
87
+ return super().__getitem__(key)
88
+
89
+ def get(self, key: str, default = None) -> Any:
90
+ AddRemoveIncrementalNamedPartitionScalingMechanismResponse.__key_warning(key)
91
+ return super().get(key, default)
92
+
93
+ def __init__(__self__, *,
94
+ kind: str,
95
+ max_partition_count: int,
96
+ min_partition_count: int,
97
+ scale_increment: int):
98
+ """
99
+ Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.
100
+ :param str kind: Enumerates the ways that a service can be partitioned.
101
+ Expected value is 'AddRemoveIncrementalNamedPartition'.
102
+ :param int max_partition_count: Maximum number of named partitions of the service.
103
+ :param int min_partition_count: Minimum number of named partitions of the service.
104
+ :param int scale_increment: The number of instances to add or remove during a scaling operation.
105
+ """
106
+ pulumi.set(__self__, "kind", 'AddRemoveIncrementalNamedPartition')
107
+ pulumi.set(__self__, "max_partition_count", max_partition_count)
108
+ pulumi.set(__self__, "min_partition_count", min_partition_count)
109
+ pulumi.set(__self__, "scale_increment", scale_increment)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def kind(self) -> str:
114
+ """
115
+ Enumerates the ways that a service can be partitioned.
116
+ Expected value is 'AddRemoveIncrementalNamedPartition'.
117
+ """
118
+ return pulumi.get(self, "kind")
119
+
120
+ @property
121
+ @pulumi.getter(name="maxPartitionCount")
122
+ def max_partition_count(self) -> int:
123
+ """
124
+ Maximum number of named partitions of the service.
125
+ """
126
+ return pulumi.get(self, "max_partition_count")
127
+
128
+ @property
129
+ @pulumi.getter(name="minPartitionCount")
130
+ def min_partition_count(self) -> int:
131
+ """
132
+ Minimum number of named partitions of the service.
133
+ """
134
+ return pulumi.get(self, "min_partition_count")
135
+
136
+ @property
137
+ @pulumi.getter(name="scaleIncrement")
138
+ def scale_increment(self) -> int:
139
+ """
140
+ The number of instances to add or remove during a scaling operation.
141
+ """
142
+ return pulumi.get(self, "scale_increment")
143
+
144
+
145
+ @pulumi.output_type
146
+ class AdditionalNetworkInterfaceConfigurationResponse(dict):
147
+ """
148
+ Specifies the settings for a network interface to attach to the node type.
149
+ """
150
+ @staticmethod
151
+ def __key_warning(key: str):
152
+ suggest = None
153
+ if key == "ipConfigurations":
154
+ suggest = "ip_configurations"
155
+ elif key == "dscpConfiguration":
156
+ suggest = "dscp_configuration"
157
+ elif key == "enableAcceleratedNetworking":
158
+ suggest = "enable_accelerated_networking"
159
+
160
+ if suggest:
161
+ pulumi.log.warn(f"Key '{key}' not found in AdditionalNetworkInterfaceConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
162
+
163
+ def __getitem__(self, key: str) -> Any:
164
+ AdditionalNetworkInterfaceConfigurationResponse.__key_warning(key)
165
+ return super().__getitem__(key)
166
+
167
+ def get(self, key: str, default = None) -> Any:
168
+ AdditionalNetworkInterfaceConfigurationResponse.__key_warning(key)
169
+ return super().get(key, default)
170
+
171
+ def __init__(__self__, *,
172
+ ip_configurations: Sequence['outputs.IpConfigurationResponse'],
173
+ name: str,
174
+ dscp_configuration: Optional['outputs.SubResourceResponse'] = None,
175
+ enable_accelerated_networking: Optional[bool] = None):
176
+ """
177
+ Specifies the settings for a network interface to attach to the node type.
178
+ :param Sequence['IpConfigurationResponse'] ip_configurations: Specifies the IP configurations of the network interface.
179
+ :param str name: Name of the network interface.
180
+ :param 'SubResourceResponse' dscp_configuration: Specifies the DSCP configuration to apply to the network interface.
181
+ :param bool enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled.
182
+ """
183
+ pulumi.set(__self__, "ip_configurations", ip_configurations)
184
+ pulumi.set(__self__, "name", name)
185
+ if dscp_configuration is not None:
186
+ pulumi.set(__self__, "dscp_configuration", dscp_configuration)
187
+ if enable_accelerated_networking is not None:
188
+ pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking)
189
+
190
+ @property
191
+ @pulumi.getter(name="ipConfigurations")
192
+ def ip_configurations(self) -> Sequence['outputs.IpConfigurationResponse']:
193
+ """
194
+ Specifies the IP configurations of the network interface.
195
+ """
196
+ return pulumi.get(self, "ip_configurations")
197
+
198
+ @property
199
+ @pulumi.getter
200
+ def name(self) -> str:
201
+ """
202
+ Name of the network interface.
203
+ """
204
+ return pulumi.get(self, "name")
205
+
206
+ @property
207
+ @pulumi.getter(name="dscpConfiguration")
208
+ def dscp_configuration(self) -> Optional['outputs.SubResourceResponse']:
209
+ """
210
+ Specifies the DSCP configuration to apply to the network interface.
211
+ """
212
+ return pulumi.get(self, "dscp_configuration")
213
+
214
+ @property
215
+ @pulumi.getter(name="enableAcceleratedNetworking")
216
+ def enable_accelerated_networking(self) -> Optional[bool]:
217
+ """
218
+ Specifies whether the network interface is accelerated networking-enabled.
219
+ """
220
+ return pulumi.get(self, "enable_accelerated_networking")
221
+
222
+
223
+ @pulumi.output_type
224
+ class ApplicationHealthPolicyResponse(dict):
225
+ """
226
+ Defines a health policy used to evaluate the health of an application or one of its children entities.
227
+ """
228
+ @staticmethod
229
+ def __key_warning(key: str):
230
+ suggest = None
231
+ if key == "considerWarningAsError":
232
+ suggest = "consider_warning_as_error"
233
+ elif key == "maxPercentUnhealthyDeployedApplications":
234
+ suggest = "max_percent_unhealthy_deployed_applications"
235
+ elif key == "defaultServiceTypeHealthPolicy":
236
+ suggest = "default_service_type_health_policy"
237
+ elif key == "serviceTypeHealthPolicyMap":
238
+ suggest = "service_type_health_policy_map"
239
+
240
+ if suggest:
241
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationHealthPolicyResponse. Access the value via the '{suggest}' property getter instead.")
242
+
243
+ def __getitem__(self, key: str) -> Any:
244
+ ApplicationHealthPolicyResponse.__key_warning(key)
245
+ return super().__getitem__(key)
246
+
247
+ def get(self, key: str, default = None) -> Any:
248
+ ApplicationHealthPolicyResponse.__key_warning(key)
249
+ return super().get(key, default)
250
+
251
+ def __init__(__self__, *,
252
+ consider_warning_as_error: bool,
253
+ max_percent_unhealthy_deployed_applications: int,
254
+ default_service_type_health_policy: Optional['outputs.ServiceTypeHealthPolicyResponse'] = None,
255
+ service_type_health_policy_map: Optional[Mapping[str, 'outputs.ServiceTypeHealthPolicyResponse']] = None):
256
+ """
257
+ Defines a health policy used to evaluate the health of an application or one of its children entities.
258
+
259
+ :param bool consider_warning_as_error: Indicates whether warnings are treated with the same severity as errors.
260
+ :param int max_percent_unhealthy_deployed_applications: The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
261
+ The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
262
+ This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
263
+ The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
264
+ :param 'ServiceTypeHealthPolicyResponse' default_service_type_health_policy: The health policy used by default to evaluate the health of a service type.
265
+ :param Mapping[str, 'ServiceTypeHealthPolicyResponse'] service_type_health_policy_map: The map with service type health policy per service type name. The map is empty by default.
266
+ """
267
+ pulumi.set(__self__, "consider_warning_as_error", consider_warning_as_error)
268
+ pulumi.set(__self__, "max_percent_unhealthy_deployed_applications", max_percent_unhealthy_deployed_applications)
269
+ if default_service_type_health_policy is not None:
270
+ pulumi.set(__self__, "default_service_type_health_policy", default_service_type_health_policy)
271
+ if service_type_health_policy_map is not None:
272
+ pulumi.set(__self__, "service_type_health_policy_map", service_type_health_policy_map)
273
+
274
+ @property
275
+ @pulumi.getter(name="considerWarningAsError")
276
+ def consider_warning_as_error(self) -> bool:
277
+ """
278
+ Indicates whether warnings are treated with the same severity as errors.
279
+ """
280
+ return pulumi.get(self, "consider_warning_as_error")
281
+
282
+ @property
283
+ @pulumi.getter(name="maxPercentUnhealthyDeployedApplications")
284
+ def max_percent_unhealthy_deployed_applications(self) -> int:
285
+ """
286
+ The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
287
+ The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
288
+ This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
289
+ The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
290
+ """
291
+ return pulumi.get(self, "max_percent_unhealthy_deployed_applications")
292
+
293
+ @property
294
+ @pulumi.getter(name="defaultServiceTypeHealthPolicy")
295
+ def default_service_type_health_policy(self) -> Optional['outputs.ServiceTypeHealthPolicyResponse']:
296
+ """
297
+ The health policy used by default to evaluate the health of a service type.
298
+ """
299
+ return pulumi.get(self, "default_service_type_health_policy")
300
+
301
+ @property
302
+ @pulumi.getter(name="serviceTypeHealthPolicyMap")
303
+ def service_type_health_policy_map(self) -> Optional[Mapping[str, 'outputs.ServiceTypeHealthPolicyResponse']]:
304
+ """
305
+ The map with service type health policy per service type name. The map is empty by default.
306
+ """
307
+ return pulumi.get(self, "service_type_health_policy_map")
308
+
309
+
310
+ @pulumi.output_type
311
+ class ApplicationTypeVersionsCleanupPolicyResponse(dict):
312
+ """
313
+ The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3.
314
+ """
315
+ @staticmethod
316
+ def __key_warning(key: str):
317
+ suggest = None
318
+ if key == "maxUnusedVersionsToKeep":
319
+ suggest = "max_unused_versions_to_keep"
320
+
321
+ if suggest:
322
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationTypeVersionsCleanupPolicyResponse. Access the value via the '{suggest}' property getter instead.")
323
+
324
+ def __getitem__(self, key: str) -> Any:
325
+ ApplicationTypeVersionsCleanupPolicyResponse.__key_warning(key)
326
+ return super().__getitem__(key)
327
+
328
+ def get(self, key: str, default = None) -> Any:
329
+ ApplicationTypeVersionsCleanupPolicyResponse.__key_warning(key)
330
+ return super().get(key, default)
331
+
332
+ def __init__(__self__, *,
333
+ max_unused_versions_to_keep: int):
334
+ """
335
+ The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3.
336
+ :param int max_unused_versions_to_keep: Number of unused versions per application type to keep.
337
+ """
338
+ pulumi.set(__self__, "max_unused_versions_to_keep", max_unused_versions_to_keep)
339
+
340
+ @property
341
+ @pulumi.getter(name="maxUnusedVersionsToKeep")
342
+ def max_unused_versions_to_keep(self) -> int:
343
+ """
344
+ Number of unused versions per application type to keep.
345
+ """
346
+ return pulumi.get(self, "max_unused_versions_to_keep")
347
+
348
+
349
+ @pulumi.output_type
350
+ class ApplicationUpgradePolicyResponse(dict):
351
+ """
352
+ Describes the policy for a monitored application upgrade.
353
+ """
354
+ @staticmethod
355
+ def __key_warning(key: str):
356
+ suggest = None
357
+ if key == "applicationHealthPolicy":
358
+ suggest = "application_health_policy"
359
+ elif key == "forceRestart":
360
+ suggest = "force_restart"
361
+ elif key == "instanceCloseDelayDuration":
362
+ suggest = "instance_close_delay_duration"
363
+ elif key == "recreateApplication":
364
+ suggest = "recreate_application"
365
+ elif key == "rollingUpgradeMonitoringPolicy":
366
+ suggest = "rolling_upgrade_monitoring_policy"
367
+ elif key == "upgradeMode":
368
+ suggest = "upgrade_mode"
369
+ elif key == "upgradeReplicaSetCheckTimeout":
370
+ suggest = "upgrade_replica_set_check_timeout"
371
+
372
+ if suggest:
373
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationUpgradePolicyResponse. Access the value via the '{suggest}' property getter instead.")
374
+
375
+ def __getitem__(self, key: str) -> Any:
376
+ ApplicationUpgradePolicyResponse.__key_warning(key)
377
+ return super().__getitem__(key)
378
+
379
+ def get(self, key: str, default = None) -> Any:
380
+ ApplicationUpgradePolicyResponse.__key_warning(key)
381
+ return super().get(key, default)
382
+
383
+ def __init__(__self__, *,
384
+ application_health_policy: Optional['outputs.ApplicationHealthPolicyResponse'] = None,
385
+ force_restart: Optional[bool] = None,
386
+ instance_close_delay_duration: Optional[float] = None,
387
+ recreate_application: Optional[bool] = None,
388
+ rolling_upgrade_monitoring_policy: Optional['outputs.RollingUpgradeMonitoringPolicyResponse'] = None,
389
+ upgrade_mode: Optional[str] = None,
390
+ upgrade_replica_set_check_timeout: Optional[float] = None):
391
+ """
392
+ Describes the policy for a monitored application upgrade.
393
+ :param 'ApplicationHealthPolicyResponse' application_health_policy: Defines a health policy used to evaluate the health of an application or one of its children entities.
394
+ :param bool force_restart: If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
395
+ :param float instance_close_delay_duration: Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description.
396
+ :param bool recreate_application: Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed.
397
+ :param 'RollingUpgradeMonitoringPolicyResponse' rolling_upgrade_monitoring_policy: The policy used for monitoring the application upgrade
398
+ :param str upgrade_mode: The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.
399
+ :param float upgrade_replica_set_check_timeout: The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
400
+ """
401
+ if application_health_policy is not None:
402
+ pulumi.set(__self__, "application_health_policy", application_health_policy)
403
+ if force_restart is not None:
404
+ pulumi.set(__self__, "force_restart", force_restart)
405
+ if instance_close_delay_duration is not None:
406
+ pulumi.set(__self__, "instance_close_delay_duration", instance_close_delay_duration)
407
+ if recreate_application is not None:
408
+ pulumi.set(__self__, "recreate_application", recreate_application)
409
+ if rolling_upgrade_monitoring_policy is not None:
410
+ pulumi.set(__self__, "rolling_upgrade_monitoring_policy", rolling_upgrade_monitoring_policy)
411
+ if upgrade_mode is not None:
412
+ pulumi.set(__self__, "upgrade_mode", upgrade_mode)
413
+ if upgrade_replica_set_check_timeout is not None:
414
+ pulumi.set(__self__, "upgrade_replica_set_check_timeout", upgrade_replica_set_check_timeout)
415
+
416
+ @property
417
+ @pulumi.getter(name="applicationHealthPolicy")
418
+ def application_health_policy(self) -> Optional['outputs.ApplicationHealthPolicyResponse']:
419
+ """
420
+ Defines a health policy used to evaluate the health of an application or one of its children entities.
421
+ """
422
+ return pulumi.get(self, "application_health_policy")
423
+
424
+ @property
425
+ @pulumi.getter(name="forceRestart")
426
+ def force_restart(self) -> Optional[bool]:
427
+ """
428
+ If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
429
+ """
430
+ return pulumi.get(self, "force_restart")
431
+
432
+ @property
433
+ @pulumi.getter(name="instanceCloseDelayDuration")
434
+ def instance_close_delay_duration(self) -> Optional[float]:
435
+ """
436
+ Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description.
437
+ """
438
+ return pulumi.get(self, "instance_close_delay_duration")
439
+
440
+ @property
441
+ @pulumi.getter(name="recreateApplication")
442
+ def recreate_application(self) -> Optional[bool]:
443
+ """
444
+ Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed.
445
+ """
446
+ return pulumi.get(self, "recreate_application")
447
+
448
+ @property
449
+ @pulumi.getter(name="rollingUpgradeMonitoringPolicy")
450
+ def rolling_upgrade_monitoring_policy(self) -> Optional['outputs.RollingUpgradeMonitoringPolicyResponse']:
451
+ """
452
+ The policy used for monitoring the application upgrade
453
+ """
454
+ return pulumi.get(self, "rolling_upgrade_monitoring_policy")
455
+
456
+ @property
457
+ @pulumi.getter(name="upgradeMode")
458
+ def upgrade_mode(self) -> Optional[str]:
459
+ """
460
+ The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.
461
+ """
462
+ return pulumi.get(self, "upgrade_mode")
463
+
464
+ @property
465
+ @pulumi.getter(name="upgradeReplicaSetCheckTimeout")
466
+ def upgrade_replica_set_check_timeout(self) -> Optional[float]:
467
+ """
468
+ The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
469
+ """
470
+ return pulumi.get(self, "upgrade_replica_set_check_timeout")
471
+
472
+
473
+ @pulumi.output_type
474
+ class ApplicationUserAssignedIdentityResponse(dict):
475
+ @staticmethod
476
+ def __key_warning(key: str):
477
+ suggest = None
478
+ if key == "principalId":
479
+ suggest = "principal_id"
480
+
481
+ if suggest:
482
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationUserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
483
+
484
+ def __getitem__(self, key: str) -> Any:
485
+ ApplicationUserAssignedIdentityResponse.__key_warning(key)
486
+ return super().__getitem__(key)
487
+
488
+ def get(self, key: str, default = None) -> Any:
489
+ ApplicationUserAssignedIdentityResponse.__key_warning(key)
490
+ return super().get(key, default)
491
+
492
+ def __init__(__self__, *,
493
+ name: str,
494
+ principal_id: str):
495
+ """
496
+ :param str name: The friendly name of user assigned identity.
497
+ :param str principal_id: The principal id of user assigned identity.
498
+ """
499
+ pulumi.set(__self__, "name", name)
500
+ pulumi.set(__self__, "principal_id", principal_id)
501
+
502
+ @property
503
+ @pulumi.getter
504
+ def name(self) -> str:
505
+ """
506
+ The friendly name of user assigned identity.
507
+ """
508
+ return pulumi.get(self, "name")
509
+
510
+ @property
511
+ @pulumi.getter(name="principalId")
512
+ def principal_id(self) -> str:
513
+ """
514
+ The principal id of user assigned identity.
515
+ """
516
+ return pulumi.get(self, "principal_id")
517
+
518
+
519
+ @pulumi.output_type
520
+ class AveragePartitionLoadScalingTriggerResponse(dict):
521
+ """
522
+ Represents a scaling trigger related to an average load of a metric/resource of a partition.
523
+ """
524
+ @staticmethod
525
+ def __key_warning(key: str):
526
+ suggest = None
527
+ if key == "lowerLoadThreshold":
528
+ suggest = "lower_load_threshold"
529
+ elif key == "metricName":
530
+ suggest = "metric_name"
531
+ elif key == "scaleInterval":
532
+ suggest = "scale_interval"
533
+ elif key == "upperLoadThreshold":
534
+ suggest = "upper_load_threshold"
535
+
536
+ if suggest:
537
+ pulumi.log.warn(f"Key '{key}' not found in AveragePartitionLoadScalingTriggerResponse. Access the value via the '{suggest}' property getter instead.")
538
+
539
+ def __getitem__(self, key: str) -> Any:
540
+ AveragePartitionLoadScalingTriggerResponse.__key_warning(key)
541
+ return super().__getitem__(key)
542
+
543
+ def get(self, key: str, default = None) -> Any:
544
+ AveragePartitionLoadScalingTriggerResponse.__key_warning(key)
545
+ return super().get(key, default)
546
+
547
+ def __init__(__self__, *,
548
+ kind: str,
549
+ lower_load_threshold: float,
550
+ metric_name: str,
551
+ scale_interval: str,
552
+ upper_load_threshold: float):
553
+ """
554
+ Represents a scaling trigger related to an average load of a metric/resource of a partition.
555
+ :param str kind: Enumerates the ways that a service can be partitioned.
556
+ Expected value is 'AveragePartitionLoadTrigger'.
557
+ :param float lower_load_threshold: The lower limit of the load below which a scale in operation should be performed.
558
+ :param str metric_name: The name of the metric for which usage should be tracked.
559
+ :param str scale_interval: The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
560
+ :param float upper_load_threshold: The upper limit of the load beyond which a scale out operation should be performed.
561
+ """
562
+ pulumi.set(__self__, "kind", 'AveragePartitionLoadTrigger')
563
+ pulumi.set(__self__, "lower_load_threshold", lower_load_threshold)
564
+ pulumi.set(__self__, "metric_name", metric_name)
565
+ pulumi.set(__self__, "scale_interval", scale_interval)
566
+ pulumi.set(__self__, "upper_load_threshold", upper_load_threshold)
567
+
568
+ @property
569
+ @pulumi.getter
570
+ def kind(self) -> str:
571
+ """
572
+ Enumerates the ways that a service can be partitioned.
573
+ Expected value is 'AveragePartitionLoadTrigger'.
574
+ """
575
+ return pulumi.get(self, "kind")
576
+
577
+ @property
578
+ @pulumi.getter(name="lowerLoadThreshold")
579
+ def lower_load_threshold(self) -> float:
580
+ """
581
+ The lower limit of the load below which a scale in operation should be performed.
582
+ """
583
+ return pulumi.get(self, "lower_load_threshold")
584
+
585
+ @property
586
+ @pulumi.getter(name="metricName")
587
+ def metric_name(self) -> str:
588
+ """
589
+ The name of the metric for which usage should be tracked.
590
+ """
591
+ return pulumi.get(self, "metric_name")
592
+
593
+ @property
594
+ @pulumi.getter(name="scaleInterval")
595
+ def scale_interval(self) -> str:
596
+ """
597
+ The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
598
+ """
599
+ return pulumi.get(self, "scale_interval")
600
+
601
+ @property
602
+ @pulumi.getter(name="upperLoadThreshold")
603
+ def upper_load_threshold(self) -> float:
604
+ """
605
+ The upper limit of the load beyond which a scale out operation should be performed.
606
+ """
607
+ return pulumi.get(self, "upper_load_threshold")
608
+
609
+
610
+ @pulumi.output_type
611
+ class AverageServiceLoadScalingTriggerResponse(dict):
612
+ """
613
+ Represents a scaling policy related to an average load of a metric/resource of a service.
614
+ """
615
+ @staticmethod
616
+ def __key_warning(key: str):
617
+ suggest = None
618
+ if key == "lowerLoadThreshold":
619
+ suggest = "lower_load_threshold"
620
+ elif key == "metricName":
621
+ suggest = "metric_name"
622
+ elif key == "scaleInterval":
623
+ suggest = "scale_interval"
624
+ elif key == "upperLoadThreshold":
625
+ suggest = "upper_load_threshold"
626
+ elif key == "useOnlyPrimaryLoad":
627
+ suggest = "use_only_primary_load"
628
+
629
+ if suggest:
630
+ pulumi.log.warn(f"Key '{key}' not found in AverageServiceLoadScalingTriggerResponse. Access the value via the '{suggest}' property getter instead.")
631
+
632
+ def __getitem__(self, key: str) -> Any:
633
+ AverageServiceLoadScalingTriggerResponse.__key_warning(key)
634
+ return super().__getitem__(key)
635
+
636
+ def get(self, key: str, default = None) -> Any:
637
+ AverageServiceLoadScalingTriggerResponse.__key_warning(key)
638
+ return super().get(key, default)
639
+
640
+ def __init__(__self__, *,
641
+ kind: str,
642
+ lower_load_threshold: float,
643
+ metric_name: str,
644
+ scale_interval: str,
645
+ upper_load_threshold: float,
646
+ use_only_primary_load: bool):
647
+ """
648
+ Represents a scaling policy related to an average load of a metric/resource of a service.
649
+ :param str kind: Enumerates the ways that a service can be partitioned.
650
+ Expected value is 'AverageServiceLoadTrigger'.
651
+ :param float lower_load_threshold: The lower limit of the load below which a scale in operation should be performed.
652
+ :param str metric_name: The name of the metric for which usage should be tracked.
653
+ :param str scale_interval: The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
654
+ :param float upper_load_threshold: The upper limit of the load beyond which a scale out operation should be performed.
655
+ :param bool use_only_primary_load: Flag determines whether only the load of primary replica should be considered for scaling. If set to true, then trigger will only consider the load of primary replicas of stateful service. If set to false, trigger will consider load of all replicas. This parameter cannot be set to true for stateless service.
656
+ """
657
+ pulumi.set(__self__, "kind", 'AverageServiceLoadTrigger')
658
+ pulumi.set(__self__, "lower_load_threshold", lower_load_threshold)
659
+ pulumi.set(__self__, "metric_name", metric_name)
660
+ pulumi.set(__self__, "scale_interval", scale_interval)
661
+ pulumi.set(__self__, "upper_load_threshold", upper_load_threshold)
662
+ pulumi.set(__self__, "use_only_primary_load", use_only_primary_load)
663
+
664
+ @property
665
+ @pulumi.getter
666
+ def kind(self) -> str:
667
+ """
668
+ Enumerates the ways that a service can be partitioned.
669
+ Expected value is 'AverageServiceLoadTrigger'.
670
+ """
671
+ return pulumi.get(self, "kind")
672
+
673
+ @property
674
+ @pulumi.getter(name="lowerLoadThreshold")
675
+ def lower_load_threshold(self) -> float:
676
+ """
677
+ The lower limit of the load below which a scale in operation should be performed.
678
+ """
679
+ return pulumi.get(self, "lower_load_threshold")
680
+
681
+ @property
682
+ @pulumi.getter(name="metricName")
683
+ def metric_name(self) -> str:
684
+ """
685
+ The name of the metric for which usage should be tracked.
686
+ """
687
+ return pulumi.get(self, "metric_name")
688
+
689
+ @property
690
+ @pulumi.getter(name="scaleInterval")
691
+ def scale_interval(self) -> str:
692
+ """
693
+ The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
694
+ """
695
+ return pulumi.get(self, "scale_interval")
696
+
697
+ @property
698
+ @pulumi.getter(name="upperLoadThreshold")
699
+ def upper_load_threshold(self) -> float:
700
+ """
701
+ The upper limit of the load beyond which a scale out operation should be performed.
702
+ """
703
+ return pulumi.get(self, "upper_load_threshold")
704
+
705
+ @property
706
+ @pulumi.getter(name="useOnlyPrimaryLoad")
707
+ def use_only_primary_load(self) -> bool:
708
+ """
709
+ Flag determines whether only the load of primary replica should be considered for scaling. If set to true, then trigger will only consider the load of primary replicas of stateful service. If set to false, trigger will consider load of all replicas. This parameter cannot be set to true for stateless service.
710
+ """
711
+ return pulumi.get(self, "use_only_primary_load")
712
+
713
+
714
+ @pulumi.output_type
715
+ class AzureActiveDirectoryResponse(dict):
716
+ """
717
+ The settings to enable AAD authentication on the cluster.
718
+ """
719
+ @staticmethod
720
+ def __key_warning(key: str):
721
+ suggest = None
722
+ if key == "clientApplication":
723
+ suggest = "client_application"
724
+ elif key == "clusterApplication":
725
+ suggest = "cluster_application"
726
+ elif key == "tenantId":
727
+ suggest = "tenant_id"
728
+
729
+ if suggest:
730
+ pulumi.log.warn(f"Key '{key}' not found in AzureActiveDirectoryResponse. Access the value via the '{suggest}' property getter instead.")
731
+
732
+ def __getitem__(self, key: str) -> Any:
733
+ AzureActiveDirectoryResponse.__key_warning(key)
734
+ return super().__getitem__(key)
735
+
736
+ def get(self, key: str, default = None) -> Any:
737
+ AzureActiveDirectoryResponse.__key_warning(key)
738
+ return super().get(key, default)
739
+
740
+ def __init__(__self__, *,
741
+ client_application: Optional[str] = None,
742
+ cluster_application: Optional[str] = None,
743
+ tenant_id: Optional[str] = None):
744
+ """
745
+ The settings to enable AAD authentication on the cluster.
746
+ :param str client_application: Azure active directory client application id.
747
+ :param str cluster_application: Azure active directory cluster application id.
748
+ :param str tenant_id: Azure active directory tenant id.
749
+ """
750
+ if client_application is not None:
751
+ pulumi.set(__self__, "client_application", client_application)
752
+ if cluster_application is not None:
753
+ pulumi.set(__self__, "cluster_application", cluster_application)
754
+ if tenant_id is not None:
755
+ pulumi.set(__self__, "tenant_id", tenant_id)
756
+
757
+ @property
758
+ @pulumi.getter(name="clientApplication")
759
+ def client_application(self) -> Optional[str]:
760
+ """
761
+ Azure active directory client application id.
762
+ """
763
+ return pulumi.get(self, "client_application")
764
+
765
+ @property
766
+ @pulumi.getter(name="clusterApplication")
767
+ def cluster_application(self) -> Optional[str]:
768
+ """
769
+ Azure active directory cluster application id.
770
+ """
771
+ return pulumi.get(self, "cluster_application")
772
+
773
+ @property
774
+ @pulumi.getter(name="tenantId")
775
+ def tenant_id(self) -> Optional[str]:
776
+ """
777
+ Azure active directory tenant id.
778
+ """
779
+ return pulumi.get(self, "tenant_id")
780
+
781
+
782
+ @pulumi.output_type
783
+ class ClientCertificateResponse(dict):
784
+ """
785
+ Client certificate definition.
786
+ """
787
+ @staticmethod
788
+ def __key_warning(key: str):
789
+ suggest = None
790
+ if key == "isAdmin":
791
+ suggest = "is_admin"
792
+ elif key == "commonName":
793
+ suggest = "common_name"
794
+ elif key == "issuerThumbprint":
795
+ suggest = "issuer_thumbprint"
796
+
797
+ if suggest:
798
+ pulumi.log.warn(f"Key '{key}' not found in ClientCertificateResponse. Access the value via the '{suggest}' property getter instead.")
799
+
800
+ def __getitem__(self, key: str) -> Any:
801
+ ClientCertificateResponse.__key_warning(key)
802
+ return super().__getitem__(key)
803
+
804
+ def get(self, key: str, default = None) -> Any:
805
+ ClientCertificateResponse.__key_warning(key)
806
+ return super().get(key, default)
807
+
808
+ def __init__(__self__, *,
809
+ is_admin: bool,
810
+ common_name: Optional[str] = None,
811
+ issuer_thumbprint: Optional[str] = None,
812
+ thumbprint: Optional[str] = None):
813
+ """
814
+ Client certificate definition.
815
+ :param bool is_admin: Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.
816
+ :param str common_name: Certificate common name.
817
+ :param str issuer_thumbprint: Issuer thumbprint for the certificate. Only used together with CommonName.
818
+ :param str thumbprint: Certificate thumbprint.
819
+ """
820
+ pulumi.set(__self__, "is_admin", is_admin)
821
+ if common_name is not None:
822
+ pulumi.set(__self__, "common_name", common_name)
823
+ if issuer_thumbprint is not None:
824
+ pulumi.set(__self__, "issuer_thumbprint", issuer_thumbprint)
825
+ if thumbprint is not None:
826
+ pulumi.set(__self__, "thumbprint", thumbprint)
827
+
828
+ @property
829
+ @pulumi.getter(name="isAdmin")
830
+ def is_admin(self) -> bool:
831
+ """
832
+ Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.
833
+ """
834
+ return pulumi.get(self, "is_admin")
835
+
836
+ @property
837
+ @pulumi.getter(name="commonName")
838
+ def common_name(self) -> Optional[str]:
839
+ """
840
+ Certificate common name.
841
+ """
842
+ return pulumi.get(self, "common_name")
843
+
844
+ @property
845
+ @pulumi.getter(name="issuerThumbprint")
846
+ def issuer_thumbprint(self) -> Optional[str]:
847
+ """
848
+ Issuer thumbprint for the certificate. Only used together with CommonName.
849
+ """
850
+ return pulumi.get(self, "issuer_thumbprint")
851
+
852
+ @property
853
+ @pulumi.getter
854
+ def thumbprint(self) -> Optional[str]:
855
+ """
856
+ Certificate thumbprint.
857
+ """
858
+ return pulumi.get(self, "thumbprint")
859
+
860
+
861
+ @pulumi.output_type
862
+ class EndpointRangeDescriptionResponse(dict):
863
+ """
864
+ Port range details
865
+ """
866
+ @staticmethod
867
+ def __key_warning(key: str):
868
+ suggest = None
869
+ if key == "endPort":
870
+ suggest = "end_port"
871
+ elif key == "startPort":
872
+ suggest = "start_port"
873
+
874
+ if suggest:
875
+ pulumi.log.warn(f"Key '{key}' not found in EndpointRangeDescriptionResponse. Access the value via the '{suggest}' property getter instead.")
876
+
877
+ def __getitem__(self, key: str) -> Any:
878
+ EndpointRangeDescriptionResponse.__key_warning(key)
879
+ return super().__getitem__(key)
880
+
881
+ def get(self, key: str, default = None) -> Any:
882
+ EndpointRangeDescriptionResponse.__key_warning(key)
883
+ return super().get(key, default)
884
+
885
+ def __init__(__self__, *,
886
+ end_port: int,
887
+ start_port: int):
888
+ """
889
+ Port range details
890
+ :param int end_port: End port of a range of ports
891
+ :param int start_port: Starting port of a range of ports
892
+ """
893
+ pulumi.set(__self__, "end_port", end_port)
894
+ pulumi.set(__self__, "start_port", start_port)
895
+
896
+ @property
897
+ @pulumi.getter(name="endPort")
898
+ def end_port(self) -> int:
899
+ """
900
+ End port of a range of ports
901
+ """
902
+ return pulumi.get(self, "end_port")
903
+
904
+ @property
905
+ @pulumi.getter(name="startPort")
906
+ def start_port(self) -> int:
907
+ """
908
+ Starting port of a range of ports
909
+ """
910
+ return pulumi.get(self, "start_port")
911
+
912
+
913
+ @pulumi.output_type
914
+ class FrontendConfigurationResponse(dict):
915
+ """
916
+ Describes the frontend configurations for the node type.
917
+ """
918
+ @staticmethod
919
+ def __key_warning(key: str):
920
+ suggest = None
921
+ if key == "applicationGatewayBackendAddressPoolId":
922
+ suggest = "application_gateway_backend_address_pool_id"
923
+ elif key == "ipAddressType":
924
+ suggest = "ip_address_type"
925
+ elif key == "loadBalancerBackendAddressPoolId":
926
+ suggest = "load_balancer_backend_address_pool_id"
927
+ elif key == "loadBalancerInboundNatPoolId":
928
+ suggest = "load_balancer_inbound_nat_pool_id"
929
+
930
+ if suggest:
931
+ pulumi.log.warn(f"Key '{key}' not found in FrontendConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
932
+
933
+ def __getitem__(self, key: str) -> Any:
934
+ FrontendConfigurationResponse.__key_warning(key)
935
+ return super().__getitem__(key)
936
+
937
+ def get(self, key: str, default = None) -> Any:
938
+ FrontendConfigurationResponse.__key_warning(key)
939
+ return super().get(key, default)
940
+
941
+ def __init__(__self__, *,
942
+ application_gateway_backend_address_pool_id: Optional[str] = None,
943
+ ip_address_type: Optional[str] = None,
944
+ load_balancer_backend_address_pool_id: Optional[str] = None,
945
+ load_balancer_inbound_nat_pool_id: Optional[str] = None):
946
+ """
947
+ Describes the frontend configurations for the node type.
948
+ :param str application_gateway_backend_address_pool_id: The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName>/backendAddressPools/<backendAddressPoolName>'.
949
+ :param str ip_address_type: The IP address type of this frontend configuration. If omitted the default value is IPv4.
950
+ :param str load_balancer_backend_address_pool_id: The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/backendAddressPools/<backendAddressPoolName>'.
951
+ :param str load_balancer_inbound_nat_pool_id: The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/inboundNatPools/<inboundNatPoolName>'.
952
+ """
953
+ if application_gateway_backend_address_pool_id is not None:
954
+ pulumi.set(__self__, "application_gateway_backend_address_pool_id", application_gateway_backend_address_pool_id)
955
+ if ip_address_type is not None:
956
+ pulumi.set(__self__, "ip_address_type", ip_address_type)
957
+ if load_balancer_backend_address_pool_id is not None:
958
+ pulumi.set(__self__, "load_balancer_backend_address_pool_id", load_balancer_backend_address_pool_id)
959
+ if load_balancer_inbound_nat_pool_id is not None:
960
+ pulumi.set(__self__, "load_balancer_inbound_nat_pool_id", load_balancer_inbound_nat_pool_id)
961
+
962
+ @property
963
+ @pulumi.getter(name="applicationGatewayBackendAddressPoolId")
964
+ def application_gateway_backend_address_pool_id(self) -> Optional[str]:
965
+ """
966
+ The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName>/backendAddressPools/<backendAddressPoolName>'.
967
+ """
968
+ return pulumi.get(self, "application_gateway_backend_address_pool_id")
969
+
970
+ @property
971
+ @pulumi.getter(name="ipAddressType")
972
+ def ip_address_type(self) -> Optional[str]:
973
+ """
974
+ The IP address type of this frontend configuration. If omitted the default value is IPv4.
975
+ """
976
+ return pulumi.get(self, "ip_address_type")
977
+
978
+ @property
979
+ @pulumi.getter(name="loadBalancerBackendAddressPoolId")
980
+ def load_balancer_backend_address_pool_id(self) -> Optional[str]:
981
+ """
982
+ The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/backendAddressPools/<backendAddressPoolName>'.
983
+ """
984
+ return pulumi.get(self, "load_balancer_backend_address_pool_id")
985
+
986
+ @property
987
+ @pulumi.getter(name="loadBalancerInboundNatPoolId")
988
+ def load_balancer_inbound_nat_pool_id(self) -> Optional[str]:
989
+ """
990
+ The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/inboundNatPools/<inboundNatPoolName>'.
991
+ """
992
+ return pulumi.get(self, "load_balancer_inbound_nat_pool_id")
993
+
994
+
995
+ @pulumi.output_type
996
+ class IPTagResponse(dict):
997
+ """
998
+ The IP tag associated with the public IP address.
999
+ """
1000
+ @staticmethod
1001
+ def __key_warning(key: str):
1002
+ suggest = None
1003
+ if key == "ipTagType":
1004
+ suggest = "ip_tag_type"
1005
+
1006
+ if suggest:
1007
+ pulumi.log.warn(f"Key '{key}' not found in IPTagResponse. Access the value via the '{suggest}' property getter instead.")
1008
+
1009
+ def __getitem__(self, key: str) -> Any:
1010
+ IPTagResponse.__key_warning(key)
1011
+ return super().__getitem__(key)
1012
+
1013
+ def get(self, key: str, default = None) -> Any:
1014
+ IPTagResponse.__key_warning(key)
1015
+ return super().get(key, default)
1016
+
1017
+ def __init__(__self__, *,
1018
+ ip_tag_type: str,
1019
+ tag: str):
1020
+ """
1021
+ The IP tag associated with the public IP address.
1022
+ :param str ip_tag_type: IP tag type. Example: FirstPartyUsage.
1023
+ :param str tag: IP tag associated with the public IP. Example: SQL, Storage etc.
1024
+ """
1025
+ pulumi.set(__self__, "ip_tag_type", ip_tag_type)
1026
+ pulumi.set(__self__, "tag", tag)
1027
+
1028
+ @property
1029
+ @pulumi.getter(name="ipTagType")
1030
+ def ip_tag_type(self) -> str:
1031
+ """
1032
+ IP tag type. Example: FirstPartyUsage.
1033
+ """
1034
+ return pulumi.get(self, "ip_tag_type")
1035
+
1036
+ @property
1037
+ @pulumi.getter
1038
+ def tag(self) -> str:
1039
+ """
1040
+ IP tag associated with the public IP. Example: SQL, Storage etc.
1041
+ """
1042
+ return pulumi.get(self, "tag")
1043
+
1044
+
1045
+ @pulumi.output_type
1046
+ class IpConfigurationResponse(dict):
1047
+ """
1048
+ Specifies an IP configuration of the network interface.
1049
+ """
1050
+ @staticmethod
1051
+ def __key_warning(key: str):
1052
+ suggest = None
1053
+ if key == "applicationGatewayBackendAddressPools":
1054
+ suggest = "application_gateway_backend_address_pools"
1055
+ elif key == "loadBalancerBackendAddressPools":
1056
+ suggest = "load_balancer_backend_address_pools"
1057
+ elif key == "loadBalancerInboundNatPools":
1058
+ suggest = "load_balancer_inbound_nat_pools"
1059
+ elif key == "privateIPAddressVersion":
1060
+ suggest = "private_ip_address_version"
1061
+ elif key == "publicIPAddressConfiguration":
1062
+ suggest = "public_ip_address_configuration"
1063
+
1064
+ if suggest:
1065
+ pulumi.log.warn(f"Key '{key}' not found in IpConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1066
+
1067
+ def __getitem__(self, key: str) -> Any:
1068
+ IpConfigurationResponse.__key_warning(key)
1069
+ return super().__getitem__(key)
1070
+
1071
+ def get(self, key: str, default = None) -> Any:
1072
+ IpConfigurationResponse.__key_warning(key)
1073
+ return super().get(key, default)
1074
+
1075
+ def __init__(__self__, *,
1076
+ name: str,
1077
+ application_gateway_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None,
1078
+ load_balancer_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None,
1079
+ load_balancer_inbound_nat_pools: Optional[Sequence['outputs.SubResourceResponse']] = None,
1080
+ private_ip_address_version: Optional[str] = None,
1081
+ public_ip_address_configuration: Optional['outputs.IpConfigurationResponsePublicIPAddressConfiguration'] = None,
1082
+ subnet: Optional['outputs.SubResourceResponse'] = None):
1083
+ """
1084
+ Specifies an IP configuration of the network interface.
1085
+ :param str name: Name of the network interface.
1086
+ :param Sequence['SubResourceResponse'] application_gateway_backend_address_pools: Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway.
1087
+ :param Sequence['SubResourceResponse'] load_balancer_backend_address_pools: Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.
1088
+ :param Sequence['SubResourceResponse'] load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.
1089
+ :param str private_ip_address_version: Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.
1090
+ :param 'IpConfigurationResponsePublicIPAddressConfiguration' public_ip_address_configuration: The public IP address configuration of the network interface.
1091
+ :param 'SubResourceResponse' subnet: Specifies the subnet of the network interface.
1092
+ """
1093
+ pulumi.set(__self__, "name", name)
1094
+ if application_gateway_backend_address_pools is not None:
1095
+ pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools)
1096
+ if load_balancer_backend_address_pools is not None:
1097
+ pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools)
1098
+ if load_balancer_inbound_nat_pools is not None:
1099
+ pulumi.set(__self__, "load_balancer_inbound_nat_pools", load_balancer_inbound_nat_pools)
1100
+ if private_ip_address_version is None:
1101
+ private_ip_address_version = 'IPv4'
1102
+ if private_ip_address_version is not None:
1103
+ pulumi.set(__self__, "private_ip_address_version", private_ip_address_version)
1104
+ if public_ip_address_configuration is not None:
1105
+ pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration)
1106
+ if subnet is not None:
1107
+ pulumi.set(__self__, "subnet", subnet)
1108
+
1109
+ @property
1110
+ @pulumi.getter
1111
+ def name(self) -> str:
1112
+ """
1113
+ Name of the network interface.
1114
+ """
1115
+ return pulumi.get(self, "name")
1116
+
1117
+ @property
1118
+ @pulumi.getter(name="applicationGatewayBackendAddressPools")
1119
+ def application_gateway_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]:
1120
+ """
1121
+ Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway.
1122
+ """
1123
+ return pulumi.get(self, "application_gateway_backend_address_pools")
1124
+
1125
+ @property
1126
+ @pulumi.getter(name="loadBalancerBackendAddressPools")
1127
+ def load_balancer_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]:
1128
+ """
1129
+ Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.
1130
+ """
1131
+ return pulumi.get(self, "load_balancer_backend_address_pools")
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="loadBalancerInboundNatPools")
1135
+ def load_balancer_inbound_nat_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]:
1136
+ """
1137
+ Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.
1138
+ """
1139
+ return pulumi.get(self, "load_balancer_inbound_nat_pools")
1140
+
1141
+ @property
1142
+ @pulumi.getter(name="privateIPAddressVersion")
1143
+ def private_ip_address_version(self) -> Optional[str]:
1144
+ """
1145
+ Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.
1146
+ """
1147
+ return pulumi.get(self, "private_ip_address_version")
1148
+
1149
+ @property
1150
+ @pulumi.getter(name="publicIPAddressConfiguration")
1151
+ def public_ip_address_configuration(self) -> Optional['outputs.IpConfigurationResponsePublicIPAddressConfiguration']:
1152
+ """
1153
+ The public IP address configuration of the network interface.
1154
+ """
1155
+ return pulumi.get(self, "public_ip_address_configuration")
1156
+
1157
+ @property
1158
+ @pulumi.getter
1159
+ def subnet(self) -> Optional['outputs.SubResourceResponse']:
1160
+ """
1161
+ Specifies the subnet of the network interface.
1162
+ """
1163
+ return pulumi.get(self, "subnet")
1164
+
1165
+
1166
+ @pulumi.output_type
1167
+ class IpConfigurationResponsePublicIPAddressConfiguration(dict):
1168
+ """
1169
+ The public IP address configuration of the network interface.
1170
+ """
1171
+ @staticmethod
1172
+ def __key_warning(key: str):
1173
+ suggest = None
1174
+ if key == "ipTags":
1175
+ suggest = "ip_tags"
1176
+ elif key == "publicIPAddressVersion":
1177
+ suggest = "public_ip_address_version"
1178
+
1179
+ if suggest:
1180
+ pulumi.log.warn(f"Key '{key}' not found in IpConfigurationResponsePublicIPAddressConfiguration. Access the value via the '{suggest}' property getter instead.")
1181
+
1182
+ def __getitem__(self, key: str) -> Any:
1183
+ IpConfigurationResponsePublicIPAddressConfiguration.__key_warning(key)
1184
+ return super().__getitem__(key)
1185
+
1186
+ def get(self, key: str, default = None) -> Any:
1187
+ IpConfigurationResponsePublicIPAddressConfiguration.__key_warning(key)
1188
+ return super().get(key, default)
1189
+
1190
+ def __init__(__self__, *,
1191
+ name: str,
1192
+ ip_tags: Optional[Sequence['outputs.IPTagResponse']] = None,
1193
+ public_ip_address_version: Optional[str] = None):
1194
+ """
1195
+ The public IP address configuration of the network interface.
1196
+ :param str name: Name of the network interface.
1197
+ :param Sequence['IPTagResponse'] ip_tags: Specifies the list of IP tags associated with the public IP address.
1198
+ :param str public_ip_address_version: Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.
1199
+ """
1200
+ pulumi.set(__self__, "name", name)
1201
+ if ip_tags is not None:
1202
+ pulumi.set(__self__, "ip_tags", ip_tags)
1203
+ if public_ip_address_version is None:
1204
+ public_ip_address_version = 'IPv4'
1205
+ if public_ip_address_version is not None:
1206
+ pulumi.set(__self__, "public_ip_address_version", public_ip_address_version)
1207
+
1208
+ @property
1209
+ @pulumi.getter
1210
+ def name(self) -> str:
1211
+ """
1212
+ Name of the network interface.
1213
+ """
1214
+ return pulumi.get(self, "name")
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="ipTags")
1218
+ def ip_tags(self) -> Optional[Sequence['outputs.IPTagResponse']]:
1219
+ """
1220
+ Specifies the list of IP tags associated with the public IP address.
1221
+ """
1222
+ return pulumi.get(self, "ip_tags")
1223
+
1224
+ @property
1225
+ @pulumi.getter(name="publicIPAddressVersion")
1226
+ def public_ip_address_version(self) -> Optional[str]:
1227
+ """
1228
+ Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.
1229
+ """
1230
+ return pulumi.get(self, "public_ip_address_version")
1231
+
1232
+
1233
+ @pulumi.output_type
1234
+ class LoadBalancingRuleResponse(dict):
1235
+ """
1236
+ Describes a load balancing rule.
1237
+ """
1238
+ @staticmethod
1239
+ def __key_warning(key: str):
1240
+ suggest = None
1241
+ if key == "backendPort":
1242
+ suggest = "backend_port"
1243
+ elif key == "frontendPort":
1244
+ suggest = "frontend_port"
1245
+ elif key == "probeProtocol":
1246
+ suggest = "probe_protocol"
1247
+ elif key == "loadDistribution":
1248
+ suggest = "load_distribution"
1249
+ elif key == "probePort":
1250
+ suggest = "probe_port"
1251
+ elif key == "probeRequestPath":
1252
+ suggest = "probe_request_path"
1253
+
1254
+ if suggest:
1255
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancingRuleResponse. Access the value via the '{suggest}' property getter instead.")
1256
+
1257
+ def __getitem__(self, key: str) -> Any:
1258
+ LoadBalancingRuleResponse.__key_warning(key)
1259
+ return super().__getitem__(key)
1260
+
1261
+ def get(self, key: str, default = None) -> Any:
1262
+ LoadBalancingRuleResponse.__key_warning(key)
1263
+ return super().get(key, default)
1264
+
1265
+ def __init__(__self__, *,
1266
+ backend_port: int,
1267
+ frontend_port: int,
1268
+ probe_protocol: str,
1269
+ protocol: str,
1270
+ load_distribution: Optional[str] = None,
1271
+ probe_port: Optional[int] = None,
1272
+ probe_request_path: Optional[str] = None):
1273
+ """
1274
+ Describes a load balancing rule.
1275
+ :param int backend_port: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
1276
+ :param int frontend_port: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534.
1277
+ :param str probe_protocol: the reference to the load balancer probe used by the load balancing rule.
1278
+ :param str protocol: The reference to the transport protocol used by the load balancing rule.
1279
+ :param str load_distribution: The load distribution policy for this rule.
1280
+ :param int probe_port: The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.
1281
+ :param str probe_request_path: The probe request path. Only supported for HTTP/HTTPS probes.
1282
+ """
1283
+ pulumi.set(__self__, "backend_port", backend_port)
1284
+ pulumi.set(__self__, "frontend_port", frontend_port)
1285
+ pulumi.set(__self__, "probe_protocol", probe_protocol)
1286
+ pulumi.set(__self__, "protocol", protocol)
1287
+ if load_distribution is not None:
1288
+ pulumi.set(__self__, "load_distribution", load_distribution)
1289
+ if probe_port is not None:
1290
+ pulumi.set(__self__, "probe_port", probe_port)
1291
+ if probe_request_path is not None:
1292
+ pulumi.set(__self__, "probe_request_path", probe_request_path)
1293
+
1294
+ @property
1295
+ @pulumi.getter(name="backendPort")
1296
+ def backend_port(self) -> int:
1297
+ """
1298
+ The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
1299
+ """
1300
+ return pulumi.get(self, "backend_port")
1301
+
1302
+ @property
1303
+ @pulumi.getter(name="frontendPort")
1304
+ def frontend_port(self) -> int:
1305
+ """
1306
+ The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534.
1307
+ """
1308
+ return pulumi.get(self, "frontend_port")
1309
+
1310
+ @property
1311
+ @pulumi.getter(name="probeProtocol")
1312
+ def probe_protocol(self) -> str:
1313
+ """
1314
+ the reference to the load balancer probe used by the load balancing rule.
1315
+ """
1316
+ return pulumi.get(self, "probe_protocol")
1317
+
1318
+ @property
1319
+ @pulumi.getter
1320
+ def protocol(self) -> str:
1321
+ """
1322
+ The reference to the transport protocol used by the load balancing rule.
1323
+ """
1324
+ return pulumi.get(self, "protocol")
1325
+
1326
+ @property
1327
+ @pulumi.getter(name="loadDistribution")
1328
+ def load_distribution(self) -> Optional[str]:
1329
+ """
1330
+ The load distribution policy for this rule.
1331
+ """
1332
+ return pulumi.get(self, "load_distribution")
1333
+
1334
+ @property
1335
+ @pulumi.getter(name="probePort")
1336
+ def probe_port(self) -> Optional[int]:
1337
+ """
1338
+ The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.
1339
+ """
1340
+ return pulumi.get(self, "probe_port")
1341
+
1342
+ @property
1343
+ @pulumi.getter(name="probeRequestPath")
1344
+ def probe_request_path(self) -> Optional[str]:
1345
+ """
1346
+ The probe request path. Only supported for HTTP/HTTPS probes.
1347
+ """
1348
+ return pulumi.get(self, "probe_request_path")
1349
+
1350
+
1351
+ @pulumi.output_type
1352
+ class ManagedIdentityResponse(dict):
1353
+ """
1354
+ Describes the managed identities for an Azure resource.
1355
+ """
1356
+ @staticmethod
1357
+ def __key_warning(key: str):
1358
+ suggest = None
1359
+ if key == "principalId":
1360
+ suggest = "principal_id"
1361
+ elif key == "tenantId":
1362
+ suggest = "tenant_id"
1363
+ elif key == "userAssignedIdentities":
1364
+ suggest = "user_assigned_identities"
1365
+
1366
+ if suggest:
1367
+ pulumi.log.warn(f"Key '{key}' not found in ManagedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
1368
+
1369
+ def __getitem__(self, key: str) -> Any:
1370
+ ManagedIdentityResponse.__key_warning(key)
1371
+ return super().__getitem__(key)
1372
+
1373
+ def get(self, key: str, default = None) -> Any:
1374
+ ManagedIdentityResponse.__key_warning(key)
1375
+ return super().get(key, default)
1376
+
1377
+ def __init__(__self__, *,
1378
+ principal_id: str,
1379
+ tenant_id: str,
1380
+ type: Optional[str] = None,
1381
+ user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None):
1382
+ """
1383
+ Describes the managed identities for an Azure resource.
1384
+ :param str principal_id: The principal id of the managed identity. This property will only be provided for a system assigned identity.
1385
+ :param str tenant_id: The tenant id of the managed identity. This property will only be provided for a system assigned identity.
1386
+ :param str type: The type of managed identity for the resource.
1387
+ :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:
1388
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1389
+ """
1390
+ pulumi.set(__self__, "principal_id", principal_id)
1391
+ pulumi.set(__self__, "tenant_id", tenant_id)
1392
+ if type is not None:
1393
+ pulumi.set(__self__, "type", type)
1394
+ if user_assigned_identities is not None:
1395
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
1396
+
1397
+ @property
1398
+ @pulumi.getter(name="principalId")
1399
+ def principal_id(self) -> str:
1400
+ """
1401
+ The principal id of the managed identity. This property will only be provided for a system assigned identity.
1402
+ """
1403
+ return pulumi.get(self, "principal_id")
1404
+
1405
+ @property
1406
+ @pulumi.getter(name="tenantId")
1407
+ def tenant_id(self) -> str:
1408
+ """
1409
+ The tenant id of the managed identity. This property will only be provided for a system assigned identity.
1410
+ """
1411
+ return pulumi.get(self, "tenant_id")
1412
+
1413
+ @property
1414
+ @pulumi.getter
1415
+ def type(self) -> Optional[str]:
1416
+ """
1417
+ The type of managed identity for the resource.
1418
+ """
1419
+ return pulumi.get(self, "type")
1420
+
1421
+ @property
1422
+ @pulumi.getter(name="userAssignedIdentities")
1423
+ def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]:
1424
+ """
1425
+ The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:
1426
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1427
+ """
1428
+ return pulumi.get(self, "user_assigned_identities")
1429
+
1430
+
1431
+ @pulumi.output_type
1432
+ class NamedPartitionSchemeResponse(dict):
1433
+ """
1434
+ Describes the named partition scheme of the service.
1435
+ """
1436
+ @staticmethod
1437
+ def __key_warning(key: str):
1438
+ suggest = None
1439
+ if key == "partitionScheme":
1440
+ suggest = "partition_scheme"
1441
+
1442
+ if suggest:
1443
+ pulumi.log.warn(f"Key '{key}' not found in NamedPartitionSchemeResponse. Access the value via the '{suggest}' property getter instead.")
1444
+
1445
+ def __getitem__(self, key: str) -> Any:
1446
+ NamedPartitionSchemeResponse.__key_warning(key)
1447
+ return super().__getitem__(key)
1448
+
1449
+ def get(self, key: str, default = None) -> Any:
1450
+ NamedPartitionSchemeResponse.__key_warning(key)
1451
+ return super().get(key, default)
1452
+
1453
+ def __init__(__self__, *,
1454
+ names: Sequence[str],
1455
+ partition_scheme: str):
1456
+ """
1457
+ Describes the named partition scheme of the service.
1458
+ :param Sequence[str] names: Array for the names of the partitions.
1459
+ :param str partition_scheme: Enumerates the ways that a service can be partitioned.
1460
+ Expected value is 'Named'.
1461
+ """
1462
+ pulumi.set(__self__, "names", names)
1463
+ pulumi.set(__self__, "partition_scheme", 'Named')
1464
+
1465
+ @property
1466
+ @pulumi.getter
1467
+ def names(self) -> Sequence[str]:
1468
+ """
1469
+ Array for the names of the partitions.
1470
+ """
1471
+ return pulumi.get(self, "names")
1472
+
1473
+ @property
1474
+ @pulumi.getter(name="partitionScheme")
1475
+ def partition_scheme(self) -> str:
1476
+ """
1477
+ Enumerates the ways that a service can be partitioned.
1478
+ Expected value is 'Named'.
1479
+ """
1480
+ return pulumi.get(self, "partition_scheme")
1481
+
1482
+
1483
+ @pulumi.output_type
1484
+ class NetworkSecurityRuleResponse(dict):
1485
+ """
1486
+ Describes a network security rule.
1487
+ """
1488
+ @staticmethod
1489
+ def __key_warning(key: str):
1490
+ suggest = None
1491
+ if key == "destinationAddressPrefix":
1492
+ suggest = "destination_address_prefix"
1493
+ elif key == "destinationAddressPrefixes":
1494
+ suggest = "destination_address_prefixes"
1495
+ elif key == "destinationPortRange":
1496
+ suggest = "destination_port_range"
1497
+ elif key == "destinationPortRanges":
1498
+ suggest = "destination_port_ranges"
1499
+ elif key == "sourceAddressPrefix":
1500
+ suggest = "source_address_prefix"
1501
+ elif key == "sourceAddressPrefixes":
1502
+ suggest = "source_address_prefixes"
1503
+ elif key == "sourcePortRange":
1504
+ suggest = "source_port_range"
1505
+ elif key == "sourcePortRanges":
1506
+ suggest = "source_port_ranges"
1507
+
1508
+ if suggest:
1509
+ pulumi.log.warn(f"Key '{key}' not found in NetworkSecurityRuleResponse. Access the value via the '{suggest}' property getter instead.")
1510
+
1511
+ def __getitem__(self, key: str) -> Any:
1512
+ NetworkSecurityRuleResponse.__key_warning(key)
1513
+ return super().__getitem__(key)
1514
+
1515
+ def get(self, key: str, default = None) -> Any:
1516
+ NetworkSecurityRuleResponse.__key_warning(key)
1517
+ return super().get(key, default)
1518
+
1519
+ def __init__(__self__, *,
1520
+ access: str,
1521
+ direction: str,
1522
+ name: str,
1523
+ priority: int,
1524
+ protocol: str,
1525
+ description: Optional[str] = None,
1526
+ destination_address_prefix: Optional[str] = None,
1527
+ destination_address_prefixes: Optional[Sequence[str]] = None,
1528
+ destination_port_range: Optional[str] = None,
1529
+ destination_port_ranges: Optional[Sequence[str]] = None,
1530
+ source_address_prefix: Optional[str] = None,
1531
+ source_address_prefixes: Optional[Sequence[str]] = None,
1532
+ source_port_range: Optional[str] = None,
1533
+ source_port_ranges: Optional[Sequence[str]] = None):
1534
+ """
1535
+ Describes a network security rule.
1536
+ :param str access: The network traffic is allowed or denied.
1537
+ :param str direction: Network security rule direction.
1538
+ :param str name: Network security rule name.
1539
+ :param int priority: The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
1540
+ :param str protocol: Network protocol this rule applies to.
1541
+ :param str description: Network security rule description.
1542
+ :param str destination_address_prefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
1543
+ :param Sequence[str] destination_address_prefixes: The destination address prefixes. CIDR or destination IP ranges.
1544
+ :param str destination_port_range: he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1545
+ :param Sequence[str] destination_port_ranges: The destination port ranges.
1546
+ :param str source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
1547
+ :param Sequence[str] source_address_prefixes: The CIDR or source IP ranges.
1548
+ :param str source_port_range: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1549
+ :param Sequence[str] source_port_ranges: The source port ranges.
1550
+ """
1551
+ pulumi.set(__self__, "access", access)
1552
+ pulumi.set(__self__, "direction", direction)
1553
+ pulumi.set(__self__, "name", name)
1554
+ pulumi.set(__self__, "priority", priority)
1555
+ pulumi.set(__self__, "protocol", protocol)
1556
+ if description is not None:
1557
+ pulumi.set(__self__, "description", description)
1558
+ if destination_address_prefix is not None:
1559
+ pulumi.set(__self__, "destination_address_prefix", destination_address_prefix)
1560
+ if destination_address_prefixes is not None:
1561
+ pulumi.set(__self__, "destination_address_prefixes", destination_address_prefixes)
1562
+ if destination_port_range is not None:
1563
+ pulumi.set(__self__, "destination_port_range", destination_port_range)
1564
+ if destination_port_ranges is not None:
1565
+ pulumi.set(__self__, "destination_port_ranges", destination_port_ranges)
1566
+ if source_address_prefix is not None:
1567
+ pulumi.set(__self__, "source_address_prefix", source_address_prefix)
1568
+ if source_address_prefixes is not None:
1569
+ pulumi.set(__self__, "source_address_prefixes", source_address_prefixes)
1570
+ if source_port_range is not None:
1571
+ pulumi.set(__self__, "source_port_range", source_port_range)
1572
+ if source_port_ranges is not None:
1573
+ pulumi.set(__self__, "source_port_ranges", source_port_ranges)
1574
+
1575
+ @property
1576
+ @pulumi.getter
1577
+ def access(self) -> str:
1578
+ """
1579
+ The network traffic is allowed or denied.
1580
+ """
1581
+ return pulumi.get(self, "access")
1582
+
1583
+ @property
1584
+ @pulumi.getter
1585
+ def direction(self) -> str:
1586
+ """
1587
+ Network security rule direction.
1588
+ """
1589
+ return pulumi.get(self, "direction")
1590
+
1591
+ @property
1592
+ @pulumi.getter
1593
+ def name(self) -> str:
1594
+ """
1595
+ Network security rule name.
1596
+ """
1597
+ return pulumi.get(self, "name")
1598
+
1599
+ @property
1600
+ @pulumi.getter
1601
+ def priority(self) -> int:
1602
+ """
1603
+ The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
1604
+ """
1605
+ return pulumi.get(self, "priority")
1606
+
1607
+ @property
1608
+ @pulumi.getter
1609
+ def protocol(self) -> str:
1610
+ """
1611
+ Network protocol this rule applies to.
1612
+ """
1613
+ return pulumi.get(self, "protocol")
1614
+
1615
+ @property
1616
+ @pulumi.getter
1617
+ def description(self) -> Optional[str]:
1618
+ """
1619
+ Network security rule description.
1620
+ """
1621
+ return pulumi.get(self, "description")
1622
+
1623
+ @property
1624
+ @pulumi.getter(name="destinationAddressPrefix")
1625
+ def destination_address_prefix(self) -> Optional[str]:
1626
+ """
1627
+ The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
1628
+ """
1629
+ return pulumi.get(self, "destination_address_prefix")
1630
+
1631
+ @property
1632
+ @pulumi.getter(name="destinationAddressPrefixes")
1633
+ def destination_address_prefixes(self) -> Optional[Sequence[str]]:
1634
+ """
1635
+ The destination address prefixes. CIDR or destination IP ranges.
1636
+ """
1637
+ return pulumi.get(self, "destination_address_prefixes")
1638
+
1639
+ @property
1640
+ @pulumi.getter(name="destinationPortRange")
1641
+ def destination_port_range(self) -> Optional[str]:
1642
+ """
1643
+ he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1644
+ """
1645
+ return pulumi.get(self, "destination_port_range")
1646
+
1647
+ @property
1648
+ @pulumi.getter(name="destinationPortRanges")
1649
+ def destination_port_ranges(self) -> Optional[Sequence[str]]:
1650
+ """
1651
+ The destination port ranges.
1652
+ """
1653
+ return pulumi.get(self, "destination_port_ranges")
1654
+
1655
+ @property
1656
+ @pulumi.getter(name="sourceAddressPrefix")
1657
+ def source_address_prefix(self) -> Optional[str]:
1658
+ """
1659
+ The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
1660
+ """
1661
+ return pulumi.get(self, "source_address_prefix")
1662
+
1663
+ @property
1664
+ @pulumi.getter(name="sourceAddressPrefixes")
1665
+ def source_address_prefixes(self) -> Optional[Sequence[str]]:
1666
+ """
1667
+ The CIDR or source IP ranges.
1668
+ """
1669
+ return pulumi.get(self, "source_address_prefixes")
1670
+
1671
+ @property
1672
+ @pulumi.getter(name="sourcePortRange")
1673
+ def source_port_range(self) -> Optional[str]:
1674
+ """
1675
+ The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1676
+ """
1677
+ return pulumi.get(self, "source_port_range")
1678
+
1679
+ @property
1680
+ @pulumi.getter(name="sourcePortRanges")
1681
+ def source_port_ranges(self) -> Optional[Sequence[str]]:
1682
+ """
1683
+ The source port ranges.
1684
+ """
1685
+ return pulumi.get(self, "source_port_ranges")
1686
+
1687
+
1688
+ @pulumi.output_type
1689
+ class NodeTypeSkuResponse(dict):
1690
+ """
1691
+ Describes a node type sku.
1692
+ """
1693
+ def __init__(__self__, *,
1694
+ capacity: int,
1695
+ name: Optional[str] = None,
1696
+ tier: Optional[str] = None):
1697
+ """
1698
+ Describes a node type sku.
1699
+ :param int capacity: The number of nodes in the node type.<br /><br />If present in request it will override properties.vmInstanceCount.
1700
+ :param str name: The sku name. <br /><br />Name is internally generated and is used in auto-scale scenarios.<br /> Property does not allow to be changed to other values than generated.<br /> To avoid deployment errors please omit the property.
1701
+ :param str tier: Specifies the tier of the node type. <br /><br /> Possible Values:<br /> **Standard**
1702
+ """
1703
+ pulumi.set(__self__, "capacity", capacity)
1704
+ if name is not None:
1705
+ pulumi.set(__self__, "name", name)
1706
+ if tier is not None:
1707
+ pulumi.set(__self__, "tier", tier)
1708
+
1709
+ @property
1710
+ @pulumi.getter
1711
+ def capacity(self) -> int:
1712
+ """
1713
+ The number of nodes in the node type.<br /><br />If present in request it will override properties.vmInstanceCount.
1714
+ """
1715
+ return pulumi.get(self, "capacity")
1716
+
1717
+ @property
1718
+ @pulumi.getter
1719
+ def name(self) -> Optional[str]:
1720
+ """
1721
+ The sku name. <br /><br />Name is internally generated and is used in auto-scale scenarios.<br /> Property does not allow to be changed to other values than generated.<br /> To avoid deployment errors please omit the property.
1722
+ """
1723
+ return pulumi.get(self, "name")
1724
+
1725
+ @property
1726
+ @pulumi.getter
1727
+ def tier(self) -> Optional[str]:
1728
+ """
1729
+ Specifies the tier of the node type. <br /><br /> Possible Values:<br /> **Standard**
1730
+ """
1731
+ return pulumi.get(self, "tier")
1732
+
1733
+
1734
+ @pulumi.output_type
1735
+ class PartitionInstanceCountScaleMechanismResponse(dict):
1736
+ """
1737
+ Represents a scaling mechanism for adding or removing instances of stateless service partition.
1738
+ """
1739
+ @staticmethod
1740
+ def __key_warning(key: str):
1741
+ suggest = None
1742
+ if key == "maxInstanceCount":
1743
+ suggest = "max_instance_count"
1744
+ elif key == "minInstanceCount":
1745
+ suggest = "min_instance_count"
1746
+ elif key == "scaleIncrement":
1747
+ suggest = "scale_increment"
1748
+
1749
+ if suggest:
1750
+ pulumi.log.warn(f"Key '{key}' not found in PartitionInstanceCountScaleMechanismResponse. Access the value via the '{suggest}' property getter instead.")
1751
+
1752
+ def __getitem__(self, key: str) -> Any:
1753
+ PartitionInstanceCountScaleMechanismResponse.__key_warning(key)
1754
+ return super().__getitem__(key)
1755
+
1756
+ def get(self, key: str, default = None) -> Any:
1757
+ PartitionInstanceCountScaleMechanismResponse.__key_warning(key)
1758
+ return super().get(key, default)
1759
+
1760
+ def __init__(__self__, *,
1761
+ kind: str,
1762
+ max_instance_count: int,
1763
+ min_instance_count: int,
1764
+ scale_increment: int):
1765
+ """
1766
+ Represents a scaling mechanism for adding or removing instances of stateless service partition.
1767
+ :param str kind: Enumerates the ways that a service can be partitioned.
1768
+ Expected value is 'ScalePartitionInstanceCount'.
1769
+ :param int max_instance_count: Maximum number of instances of the partition.
1770
+ :param int min_instance_count: Minimum number of instances of the partition.
1771
+ :param int scale_increment: The number of instances to add or remove during a scaling operation.
1772
+ """
1773
+ pulumi.set(__self__, "kind", 'ScalePartitionInstanceCount')
1774
+ pulumi.set(__self__, "max_instance_count", max_instance_count)
1775
+ pulumi.set(__self__, "min_instance_count", min_instance_count)
1776
+ pulumi.set(__self__, "scale_increment", scale_increment)
1777
+
1778
+ @property
1779
+ @pulumi.getter
1780
+ def kind(self) -> str:
1781
+ """
1782
+ Enumerates the ways that a service can be partitioned.
1783
+ Expected value is 'ScalePartitionInstanceCount'.
1784
+ """
1785
+ return pulumi.get(self, "kind")
1786
+
1787
+ @property
1788
+ @pulumi.getter(name="maxInstanceCount")
1789
+ def max_instance_count(self) -> int:
1790
+ """
1791
+ Maximum number of instances of the partition.
1792
+ """
1793
+ return pulumi.get(self, "max_instance_count")
1794
+
1795
+ @property
1796
+ @pulumi.getter(name="minInstanceCount")
1797
+ def min_instance_count(self) -> int:
1798
+ """
1799
+ Minimum number of instances of the partition.
1800
+ """
1801
+ return pulumi.get(self, "min_instance_count")
1802
+
1803
+ @property
1804
+ @pulumi.getter(name="scaleIncrement")
1805
+ def scale_increment(self) -> int:
1806
+ """
1807
+ The number of instances to add or remove during a scaling operation.
1808
+ """
1809
+ return pulumi.get(self, "scale_increment")
1810
+
1811
+
1812
+ @pulumi.output_type
1813
+ class ResourceAzStatusResponse(dict):
1814
+ """
1815
+ Describes Az Resiliency status of Base resources
1816
+ """
1817
+ def __init__(__self__, *,
1818
+ is_zone_resilient: bool,
1819
+ resource_name: str,
1820
+ resource_type: str):
1821
+ """
1822
+ Describes Az Resiliency status of Base resources
1823
+ :param bool is_zone_resilient: VM Size name.
1824
+ :param str resource_name: VM Size properties.
1825
+ :param str resource_type: VM Size id.
1826
+ """
1827
+ pulumi.set(__self__, "is_zone_resilient", is_zone_resilient)
1828
+ pulumi.set(__self__, "resource_name", resource_name)
1829
+ pulumi.set(__self__, "resource_type", resource_type)
1830
+
1831
+ @property
1832
+ @pulumi.getter(name="isZoneResilient")
1833
+ def is_zone_resilient(self) -> bool:
1834
+ """
1835
+ VM Size name.
1836
+ """
1837
+ return pulumi.get(self, "is_zone_resilient")
1838
+
1839
+ @property
1840
+ @pulumi.getter(name="resourceName")
1841
+ def resource_name(self) -> str:
1842
+ """
1843
+ VM Size properties.
1844
+ """
1845
+ return pulumi.get(self, "resource_name")
1846
+
1847
+ @property
1848
+ @pulumi.getter(name="resourceType")
1849
+ def resource_type(self) -> str:
1850
+ """
1851
+ VM Size id.
1852
+ """
1853
+ return pulumi.get(self, "resource_type")
1854
+
1855
+
1856
+ @pulumi.output_type
1857
+ class RollingUpgradeMonitoringPolicyResponse(dict):
1858
+ """
1859
+ The policy used for monitoring the application upgrade
1860
+ """
1861
+ @staticmethod
1862
+ def __key_warning(key: str):
1863
+ suggest = None
1864
+ if key == "failureAction":
1865
+ suggest = "failure_action"
1866
+ elif key == "healthCheckRetryTimeout":
1867
+ suggest = "health_check_retry_timeout"
1868
+ elif key == "healthCheckStableDuration":
1869
+ suggest = "health_check_stable_duration"
1870
+ elif key == "healthCheckWaitDuration":
1871
+ suggest = "health_check_wait_duration"
1872
+ elif key == "upgradeDomainTimeout":
1873
+ suggest = "upgrade_domain_timeout"
1874
+ elif key == "upgradeTimeout":
1875
+ suggest = "upgrade_timeout"
1876
+
1877
+ if suggest:
1878
+ pulumi.log.warn(f"Key '{key}' not found in RollingUpgradeMonitoringPolicyResponse. Access the value via the '{suggest}' property getter instead.")
1879
+
1880
+ def __getitem__(self, key: str) -> Any:
1881
+ RollingUpgradeMonitoringPolicyResponse.__key_warning(key)
1882
+ return super().__getitem__(key)
1883
+
1884
+ def get(self, key: str, default = None) -> Any:
1885
+ RollingUpgradeMonitoringPolicyResponse.__key_warning(key)
1886
+ return super().get(key, default)
1887
+
1888
+ def __init__(__self__, *,
1889
+ failure_action: str,
1890
+ health_check_retry_timeout: str,
1891
+ health_check_stable_duration: str,
1892
+ health_check_wait_duration: str,
1893
+ upgrade_domain_timeout: str,
1894
+ upgrade_timeout: str):
1895
+ """
1896
+ The policy used for monitoring the application upgrade
1897
+ :param str failure_action: The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.
1898
+ :param str health_check_retry_timeout: The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1899
+ :param str health_check_stable_duration: The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1900
+ :param str health_check_wait_duration: The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1901
+ :param str upgrade_domain_timeout: The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1902
+ :param str upgrade_timeout: The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1903
+ """
1904
+ pulumi.set(__self__, "failure_action", failure_action)
1905
+ pulumi.set(__self__, "health_check_retry_timeout", health_check_retry_timeout)
1906
+ pulumi.set(__self__, "health_check_stable_duration", health_check_stable_duration)
1907
+ pulumi.set(__self__, "health_check_wait_duration", health_check_wait_duration)
1908
+ pulumi.set(__self__, "upgrade_domain_timeout", upgrade_domain_timeout)
1909
+ pulumi.set(__self__, "upgrade_timeout", upgrade_timeout)
1910
+
1911
+ @property
1912
+ @pulumi.getter(name="failureAction")
1913
+ def failure_action(self) -> str:
1914
+ """
1915
+ The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.
1916
+ """
1917
+ return pulumi.get(self, "failure_action")
1918
+
1919
+ @property
1920
+ @pulumi.getter(name="healthCheckRetryTimeout")
1921
+ def health_check_retry_timeout(self) -> str:
1922
+ """
1923
+ The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1924
+ """
1925
+ return pulumi.get(self, "health_check_retry_timeout")
1926
+
1927
+ @property
1928
+ @pulumi.getter(name="healthCheckStableDuration")
1929
+ def health_check_stable_duration(self) -> str:
1930
+ """
1931
+ The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1932
+ """
1933
+ return pulumi.get(self, "health_check_stable_duration")
1934
+
1935
+ @property
1936
+ @pulumi.getter(name="healthCheckWaitDuration")
1937
+ def health_check_wait_duration(self) -> str:
1938
+ """
1939
+ The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1940
+ """
1941
+ return pulumi.get(self, "health_check_wait_duration")
1942
+
1943
+ @property
1944
+ @pulumi.getter(name="upgradeDomainTimeout")
1945
+ def upgrade_domain_timeout(self) -> str:
1946
+ """
1947
+ The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1948
+ """
1949
+ return pulumi.get(self, "upgrade_domain_timeout")
1950
+
1951
+ @property
1952
+ @pulumi.getter(name="upgradeTimeout")
1953
+ def upgrade_timeout(self) -> str:
1954
+ """
1955
+ The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format "hh:mm:ss.fff".
1956
+ """
1957
+ return pulumi.get(self, "upgrade_timeout")
1958
+
1959
+
1960
+ @pulumi.output_type
1961
+ class ScalingPolicyResponse(dict):
1962
+ """
1963
+ Specifies a metric to load balance a service during runtime.
1964
+ """
1965
+ @staticmethod
1966
+ def __key_warning(key: str):
1967
+ suggest = None
1968
+ if key == "scalingMechanism":
1969
+ suggest = "scaling_mechanism"
1970
+ elif key == "scalingTrigger":
1971
+ suggest = "scaling_trigger"
1972
+
1973
+ if suggest:
1974
+ pulumi.log.warn(f"Key '{key}' not found in ScalingPolicyResponse. Access the value via the '{suggest}' property getter instead.")
1975
+
1976
+ def __getitem__(self, key: str) -> Any:
1977
+ ScalingPolicyResponse.__key_warning(key)
1978
+ return super().__getitem__(key)
1979
+
1980
+ def get(self, key: str, default = None) -> Any:
1981
+ ScalingPolicyResponse.__key_warning(key)
1982
+ return super().get(key, default)
1983
+
1984
+ def __init__(__self__, *,
1985
+ scaling_mechanism: Any,
1986
+ scaling_trigger: Any):
1987
+ """
1988
+ Specifies a metric to load balance a service during runtime.
1989
+ :param Union['AddRemoveIncrementalNamedPartitionScalingMechanismResponse', 'PartitionInstanceCountScaleMechanismResponse'] scaling_mechanism: Specifies the mechanism associated with this scaling policy
1990
+ :param Union['AveragePartitionLoadScalingTriggerResponse', 'AverageServiceLoadScalingTriggerResponse'] scaling_trigger: Specifies the trigger associated with this scaling policy.
1991
+ """
1992
+ pulumi.set(__self__, "scaling_mechanism", scaling_mechanism)
1993
+ pulumi.set(__self__, "scaling_trigger", scaling_trigger)
1994
+
1995
+ @property
1996
+ @pulumi.getter(name="scalingMechanism")
1997
+ def scaling_mechanism(self) -> Any:
1998
+ """
1999
+ Specifies the mechanism associated with this scaling policy
2000
+ """
2001
+ return pulumi.get(self, "scaling_mechanism")
2002
+
2003
+ @property
2004
+ @pulumi.getter(name="scalingTrigger")
2005
+ def scaling_trigger(self) -> Any:
2006
+ """
2007
+ Specifies the trigger associated with this scaling policy.
2008
+ """
2009
+ return pulumi.get(self, "scaling_trigger")
2010
+
2011
+
2012
+ @pulumi.output_type
2013
+ class ServiceCorrelationResponse(dict):
2014
+ """
2015
+ Creates a particular correlation between services.
2016
+ """
2017
+ @staticmethod
2018
+ def __key_warning(key: str):
2019
+ suggest = None
2020
+ if key == "serviceName":
2021
+ suggest = "service_name"
2022
+
2023
+ if suggest:
2024
+ pulumi.log.warn(f"Key '{key}' not found in ServiceCorrelationResponse. Access the value via the '{suggest}' property getter instead.")
2025
+
2026
+ def __getitem__(self, key: str) -> Any:
2027
+ ServiceCorrelationResponse.__key_warning(key)
2028
+ return super().__getitem__(key)
2029
+
2030
+ def get(self, key: str, default = None) -> Any:
2031
+ ServiceCorrelationResponse.__key_warning(key)
2032
+ return super().get(key, default)
2033
+
2034
+ def __init__(__self__, *,
2035
+ scheme: str,
2036
+ service_name: str):
2037
+ """
2038
+ Creates a particular correlation between services.
2039
+ :param str scheme: The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName.
2040
+ :param str service_name: The Arm Resource ID of the service that the correlation relationship is established with.
2041
+ """
2042
+ pulumi.set(__self__, "scheme", scheme)
2043
+ pulumi.set(__self__, "service_name", service_name)
2044
+
2045
+ @property
2046
+ @pulumi.getter
2047
+ def scheme(self) -> str:
2048
+ """
2049
+ The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName.
2050
+ """
2051
+ return pulumi.get(self, "scheme")
2052
+
2053
+ @property
2054
+ @pulumi.getter(name="serviceName")
2055
+ def service_name(self) -> str:
2056
+ """
2057
+ The Arm Resource ID of the service that the correlation relationship is established with.
2058
+ """
2059
+ return pulumi.get(self, "service_name")
2060
+
2061
+
2062
+ @pulumi.output_type
2063
+ class ServiceEndpointResponse(dict):
2064
+ """
2065
+ The service endpoint properties.
2066
+ """
2067
+ def __init__(__self__, *,
2068
+ service: str,
2069
+ locations: Optional[Sequence[str]] = None):
2070
+ """
2071
+ The service endpoint properties.
2072
+ :param str service: The type of the endpoint service.
2073
+ :param Sequence[str] locations: A list of locations.
2074
+ """
2075
+ pulumi.set(__self__, "service", service)
2076
+ if locations is not None:
2077
+ pulumi.set(__self__, "locations", locations)
2078
+
2079
+ @property
2080
+ @pulumi.getter
2081
+ def service(self) -> str:
2082
+ """
2083
+ The type of the endpoint service.
2084
+ """
2085
+ return pulumi.get(self, "service")
2086
+
2087
+ @property
2088
+ @pulumi.getter
2089
+ def locations(self) -> Optional[Sequence[str]]:
2090
+ """
2091
+ A list of locations.
2092
+ """
2093
+ return pulumi.get(self, "locations")
2094
+
2095
+
2096
+ @pulumi.output_type
2097
+ class ServiceLoadMetricResponse(dict):
2098
+ """
2099
+ Specifies a metric to load balance a service during runtime.
2100
+ """
2101
+ @staticmethod
2102
+ def __key_warning(key: str):
2103
+ suggest = None
2104
+ if key == "defaultLoad":
2105
+ suggest = "default_load"
2106
+ elif key == "primaryDefaultLoad":
2107
+ suggest = "primary_default_load"
2108
+ elif key == "secondaryDefaultLoad":
2109
+ suggest = "secondary_default_load"
2110
+
2111
+ if suggest:
2112
+ pulumi.log.warn(f"Key '{key}' not found in ServiceLoadMetricResponse. Access the value via the '{suggest}' property getter instead.")
2113
+
2114
+ def __getitem__(self, key: str) -> Any:
2115
+ ServiceLoadMetricResponse.__key_warning(key)
2116
+ return super().__getitem__(key)
2117
+
2118
+ def get(self, key: str, default = None) -> Any:
2119
+ ServiceLoadMetricResponse.__key_warning(key)
2120
+ return super().get(key, default)
2121
+
2122
+ def __init__(__self__, *,
2123
+ name: str,
2124
+ default_load: Optional[int] = None,
2125
+ primary_default_load: Optional[int] = None,
2126
+ secondary_default_load: Optional[int] = None,
2127
+ weight: Optional[str] = None):
2128
+ """
2129
+ Specifies a metric to load balance a service during runtime.
2130
+ :param str name: The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive.
2131
+ :param int default_load: Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
2132
+ :param int primary_default_load: Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica.
2133
+ :param int secondary_default_load: Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica.
2134
+ :param str weight: The service load metric relative weight, compared to other metrics configured for this service, as a number.
2135
+ """
2136
+ pulumi.set(__self__, "name", name)
2137
+ if default_load is not None:
2138
+ pulumi.set(__self__, "default_load", default_load)
2139
+ if primary_default_load is not None:
2140
+ pulumi.set(__self__, "primary_default_load", primary_default_load)
2141
+ if secondary_default_load is not None:
2142
+ pulumi.set(__self__, "secondary_default_load", secondary_default_load)
2143
+ if weight is not None:
2144
+ pulumi.set(__self__, "weight", weight)
2145
+
2146
+ @property
2147
+ @pulumi.getter
2148
+ def name(self) -> str:
2149
+ """
2150
+ The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive.
2151
+ """
2152
+ return pulumi.get(self, "name")
2153
+
2154
+ @property
2155
+ @pulumi.getter(name="defaultLoad")
2156
+ def default_load(self) -> Optional[int]:
2157
+ """
2158
+ Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
2159
+ """
2160
+ return pulumi.get(self, "default_load")
2161
+
2162
+ @property
2163
+ @pulumi.getter(name="primaryDefaultLoad")
2164
+ def primary_default_load(self) -> Optional[int]:
2165
+ """
2166
+ Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica.
2167
+ """
2168
+ return pulumi.get(self, "primary_default_load")
2169
+
2170
+ @property
2171
+ @pulumi.getter(name="secondaryDefaultLoad")
2172
+ def secondary_default_load(self) -> Optional[int]:
2173
+ """
2174
+ Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica.
2175
+ """
2176
+ return pulumi.get(self, "secondary_default_load")
2177
+
2178
+ @property
2179
+ @pulumi.getter
2180
+ def weight(self) -> Optional[str]:
2181
+ """
2182
+ The service load metric relative weight, compared to other metrics configured for this service, as a number.
2183
+ """
2184
+ return pulumi.get(self, "weight")
2185
+
2186
+
2187
+ @pulumi.output_type
2188
+ class ServicePlacementInvalidDomainPolicyResponse(dict):
2189
+ """
2190
+ Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.
2191
+ """
2192
+ @staticmethod
2193
+ def __key_warning(key: str):
2194
+ suggest = None
2195
+ if key == "domainName":
2196
+ suggest = "domain_name"
2197
+
2198
+ if suggest:
2199
+ pulumi.log.warn(f"Key '{key}' not found in ServicePlacementInvalidDomainPolicyResponse. Access the value via the '{suggest}' property getter instead.")
2200
+
2201
+ def __getitem__(self, key: str) -> Any:
2202
+ ServicePlacementInvalidDomainPolicyResponse.__key_warning(key)
2203
+ return super().__getitem__(key)
2204
+
2205
+ def get(self, key: str, default = None) -> Any:
2206
+ ServicePlacementInvalidDomainPolicyResponse.__key_warning(key)
2207
+ return super().get(key, default)
2208
+
2209
+ def __init__(__self__, *,
2210
+ domain_name: str,
2211
+ type: str):
2212
+ """
2213
+ Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.
2214
+ :param str domain_name: The name of the domain that should not be used for placement.
2215
+ :param str type: The type of placement policy for a service fabric service. Following are the possible values.
2216
+ Expected value is 'InvalidDomain'.
2217
+ """
2218
+ pulumi.set(__self__, "domain_name", domain_name)
2219
+ pulumi.set(__self__, "type", 'InvalidDomain')
2220
+
2221
+ @property
2222
+ @pulumi.getter(name="domainName")
2223
+ def domain_name(self) -> str:
2224
+ """
2225
+ The name of the domain that should not be used for placement.
2226
+ """
2227
+ return pulumi.get(self, "domain_name")
2228
+
2229
+ @property
2230
+ @pulumi.getter
2231
+ def type(self) -> str:
2232
+ """
2233
+ The type of placement policy for a service fabric service. Following are the possible values.
2234
+ Expected value is 'InvalidDomain'.
2235
+ """
2236
+ return pulumi.get(self, "type")
2237
+
2238
+
2239
+ @pulumi.output_type
2240
+ class ServicePlacementNonPartiallyPlaceServicePolicyResponse(dict):
2241
+ """
2242
+ The name of the domain that should used for placement as per this policy.
2243
+ """
2244
+ def __init__(__self__, *,
2245
+ type: str):
2246
+ """
2247
+ The name of the domain that should used for placement as per this policy.
2248
+ :param str type: The type of placement policy for a service fabric service. Following are the possible values.
2249
+ Expected value is 'NonPartiallyPlaceService'.
2250
+ """
2251
+ pulumi.set(__self__, "type", 'NonPartiallyPlaceService')
2252
+
2253
+ @property
2254
+ @pulumi.getter
2255
+ def type(self) -> str:
2256
+ """
2257
+ The type of placement policy for a service fabric service. Following are the possible values.
2258
+ Expected value is 'NonPartiallyPlaceService'.
2259
+ """
2260
+ return pulumi.get(self, "type")
2261
+
2262
+
2263
+ @pulumi.output_type
2264
+ class ServicePlacementPreferPrimaryDomainPolicyResponse(dict):
2265
+ """
2266
+ Describes the policy to be used for placement of a Service Fabric service where the service's
2267
+ Primary replicas should optimally be placed in a particular domain.
2268
+
2269
+ This placement policy is usually used with fault domains in scenarios where the Service Fabric
2270
+ cluster is geographically distributed in order to indicate that a service's primary replica should
2271
+ be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional
2272
+ or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica
2273
+ may not end up located in this domain due to failures, capacity limits, or other constraints.
2274
+ """
2275
+ @staticmethod
2276
+ def __key_warning(key: str):
2277
+ suggest = None
2278
+ if key == "domainName":
2279
+ suggest = "domain_name"
2280
+
2281
+ if suggest:
2282
+ pulumi.log.warn(f"Key '{key}' not found in ServicePlacementPreferPrimaryDomainPolicyResponse. Access the value via the '{suggest}' property getter instead.")
2283
+
2284
+ def __getitem__(self, key: str) -> Any:
2285
+ ServicePlacementPreferPrimaryDomainPolicyResponse.__key_warning(key)
2286
+ return super().__getitem__(key)
2287
+
2288
+ def get(self, key: str, default = None) -> Any:
2289
+ ServicePlacementPreferPrimaryDomainPolicyResponse.__key_warning(key)
2290
+ return super().get(key, default)
2291
+
2292
+ def __init__(__self__, *,
2293
+ domain_name: str,
2294
+ type: str):
2295
+ """
2296
+ Describes the policy to be used for placement of a Service Fabric service where the service's
2297
+ Primary replicas should optimally be placed in a particular domain.
2298
+
2299
+ This placement policy is usually used with fault domains in scenarios where the Service Fabric
2300
+ cluster is geographically distributed in order to indicate that a service's primary replica should
2301
+ be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional
2302
+ or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica
2303
+ may not end up located in this domain due to failures, capacity limits, or other constraints.
2304
+
2305
+ :param str domain_name: The name of the domain that should used for placement as per this policy.
2306
+ :param str type: The type of placement policy for a service fabric service. Following are the possible values.
2307
+ Expected value is 'PreferredPrimaryDomain'.
2308
+ """
2309
+ pulumi.set(__self__, "domain_name", domain_name)
2310
+ pulumi.set(__self__, "type", 'PreferredPrimaryDomain')
2311
+
2312
+ @property
2313
+ @pulumi.getter(name="domainName")
2314
+ def domain_name(self) -> str:
2315
+ """
2316
+ The name of the domain that should used for placement as per this policy.
2317
+ """
2318
+ return pulumi.get(self, "domain_name")
2319
+
2320
+ @property
2321
+ @pulumi.getter
2322
+ def type(self) -> str:
2323
+ """
2324
+ The type of placement policy for a service fabric service. Following are the possible values.
2325
+ Expected value is 'PreferredPrimaryDomain'.
2326
+ """
2327
+ return pulumi.get(self, "type")
2328
+
2329
+
2330
+ @pulumi.output_type
2331
+ class ServicePlacementRequireDomainDistributionPolicyResponse(dict):
2332
+ """
2333
+ Describes the policy to be used for placement of a Service Fabric service where two replicas
2334
+ from the same partition should never be placed in the same fault or upgrade domain.
2335
+
2336
+ While this is not common it can expose the service to an increased risk of concurrent failures
2337
+ due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider
2338
+ a case where replicas are deployed across different data center, with one replica per location.
2339
+ In the event that one of the datacenters goes offline, normally the replica that was placed in that
2340
+ datacenter will be packed into one of the remaining datacenters. If this is not desirable then this
2341
+ policy should be set.
2342
+ """
2343
+ @staticmethod
2344
+ def __key_warning(key: str):
2345
+ suggest = None
2346
+ if key == "domainName":
2347
+ suggest = "domain_name"
2348
+
2349
+ if suggest:
2350
+ pulumi.log.warn(f"Key '{key}' not found in ServicePlacementRequireDomainDistributionPolicyResponse. Access the value via the '{suggest}' property getter instead.")
2351
+
2352
+ def __getitem__(self, key: str) -> Any:
2353
+ ServicePlacementRequireDomainDistributionPolicyResponse.__key_warning(key)
2354
+ return super().__getitem__(key)
2355
+
2356
+ def get(self, key: str, default = None) -> Any:
2357
+ ServicePlacementRequireDomainDistributionPolicyResponse.__key_warning(key)
2358
+ return super().get(key, default)
2359
+
2360
+ def __init__(__self__, *,
2361
+ domain_name: str,
2362
+ type: str):
2363
+ """
2364
+ Describes the policy to be used for placement of a Service Fabric service where two replicas
2365
+ from the same partition should never be placed in the same fault or upgrade domain.
2366
+
2367
+ While this is not common it can expose the service to an increased risk of concurrent failures
2368
+ due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider
2369
+ a case where replicas are deployed across different data center, with one replica per location.
2370
+ In the event that one of the datacenters goes offline, normally the replica that was placed in that
2371
+ datacenter will be packed into one of the remaining datacenters. If this is not desirable then this
2372
+ policy should be set.
2373
+
2374
+ :param str domain_name: The name of the domain that should used for placement as per this policy.
2375
+ :param str type: The type of placement policy for a service fabric service. Following are the possible values.
2376
+ Expected value is 'RequiredDomainDistribution'.
2377
+ """
2378
+ pulumi.set(__self__, "domain_name", domain_name)
2379
+ pulumi.set(__self__, "type", 'RequiredDomainDistribution')
2380
+
2381
+ @property
2382
+ @pulumi.getter(name="domainName")
2383
+ def domain_name(self) -> str:
2384
+ """
2385
+ The name of the domain that should used for placement as per this policy.
2386
+ """
2387
+ return pulumi.get(self, "domain_name")
2388
+
2389
+ @property
2390
+ @pulumi.getter
2391
+ def type(self) -> str:
2392
+ """
2393
+ The type of placement policy for a service fabric service. Following are the possible values.
2394
+ Expected value is 'RequiredDomainDistribution'.
2395
+ """
2396
+ return pulumi.get(self, "type")
2397
+
2398
+
2399
+ @pulumi.output_type
2400
+ class ServicePlacementRequiredDomainPolicyResponse(dict):
2401
+ """
2402
+ Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain.
2403
+ """
2404
+ @staticmethod
2405
+ def __key_warning(key: str):
2406
+ suggest = None
2407
+ if key == "domainName":
2408
+ suggest = "domain_name"
2409
+
2410
+ if suggest:
2411
+ pulumi.log.warn(f"Key '{key}' not found in ServicePlacementRequiredDomainPolicyResponse. Access the value via the '{suggest}' property getter instead.")
2412
+
2413
+ def __getitem__(self, key: str) -> Any:
2414
+ ServicePlacementRequiredDomainPolicyResponse.__key_warning(key)
2415
+ return super().__getitem__(key)
2416
+
2417
+ def get(self, key: str, default = None) -> Any:
2418
+ ServicePlacementRequiredDomainPolicyResponse.__key_warning(key)
2419
+ return super().get(key, default)
2420
+
2421
+ def __init__(__self__, *,
2422
+ domain_name: str,
2423
+ type: str):
2424
+ """
2425
+ Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain.
2426
+ :param str domain_name: The name of the domain that should used for placement as per this policy.
2427
+ :param str type: The type of placement policy for a service fabric service. Following are the possible values.
2428
+ Expected value is 'RequiredDomain'.
2429
+ """
2430
+ pulumi.set(__self__, "domain_name", domain_name)
2431
+ pulumi.set(__self__, "type", 'RequiredDomain')
2432
+
2433
+ @property
2434
+ @pulumi.getter(name="domainName")
2435
+ def domain_name(self) -> str:
2436
+ """
2437
+ The name of the domain that should used for placement as per this policy.
2438
+ """
2439
+ return pulumi.get(self, "domain_name")
2440
+
2441
+ @property
2442
+ @pulumi.getter
2443
+ def type(self) -> str:
2444
+ """
2445
+ The type of placement policy for a service fabric service. Following are the possible values.
2446
+ Expected value is 'RequiredDomain'.
2447
+ """
2448
+ return pulumi.get(self, "type")
2449
+
2450
+
2451
+ @pulumi.output_type
2452
+ class ServiceTypeHealthPolicyResponse(dict):
2453
+ """
2454
+ Represents the health policy used to evaluate the health of services belonging to a service type.
2455
+ """
2456
+ @staticmethod
2457
+ def __key_warning(key: str):
2458
+ suggest = None
2459
+ if key == "maxPercentUnhealthyPartitionsPerService":
2460
+ suggest = "max_percent_unhealthy_partitions_per_service"
2461
+ elif key == "maxPercentUnhealthyReplicasPerPartition":
2462
+ suggest = "max_percent_unhealthy_replicas_per_partition"
2463
+ elif key == "maxPercentUnhealthyServices":
2464
+ suggest = "max_percent_unhealthy_services"
2465
+
2466
+ if suggest:
2467
+ pulumi.log.warn(f"Key '{key}' not found in ServiceTypeHealthPolicyResponse. Access the value via the '{suggest}' property getter instead.")
2468
+
2469
+ def __getitem__(self, key: str) -> Any:
2470
+ ServiceTypeHealthPolicyResponse.__key_warning(key)
2471
+ return super().__getitem__(key)
2472
+
2473
+ def get(self, key: str, default = None) -> Any:
2474
+ ServiceTypeHealthPolicyResponse.__key_warning(key)
2475
+ return super().get(key, default)
2476
+
2477
+ def __init__(__self__, *,
2478
+ max_percent_unhealthy_partitions_per_service: int,
2479
+ max_percent_unhealthy_replicas_per_partition: int,
2480
+ max_percent_unhealthy_services: int):
2481
+ """
2482
+ Represents the health policy used to evaluate the health of services belonging to a service type.
2483
+
2484
+ :param int max_percent_unhealthy_partitions_per_service: The maximum allowed percentage of unhealthy partitions per service.
2485
+
2486
+ The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
2487
+ If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
2488
+ The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
2489
+ The computation rounds up to tolerate one failure on small numbers of partitions.
2490
+ :param int max_percent_unhealthy_replicas_per_partition: The maximum allowed percentage of unhealthy replicas per partition.
2491
+
2492
+ The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
2493
+ If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
2494
+ The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
2495
+ The computation rounds up to tolerate one failure on small numbers of replicas.
2496
+ :param int max_percent_unhealthy_services: The maximum allowed percentage of unhealthy services.
2497
+
2498
+ The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
2499
+ If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
2500
+ This is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.
2501
+ The computation rounds up to tolerate one failure on small numbers of services.
2502
+ """
2503
+ pulumi.set(__self__, "max_percent_unhealthy_partitions_per_service", max_percent_unhealthy_partitions_per_service)
2504
+ pulumi.set(__self__, "max_percent_unhealthy_replicas_per_partition", max_percent_unhealthy_replicas_per_partition)
2505
+ pulumi.set(__self__, "max_percent_unhealthy_services", max_percent_unhealthy_services)
2506
+
2507
+ @property
2508
+ @pulumi.getter(name="maxPercentUnhealthyPartitionsPerService")
2509
+ def max_percent_unhealthy_partitions_per_service(self) -> int:
2510
+ """
2511
+ The maximum allowed percentage of unhealthy partitions per service.
2512
+
2513
+ The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
2514
+ If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
2515
+ The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
2516
+ The computation rounds up to tolerate one failure on small numbers of partitions.
2517
+ """
2518
+ return pulumi.get(self, "max_percent_unhealthy_partitions_per_service")
2519
+
2520
+ @property
2521
+ @pulumi.getter(name="maxPercentUnhealthyReplicasPerPartition")
2522
+ def max_percent_unhealthy_replicas_per_partition(self) -> int:
2523
+ """
2524
+ The maximum allowed percentage of unhealthy replicas per partition.
2525
+
2526
+ The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
2527
+ If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
2528
+ The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
2529
+ The computation rounds up to tolerate one failure on small numbers of replicas.
2530
+ """
2531
+ return pulumi.get(self, "max_percent_unhealthy_replicas_per_partition")
2532
+
2533
+ @property
2534
+ @pulumi.getter(name="maxPercentUnhealthyServices")
2535
+ def max_percent_unhealthy_services(self) -> int:
2536
+ """
2537
+ The maximum allowed percentage of unhealthy services.
2538
+
2539
+ The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
2540
+ If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
2541
+ This is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.
2542
+ The computation rounds up to tolerate one failure on small numbers of services.
2543
+ """
2544
+ return pulumi.get(self, "max_percent_unhealthy_services")
2545
+
2546
+
2547
+ @pulumi.output_type
2548
+ class SettingsParameterDescriptionResponse(dict):
2549
+ """
2550
+ Describes a parameter in fabric settings of the cluster.
2551
+ """
2552
+ def __init__(__self__, *,
2553
+ name: str,
2554
+ value: str):
2555
+ """
2556
+ Describes a parameter in fabric settings of the cluster.
2557
+ :param str name: The parameter name of fabric setting.
2558
+ :param str value: The parameter value of fabric setting.
2559
+ """
2560
+ pulumi.set(__self__, "name", name)
2561
+ pulumi.set(__self__, "value", value)
2562
+
2563
+ @property
2564
+ @pulumi.getter
2565
+ def name(self) -> str:
2566
+ """
2567
+ The parameter name of fabric setting.
2568
+ """
2569
+ return pulumi.get(self, "name")
2570
+
2571
+ @property
2572
+ @pulumi.getter
2573
+ def value(self) -> str:
2574
+ """
2575
+ The parameter value of fabric setting.
2576
+ """
2577
+ return pulumi.get(self, "value")
2578
+
2579
+
2580
+ @pulumi.output_type
2581
+ class SettingsSectionDescriptionResponse(dict):
2582
+ """
2583
+ Describes a section in the fabric settings of the cluster.
2584
+ """
2585
+ def __init__(__self__, *,
2586
+ name: str,
2587
+ parameters: Sequence['outputs.SettingsParameterDescriptionResponse']):
2588
+ """
2589
+ Describes a section in the fabric settings of the cluster.
2590
+ :param str name: The section name of the fabric settings.
2591
+ :param Sequence['SettingsParameterDescriptionResponse'] parameters: The collection of parameters in the section.
2592
+ """
2593
+ pulumi.set(__self__, "name", name)
2594
+ pulumi.set(__self__, "parameters", parameters)
2595
+
2596
+ @property
2597
+ @pulumi.getter
2598
+ def name(self) -> str:
2599
+ """
2600
+ The section name of the fabric settings.
2601
+ """
2602
+ return pulumi.get(self, "name")
2603
+
2604
+ @property
2605
+ @pulumi.getter
2606
+ def parameters(self) -> Sequence['outputs.SettingsParameterDescriptionResponse']:
2607
+ """
2608
+ The collection of parameters in the section.
2609
+ """
2610
+ return pulumi.get(self, "parameters")
2611
+
2612
+
2613
+ @pulumi.output_type
2614
+ class SingletonPartitionSchemeResponse(dict):
2615
+ """
2616
+ Describes the partition scheme of a singleton-partitioned, or non-partitioned service.
2617
+ """
2618
+ @staticmethod
2619
+ def __key_warning(key: str):
2620
+ suggest = None
2621
+ if key == "partitionScheme":
2622
+ suggest = "partition_scheme"
2623
+
2624
+ if suggest:
2625
+ pulumi.log.warn(f"Key '{key}' not found in SingletonPartitionSchemeResponse. Access the value via the '{suggest}' property getter instead.")
2626
+
2627
+ def __getitem__(self, key: str) -> Any:
2628
+ SingletonPartitionSchemeResponse.__key_warning(key)
2629
+ return super().__getitem__(key)
2630
+
2631
+ def get(self, key: str, default = None) -> Any:
2632
+ SingletonPartitionSchemeResponse.__key_warning(key)
2633
+ return super().get(key, default)
2634
+
2635
+ def __init__(__self__, *,
2636
+ partition_scheme: str):
2637
+ """
2638
+ Describes the partition scheme of a singleton-partitioned, or non-partitioned service.
2639
+ :param str partition_scheme: Enumerates the ways that a service can be partitioned.
2640
+ Expected value is 'Singleton'.
2641
+ """
2642
+ pulumi.set(__self__, "partition_scheme", 'Singleton')
2643
+
2644
+ @property
2645
+ @pulumi.getter(name="partitionScheme")
2646
+ def partition_scheme(self) -> str:
2647
+ """
2648
+ Enumerates the ways that a service can be partitioned.
2649
+ Expected value is 'Singleton'.
2650
+ """
2651
+ return pulumi.get(self, "partition_scheme")
2652
+
2653
+
2654
+ @pulumi.output_type
2655
+ class SkuResponse(dict):
2656
+ """
2657
+ Service Fabric managed cluster Sku definition
2658
+ """
2659
+ def __init__(__self__, *,
2660
+ name: str):
2661
+ """
2662
+ Service Fabric managed cluster Sku definition
2663
+ :param str name: Sku Name.
2664
+ """
2665
+ pulumi.set(__self__, "name", name)
2666
+
2667
+ @property
2668
+ @pulumi.getter
2669
+ def name(self) -> str:
2670
+ """
2671
+ Sku Name.
2672
+ """
2673
+ return pulumi.get(self, "name")
2674
+
2675
+
2676
+ @pulumi.output_type
2677
+ class StatefulServicePropertiesResponse(dict):
2678
+ """
2679
+ The properties of a stateful service resource.
2680
+ """
2681
+ @staticmethod
2682
+ def __key_warning(key: str):
2683
+ suggest = None
2684
+ if key == "partitionDescription":
2685
+ suggest = "partition_description"
2686
+ elif key == "provisioningState":
2687
+ suggest = "provisioning_state"
2688
+ elif key == "serviceKind":
2689
+ suggest = "service_kind"
2690
+ elif key == "serviceTypeName":
2691
+ suggest = "service_type_name"
2692
+ elif key == "correlationScheme":
2693
+ suggest = "correlation_scheme"
2694
+ elif key == "defaultMoveCost":
2695
+ suggest = "default_move_cost"
2696
+ elif key == "hasPersistedState":
2697
+ suggest = "has_persisted_state"
2698
+ elif key == "minReplicaSetSize":
2699
+ suggest = "min_replica_set_size"
2700
+ elif key == "placementConstraints":
2701
+ suggest = "placement_constraints"
2702
+ elif key == "quorumLossWaitDuration":
2703
+ suggest = "quorum_loss_wait_duration"
2704
+ elif key == "replicaRestartWaitDuration":
2705
+ suggest = "replica_restart_wait_duration"
2706
+ elif key == "scalingPolicies":
2707
+ suggest = "scaling_policies"
2708
+ elif key == "serviceDnsName":
2709
+ suggest = "service_dns_name"
2710
+ elif key == "serviceLoadMetrics":
2711
+ suggest = "service_load_metrics"
2712
+ elif key == "servicePackageActivationMode":
2713
+ suggest = "service_package_activation_mode"
2714
+ elif key == "servicePlacementPolicies":
2715
+ suggest = "service_placement_policies"
2716
+ elif key == "servicePlacementTimeLimit":
2717
+ suggest = "service_placement_time_limit"
2718
+ elif key == "standByReplicaKeepDuration":
2719
+ suggest = "stand_by_replica_keep_duration"
2720
+ elif key == "targetReplicaSetSize":
2721
+ suggest = "target_replica_set_size"
2722
+
2723
+ if suggest:
2724
+ pulumi.log.warn(f"Key '{key}' not found in StatefulServicePropertiesResponse. Access the value via the '{suggest}' property getter instead.")
2725
+
2726
+ def __getitem__(self, key: str) -> Any:
2727
+ StatefulServicePropertiesResponse.__key_warning(key)
2728
+ return super().__getitem__(key)
2729
+
2730
+ def get(self, key: str, default = None) -> Any:
2731
+ StatefulServicePropertiesResponse.__key_warning(key)
2732
+ return super().get(key, default)
2733
+
2734
+ def __init__(__self__, *,
2735
+ partition_description: Any,
2736
+ provisioning_state: str,
2737
+ service_kind: str,
2738
+ service_type_name: str,
2739
+ correlation_scheme: Optional[Sequence['outputs.ServiceCorrelationResponse']] = None,
2740
+ default_move_cost: Optional[str] = None,
2741
+ has_persisted_state: Optional[bool] = None,
2742
+ min_replica_set_size: Optional[int] = None,
2743
+ placement_constraints: Optional[str] = None,
2744
+ quorum_loss_wait_duration: Optional[str] = None,
2745
+ replica_restart_wait_duration: Optional[str] = None,
2746
+ scaling_policies: Optional[Sequence['outputs.ScalingPolicyResponse']] = None,
2747
+ service_dns_name: Optional[str] = None,
2748
+ service_load_metrics: Optional[Sequence['outputs.ServiceLoadMetricResponse']] = None,
2749
+ service_package_activation_mode: Optional[str] = None,
2750
+ service_placement_policies: Optional[Sequence[Any]] = None,
2751
+ service_placement_time_limit: Optional[str] = None,
2752
+ stand_by_replica_keep_duration: Optional[str] = None,
2753
+ target_replica_set_size: Optional[int] = None):
2754
+ """
2755
+ The properties of a stateful service resource.
2756
+ :param Union['NamedPartitionSchemeResponse', 'SingletonPartitionSchemeResponse', 'UniformInt64RangePartitionSchemeResponse'] partition_description: Describes how the service is partitioned.
2757
+ :param str provisioning_state: The current deployment or provisioning state, which only appears in the response
2758
+ :param str service_kind: The kind of service (Stateless or Stateful).
2759
+ Expected value is 'Stateful'.
2760
+ :param str service_type_name: The name of the service type
2761
+ :param Sequence['ServiceCorrelationResponse'] correlation_scheme: A list that describes the correlation of the service with other services.
2762
+ :param str default_move_cost: Specifies the move cost for the service.
2763
+ :param bool has_persisted_state: A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.
2764
+ :param int min_replica_set_size: The minimum replica set size as a number.
2765
+ :param str placement_constraints: The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
2766
+ :param str quorum_loss_wait_duration: The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format "hh:mm:ss".
2767
+ :param str replica_restart_wait_duration: The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss".
2768
+ :param Sequence['ScalingPolicyResponse'] scaling_policies: Scaling policies for this service.
2769
+ :param str service_dns_name: Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
2770
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2771
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2772
+ :param Sequence['ServiceLoadMetricResponse'] service_load_metrics: The service load metrics is given as an array of ServiceLoadMetric objects.
2773
+ :param str service_package_activation_mode: The activation Mode of the service package
2774
+ :param Sequence[Union['ServicePlacementInvalidDomainPolicyResponse', 'ServicePlacementNonPartiallyPlaceServicePolicyResponse', 'ServicePlacementPreferPrimaryDomainPolicyResponse', 'ServicePlacementRequireDomainDistributionPolicyResponse', 'ServicePlacementRequiredDomainPolicyResponse']] service_placement_policies: A list that describes the correlation of the service with other services.
2775
+ :param str service_placement_time_limit: The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss".
2776
+ :param str stand_by_replica_keep_duration: The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss".
2777
+ :param int target_replica_set_size: The target replica set size as a number.
2778
+ """
2779
+ pulumi.set(__self__, "partition_description", partition_description)
2780
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
2781
+ pulumi.set(__self__, "service_kind", 'Stateful')
2782
+ pulumi.set(__self__, "service_type_name", service_type_name)
2783
+ if correlation_scheme is not None:
2784
+ pulumi.set(__self__, "correlation_scheme", correlation_scheme)
2785
+ if default_move_cost is not None:
2786
+ pulumi.set(__self__, "default_move_cost", default_move_cost)
2787
+ if has_persisted_state is not None:
2788
+ pulumi.set(__self__, "has_persisted_state", has_persisted_state)
2789
+ if min_replica_set_size is not None:
2790
+ pulumi.set(__self__, "min_replica_set_size", min_replica_set_size)
2791
+ if placement_constraints is not None:
2792
+ pulumi.set(__self__, "placement_constraints", placement_constraints)
2793
+ if quorum_loss_wait_duration is not None:
2794
+ pulumi.set(__self__, "quorum_loss_wait_duration", quorum_loss_wait_duration)
2795
+ if replica_restart_wait_duration is not None:
2796
+ pulumi.set(__self__, "replica_restart_wait_duration", replica_restart_wait_duration)
2797
+ if scaling_policies is not None:
2798
+ pulumi.set(__self__, "scaling_policies", scaling_policies)
2799
+ if service_dns_name is not None:
2800
+ pulumi.set(__self__, "service_dns_name", service_dns_name)
2801
+ if service_load_metrics is not None:
2802
+ pulumi.set(__self__, "service_load_metrics", service_load_metrics)
2803
+ if service_package_activation_mode is not None:
2804
+ pulumi.set(__self__, "service_package_activation_mode", service_package_activation_mode)
2805
+ if service_placement_policies is not None:
2806
+ pulumi.set(__self__, "service_placement_policies", service_placement_policies)
2807
+ if service_placement_time_limit is not None:
2808
+ pulumi.set(__self__, "service_placement_time_limit", service_placement_time_limit)
2809
+ if stand_by_replica_keep_duration is not None:
2810
+ pulumi.set(__self__, "stand_by_replica_keep_duration", stand_by_replica_keep_duration)
2811
+ if target_replica_set_size is not None:
2812
+ pulumi.set(__self__, "target_replica_set_size", target_replica_set_size)
2813
+
2814
+ @property
2815
+ @pulumi.getter(name="partitionDescription")
2816
+ def partition_description(self) -> Any:
2817
+ """
2818
+ Describes how the service is partitioned.
2819
+ """
2820
+ return pulumi.get(self, "partition_description")
2821
+
2822
+ @property
2823
+ @pulumi.getter(name="provisioningState")
2824
+ def provisioning_state(self) -> str:
2825
+ """
2826
+ The current deployment or provisioning state, which only appears in the response
2827
+ """
2828
+ return pulumi.get(self, "provisioning_state")
2829
+
2830
+ @property
2831
+ @pulumi.getter(name="serviceKind")
2832
+ def service_kind(self) -> str:
2833
+ """
2834
+ The kind of service (Stateless or Stateful).
2835
+ Expected value is 'Stateful'.
2836
+ """
2837
+ return pulumi.get(self, "service_kind")
2838
+
2839
+ @property
2840
+ @pulumi.getter(name="serviceTypeName")
2841
+ def service_type_name(self) -> str:
2842
+ """
2843
+ The name of the service type
2844
+ """
2845
+ return pulumi.get(self, "service_type_name")
2846
+
2847
+ @property
2848
+ @pulumi.getter(name="correlationScheme")
2849
+ def correlation_scheme(self) -> Optional[Sequence['outputs.ServiceCorrelationResponse']]:
2850
+ """
2851
+ A list that describes the correlation of the service with other services.
2852
+ """
2853
+ return pulumi.get(self, "correlation_scheme")
2854
+
2855
+ @property
2856
+ @pulumi.getter(name="defaultMoveCost")
2857
+ def default_move_cost(self) -> Optional[str]:
2858
+ """
2859
+ Specifies the move cost for the service.
2860
+ """
2861
+ return pulumi.get(self, "default_move_cost")
2862
+
2863
+ @property
2864
+ @pulumi.getter(name="hasPersistedState")
2865
+ def has_persisted_state(self) -> Optional[bool]:
2866
+ """
2867
+ A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.
2868
+ """
2869
+ return pulumi.get(self, "has_persisted_state")
2870
+
2871
+ @property
2872
+ @pulumi.getter(name="minReplicaSetSize")
2873
+ def min_replica_set_size(self) -> Optional[int]:
2874
+ """
2875
+ The minimum replica set size as a number.
2876
+ """
2877
+ return pulumi.get(self, "min_replica_set_size")
2878
+
2879
+ @property
2880
+ @pulumi.getter(name="placementConstraints")
2881
+ def placement_constraints(self) -> Optional[str]:
2882
+ """
2883
+ The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
2884
+ """
2885
+ return pulumi.get(self, "placement_constraints")
2886
+
2887
+ @property
2888
+ @pulumi.getter(name="quorumLossWaitDuration")
2889
+ def quorum_loss_wait_duration(self) -> Optional[str]:
2890
+ """
2891
+ The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format "hh:mm:ss".
2892
+ """
2893
+ return pulumi.get(self, "quorum_loss_wait_duration")
2894
+
2895
+ @property
2896
+ @pulumi.getter(name="replicaRestartWaitDuration")
2897
+ def replica_restart_wait_duration(self) -> Optional[str]:
2898
+ """
2899
+ The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss".
2900
+ """
2901
+ return pulumi.get(self, "replica_restart_wait_duration")
2902
+
2903
+ @property
2904
+ @pulumi.getter(name="scalingPolicies")
2905
+ def scaling_policies(self) -> Optional[Sequence['outputs.ScalingPolicyResponse']]:
2906
+ """
2907
+ Scaling policies for this service.
2908
+ """
2909
+ return pulumi.get(self, "scaling_policies")
2910
+
2911
+ @property
2912
+ @pulumi.getter(name="serviceDnsName")
2913
+ def service_dns_name(self) -> Optional[str]:
2914
+ """
2915
+ Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
2916
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2917
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2918
+ """
2919
+ return pulumi.get(self, "service_dns_name")
2920
+
2921
+ @property
2922
+ @pulumi.getter(name="serviceLoadMetrics")
2923
+ def service_load_metrics(self) -> Optional[Sequence['outputs.ServiceLoadMetricResponse']]:
2924
+ """
2925
+ The service load metrics is given as an array of ServiceLoadMetric objects.
2926
+ """
2927
+ return pulumi.get(self, "service_load_metrics")
2928
+
2929
+ @property
2930
+ @pulumi.getter(name="servicePackageActivationMode")
2931
+ def service_package_activation_mode(self) -> Optional[str]:
2932
+ """
2933
+ The activation Mode of the service package
2934
+ """
2935
+ return pulumi.get(self, "service_package_activation_mode")
2936
+
2937
+ @property
2938
+ @pulumi.getter(name="servicePlacementPolicies")
2939
+ def service_placement_policies(self) -> Optional[Sequence[Any]]:
2940
+ """
2941
+ A list that describes the correlation of the service with other services.
2942
+ """
2943
+ return pulumi.get(self, "service_placement_policies")
2944
+
2945
+ @property
2946
+ @pulumi.getter(name="servicePlacementTimeLimit")
2947
+ def service_placement_time_limit(self) -> Optional[str]:
2948
+ """
2949
+ The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss".
2950
+ """
2951
+ return pulumi.get(self, "service_placement_time_limit")
2952
+
2953
+ @property
2954
+ @pulumi.getter(name="standByReplicaKeepDuration")
2955
+ def stand_by_replica_keep_duration(self) -> Optional[str]:
2956
+ """
2957
+ The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss".
2958
+ """
2959
+ return pulumi.get(self, "stand_by_replica_keep_duration")
2960
+
2961
+ @property
2962
+ @pulumi.getter(name="targetReplicaSetSize")
2963
+ def target_replica_set_size(self) -> Optional[int]:
2964
+ """
2965
+ The target replica set size as a number.
2966
+ """
2967
+ return pulumi.get(self, "target_replica_set_size")
2968
+
2969
+
2970
+ @pulumi.output_type
2971
+ class StatelessServicePropertiesResponse(dict):
2972
+ """
2973
+ The properties of a stateless service resource.
2974
+ """
2975
+ @staticmethod
2976
+ def __key_warning(key: str):
2977
+ suggest = None
2978
+ if key == "instanceCount":
2979
+ suggest = "instance_count"
2980
+ elif key == "partitionDescription":
2981
+ suggest = "partition_description"
2982
+ elif key == "provisioningState":
2983
+ suggest = "provisioning_state"
2984
+ elif key == "serviceKind":
2985
+ suggest = "service_kind"
2986
+ elif key == "serviceTypeName":
2987
+ suggest = "service_type_name"
2988
+ elif key == "correlationScheme":
2989
+ suggest = "correlation_scheme"
2990
+ elif key == "defaultMoveCost":
2991
+ suggest = "default_move_cost"
2992
+ elif key == "minInstanceCount":
2993
+ suggest = "min_instance_count"
2994
+ elif key == "minInstancePercentage":
2995
+ suggest = "min_instance_percentage"
2996
+ elif key == "placementConstraints":
2997
+ suggest = "placement_constraints"
2998
+ elif key == "scalingPolicies":
2999
+ suggest = "scaling_policies"
3000
+ elif key == "serviceDnsName":
3001
+ suggest = "service_dns_name"
3002
+ elif key == "serviceLoadMetrics":
3003
+ suggest = "service_load_metrics"
3004
+ elif key == "servicePackageActivationMode":
3005
+ suggest = "service_package_activation_mode"
3006
+ elif key == "servicePlacementPolicies":
3007
+ suggest = "service_placement_policies"
3008
+
3009
+ if suggest:
3010
+ pulumi.log.warn(f"Key '{key}' not found in StatelessServicePropertiesResponse. Access the value via the '{suggest}' property getter instead.")
3011
+
3012
+ def __getitem__(self, key: str) -> Any:
3013
+ StatelessServicePropertiesResponse.__key_warning(key)
3014
+ return super().__getitem__(key)
3015
+
3016
+ def get(self, key: str, default = None) -> Any:
3017
+ StatelessServicePropertiesResponse.__key_warning(key)
3018
+ return super().get(key, default)
3019
+
3020
+ def __init__(__self__, *,
3021
+ instance_count: int,
3022
+ partition_description: Any,
3023
+ provisioning_state: str,
3024
+ service_kind: str,
3025
+ service_type_name: str,
3026
+ correlation_scheme: Optional[Sequence['outputs.ServiceCorrelationResponse']] = None,
3027
+ default_move_cost: Optional[str] = None,
3028
+ min_instance_count: Optional[int] = None,
3029
+ min_instance_percentage: Optional[int] = None,
3030
+ placement_constraints: Optional[str] = None,
3031
+ scaling_policies: Optional[Sequence['outputs.ScalingPolicyResponse']] = None,
3032
+ service_dns_name: Optional[str] = None,
3033
+ service_load_metrics: Optional[Sequence['outputs.ServiceLoadMetricResponse']] = None,
3034
+ service_package_activation_mode: Optional[str] = None,
3035
+ service_placement_policies: Optional[Sequence[Any]] = None):
3036
+ """
3037
+ The properties of a stateless service resource.
3038
+ :param int instance_count: The instance count.
3039
+ :param Union['NamedPartitionSchemeResponse', 'SingletonPartitionSchemeResponse', 'UniformInt64RangePartitionSchemeResponse'] partition_description: Describes how the service is partitioned.
3040
+ :param str provisioning_state: The current deployment or provisioning state, which only appears in the response
3041
+ :param str service_kind: The kind of service (Stateless or Stateful).
3042
+ Expected value is 'Stateless'.
3043
+ :param str service_type_name: The name of the service type
3044
+ :param Sequence['ServiceCorrelationResponse'] correlation_scheme: A list that describes the correlation of the service with other services.
3045
+ :param str default_move_cost: Specifies the move cost for the service.
3046
+ :param int min_instance_count: MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
3047
+ :param int min_instance_percentage: MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
3048
+ :param str placement_constraints: The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
3049
+ :param Sequence['ScalingPolicyResponse'] scaling_policies: Scaling policies for this service.
3050
+ :param str service_dns_name: Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
3051
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
3052
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
3053
+ :param Sequence['ServiceLoadMetricResponse'] service_load_metrics: The service load metrics is given as an array of ServiceLoadMetric objects.
3054
+ :param str service_package_activation_mode: The activation Mode of the service package
3055
+ :param Sequence[Union['ServicePlacementInvalidDomainPolicyResponse', 'ServicePlacementNonPartiallyPlaceServicePolicyResponse', 'ServicePlacementPreferPrimaryDomainPolicyResponse', 'ServicePlacementRequireDomainDistributionPolicyResponse', 'ServicePlacementRequiredDomainPolicyResponse']] service_placement_policies: A list that describes the correlation of the service with other services.
3056
+ """
3057
+ pulumi.set(__self__, "instance_count", instance_count)
3058
+ pulumi.set(__self__, "partition_description", partition_description)
3059
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
3060
+ pulumi.set(__self__, "service_kind", 'Stateless')
3061
+ pulumi.set(__self__, "service_type_name", service_type_name)
3062
+ if correlation_scheme is not None:
3063
+ pulumi.set(__self__, "correlation_scheme", correlation_scheme)
3064
+ if default_move_cost is not None:
3065
+ pulumi.set(__self__, "default_move_cost", default_move_cost)
3066
+ if min_instance_count is not None:
3067
+ pulumi.set(__self__, "min_instance_count", min_instance_count)
3068
+ if min_instance_percentage is not None:
3069
+ pulumi.set(__self__, "min_instance_percentage", min_instance_percentage)
3070
+ if placement_constraints is not None:
3071
+ pulumi.set(__self__, "placement_constraints", placement_constraints)
3072
+ if scaling_policies is not None:
3073
+ pulumi.set(__self__, "scaling_policies", scaling_policies)
3074
+ if service_dns_name is not None:
3075
+ pulumi.set(__self__, "service_dns_name", service_dns_name)
3076
+ if service_load_metrics is not None:
3077
+ pulumi.set(__self__, "service_load_metrics", service_load_metrics)
3078
+ if service_package_activation_mode is not None:
3079
+ pulumi.set(__self__, "service_package_activation_mode", service_package_activation_mode)
3080
+ if service_placement_policies is not None:
3081
+ pulumi.set(__self__, "service_placement_policies", service_placement_policies)
3082
+
3083
+ @property
3084
+ @pulumi.getter(name="instanceCount")
3085
+ def instance_count(self) -> int:
3086
+ """
3087
+ The instance count.
3088
+ """
3089
+ return pulumi.get(self, "instance_count")
3090
+
3091
+ @property
3092
+ @pulumi.getter(name="partitionDescription")
3093
+ def partition_description(self) -> Any:
3094
+ """
3095
+ Describes how the service is partitioned.
3096
+ """
3097
+ return pulumi.get(self, "partition_description")
3098
+
3099
+ @property
3100
+ @pulumi.getter(name="provisioningState")
3101
+ def provisioning_state(self) -> str:
3102
+ """
3103
+ The current deployment or provisioning state, which only appears in the response
3104
+ """
3105
+ return pulumi.get(self, "provisioning_state")
3106
+
3107
+ @property
3108
+ @pulumi.getter(name="serviceKind")
3109
+ def service_kind(self) -> str:
3110
+ """
3111
+ The kind of service (Stateless or Stateful).
3112
+ Expected value is 'Stateless'.
3113
+ """
3114
+ return pulumi.get(self, "service_kind")
3115
+
3116
+ @property
3117
+ @pulumi.getter(name="serviceTypeName")
3118
+ def service_type_name(self) -> str:
3119
+ """
3120
+ The name of the service type
3121
+ """
3122
+ return pulumi.get(self, "service_type_name")
3123
+
3124
+ @property
3125
+ @pulumi.getter(name="correlationScheme")
3126
+ def correlation_scheme(self) -> Optional[Sequence['outputs.ServiceCorrelationResponse']]:
3127
+ """
3128
+ A list that describes the correlation of the service with other services.
3129
+ """
3130
+ return pulumi.get(self, "correlation_scheme")
3131
+
3132
+ @property
3133
+ @pulumi.getter(name="defaultMoveCost")
3134
+ def default_move_cost(self) -> Optional[str]:
3135
+ """
3136
+ Specifies the move cost for the service.
3137
+ """
3138
+ return pulumi.get(self, "default_move_cost")
3139
+
3140
+ @property
3141
+ @pulumi.getter(name="minInstanceCount")
3142
+ def min_instance_count(self) -> Optional[int]:
3143
+ """
3144
+ MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
3145
+ """
3146
+ return pulumi.get(self, "min_instance_count")
3147
+
3148
+ @property
3149
+ @pulumi.getter(name="minInstancePercentage")
3150
+ def min_instance_percentage(self) -> Optional[int]:
3151
+ """
3152
+ MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
3153
+ """
3154
+ return pulumi.get(self, "min_instance_percentage")
3155
+
3156
+ @property
3157
+ @pulumi.getter(name="placementConstraints")
3158
+ def placement_constraints(self) -> Optional[str]:
3159
+ """
3160
+ The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
3161
+ """
3162
+ return pulumi.get(self, "placement_constraints")
3163
+
3164
+ @property
3165
+ @pulumi.getter(name="scalingPolicies")
3166
+ def scaling_policies(self) -> Optional[Sequence['outputs.ScalingPolicyResponse']]:
3167
+ """
3168
+ Scaling policies for this service.
3169
+ """
3170
+ return pulumi.get(self, "scaling_policies")
3171
+
3172
+ @property
3173
+ @pulumi.getter(name="serviceDnsName")
3174
+ def service_dns_name(self) -> Optional[str]:
3175
+ """
3176
+ Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
3177
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
3178
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
3179
+ """
3180
+ return pulumi.get(self, "service_dns_name")
3181
+
3182
+ @property
3183
+ @pulumi.getter(name="serviceLoadMetrics")
3184
+ def service_load_metrics(self) -> Optional[Sequence['outputs.ServiceLoadMetricResponse']]:
3185
+ """
3186
+ The service load metrics is given as an array of ServiceLoadMetric objects.
3187
+ """
3188
+ return pulumi.get(self, "service_load_metrics")
3189
+
3190
+ @property
3191
+ @pulumi.getter(name="servicePackageActivationMode")
3192
+ def service_package_activation_mode(self) -> Optional[str]:
3193
+ """
3194
+ The activation Mode of the service package
3195
+ """
3196
+ return pulumi.get(self, "service_package_activation_mode")
3197
+
3198
+ @property
3199
+ @pulumi.getter(name="servicePlacementPolicies")
3200
+ def service_placement_policies(self) -> Optional[Sequence[Any]]:
3201
+ """
3202
+ A list that describes the correlation of the service with other services.
3203
+ """
3204
+ return pulumi.get(self, "service_placement_policies")
3205
+
3206
+
3207
+ @pulumi.output_type
3208
+ class SubResourceResponse(dict):
3209
+ """
3210
+ Azure resource identifier.
3211
+ """
3212
+ def __init__(__self__, *,
3213
+ id: Optional[str] = None):
3214
+ """
3215
+ Azure resource identifier.
3216
+ :param str id: Azure resource identifier.
3217
+ """
3218
+ if id is not None:
3219
+ pulumi.set(__self__, "id", id)
3220
+
3221
+ @property
3222
+ @pulumi.getter
3223
+ def id(self) -> Optional[str]:
3224
+ """
3225
+ Azure resource identifier.
3226
+ """
3227
+ return pulumi.get(self, "id")
3228
+
3229
+
3230
+ @pulumi.output_type
3231
+ class SubnetResponse(dict):
3232
+ """
3233
+ Describes a Subnet.
3234
+ """
3235
+ @staticmethod
3236
+ def __key_warning(key: str):
3237
+ suggest = None
3238
+ if key == "enableIpv6":
3239
+ suggest = "enable_ipv6"
3240
+ elif key == "networkSecurityGroupId":
3241
+ suggest = "network_security_group_id"
3242
+ elif key == "privateEndpointNetworkPolicies":
3243
+ suggest = "private_endpoint_network_policies"
3244
+ elif key == "privateLinkServiceNetworkPolicies":
3245
+ suggest = "private_link_service_network_policies"
3246
+
3247
+ if suggest:
3248
+ pulumi.log.warn(f"Key '{key}' not found in SubnetResponse. Access the value via the '{suggest}' property getter instead.")
3249
+
3250
+ def __getitem__(self, key: str) -> Any:
3251
+ SubnetResponse.__key_warning(key)
3252
+ return super().__getitem__(key)
3253
+
3254
+ def get(self, key: str, default = None) -> Any:
3255
+ SubnetResponse.__key_warning(key)
3256
+ return super().get(key, default)
3257
+
3258
+ def __init__(__self__, *,
3259
+ name: str,
3260
+ enable_ipv6: Optional[bool] = None,
3261
+ network_security_group_id: Optional[str] = None,
3262
+ private_endpoint_network_policies: Optional[str] = None,
3263
+ private_link_service_network_policies: Optional[str] = None):
3264
+ """
3265
+ Describes a Subnet.
3266
+ :param str name: Subnet name.
3267
+ :param bool enable_ipv6: Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster.
3268
+ :param str network_security_group_id: Full resource id for the network security group.
3269
+ :param str private_endpoint_network_policies: Enable or Disable apply network policies on private end point in the subnet.
3270
+ :param str private_link_service_network_policies: Enable or Disable apply network policies on private link service in the subnet.
3271
+ """
3272
+ pulumi.set(__self__, "name", name)
3273
+ if enable_ipv6 is not None:
3274
+ pulumi.set(__self__, "enable_ipv6", enable_ipv6)
3275
+ if network_security_group_id is not None:
3276
+ pulumi.set(__self__, "network_security_group_id", network_security_group_id)
3277
+ if private_endpoint_network_policies is not None:
3278
+ pulumi.set(__self__, "private_endpoint_network_policies", private_endpoint_network_policies)
3279
+ if private_link_service_network_policies is not None:
3280
+ pulumi.set(__self__, "private_link_service_network_policies", private_link_service_network_policies)
3281
+
3282
+ @property
3283
+ @pulumi.getter
3284
+ def name(self) -> str:
3285
+ """
3286
+ Subnet name.
3287
+ """
3288
+ return pulumi.get(self, "name")
3289
+
3290
+ @property
3291
+ @pulumi.getter(name="enableIpv6")
3292
+ def enable_ipv6(self) -> Optional[bool]:
3293
+ """
3294
+ Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster.
3295
+ """
3296
+ return pulumi.get(self, "enable_ipv6")
3297
+
3298
+ @property
3299
+ @pulumi.getter(name="networkSecurityGroupId")
3300
+ def network_security_group_id(self) -> Optional[str]:
3301
+ """
3302
+ Full resource id for the network security group.
3303
+ """
3304
+ return pulumi.get(self, "network_security_group_id")
3305
+
3306
+ @property
3307
+ @pulumi.getter(name="privateEndpointNetworkPolicies")
3308
+ def private_endpoint_network_policies(self) -> Optional[str]:
3309
+ """
3310
+ Enable or Disable apply network policies on private end point in the subnet.
3311
+ """
3312
+ return pulumi.get(self, "private_endpoint_network_policies")
3313
+
3314
+ @property
3315
+ @pulumi.getter(name="privateLinkServiceNetworkPolicies")
3316
+ def private_link_service_network_policies(self) -> Optional[str]:
3317
+ """
3318
+ Enable or Disable apply network policies on private link service in the subnet.
3319
+ """
3320
+ return pulumi.get(self, "private_link_service_network_policies")
3321
+
3322
+
3323
+ @pulumi.output_type
3324
+ class SystemDataResponse(dict):
3325
+ """
3326
+ Metadata pertaining to creation and last modification of the resource.
3327
+ """
3328
+ @staticmethod
3329
+ def __key_warning(key: str):
3330
+ suggest = None
3331
+ if key == "createdAt":
3332
+ suggest = "created_at"
3333
+ elif key == "createdBy":
3334
+ suggest = "created_by"
3335
+ elif key == "createdByType":
3336
+ suggest = "created_by_type"
3337
+ elif key == "lastModifiedAt":
3338
+ suggest = "last_modified_at"
3339
+ elif key == "lastModifiedBy":
3340
+ suggest = "last_modified_by"
3341
+ elif key == "lastModifiedByType":
3342
+ suggest = "last_modified_by_type"
3343
+
3344
+ if suggest:
3345
+ pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.")
3346
+
3347
+ def __getitem__(self, key: str) -> Any:
3348
+ SystemDataResponse.__key_warning(key)
3349
+ return super().__getitem__(key)
3350
+
3351
+ def get(self, key: str, default = None) -> Any:
3352
+ SystemDataResponse.__key_warning(key)
3353
+ return super().get(key, default)
3354
+
3355
+ def __init__(__self__, *,
3356
+ created_at: Optional[str] = None,
3357
+ created_by: Optional[str] = None,
3358
+ created_by_type: Optional[str] = None,
3359
+ last_modified_at: Optional[str] = None,
3360
+ last_modified_by: Optional[str] = None,
3361
+ last_modified_by_type: Optional[str] = None):
3362
+ """
3363
+ Metadata pertaining to creation and last modification of the resource.
3364
+ :param str created_at: The timestamp of resource creation (UTC).
3365
+ :param str created_by: The identity that created the resource.
3366
+ :param str created_by_type: The type of identity that created the resource.
3367
+ :param str last_modified_at: The timestamp of resource last modification (UTC).
3368
+ :param str last_modified_by: The identity that last modified the resource.
3369
+ :param str last_modified_by_type: The type of identity that last modified the resource.
3370
+ """
3371
+ if created_at is not None:
3372
+ pulumi.set(__self__, "created_at", created_at)
3373
+ if created_by is not None:
3374
+ pulumi.set(__self__, "created_by", created_by)
3375
+ if created_by_type is not None:
3376
+ pulumi.set(__self__, "created_by_type", created_by_type)
3377
+ if last_modified_at is not None:
3378
+ pulumi.set(__self__, "last_modified_at", last_modified_at)
3379
+ if last_modified_by is not None:
3380
+ pulumi.set(__self__, "last_modified_by", last_modified_by)
3381
+ if last_modified_by_type is not None:
3382
+ pulumi.set(__self__, "last_modified_by_type", last_modified_by_type)
3383
+
3384
+ @property
3385
+ @pulumi.getter(name="createdAt")
3386
+ def created_at(self) -> Optional[str]:
3387
+ """
3388
+ The timestamp of resource creation (UTC).
3389
+ """
3390
+ return pulumi.get(self, "created_at")
3391
+
3392
+ @property
3393
+ @pulumi.getter(name="createdBy")
3394
+ def created_by(self) -> Optional[str]:
3395
+ """
3396
+ The identity that created the resource.
3397
+ """
3398
+ return pulumi.get(self, "created_by")
3399
+
3400
+ @property
3401
+ @pulumi.getter(name="createdByType")
3402
+ def created_by_type(self) -> Optional[str]:
3403
+ """
3404
+ The type of identity that created the resource.
3405
+ """
3406
+ return pulumi.get(self, "created_by_type")
3407
+
3408
+ @property
3409
+ @pulumi.getter(name="lastModifiedAt")
3410
+ def last_modified_at(self) -> Optional[str]:
3411
+ """
3412
+ The timestamp of resource last modification (UTC).
3413
+ """
3414
+ return pulumi.get(self, "last_modified_at")
3415
+
3416
+ @property
3417
+ @pulumi.getter(name="lastModifiedBy")
3418
+ def last_modified_by(self) -> Optional[str]:
3419
+ """
3420
+ The identity that last modified the resource.
3421
+ """
3422
+ return pulumi.get(self, "last_modified_by")
3423
+
3424
+ @property
3425
+ @pulumi.getter(name="lastModifiedByType")
3426
+ def last_modified_by_type(self) -> Optional[str]:
3427
+ """
3428
+ The type of identity that last modified the resource.
3429
+ """
3430
+ return pulumi.get(self, "last_modified_by_type")
3431
+
3432
+
3433
+ @pulumi.output_type
3434
+ class UniformInt64RangePartitionSchemeResponse(dict):
3435
+ """
3436
+ Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.
3437
+ """
3438
+ @staticmethod
3439
+ def __key_warning(key: str):
3440
+ suggest = None
3441
+ if key == "highKey":
3442
+ suggest = "high_key"
3443
+ elif key == "lowKey":
3444
+ suggest = "low_key"
3445
+ elif key == "partitionScheme":
3446
+ suggest = "partition_scheme"
3447
+
3448
+ if suggest:
3449
+ pulumi.log.warn(f"Key '{key}' not found in UniformInt64RangePartitionSchemeResponse. Access the value via the '{suggest}' property getter instead.")
3450
+
3451
+ def __getitem__(self, key: str) -> Any:
3452
+ UniformInt64RangePartitionSchemeResponse.__key_warning(key)
3453
+ return super().__getitem__(key)
3454
+
3455
+ def get(self, key: str, default = None) -> Any:
3456
+ UniformInt64RangePartitionSchemeResponse.__key_warning(key)
3457
+ return super().get(key, default)
3458
+
3459
+ def __init__(__self__, *,
3460
+ count: int,
3461
+ high_key: float,
3462
+ low_key: float,
3463
+ partition_scheme: str):
3464
+ """
3465
+ Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.
3466
+ :param int count: The number of partitions.
3467
+ :param float high_key: The upper bound of the partition key range that
3468
+ should be split between the partition ‘Count’
3469
+ :param float low_key: The lower bound of the partition key range that
3470
+ should be split between the partition ‘Count’
3471
+ :param str partition_scheme: Enumerates the ways that a service can be partitioned.
3472
+ Expected value is 'UniformInt64Range'.
3473
+ """
3474
+ pulumi.set(__self__, "count", count)
3475
+ pulumi.set(__self__, "high_key", high_key)
3476
+ pulumi.set(__self__, "low_key", low_key)
3477
+ pulumi.set(__self__, "partition_scheme", 'UniformInt64Range')
3478
+
3479
+ @property
3480
+ @pulumi.getter
3481
+ def count(self) -> int:
3482
+ """
3483
+ The number of partitions.
3484
+ """
3485
+ return pulumi.get(self, "count")
3486
+
3487
+ @property
3488
+ @pulumi.getter(name="highKey")
3489
+ def high_key(self) -> float:
3490
+ """
3491
+ The upper bound of the partition key range that
3492
+ should be split between the partition ‘Count’
3493
+ """
3494
+ return pulumi.get(self, "high_key")
3495
+
3496
+ @property
3497
+ @pulumi.getter(name="lowKey")
3498
+ def low_key(self) -> float:
3499
+ """
3500
+ The lower bound of the partition key range that
3501
+ should be split between the partition ‘Count’
3502
+ """
3503
+ return pulumi.get(self, "low_key")
3504
+
3505
+ @property
3506
+ @pulumi.getter(name="partitionScheme")
3507
+ def partition_scheme(self) -> str:
3508
+ """
3509
+ Enumerates the ways that a service can be partitioned.
3510
+ Expected value is 'UniformInt64Range'.
3511
+ """
3512
+ return pulumi.get(self, "partition_scheme")
3513
+
3514
+
3515
+ @pulumi.output_type
3516
+ class UserAssignedIdentityResponse(dict):
3517
+ @staticmethod
3518
+ def __key_warning(key: str):
3519
+ suggest = None
3520
+ if key == "clientId":
3521
+ suggest = "client_id"
3522
+ elif key == "principalId":
3523
+ suggest = "principal_id"
3524
+
3525
+ if suggest:
3526
+ pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
3527
+
3528
+ def __getitem__(self, key: str) -> Any:
3529
+ UserAssignedIdentityResponse.__key_warning(key)
3530
+ return super().__getitem__(key)
3531
+
3532
+ def get(self, key: str, default = None) -> Any:
3533
+ UserAssignedIdentityResponse.__key_warning(key)
3534
+ return super().get(key, default)
3535
+
3536
+ def __init__(__self__, *,
3537
+ client_id: str,
3538
+ principal_id: str):
3539
+ """
3540
+ :param str client_id: The client id of user assigned identity.
3541
+ :param str principal_id: The principal id of user assigned identity.
3542
+ """
3543
+ pulumi.set(__self__, "client_id", client_id)
3544
+ pulumi.set(__self__, "principal_id", principal_id)
3545
+
3546
+ @property
3547
+ @pulumi.getter(name="clientId")
3548
+ def client_id(self) -> str:
3549
+ """
3550
+ The client id of user assigned identity.
3551
+ """
3552
+ return pulumi.get(self, "client_id")
3553
+
3554
+ @property
3555
+ @pulumi.getter(name="principalId")
3556
+ def principal_id(self) -> str:
3557
+ """
3558
+ The principal id of user assigned identity.
3559
+ """
3560
+ return pulumi.get(self, "principal_id")
3561
+
3562
+
3563
+ @pulumi.output_type
3564
+ class VMSSExtensionResponse(dict):
3565
+ """
3566
+ Specifies set of extensions that should be installed onto the virtual machines.
3567
+ """
3568
+ @staticmethod
3569
+ def __key_warning(key: str):
3570
+ suggest = None
3571
+ if key == "provisioningState":
3572
+ suggest = "provisioning_state"
3573
+ elif key == "typeHandlerVersion":
3574
+ suggest = "type_handler_version"
3575
+ elif key == "autoUpgradeMinorVersion":
3576
+ suggest = "auto_upgrade_minor_version"
3577
+ elif key == "enableAutomaticUpgrade":
3578
+ suggest = "enable_automatic_upgrade"
3579
+ elif key == "forceUpdateTag":
3580
+ suggest = "force_update_tag"
3581
+ elif key == "protectedSettings":
3582
+ suggest = "protected_settings"
3583
+ elif key == "provisionAfterExtensions":
3584
+ suggest = "provision_after_extensions"
3585
+ elif key == "setupOrder":
3586
+ suggest = "setup_order"
3587
+
3588
+ if suggest:
3589
+ pulumi.log.warn(f"Key '{key}' not found in VMSSExtensionResponse. Access the value via the '{suggest}' property getter instead.")
3590
+
3591
+ def __getitem__(self, key: str) -> Any:
3592
+ VMSSExtensionResponse.__key_warning(key)
3593
+ return super().__getitem__(key)
3594
+
3595
+ def get(self, key: str, default = None) -> Any:
3596
+ VMSSExtensionResponse.__key_warning(key)
3597
+ return super().get(key, default)
3598
+
3599
+ def __init__(__self__, *,
3600
+ name: str,
3601
+ provisioning_state: str,
3602
+ publisher: str,
3603
+ type: str,
3604
+ type_handler_version: str,
3605
+ auto_upgrade_minor_version: Optional[bool] = None,
3606
+ enable_automatic_upgrade: Optional[bool] = None,
3607
+ force_update_tag: Optional[str] = None,
3608
+ protected_settings: Optional[Any] = None,
3609
+ provision_after_extensions: Optional[Sequence[str]] = None,
3610
+ settings: Optional[Any] = None,
3611
+ setup_order: Optional[Sequence[str]] = None):
3612
+ """
3613
+ Specifies set of extensions that should be installed onto the virtual machines.
3614
+ :param str name: The name of the extension.
3615
+ :param str provisioning_state: The provisioning state, which only appears in the response.
3616
+ :param str publisher: The name of the extension handler publisher.
3617
+ :param str type: Specifies the type of the extension; an example is "CustomScriptExtension".
3618
+ :param str type_handler_version: Specifies the version of the script handler.
3619
+ :param bool auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
3620
+ :param bool enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
3621
+ :param str force_update_tag: If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
3622
+ :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
3623
+ :param Sequence[str] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned.
3624
+ :param Any settings: Json formatted public settings for the extension.
3625
+ :param Sequence[str] setup_order: Indicates the setup order for the extension.
3626
+ """
3627
+ pulumi.set(__self__, "name", name)
3628
+ pulumi.set(__self__, "provisioning_state", provisioning_state)
3629
+ pulumi.set(__self__, "publisher", publisher)
3630
+ pulumi.set(__self__, "type", type)
3631
+ pulumi.set(__self__, "type_handler_version", type_handler_version)
3632
+ if auto_upgrade_minor_version is not None:
3633
+ pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version)
3634
+ if enable_automatic_upgrade is not None:
3635
+ pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade)
3636
+ if force_update_tag is not None:
3637
+ pulumi.set(__self__, "force_update_tag", force_update_tag)
3638
+ if protected_settings is not None:
3639
+ pulumi.set(__self__, "protected_settings", protected_settings)
3640
+ if provision_after_extensions is not None:
3641
+ pulumi.set(__self__, "provision_after_extensions", provision_after_extensions)
3642
+ if settings is not None:
3643
+ pulumi.set(__self__, "settings", settings)
3644
+ if setup_order is not None:
3645
+ pulumi.set(__self__, "setup_order", setup_order)
3646
+
3647
+ @property
3648
+ @pulumi.getter
3649
+ def name(self) -> str:
3650
+ """
3651
+ The name of the extension.
3652
+ """
3653
+ return pulumi.get(self, "name")
3654
+
3655
+ @property
3656
+ @pulumi.getter(name="provisioningState")
3657
+ def provisioning_state(self) -> str:
3658
+ """
3659
+ The provisioning state, which only appears in the response.
3660
+ """
3661
+ return pulumi.get(self, "provisioning_state")
3662
+
3663
+ @property
3664
+ @pulumi.getter
3665
+ def publisher(self) -> str:
3666
+ """
3667
+ The name of the extension handler publisher.
3668
+ """
3669
+ return pulumi.get(self, "publisher")
3670
+
3671
+ @property
3672
+ @pulumi.getter
3673
+ def type(self) -> str:
3674
+ """
3675
+ Specifies the type of the extension; an example is "CustomScriptExtension".
3676
+ """
3677
+ return pulumi.get(self, "type")
3678
+
3679
+ @property
3680
+ @pulumi.getter(name="typeHandlerVersion")
3681
+ def type_handler_version(self) -> str:
3682
+ """
3683
+ Specifies the version of the script handler.
3684
+ """
3685
+ return pulumi.get(self, "type_handler_version")
3686
+
3687
+ @property
3688
+ @pulumi.getter(name="autoUpgradeMinorVersion")
3689
+ def auto_upgrade_minor_version(self) -> Optional[bool]:
3690
+ """
3691
+ Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
3692
+ """
3693
+ return pulumi.get(self, "auto_upgrade_minor_version")
3694
+
3695
+ @property
3696
+ @pulumi.getter(name="enableAutomaticUpgrade")
3697
+ def enable_automatic_upgrade(self) -> Optional[bool]:
3698
+ """
3699
+ Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
3700
+ """
3701
+ return pulumi.get(self, "enable_automatic_upgrade")
3702
+
3703
+ @property
3704
+ @pulumi.getter(name="forceUpdateTag")
3705
+ def force_update_tag(self) -> Optional[str]:
3706
+ """
3707
+ If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
3708
+ """
3709
+ return pulumi.get(self, "force_update_tag")
3710
+
3711
+ @property
3712
+ @pulumi.getter(name="protectedSettings")
3713
+ def protected_settings(self) -> Optional[Any]:
3714
+ """
3715
+ The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
3716
+ """
3717
+ return pulumi.get(self, "protected_settings")
3718
+
3719
+ @property
3720
+ @pulumi.getter(name="provisionAfterExtensions")
3721
+ def provision_after_extensions(self) -> Optional[Sequence[str]]:
3722
+ """
3723
+ Collection of extension names after which this extension needs to be provisioned.
3724
+ """
3725
+ return pulumi.get(self, "provision_after_extensions")
3726
+
3727
+ @property
3728
+ @pulumi.getter
3729
+ def settings(self) -> Optional[Any]:
3730
+ """
3731
+ Json formatted public settings for the extension.
3732
+ """
3733
+ return pulumi.get(self, "settings")
3734
+
3735
+ @property
3736
+ @pulumi.getter(name="setupOrder")
3737
+ def setup_order(self) -> Optional[Sequence[str]]:
3738
+ """
3739
+ Indicates the setup order for the extension.
3740
+ """
3741
+ return pulumi.get(self, "setup_order")
3742
+
3743
+
3744
+ @pulumi.output_type
3745
+ class VaultCertificateResponse(dict):
3746
+ """
3747
+ Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.
3748
+ """
3749
+ @staticmethod
3750
+ def __key_warning(key: str):
3751
+ suggest = None
3752
+ if key == "certificateStore":
3753
+ suggest = "certificate_store"
3754
+ elif key == "certificateUrl":
3755
+ suggest = "certificate_url"
3756
+
3757
+ if suggest:
3758
+ pulumi.log.warn(f"Key '{key}' not found in VaultCertificateResponse. Access the value via the '{suggest}' property getter instead.")
3759
+
3760
+ def __getitem__(self, key: str) -> Any:
3761
+ VaultCertificateResponse.__key_warning(key)
3762
+ return super().__getitem__(key)
3763
+
3764
+ def get(self, key: str, default = None) -> Any:
3765
+ VaultCertificateResponse.__key_warning(key)
3766
+ return super().get(key, default)
3767
+
3768
+ def __init__(__self__, *,
3769
+ certificate_store: str,
3770
+ certificate_url: str):
3771
+ """
3772
+ Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.
3773
+ :param str certificate_store: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. <br><br>For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
3774
+ :param str certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>}
3775
+ """
3776
+ pulumi.set(__self__, "certificate_store", certificate_store)
3777
+ pulumi.set(__self__, "certificate_url", certificate_url)
3778
+
3779
+ @property
3780
+ @pulumi.getter(name="certificateStore")
3781
+ def certificate_store(self) -> str:
3782
+ """
3783
+ For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. <br><br>For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
3784
+ """
3785
+ return pulumi.get(self, "certificate_store")
3786
+
3787
+ @property
3788
+ @pulumi.getter(name="certificateUrl")
3789
+ def certificate_url(self) -> str:
3790
+ """
3791
+ This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>}
3792
+ """
3793
+ return pulumi.get(self, "certificate_url")
3794
+
3795
+
3796
+ @pulumi.output_type
3797
+ class VaultSecretGroupResponse(dict):
3798
+ """
3799
+ Specifies set of certificates that should be installed onto the virtual machines.
3800
+ """
3801
+ @staticmethod
3802
+ def __key_warning(key: str):
3803
+ suggest = None
3804
+ if key == "sourceVault":
3805
+ suggest = "source_vault"
3806
+ elif key == "vaultCertificates":
3807
+ suggest = "vault_certificates"
3808
+
3809
+ if suggest:
3810
+ pulumi.log.warn(f"Key '{key}' not found in VaultSecretGroupResponse. Access the value via the '{suggest}' property getter instead.")
3811
+
3812
+ def __getitem__(self, key: str) -> Any:
3813
+ VaultSecretGroupResponse.__key_warning(key)
3814
+ return super().__getitem__(key)
3815
+
3816
+ def get(self, key: str, default = None) -> Any:
3817
+ VaultSecretGroupResponse.__key_warning(key)
3818
+ return super().get(key, default)
3819
+
3820
+ def __init__(__self__, *,
3821
+ source_vault: 'outputs.SubResourceResponse',
3822
+ vault_certificates: Sequence['outputs.VaultCertificateResponse']):
3823
+ """
3824
+ Specifies set of certificates that should be installed onto the virtual machines.
3825
+ :param 'SubResourceResponse' source_vault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
3826
+ :param Sequence['VaultCertificateResponse'] vault_certificates: The list of key vault references in SourceVault which contain certificates.
3827
+ """
3828
+ pulumi.set(__self__, "source_vault", source_vault)
3829
+ pulumi.set(__self__, "vault_certificates", vault_certificates)
3830
+
3831
+ @property
3832
+ @pulumi.getter(name="sourceVault")
3833
+ def source_vault(self) -> 'outputs.SubResourceResponse':
3834
+ """
3835
+ The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
3836
+ """
3837
+ return pulumi.get(self, "source_vault")
3838
+
3839
+ @property
3840
+ @pulumi.getter(name="vaultCertificates")
3841
+ def vault_certificates(self) -> Sequence['outputs.VaultCertificateResponse']:
3842
+ """
3843
+ The list of key vault references in SourceVault which contain certificates.
3844
+ """
3845
+ return pulumi.get(self, "vault_certificates")
3846
+
3847
+
3848
+ @pulumi.output_type
3849
+ class VmImagePlanResponse(dict):
3850
+ """
3851
+ Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
3852
+ """
3853
+ @staticmethod
3854
+ def __key_warning(key: str):
3855
+ suggest = None
3856
+ if key == "promotionCode":
3857
+ suggest = "promotion_code"
3858
+
3859
+ if suggest:
3860
+ pulumi.log.warn(f"Key '{key}' not found in VmImagePlanResponse. Access the value via the '{suggest}' property getter instead.")
3861
+
3862
+ def __getitem__(self, key: str) -> Any:
3863
+ VmImagePlanResponse.__key_warning(key)
3864
+ return super().__getitem__(key)
3865
+
3866
+ def get(self, key: str, default = None) -> Any:
3867
+ VmImagePlanResponse.__key_warning(key)
3868
+ return super().get(key, default)
3869
+
3870
+ def __init__(__self__, *,
3871
+ name: Optional[str] = None,
3872
+ product: Optional[str] = None,
3873
+ promotion_code: Optional[str] = None,
3874
+ publisher: Optional[str] = None):
3875
+ """
3876
+ Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
3877
+ :param str name: The plan ID.
3878
+ :param str product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
3879
+ :param str promotion_code: The promotion code.
3880
+ :param str publisher: The publisher ID.
3881
+ """
3882
+ if name is not None:
3883
+ pulumi.set(__self__, "name", name)
3884
+ if product is not None:
3885
+ pulumi.set(__self__, "product", product)
3886
+ if promotion_code is not None:
3887
+ pulumi.set(__self__, "promotion_code", promotion_code)
3888
+ if publisher is not None:
3889
+ pulumi.set(__self__, "publisher", publisher)
3890
+
3891
+ @property
3892
+ @pulumi.getter
3893
+ def name(self) -> Optional[str]:
3894
+ """
3895
+ The plan ID.
3896
+ """
3897
+ return pulumi.get(self, "name")
3898
+
3899
+ @property
3900
+ @pulumi.getter
3901
+ def product(self) -> Optional[str]:
3902
+ """
3903
+ Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
3904
+ """
3905
+ return pulumi.get(self, "product")
3906
+
3907
+ @property
3908
+ @pulumi.getter(name="promotionCode")
3909
+ def promotion_code(self) -> Optional[str]:
3910
+ """
3911
+ The promotion code.
3912
+ """
3913
+ return pulumi.get(self, "promotion_code")
3914
+
3915
+ @property
3916
+ @pulumi.getter
3917
+ def publisher(self) -> Optional[str]:
3918
+ """
3919
+ The publisher ID.
3920
+ """
3921
+ return pulumi.get(self, "publisher")
3922
+
3923
+
3924
+ @pulumi.output_type
3925
+ class VmManagedIdentityResponse(dict):
3926
+ """
3927
+ Identities for the virtual machine scale set under the node type.
3928
+ """
3929
+ @staticmethod
3930
+ def __key_warning(key: str):
3931
+ suggest = None
3932
+ if key == "userAssignedIdentities":
3933
+ suggest = "user_assigned_identities"
3934
+
3935
+ if suggest:
3936
+ pulumi.log.warn(f"Key '{key}' not found in VmManagedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
3937
+
3938
+ def __getitem__(self, key: str) -> Any:
3939
+ VmManagedIdentityResponse.__key_warning(key)
3940
+ return super().__getitem__(key)
3941
+
3942
+ def get(self, key: str, default = None) -> Any:
3943
+ VmManagedIdentityResponse.__key_warning(key)
3944
+ return super().get(key, default)
3945
+
3946
+ def __init__(__self__, *,
3947
+ user_assigned_identities: Optional[Sequence[str]] = None):
3948
+ """
3949
+ Identities for the virtual machine scale set under the node type.
3950
+ :param Sequence[str] user_assigned_identities: The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
3951
+ """
3952
+ if user_assigned_identities is not None:
3953
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
3954
+
3955
+ @property
3956
+ @pulumi.getter(name="userAssignedIdentities")
3957
+ def user_assigned_identities(self) -> Optional[Sequence[str]]:
3958
+ """
3959
+ The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
3960
+ """
3961
+ return pulumi.get(self, "user_assigned_identities")
3962
+
3963
+
3964
+ @pulumi.output_type
3965
+ class VmssDataDiskResponse(dict):
3966
+ """
3967
+ Managed data disk description.
3968
+ """
3969
+ @staticmethod
3970
+ def __key_warning(key: str):
3971
+ suggest = None
3972
+ if key == "diskLetter":
3973
+ suggest = "disk_letter"
3974
+ elif key == "diskSizeGB":
3975
+ suggest = "disk_size_gb"
3976
+ elif key == "diskType":
3977
+ suggest = "disk_type"
3978
+
3979
+ if suggest:
3980
+ pulumi.log.warn(f"Key '{key}' not found in VmssDataDiskResponse. Access the value via the '{suggest}' property getter instead.")
3981
+
3982
+ def __getitem__(self, key: str) -> Any:
3983
+ VmssDataDiskResponse.__key_warning(key)
3984
+ return super().__getitem__(key)
3985
+
3986
+ def get(self, key: str, default = None) -> Any:
3987
+ VmssDataDiskResponse.__key_warning(key)
3988
+ return super().get(key, default)
3989
+
3990
+ def __init__(__self__, *,
3991
+ disk_letter: str,
3992
+ disk_size_gb: int,
3993
+ disk_type: str,
3994
+ lun: int):
3995
+ """
3996
+ Managed data disk description.
3997
+ :param str disk_letter: Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.
3998
+ :param int disk_size_gb: Disk size for each vm in the node type in GBs.
3999
+ :param str disk_type: Managed data disk type. Specifies the storage account type for the managed disk
4000
+ :param int lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk.
4001
+ """
4002
+ pulumi.set(__self__, "disk_letter", disk_letter)
4003
+ pulumi.set(__self__, "disk_size_gb", disk_size_gb)
4004
+ pulumi.set(__self__, "disk_type", disk_type)
4005
+ pulumi.set(__self__, "lun", lun)
4006
+
4007
+ @property
4008
+ @pulumi.getter(name="diskLetter")
4009
+ def disk_letter(self) -> str:
4010
+ """
4011
+ Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.
4012
+ """
4013
+ return pulumi.get(self, "disk_letter")
4014
+
4015
+ @property
4016
+ @pulumi.getter(name="diskSizeGB")
4017
+ def disk_size_gb(self) -> int:
4018
+ """
4019
+ Disk size for each vm in the node type in GBs.
4020
+ """
4021
+ return pulumi.get(self, "disk_size_gb")
4022
+
4023
+ @property
4024
+ @pulumi.getter(name="diskType")
4025
+ def disk_type(self) -> str:
4026
+ """
4027
+ Managed data disk type. Specifies the storage account type for the managed disk
4028
+ """
4029
+ return pulumi.get(self, "disk_type")
4030
+
4031
+ @property
4032
+ @pulumi.getter
4033
+ def lun(self) -> int:
4034
+ """
4035
+ Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk.
4036
+ """
4037
+ return pulumi.get(self, "lun")
4038
+
4039
+