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,3501 @@
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 ._enums import *
12
+
13
+ __all__ = [
14
+ 'AddRemoveIncrementalNamedPartitionScalingMechanismArgs',
15
+ 'AdditionalNetworkInterfaceConfigurationArgs',
16
+ 'ApplicationHealthPolicyArgs',
17
+ 'ApplicationTypeVersionsCleanupPolicyArgs',
18
+ 'ApplicationUpgradePolicyArgs',
19
+ 'ApplicationUserAssignedIdentityArgs',
20
+ 'AveragePartitionLoadScalingTriggerArgs',
21
+ 'AverageServiceLoadScalingTriggerArgs',
22
+ 'AzureActiveDirectoryArgs',
23
+ 'ClientCertificateArgs',
24
+ 'EndpointRangeDescriptionArgs',
25
+ 'FrontendConfigurationArgs',
26
+ 'IPTagArgs',
27
+ 'IpConfigurationPublicIPAddressConfigurationArgs',
28
+ 'IpConfigurationArgs',
29
+ 'LoadBalancingRuleArgs',
30
+ 'ManagedIdentityArgs',
31
+ 'NamedPartitionSchemeArgs',
32
+ 'NetworkSecurityRuleArgs',
33
+ 'NodeTypeSkuArgs',
34
+ 'PartitionInstanceCountScaleMechanismArgs',
35
+ 'RollingUpgradeMonitoringPolicyArgs',
36
+ 'ScalingPolicyArgs',
37
+ 'ServiceCorrelationArgs',
38
+ 'ServiceEndpointArgs',
39
+ 'ServiceLoadMetricArgs',
40
+ 'ServicePlacementInvalidDomainPolicyArgs',
41
+ 'ServicePlacementNonPartiallyPlaceServicePolicyArgs',
42
+ 'ServicePlacementPreferPrimaryDomainPolicyArgs',
43
+ 'ServicePlacementRequireDomainDistributionPolicyArgs',
44
+ 'ServicePlacementRequiredDomainPolicyArgs',
45
+ 'ServiceTypeHealthPolicyArgs',
46
+ 'SettingsParameterDescriptionArgs',
47
+ 'SettingsSectionDescriptionArgs',
48
+ 'SingletonPartitionSchemeArgs',
49
+ 'SkuArgs',
50
+ 'StatefulServicePropertiesArgs',
51
+ 'StatelessServicePropertiesArgs',
52
+ 'SubResourceArgs',
53
+ 'SubnetArgs',
54
+ 'UniformInt64RangePartitionSchemeArgs',
55
+ 'VMSSExtensionArgs',
56
+ 'VaultCertificateArgs',
57
+ 'VaultSecretGroupArgs',
58
+ 'VmImagePlanArgs',
59
+ 'VmManagedIdentityArgs',
60
+ 'VmssDataDiskArgs',
61
+ ]
62
+
63
+ @pulumi.input_type
64
+ class AddRemoveIncrementalNamedPartitionScalingMechanismArgs:
65
+ def __init__(__self__, *,
66
+ kind: pulumi.Input[str],
67
+ max_partition_count: pulumi.Input[int],
68
+ min_partition_count: pulumi.Input[int],
69
+ scale_increment: pulumi.Input[int]):
70
+ """
71
+ Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.
72
+ :param pulumi.Input[str] kind: Enumerates the ways that a service can be partitioned.
73
+ Expected value is 'AddRemoveIncrementalNamedPartition'.
74
+ :param pulumi.Input[int] max_partition_count: Maximum number of named partitions of the service.
75
+ :param pulumi.Input[int] min_partition_count: Minimum number of named partitions of the service.
76
+ :param pulumi.Input[int] scale_increment: The number of instances to add or remove during a scaling operation.
77
+ """
78
+ pulumi.set(__self__, "kind", 'AddRemoveIncrementalNamedPartition')
79
+ pulumi.set(__self__, "max_partition_count", max_partition_count)
80
+ pulumi.set(__self__, "min_partition_count", min_partition_count)
81
+ pulumi.set(__self__, "scale_increment", scale_increment)
82
+
83
+ @property
84
+ @pulumi.getter
85
+ def kind(self) -> pulumi.Input[str]:
86
+ """
87
+ Enumerates the ways that a service can be partitioned.
88
+ Expected value is 'AddRemoveIncrementalNamedPartition'.
89
+ """
90
+ return pulumi.get(self, "kind")
91
+
92
+ @kind.setter
93
+ def kind(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "kind", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="maxPartitionCount")
98
+ def max_partition_count(self) -> pulumi.Input[int]:
99
+ """
100
+ Maximum number of named partitions of the service.
101
+ """
102
+ return pulumi.get(self, "max_partition_count")
103
+
104
+ @max_partition_count.setter
105
+ def max_partition_count(self, value: pulumi.Input[int]):
106
+ pulumi.set(self, "max_partition_count", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="minPartitionCount")
110
+ def min_partition_count(self) -> pulumi.Input[int]:
111
+ """
112
+ Minimum number of named partitions of the service.
113
+ """
114
+ return pulumi.get(self, "min_partition_count")
115
+
116
+ @min_partition_count.setter
117
+ def min_partition_count(self, value: pulumi.Input[int]):
118
+ pulumi.set(self, "min_partition_count", value)
119
+
120
+ @property
121
+ @pulumi.getter(name="scaleIncrement")
122
+ def scale_increment(self) -> pulumi.Input[int]:
123
+ """
124
+ The number of instances to add or remove during a scaling operation.
125
+ """
126
+ return pulumi.get(self, "scale_increment")
127
+
128
+ @scale_increment.setter
129
+ def scale_increment(self, value: pulumi.Input[int]):
130
+ pulumi.set(self, "scale_increment", value)
131
+
132
+
133
+ @pulumi.input_type
134
+ class AdditionalNetworkInterfaceConfigurationArgs:
135
+ def __init__(__self__, *,
136
+ ip_configurations: pulumi.Input[Sequence[pulumi.Input['IpConfigurationArgs']]],
137
+ name: pulumi.Input[str],
138
+ dscp_configuration: Optional[pulumi.Input['SubResourceArgs']] = None,
139
+ enable_accelerated_networking: Optional[pulumi.Input[bool]] = None):
140
+ """
141
+ Specifies the settings for a network interface to attach to the node type.
142
+ :param pulumi.Input[Sequence[pulumi.Input['IpConfigurationArgs']]] ip_configurations: Specifies the IP configurations of the network interface.
143
+ :param pulumi.Input[str] name: Name of the network interface.
144
+ :param pulumi.Input['SubResourceArgs'] dscp_configuration: Specifies the DSCP configuration to apply to the network interface.
145
+ :param pulumi.Input[bool] enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled.
146
+ """
147
+ pulumi.set(__self__, "ip_configurations", ip_configurations)
148
+ pulumi.set(__self__, "name", name)
149
+ if dscp_configuration is not None:
150
+ pulumi.set(__self__, "dscp_configuration", dscp_configuration)
151
+ if enable_accelerated_networking is not None:
152
+ pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking)
153
+
154
+ @property
155
+ @pulumi.getter(name="ipConfigurations")
156
+ def ip_configurations(self) -> pulumi.Input[Sequence[pulumi.Input['IpConfigurationArgs']]]:
157
+ """
158
+ Specifies the IP configurations of the network interface.
159
+ """
160
+ return pulumi.get(self, "ip_configurations")
161
+
162
+ @ip_configurations.setter
163
+ def ip_configurations(self, value: pulumi.Input[Sequence[pulumi.Input['IpConfigurationArgs']]]):
164
+ pulumi.set(self, "ip_configurations", value)
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def name(self) -> pulumi.Input[str]:
169
+ """
170
+ Name of the network interface.
171
+ """
172
+ return pulumi.get(self, "name")
173
+
174
+ @name.setter
175
+ def name(self, value: pulumi.Input[str]):
176
+ pulumi.set(self, "name", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="dscpConfiguration")
180
+ def dscp_configuration(self) -> Optional[pulumi.Input['SubResourceArgs']]:
181
+ """
182
+ Specifies the DSCP configuration to apply to the network interface.
183
+ """
184
+ return pulumi.get(self, "dscp_configuration")
185
+
186
+ @dscp_configuration.setter
187
+ def dscp_configuration(self, value: Optional[pulumi.Input['SubResourceArgs']]):
188
+ pulumi.set(self, "dscp_configuration", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="enableAcceleratedNetworking")
192
+ def enable_accelerated_networking(self) -> Optional[pulumi.Input[bool]]:
193
+ """
194
+ Specifies whether the network interface is accelerated networking-enabled.
195
+ """
196
+ return pulumi.get(self, "enable_accelerated_networking")
197
+
198
+ @enable_accelerated_networking.setter
199
+ def enable_accelerated_networking(self, value: Optional[pulumi.Input[bool]]):
200
+ pulumi.set(self, "enable_accelerated_networking", value)
201
+
202
+
203
+ @pulumi.input_type
204
+ class ApplicationHealthPolicyArgs:
205
+ def __init__(__self__, *,
206
+ consider_warning_as_error: pulumi.Input[bool],
207
+ max_percent_unhealthy_deployed_applications: pulumi.Input[int],
208
+ default_service_type_health_policy: Optional[pulumi.Input['ServiceTypeHealthPolicyArgs']] = None,
209
+ service_type_health_policy_map: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceTypeHealthPolicyArgs']]]] = None):
210
+ """
211
+ Defines a health policy used to evaluate the health of an application or one of its children entities.
212
+
213
+ :param pulumi.Input[bool] consider_warning_as_error: Indicates whether warnings are treated with the same severity as errors.
214
+ :param pulumi.Input[int] max_percent_unhealthy_deployed_applications: The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
215
+ The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
216
+ 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.
217
+ The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
218
+ :param pulumi.Input['ServiceTypeHealthPolicyArgs'] default_service_type_health_policy: The health policy used by default to evaluate the health of a service type.
219
+ :param pulumi.Input[Mapping[str, pulumi.Input['ServiceTypeHealthPolicyArgs']]] service_type_health_policy_map: The map with service type health policy per service type name. The map is empty by default.
220
+ """
221
+ pulumi.set(__self__, "consider_warning_as_error", consider_warning_as_error)
222
+ pulumi.set(__self__, "max_percent_unhealthy_deployed_applications", max_percent_unhealthy_deployed_applications)
223
+ if default_service_type_health_policy is not None:
224
+ pulumi.set(__self__, "default_service_type_health_policy", default_service_type_health_policy)
225
+ if service_type_health_policy_map is not None:
226
+ pulumi.set(__self__, "service_type_health_policy_map", service_type_health_policy_map)
227
+
228
+ @property
229
+ @pulumi.getter(name="considerWarningAsError")
230
+ def consider_warning_as_error(self) -> pulumi.Input[bool]:
231
+ """
232
+ Indicates whether warnings are treated with the same severity as errors.
233
+ """
234
+ return pulumi.get(self, "consider_warning_as_error")
235
+
236
+ @consider_warning_as_error.setter
237
+ def consider_warning_as_error(self, value: pulumi.Input[bool]):
238
+ pulumi.set(self, "consider_warning_as_error", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="maxPercentUnhealthyDeployedApplications")
242
+ def max_percent_unhealthy_deployed_applications(self) -> pulumi.Input[int]:
243
+ """
244
+ The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
245
+ The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
246
+ 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.
247
+ The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
248
+ """
249
+ return pulumi.get(self, "max_percent_unhealthy_deployed_applications")
250
+
251
+ @max_percent_unhealthy_deployed_applications.setter
252
+ def max_percent_unhealthy_deployed_applications(self, value: pulumi.Input[int]):
253
+ pulumi.set(self, "max_percent_unhealthy_deployed_applications", value)
254
+
255
+ @property
256
+ @pulumi.getter(name="defaultServiceTypeHealthPolicy")
257
+ def default_service_type_health_policy(self) -> Optional[pulumi.Input['ServiceTypeHealthPolicyArgs']]:
258
+ """
259
+ The health policy used by default to evaluate the health of a service type.
260
+ """
261
+ return pulumi.get(self, "default_service_type_health_policy")
262
+
263
+ @default_service_type_health_policy.setter
264
+ def default_service_type_health_policy(self, value: Optional[pulumi.Input['ServiceTypeHealthPolicyArgs']]):
265
+ pulumi.set(self, "default_service_type_health_policy", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="serviceTypeHealthPolicyMap")
269
+ def service_type_health_policy_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceTypeHealthPolicyArgs']]]]:
270
+ """
271
+ The map with service type health policy per service type name. The map is empty by default.
272
+ """
273
+ return pulumi.get(self, "service_type_health_policy_map")
274
+
275
+ @service_type_health_policy_map.setter
276
+ def service_type_health_policy_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceTypeHealthPolicyArgs']]]]):
277
+ pulumi.set(self, "service_type_health_policy_map", value)
278
+
279
+
280
+ @pulumi.input_type
281
+ class ApplicationTypeVersionsCleanupPolicyArgs:
282
+ def __init__(__self__, *,
283
+ max_unused_versions_to_keep: pulumi.Input[int]):
284
+ """
285
+ 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.
286
+ :param pulumi.Input[int] max_unused_versions_to_keep: Number of unused versions per application type to keep.
287
+ """
288
+ pulumi.set(__self__, "max_unused_versions_to_keep", max_unused_versions_to_keep)
289
+
290
+ @property
291
+ @pulumi.getter(name="maxUnusedVersionsToKeep")
292
+ def max_unused_versions_to_keep(self) -> pulumi.Input[int]:
293
+ """
294
+ Number of unused versions per application type to keep.
295
+ """
296
+ return pulumi.get(self, "max_unused_versions_to_keep")
297
+
298
+ @max_unused_versions_to_keep.setter
299
+ def max_unused_versions_to_keep(self, value: pulumi.Input[int]):
300
+ pulumi.set(self, "max_unused_versions_to_keep", value)
301
+
302
+
303
+ @pulumi.input_type
304
+ class ApplicationUpgradePolicyArgs:
305
+ def __init__(__self__, *,
306
+ application_health_policy: Optional[pulumi.Input['ApplicationHealthPolicyArgs']] = None,
307
+ force_restart: Optional[pulumi.Input[bool]] = None,
308
+ instance_close_delay_duration: Optional[pulumi.Input[float]] = None,
309
+ recreate_application: Optional[pulumi.Input[bool]] = None,
310
+ rolling_upgrade_monitoring_policy: Optional[pulumi.Input['RollingUpgradeMonitoringPolicyArgs']] = None,
311
+ upgrade_mode: Optional[pulumi.Input[Union[str, 'RollingUpgradeMode']]] = None,
312
+ upgrade_replica_set_check_timeout: Optional[pulumi.Input[float]] = None):
313
+ """
314
+ Describes the policy for a monitored application upgrade.
315
+ :param pulumi.Input['ApplicationHealthPolicyArgs'] application_health_policy: Defines a health policy used to evaluate the health of an application or one of its children entities.
316
+ :param pulumi.Input[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).
317
+ :param pulumi.Input[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.
318
+ :param pulumi.Input[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.
319
+ :param pulumi.Input['RollingUpgradeMonitoringPolicyArgs'] rolling_upgrade_monitoring_policy: The policy used for monitoring the application upgrade
320
+ :param pulumi.Input[Union[str, 'RollingUpgradeMode']] upgrade_mode: The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.
321
+ :param pulumi.Input[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).
322
+ """
323
+ if application_health_policy is not None:
324
+ pulumi.set(__self__, "application_health_policy", application_health_policy)
325
+ if force_restart is not None:
326
+ pulumi.set(__self__, "force_restart", force_restart)
327
+ if instance_close_delay_duration is not None:
328
+ pulumi.set(__self__, "instance_close_delay_duration", instance_close_delay_duration)
329
+ if recreate_application is not None:
330
+ pulumi.set(__self__, "recreate_application", recreate_application)
331
+ if rolling_upgrade_monitoring_policy is not None:
332
+ pulumi.set(__self__, "rolling_upgrade_monitoring_policy", rolling_upgrade_monitoring_policy)
333
+ if upgrade_mode is not None:
334
+ pulumi.set(__self__, "upgrade_mode", upgrade_mode)
335
+ if upgrade_replica_set_check_timeout is not None:
336
+ pulumi.set(__self__, "upgrade_replica_set_check_timeout", upgrade_replica_set_check_timeout)
337
+
338
+ @property
339
+ @pulumi.getter(name="applicationHealthPolicy")
340
+ def application_health_policy(self) -> Optional[pulumi.Input['ApplicationHealthPolicyArgs']]:
341
+ """
342
+ Defines a health policy used to evaluate the health of an application or one of its children entities.
343
+ """
344
+ return pulumi.get(self, "application_health_policy")
345
+
346
+ @application_health_policy.setter
347
+ def application_health_policy(self, value: Optional[pulumi.Input['ApplicationHealthPolicyArgs']]):
348
+ pulumi.set(self, "application_health_policy", value)
349
+
350
+ @property
351
+ @pulumi.getter(name="forceRestart")
352
+ def force_restart(self) -> Optional[pulumi.Input[bool]]:
353
+ """
354
+ If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
355
+ """
356
+ return pulumi.get(self, "force_restart")
357
+
358
+ @force_restart.setter
359
+ def force_restart(self, value: Optional[pulumi.Input[bool]]):
360
+ pulumi.set(self, "force_restart", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="instanceCloseDelayDuration")
364
+ def instance_close_delay_duration(self) -> Optional[pulumi.Input[float]]:
365
+ """
366
+ 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.
367
+ """
368
+ return pulumi.get(self, "instance_close_delay_duration")
369
+
370
+ @instance_close_delay_duration.setter
371
+ def instance_close_delay_duration(self, value: Optional[pulumi.Input[float]]):
372
+ pulumi.set(self, "instance_close_delay_duration", value)
373
+
374
+ @property
375
+ @pulumi.getter(name="recreateApplication")
376
+ def recreate_application(self) -> Optional[pulumi.Input[bool]]:
377
+ """
378
+ Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed.
379
+ """
380
+ return pulumi.get(self, "recreate_application")
381
+
382
+ @recreate_application.setter
383
+ def recreate_application(self, value: Optional[pulumi.Input[bool]]):
384
+ pulumi.set(self, "recreate_application", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="rollingUpgradeMonitoringPolicy")
388
+ def rolling_upgrade_monitoring_policy(self) -> Optional[pulumi.Input['RollingUpgradeMonitoringPolicyArgs']]:
389
+ """
390
+ The policy used for monitoring the application upgrade
391
+ """
392
+ return pulumi.get(self, "rolling_upgrade_monitoring_policy")
393
+
394
+ @rolling_upgrade_monitoring_policy.setter
395
+ def rolling_upgrade_monitoring_policy(self, value: Optional[pulumi.Input['RollingUpgradeMonitoringPolicyArgs']]):
396
+ pulumi.set(self, "rolling_upgrade_monitoring_policy", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="upgradeMode")
400
+ def upgrade_mode(self) -> Optional[pulumi.Input[Union[str, 'RollingUpgradeMode']]]:
401
+ """
402
+ The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.
403
+ """
404
+ return pulumi.get(self, "upgrade_mode")
405
+
406
+ @upgrade_mode.setter
407
+ def upgrade_mode(self, value: Optional[pulumi.Input[Union[str, 'RollingUpgradeMode']]]):
408
+ pulumi.set(self, "upgrade_mode", value)
409
+
410
+ @property
411
+ @pulumi.getter(name="upgradeReplicaSetCheckTimeout")
412
+ def upgrade_replica_set_check_timeout(self) -> Optional[pulumi.Input[float]]:
413
+ """
414
+ 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).
415
+ """
416
+ return pulumi.get(self, "upgrade_replica_set_check_timeout")
417
+
418
+ @upgrade_replica_set_check_timeout.setter
419
+ def upgrade_replica_set_check_timeout(self, value: Optional[pulumi.Input[float]]):
420
+ pulumi.set(self, "upgrade_replica_set_check_timeout", value)
421
+
422
+
423
+ @pulumi.input_type
424
+ class ApplicationUserAssignedIdentityArgs:
425
+ def __init__(__self__, *,
426
+ name: pulumi.Input[str],
427
+ principal_id: pulumi.Input[str]):
428
+ """
429
+ :param pulumi.Input[str] name: The friendly name of user assigned identity.
430
+ :param pulumi.Input[str] principal_id: The principal id of user assigned identity.
431
+ """
432
+ pulumi.set(__self__, "name", name)
433
+ pulumi.set(__self__, "principal_id", principal_id)
434
+
435
+ @property
436
+ @pulumi.getter
437
+ def name(self) -> pulumi.Input[str]:
438
+ """
439
+ The friendly name of user assigned identity.
440
+ """
441
+ return pulumi.get(self, "name")
442
+
443
+ @name.setter
444
+ def name(self, value: pulumi.Input[str]):
445
+ pulumi.set(self, "name", value)
446
+
447
+ @property
448
+ @pulumi.getter(name="principalId")
449
+ def principal_id(self) -> pulumi.Input[str]:
450
+ """
451
+ The principal id of user assigned identity.
452
+ """
453
+ return pulumi.get(self, "principal_id")
454
+
455
+ @principal_id.setter
456
+ def principal_id(self, value: pulumi.Input[str]):
457
+ pulumi.set(self, "principal_id", value)
458
+
459
+
460
+ @pulumi.input_type
461
+ class AveragePartitionLoadScalingTriggerArgs:
462
+ def __init__(__self__, *,
463
+ kind: pulumi.Input[str],
464
+ lower_load_threshold: pulumi.Input[float],
465
+ metric_name: pulumi.Input[str],
466
+ scale_interval: pulumi.Input[str],
467
+ upper_load_threshold: pulumi.Input[float]):
468
+ """
469
+ Represents a scaling trigger related to an average load of a metric/resource of a partition.
470
+ :param pulumi.Input[str] kind: Enumerates the ways that a service can be partitioned.
471
+ Expected value is 'AveragePartitionLoadTrigger'.
472
+ :param pulumi.Input[float] lower_load_threshold: The lower limit of the load below which a scale in operation should be performed.
473
+ :param pulumi.Input[str] metric_name: The name of the metric for which usage should be tracked.
474
+ :param pulumi.Input[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".
475
+ :param pulumi.Input[float] upper_load_threshold: The upper limit of the load beyond which a scale out operation should be performed.
476
+ """
477
+ pulumi.set(__self__, "kind", 'AveragePartitionLoadTrigger')
478
+ pulumi.set(__self__, "lower_load_threshold", lower_load_threshold)
479
+ pulumi.set(__self__, "metric_name", metric_name)
480
+ pulumi.set(__self__, "scale_interval", scale_interval)
481
+ pulumi.set(__self__, "upper_load_threshold", upper_load_threshold)
482
+
483
+ @property
484
+ @pulumi.getter
485
+ def kind(self) -> pulumi.Input[str]:
486
+ """
487
+ Enumerates the ways that a service can be partitioned.
488
+ Expected value is 'AveragePartitionLoadTrigger'.
489
+ """
490
+ return pulumi.get(self, "kind")
491
+
492
+ @kind.setter
493
+ def kind(self, value: pulumi.Input[str]):
494
+ pulumi.set(self, "kind", value)
495
+
496
+ @property
497
+ @pulumi.getter(name="lowerLoadThreshold")
498
+ def lower_load_threshold(self) -> pulumi.Input[float]:
499
+ """
500
+ The lower limit of the load below which a scale in operation should be performed.
501
+ """
502
+ return pulumi.get(self, "lower_load_threshold")
503
+
504
+ @lower_load_threshold.setter
505
+ def lower_load_threshold(self, value: pulumi.Input[float]):
506
+ pulumi.set(self, "lower_load_threshold", value)
507
+
508
+ @property
509
+ @pulumi.getter(name="metricName")
510
+ def metric_name(self) -> pulumi.Input[str]:
511
+ """
512
+ The name of the metric for which usage should be tracked.
513
+ """
514
+ return pulumi.get(self, "metric_name")
515
+
516
+ @metric_name.setter
517
+ def metric_name(self, value: pulumi.Input[str]):
518
+ pulumi.set(self, "metric_name", value)
519
+
520
+ @property
521
+ @pulumi.getter(name="scaleInterval")
522
+ def scale_interval(self) -> pulumi.Input[str]:
523
+ """
524
+ 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".
525
+ """
526
+ return pulumi.get(self, "scale_interval")
527
+
528
+ @scale_interval.setter
529
+ def scale_interval(self, value: pulumi.Input[str]):
530
+ pulumi.set(self, "scale_interval", value)
531
+
532
+ @property
533
+ @pulumi.getter(name="upperLoadThreshold")
534
+ def upper_load_threshold(self) -> pulumi.Input[float]:
535
+ """
536
+ The upper limit of the load beyond which a scale out operation should be performed.
537
+ """
538
+ return pulumi.get(self, "upper_load_threshold")
539
+
540
+ @upper_load_threshold.setter
541
+ def upper_load_threshold(self, value: pulumi.Input[float]):
542
+ pulumi.set(self, "upper_load_threshold", value)
543
+
544
+
545
+ @pulumi.input_type
546
+ class AverageServiceLoadScalingTriggerArgs:
547
+ def __init__(__self__, *,
548
+ kind: pulumi.Input[str],
549
+ lower_load_threshold: pulumi.Input[float],
550
+ metric_name: pulumi.Input[str],
551
+ scale_interval: pulumi.Input[str],
552
+ upper_load_threshold: pulumi.Input[float],
553
+ use_only_primary_load: pulumi.Input[bool]):
554
+ """
555
+ Represents a scaling policy related to an average load of a metric/resource of a service.
556
+ :param pulumi.Input[str] kind: Enumerates the ways that a service can be partitioned.
557
+ Expected value is 'AverageServiceLoadTrigger'.
558
+ :param pulumi.Input[float] lower_load_threshold: The lower limit of the load below which a scale in operation should be performed.
559
+ :param pulumi.Input[str] metric_name: The name of the metric for which usage should be tracked.
560
+ :param pulumi.Input[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".
561
+ :param pulumi.Input[float] upper_load_threshold: The upper limit of the load beyond which a scale out operation should be performed.
562
+ :param pulumi.Input[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.
563
+ """
564
+ pulumi.set(__self__, "kind", 'AverageServiceLoadTrigger')
565
+ pulumi.set(__self__, "lower_load_threshold", lower_load_threshold)
566
+ pulumi.set(__self__, "metric_name", metric_name)
567
+ pulumi.set(__self__, "scale_interval", scale_interval)
568
+ pulumi.set(__self__, "upper_load_threshold", upper_load_threshold)
569
+ pulumi.set(__self__, "use_only_primary_load", use_only_primary_load)
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def kind(self) -> pulumi.Input[str]:
574
+ """
575
+ Enumerates the ways that a service can be partitioned.
576
+ Expected value is 'AverageServiceLoadTrigger'.
577
+ """
578
+ return pulumi.get(self, "kind")
579
+
580
+ @kind.setter
581
+ def kind(self, value: pulumi.Input[str]):
582
+ pulumi.set(self, "kind", value)
583
+
584
+ @property
585
+ @pulumi.getter(name="lowerLoadThreshold")
586
+ def lower_load_threshold(self) -> pulumi.Input[float]:
587
+ """
588
+ The lower limit of the load below which a scale in operation should be performed.
589
+ """
590
+ return pulumi.get(self, "lower_load_threshold")
591
+
592
+ @lower_load_threshold.setter
593
+ def lower_load_threshold(self, value: pulumi.Input[float]):
594
+ pulumi.set(self, "lower_load_threshold", value)
595
+
596
+ @property
597
+ @pulumi.getter(name="metricName")
598
+ def metric_name(self) -> pulumi.Input[str]:
599
+ """
600
+ The name of the metric for which usage should be tracked.
601
+ """
602
+ return pulumi.get(self, "metric_name")
603
+
604
+ @metric_name.setter
605
+ def metric_name(self, value: pulumi.Input[str]):
606
+ pulumi.set(self, "metric_name", value)
607
+
608
+ @property
609
+ @pulumi.getter(name="scaleInterval")
610
+ def scale_interval(self) -> pulumi.Input[str]:
611
+ """
612
+ 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".
613
+ """
614
+ return pulumi.get(self, "scale_interval")
615
+
616
+ @scale_interval.setter
617
+ def scale_interval(self, value: pulumi.Input[str]):
618
+ pulumi.set(self, "scale_interval", value)
619
+
620
+ @property
621
+ @pulumi.getter(name="upperLoadThreshold")
622
+ def upper_load_threshold(self) -> pulumi.Input[float]:
623
+ """
624
+ The upper limit of the load beyond which a scale out operation should be performed.
625
+ """
626
+ return pulumi.get(self, "upper_load_threshold")
627
+
628
+ @upper_load_threshold.setter
629
+ def upper_load_threshold(self, value: pulumi.Input[float]):
630
+ pulumi.set(self, "upper_load_threshold", value)
631
+
632
+ @property
633
+ @pulumi.getter(name="useOnlyPrimaryLoad")
634
+ def use_only_primary_load(self) -> pulumi.Input[bool]:
635
+ """
636
+ 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.
637
+ """
638
+ return pulumi.get(self, "use_only_primary_load")
639
+
640
+ @use_only_primary_load.setter
641
+ def use_only_primary_load(self, value: pulumi.Input[bool]):
642
+ pulumi.set(self, "use_only_primary_load", value)
643
+
644
+
645
+ @pulumi.input_type
646
+ class AzureActiveDirectoryArgs:
647
+ def __init__(__self__, *,
648
+ client_application: Optional[pulumi.Input[str]] = None,
649
+ cluster_application: Optional[pulumi.Input[str]] = None,
650
+ tenant_id: Optional[pulumi.Input[str]] = None):
651
+ """
652
+ The settings to enable AAD authentication on the cluster.
653
+ :param pulumi.Input[str] client_application: Azure active directory client application id.
654
+ :param pulumi.Input[str] cluster_application: Azure active directory cluster application id.
655
+ :param pulumi.Input[str] tenant_id: Azure active directory tenant id.
656
+ """
657
+ if client_application is not None:
658
+ pulumi.set(__self__, "client_application", client_application)
659
+ if cluster_application is not None:
660
+ pulumi.set(__self__, "cluster_application", cluster_application)
661
+ if tenant_id is not None:
662
+ pulumi.set(__self__, "tenant_id", tenant_id)
663
+
664
+ @property
665
+ @pulumi.getter(name="clientApplication")
666
+ def client_application(self) -> Optional[pulumi.Input[str]]:
667
+ """
668
+ Azure active directory client application id.
669
+ """
670
+ return pulumi.get(self, "client_application")
671
+
672
+ @client_application.setter
673
+ def client_application(self, value: Optional[pulumi.Input[str]]):
674
+ pulumi.set(self, "client_application", value)
675
+
676
+ @property
677
+ @pulumi.getter(name="clusterApplication")
678
+ def cluster_application(self) -> Optional[pulumi.Input[str]]:
679
+ """
680
+ Azure active directory cluster application id.
681
+ """
682
+ return pulumi.get(self, "cluster_application")
683
+
684
+ @cluster_application.setter
685
+ def cluster_application(self, value: Optional[pulumi.Input[str]]):
686
+ pulumi.set(self, "cluster_application", value)
687
+
688
+ @property
689
+ @pulumi.getter(name="tenantId")
690
+ def tenant_id(self) -> Optional[pulumi.Input[str]]:
691
+ """
692
+ Azure active directory tenant id.
693
+ """
694
+ return pulumi.get(self, "tenant_id")
695
+
696
+ @tenant_id.setter
697
+ def tenant_id(self, value: Optional[pulumi.Input[str]]):
698
+ pulumi.set(self, "tenant_id", value)
699
+
700
+
701
+ @pulumi.input_type
702
+ class ClientCertificateArgs:
703
+ def __init__(__self__, *,
704
+ is_admin: pulumi.Input[bool],
705
+ common_name: Optional[pulumi.Input[str]] = None,
706
+ issuer_thumbprint: Optional[pulumi.Input[str]] = None,
707
+ thumbprint: Optional[pulumi.Input[str]] = None):
708
+ """
709
+ Client certificate definition.
710
+ :param pulumi.Input[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.
711
+ :param pulumi.Input[str] common_name: Certificate common name.
712
+ :param pulumi.Input[str] issuer_thumbprint: Issuer thumbprint for the certificate. Only used together with CommonName.
713
+ :param pulumi.Input[str] thumbprint: Certificate thumbprint.
714
+ """
715
+ pulumi.set(__self__, "is_admin", is_admin)
716
+ if common_name is not None:
717
+ pulumi.set(__self__, "common_name", common_name)
718
+ if issuer_thumbprint is not None:
719
+ pulumi.set(__self__, "issuer_thumbprint", issuer_thumbprint)
720
+ if thumbprint is not None:
721
+ pulumi.set(__self__, "thumbprint", thumbprint)
722
+
723
+ @property
724
+ @pulumi.getter(name="isAdmin")
725
+ def is_admin(self) -> pulumi.Input[bool]:
726
+ """
727
+ Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster.
728
+ """
729
+ return pulumi.get(self, "is_admin")
730
+
731
+ @is_admin.setter
732
+ def is_admin(self, value: pulumi.Input[bool]):
733
+ pulumi.set(self, "is_admin", value)
734
+
735
+ @property
736
+ @pulumi.getter(name="commonName")
737
+ def common_name(self) -> Optional[pulumi.Input[str]]:
738
+ """
739
+ Certificate common name.
740
+ """
741
+ return pulumi.get(self, "common_name")
742
+
743
+ @common_name.setter
744
+ def common_name(self, value: Optional[pulumi.Input[str]]):
745
+ pulumi.set(self, "common_name", value)
746
+
747
+ @property
748
+ @pulumi.getter(name="issuerThumbprint")
749
+ def issuer_thumbprint(self) -> Optional[pulumi.Input[str]]:
750
+ """
751
+ Issuer thumbprint for the certificate. Only used together with CommonName.
752
+ """
753
+ return pulumi.get(self, "issuer_thumbprint")
754
+
755
+ @issuer_thumbprint.setter
756
+ def issuer_thumbprint(self, value: Optional[pulumi.Input[str]]):
757
+ pulumi.set(self, "issuer_thumbprint", value)
758
+
759
+ @property
760
+ @pulumi.getter
761
+ def thumbprint(self) -> Optional[pulumi.Input[str]]:
762
+ """
763
+ Certificate thumbprint.
764
+ """
765
+ return pulumi.get(self, "thumbprint")
766
+
767
+ @thumbprint.setter
768
+ def thumbprint(self, value: Optional[pulumi.Input[str]]):
769
+ pulumi.set(self, "thumbprint", value)
770
+
771
+
772
+ @pulumi.input_type
773
+ class EndpointRangeDescriptionArgs:
774
+ def __init__(__self__, *,
775
+ end_port: pulumi.Input[int],
776
+ start_port: pulumi.Input[int]):
777
+ """
778
+ Port range details
779
+ :param pulumi.Input[int] end_port: End port of a range of ports
780
+ :param pulumi.Input[int] start_port: Starting port of a range of ports
781
+ """
782
+ pulumi.set(__self__, "end_port", end_port)
783
+ pulumi.set(__self__, "start_port", start_port)
784
+
785
+ @property
786
+ @pulumi.getter(name="endPort")
787
+ def end_port(self) -> pulumi.Input[int]:
788
+ """
789
+ End port of a range of ports
790
+ """
791
+ return pulumi.get(self, "end_port")
792
+
793
+ @end_port.setter
794
+ def end_port(self, value: pulumi.Input[int]):
795
+ pulumi.set(self, "end_port", value)
796
+
797
+ @property
798
+ @pulumi.getter(name="startPort")
799
+ def start_port(self) -> pulumi.Input[int]:
800
+ """
801
+ Starting port of a range of ports
802
+ """
803
+ return pulumi.get(self, "start_port")
804
+
805
+ @start_port.setter
806
+ def start_port(self, value: pulumi.Input[int]):
807
+ pulumi.set(self, "start_port", value)
808
+
809
+
810
+ @pulumi.input_type
811
+ class FrontendConfigurationArgs:
812
+ def __init__(__self__, *,
813
+ application_gateway_backend_address_pool_id: Optional[pulumi.Input[str]] = None,
814
+ ip_address_type: Optional[pulumi.Input[Union[str, 'IPAddressType']]] = None,
815
+ load_balancer_backend_address_pool_id: Optional[pulumi.Input[str]] = None,
816
+ load_balancer_inbound_nat_pool_id: Optional[pulumi.Input[str]] = None):
817
+ """
818
+ Describes the frontend configurations for the node type.
819
+ :param pulumi.Input[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>'.
820
+ :param pulumi.Input[Union[str, 'IPAddressType']] ip_address_type: The IP address type of this frontend configuration. If omitted the default value is IPv4.
821
+ :param pulumi.Input[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>'.
822
+ :param pulumi.Input[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>'.
823
+ """
824
+ if application_gateway_backend_address_pool_id is not None:
825
+ pulumi.set(__self__, "application_gateway_backend_address_pool_id", application_gateway_backend_address_pool_id)
826
+ if ip_address_type is not None:
827
+ pulumi.set(__self__, "ip_address_type", ip_address_type)
828
+ if load_balancer_backend_address_pool_id is not None:
829
+ pulumi.set(__self__, "load_balancer_backend_address_pool_id", load_balancer_backend_address_pool_id)
830
+ if load_balancer_inbound_nat_pool_id is not None:
831
+ pulumi.set(__self__, "load_balancer_inbound_nat_pool_id", load_balancer_inbound_nat_pool_id)
832
+
833
+ @property
834
+ @pulumi.getter(name="applicationGatewayBackendAddressPoolId")
835
+ def application_gateway_backend_address_pool_id(self) -> Optional[pulumi.Input[str]]:
836
+ """
837
+ 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>'.
838
+ """
839
+ return pulumi.get(self, "application_gateway_backend_address_pool_id")
840
+
841
+ @application_gateway_backend_address_pool_id.setter
842
+ def application_gateway_backend_address_pool_id(self, value: Optional[pulumi.Input[str]]):
843
+ pulumi.set(self, "application_gateway_backend_address_pool_id", value)
844
+
845
+ @property
846
+ @pulumi.getter(name="ipAddressType")
847
+ def ip_address_type(self) -> Optional[pulumi.Input[Union[str, 'IPAddressType']]]:
848
+ """
849
+ The IP address type of this frontend configuration. If omitted the default value is IPv4.
850
+ """
851
+ return pulumi.get(self, "ip_address_type")
852
+
853
+ @ip_address_type.setter
854
+ def ip_address_type(self, value: Optional[pulumi.Input[Union[str, 'IPAddressType']]]):
855
+ pulumi.set(self, "ip_address_type", value)
856
+
857
+ @property
858
+ @pulumi.getter(name="loadBalancerBackendAddressPoolId")
859
+ def load_balancer_backend_address_pool_id(self) -> Optional[pulumi.Input[str]]:
860
+ """
861
+ 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>'.
862
+ """
863
+ return pulumi.get(self, "load_balancer_backend_address_pool_id")
864
+
865
+ @load_balancer_backend_address_pool_id.setter
866
+ def load_balancer_backend_address_pool_id(self, value: Optional[pulumi.Input[str]]):
867
+ pulumi.set(self, "load_balancer_backend_address_pool_id", value)
868
+
869
+ @property
870
+ @pulumi.getter(name="loadBalancerInboundNatPoolId")
871
+ def load_balancer_inbound_nat_pool_id(self) -> Optional[pulumi.Input[str]]:
872
+ """
873
+ 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>'.
874
+ """
875
+ return pulumi.get(self, "load_balancer_inbound_nat_pool_id")
876
+
877
+ @load_balancer_inbound_nat_pool_id.setter
878
+ def load_balancer_inbound_nat_pool_id(self, value: Optional[pulumi.Input[str]]):
879
+ pulumi.set(self, "load_balancer_inbound_nat_pool_id", value)
880
+
881
+
882
+ @pulumi.input_type
883
+ class IPTagArgs:
884
+ def __init__(__self__, *,
885
+ ip_tag_type: pulumi.Input[str],
886
+ tag: pulumi.Input[str]):
887
+ """
888
+ The IP tag associated with the public IP address.
889
+ :param pulumi.Input[str] ip_tag_type: IP tag type. Example: FirstPartyUsage.
890
+ :param pulumi.Input[str] tag: IP tag associated with the public IP. Example: SQL, Storage etc.
891
+ """
892
+ pulumi.set(__self__, "ip_tag_type", ip_tag_type)
893
+ pulumi.set(__self__, "tag", tag)
894
+
895
+ @property
896
+ @pulumi.getter(name="ipTagType")
897
+ def ip_tag_type(self) -> pulumi.Input[str]:
898
+ """
899
+ IP tag type. Example: FirstPartyUsage.
900
+ """
901
+ return pulumi.get(self, "ip_tag_type")
902
+
903
+ @ip_tag_type.setter
904
+ def ip_tag_type(self, value: pulumi.Input[str]):
905
+ pulumi.set(self, "ip_tag_type", value)
906
+
907
+ @property
908
+ @pulumi.getter
909
+ def tag(self) -> pulumi.Input[str]:
910
+ """
911
+ IP tag associated with the public IP. Example: SQL, Storage etc.
912
+ """
913
+ return pulumi.get(self, "tag")
914
+
915
+ @tag.setter
916
+ def tag(self, value: pulumi.Input[str]):
917
+ pulumi.set(self, "tag", value)
918
+
919
+
920
+ @pulumi.input_type
921
+ class IpConfigurationPublicIPAddressConfigurationArgs:
922
+ def __init__(__self__, *,
923
+ name: pulumi.Input[str],
924
+ ip_tags: Optional[pulumi.Input[Sequence[pulumi.Input['IPTagArgs']]]] = None,
925
+ public_ip_address_version: Optional[pulumi.Input[Union[str, 'PublicIPAddressVersion']]] = None):
926
+ """
927
+ The public IP address configuration of the network interface.
928
+ :param pulumi.Input[str] name: Name of the network interface.
929
+ :param pulumi.Input[Sequence[pulumi.Input['IPTagArgs']]] ip_tags: Specifies the list of IP tags associated with the public IP address.
930
+ :param pulumi.Input[Union[str, 'PublicIPAddressVersion']] public_ip_address_version: Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.
931
+ """
932
+ pulumi.set(__self__, "name", name)
933
+ if ip_tags is not None:
934
+ pulumi.set(__self__, "ip_tags", ip_tags)
935
+ if public_ip_address_version is None:
936
+ public_ip_address_version = 'IPv4'
937
+ if public_ip_address_version is not None:
938
+ pulumi.set(__self__, "public_ip_address_version", public_ip_address_version)
939
+
940
+ @property
941
+ @pulumi.getter
942
+ def name(self) -> pulumi.Input[str]:
943
+ """
944
+ Name of the network interface.
945
+ """
946
+ return pulumi.get(self, "name")
947
+
948
+ @name.setter
949
+ def name(self, value: pulumi.Input[str]):
950
+ pulumi.set(self, "name", value)
951
+
952
+ @property
953
+ @pulumi.getter(name="ipTags")
954
+ def ip_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IPTagArgs']]]]:
955
+ """
956
+ Specifies the list of IP tags associated with the public IP address.
957
+ """
958
+ return pulumi.get(self, "ip_tags")
959
+
960
+ @ip_tags.setter
961
+ def ip_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IPTagArgs']]]]):
962
+ pulumi.set(self, "ip_tags", value)
963
+
964
+ @property
965
+ @pulumi.getter(name="publicIPAddressVersion")
966
+ def public_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'PublicIPAddressVersion']]]:
967
+ """
968
+ Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.
969
+ """
970
+ return pulumi.get(self, "public_ip_address_version")
971
+
972
+ @public_ip_address_version.setter
973
+ def public_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'PublicIPAddressVersion']]]):
974
+ pulumi.set(self, "public_ip_address_version", value)
975
+
976
+
977
+ @pulumi.input_type
978
+ class IpConfigurationArgs:
979
+ def __init__(__self__, *,
980
+ name: pulumi.Input[str],
981
+ application_gateway_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None,
982
+ load_balancer_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None,
983
+ load_balancer_inbound_nat_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None,
984
+ private_ip_address_version: Optional[pulumi.Input[Union[str, 'PrivateIPAddressVersion']]] = None,
985
+ public_ip_address_configuration: Optional[pulumi.Input['IpConfigurationPublicIPAddressConfigurationArgs']] = None,
986
+ subnet: Optional[pulumi.Input['SubResourceArgs']] = None):
987
+ """
988
+ Specifies an IP configuration of the network interface.
989
+ :param pulumi.Input[str] name: Name of the network interface.
990
+ :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] 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.
991
+ :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] 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.
992
+ :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] 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.
993
+ :param pulumi.Input[Union[str, 'PrivateIPAddressVersion']] private_ip_address_version: Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.
994
+ :param pulumi.Input['IpConfigurationPublicIPAddressConfigurationArgs'] public_ip_address_configuration: The public IP address configuration of the network interface.
995
+ :param pulumi.Input['SubResourceArgs'] subnet: Specifies the subnet of the network interface.
996
+ """
997
+ pulumi.set(__self__, "name", name)
998
+ if application_gateway_backend_address_pools is not None:
999
+ pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools)
1000
+ if load_balancer_backend_address_pools is not None:
1001
+ pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools)
1002
+ if load_balancer_inbound_nat_pools is not None:
1003
+ pulumi.set(__self__, "load_balancer_inbound_nat_pools", load_balancer_inbound_nat_pools)
1004
+ if private_ip_address_version is None:
1005
+ private_ip_address_version = 'IPv4'
1006
+ if private_ip_address_version is not None:
1007
+ pulumi.set(__self__, "private_ip_address_version", private_ip_address_version)
1008
+ if public_ip_address_configuration is not None:
1009
+ pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration)
1010
+ if subnet is not None:
1011
+ pulumi.set(__self__, "subnet", subnet)
1012
+
1013
+ @property
1014
+ @pulumi.getter
1015
+ def name(self) -> pulumi.Input[str]:
1016
+ """
1017
+ Name of the network interface.
1018
+ """
1019
+ return pulumi.get(self, "name")
1020
+
1021
+ @name.setter
1022
+ def name(self, value: pulumi.Input[str]):
1023
+ pulumi.set(self, "name", value)
1024
+
1025
+ @property
1026
+ @pulumi.getter(name="applicationGatewayBackendAddressPools")
1027
+ def application_gateway_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]:
1028
+ """
1029
+ 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.
1030
+ """
1031
+ return pulumi.get(self, "application_gateway_backend_address_pools")
1032
+
1033
+ @application_gateway_backend_address_pools.setter
1034
+ def application_gateway_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]):
1035
+ pulumi.set(self, "application_gateway_backend_address_pools", value)
1036
+
1037
+ @property
1038
+ @pulumi.getter(name="loadBalancerBackendAddressPools")
1039
+ def load_balancer_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]:
1040
+ """
1041
+ 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.
1042
+ """
1043
+ return pulumi.get(self, "load_balancer_backend_address_pools")
1044
+
1045
+ @load_balancer_backend_address_pools.setter
1046
+ def load_balancer_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]):
1047
+ pulumi.set(self, "load_balancer_backend_address_pools", value)
1048
+
1049
+ @property
1050
+ @pulumi.getter(name="loadBalancerInboundNatPools")
1051
+ def load_balancer_inbound_nat_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]:
1052
+ """
1053
+ 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.
1054
+ """
1055
+ return pulumi.get(self, "load_balancer_inbound_nat_pools")
1056
+
1057
+ @load_balancer_inbound_nat_pools.setter
1058
+ def load_balancer_inbound_nat_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]):
1059
+ pulumi.set(self, "load_balancer_inbound_nat_pools", value)
1060
+
1061
+ @property
1062
+ @pulumi.getter(name="privateIPAddressVersion")
1063
+ def private_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'PrivateIPAddressVersion']]]:
1064
+ """
1065
+ Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.
1066
+ """
1067
+ return pulumi.get(self, "private_ip_address_version")
1068
+
1069
+ @private_ip_address_version.setter
1070
+ def private_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'PrivateIPAddressVersion']]]):
1071
+ pulumi.set(self, "private_ip_address_version", value)
1072
+
1073
+ @property
1074
+ @pulumi.getter(name="publicIPAddressConfiguration")
1075
+ def public_ip_address_configuration(self) -> Optional[pulumi.Input['IpConfigurationPublicIPAddressConfigurationArgs']]:
1076
+ """
1077
+ The public IP address configuration of the network interface.
1078
+ """
1079
+ return pulumi.get(self, "public_ip_address_configuration")
1080
+
1081
+ @public_ip_address_configuration.setter
1082
+ def public_ip_address_configuration(self, value: Optional[pulumi.Input['IpConfigurationPublicIPAddressConfigurationArgs']]):
1083
+ pulumi.set(self, "public_ip_address_configuration", value)
1084
+
1085
+ @property
1086
+ @pulumi.getter
1087
+ def subnet(self) -> Optional[pulumi.Input['SubResourceArgs']]:
1088
+ """
1089
+ Specifies the subnet of the network interface.
1090
+ """
1091
+ return pulumi.get(self, "subnet")
1092
+
1093
+ @subnet.setter
1094
+ def subnet(self, value: Optional[pulumi.Input['SubResourceArgs']]):
1095
+ pulumi.set(self, "subnet", value)
1096
+
1097
+
1098
+ @pulumi.input_type
1099
+ class LoadBalancingRuleArgs:
1100
+ def __init__(__self__, *,
1101
+ backend_port: pulumi.Input[int],
1102
+ frontend_port: pulumi.Input[int],
1103
+ probe_protocol: pulumi.Input[Union[str, 'ProbeProtocol']],
1104
+ protocol: pulumi.Input[Union[str, 'Protocol']],
1105
+ load_distribution: Optional[pulumi.Input[str]] = None,
1106
+ probe_port: Optional[pulumi.Input[int]] = None,
1107
+ probe_request_path: Optional[pulumi.Input[str]] = None):
1108
+ """
1109
+ Describes a load balancing rule.
1110
+ :param pulumi.Input[int] backend_port: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
1111
+ :param pulumi.Input[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.
1112
+ :param pulumi.Input[Union[str, 'ProbeProtocol']] probe_protocol: the reference to the load balancer probe used by the load balancing rule.
1113
+ :param pulumi.Input[Union[str, 'Protocol']] protocol: The reference to the transport protocol used by the load balancing rule.
1114
+ :param pulumi.Input[str] load_distribution: The load distribution policy for this rule.
1115
+ :param pulumi.Input[int] probe_port: The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.
1116
+ :param pulumi.Input[str] probe_request_path: The probe request path. Only supported for HTTP/HTTPS probes.
1117
+ """
1118
+ pulumi.set(__self__, "backend_port", backend_port)
1119
+ pulumi.set(__self__, "frontend_port", frontend_port)
1120
+ pulumi.set(__self__, "probe_protocol", probe_protocol)
1121
+ pulumi.set(__self__, "protocol", protocol)
1122
+ if load_distribution is not None:
1123
+ pulumi.set(__self__, "load_distribution", load_distribution)
1124
+ if probe_port is not None:
1125
+ pulumi.set(__self__, "probe_port", probe_port)
1126
+ if probe_request_path is not None:
1127
+ pulumi.set(__self__, "probe_request_path", probe_request_path)
1128
+
1129
+ @property
1130
+ @pulumi.getter(name="backendPort")
1131
+ def backend_port(self) -> pulumi.Input[int]:
1132
+ """
1133
+ The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
1134
+ """
1135
+ return pulumi.get(self, "backend_port")
1136
+
1137
+ @backend_port.setter
1138
+ def backend_port(self, value: pulumi.Input[int]):
1139
+ pulumi.set(self, "backend_port", value)
1140
+
1141
+ @property
1142
+ @pulumi.getter(name="frontendPort")
1143
+ def frontend_port(self) -> pulumi.Input[int]:
1144
+ """
1145
+ 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.
1146
+ """
1147
+ return pulumi.get(self, "frontend_port")
1148
+
1149
+ @frontend_port.setter
1150
+ def frontend_port(self, value: pulumi.Input[int]):
1151
+ pulumi.set(self, "frontend_port", value)
1152
+
1153
+ @property
1154
+ @pulumi.getter(name="probeProtocol")
1155
+ def probe_protocol(self) -> pulumi.Input[Union[str, 'ProbeProtocol']]:
1156
+ """
1157
+ the reference to the load balancer probe used by the load balancing rule.
1158
+ """
1159
+ return pulumi.get(self, "probe_protocol")
1160
+
1161
+ @probe_protocol.setter
1162
+ def probe_protocol(self, value: pulumi.Input[Union[str, 'ProbeProtocol']]):
1163
+ pulumi.set(self, "probe_protocol", value)
1164
+
1165
+ @property
1166
+ @pulumi.getter
1167
+ def protocol(self) -> pulumi.Input[Union[str, 'Protocol']]:
1168
+ """
1169
+ The reference to the transport protocol used by the load balancing rule.
1170
+ """
1171
+ return pulumi.get(self, "protocol")
1172
+
1173
+ @protocol.setter
1174
+ def protocol(self, value: pulumi.Input[Union[str, 'Protocol']]):
1175
+ pulumi.set(self, "protocol", value)
1176
+
1177
+ @property
1178
+ @pulumi.getter(name="loadDistribution")
1179
+ def load_distribution(self) -> Optional[pulumi.Input[str]]:
1180
+ """
1181
+ The load distribution policy for this rule.
1182
+ """
1183
+ return pulumi.get(self, "load_distribution")
1184
+
1185
+ @load_distribution.setter
1186
+ def load_distribution(self, value: Optional[pulumi.Input[str]]):
1187
+ pulumi.set(self, "load_distribution", value)
1188
+
1189
+ @property
1190
+ @pulumi.getter(name="probePort")
1191
+ def probe_port(self) -> Optional[pulumi.Input[int]]:
1192
+ """
1193
+ The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.
1194
+ """
1195
+ return pulumi.get(self, "probe_port")
1196
+
1197
+ @probe_port.setter
1198
+ def probe_port(self, value: Optional[pulumi.Input[int]]):
1199
+ pulumi.set(self, "probe_port", value)
1200
+
1201
+ @property
1202
+ @pulumi.getter(name="probeRequestPath")
1203
+ def probe_request_path(self) -> Optional[pulumi.Input[str]]:
1204
+ """
1205
+ The probe request path. Only supported for HTTP/HTTPS probes.
1206
+ """
1207
+ return pulumi.get(self, "probe_request_path")
1208
+
1209
+ @probe_request_path.setter
1210
+ def probe_request_path(self, value: Optional[pulumi.Input[str]]):
1211
+ pulumi.set(self, "probe_request_path", value)
1212
+
1213
+
1214
+ @pulumi.input_type
1215
+ class ManagedIdentityArgs:
1216
+ def __init__(__self__, *,
1217
+ type: Optional[pulumi.Input['ManagedIdentityType']] = None,
1218
+ user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1219
+ """
1220
+ Describes the managed identities for an Azure resource.
1221
+ :param pulumi.Input['ManagedIdentityType'] type: The type of managed identity for the resource.
1222
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] 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:
1223
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1224
+ """
1225
+ if type is not None:
1226
+ pulumi.set(__self__, "type", type)
1227
+ if user_assigned_identities is not None:
1228
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
1229
+
1230
+ @property
1231
+ @pulumi.getter
1232
+ def type(self) -> Optional[pulumi.Input['ManagedIdentityType']]:
1233
+ """
1234
+ The type of managed identity for the resource.
1235
+ """
1236
+ return pulumi.get(self, "type")
1237
+
1238
+ @type.setter
1239
+ def type(self, value: Optional[pulumi.Input['ManagedIdentityType']]):
1240
+ pulumi.set(self, "type", value)
1241
+
1242
+ @property
1243
+ @pulumi.getter(name="userAssignedIdentities")
1244
+ def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1245
+ """
1246
+ The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:
1247
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
1248
+ """
1249
+ return pulumi.get(self, "user_assigned_identities")
1250
+
1251
+ @user_assigned_identities.setter
1252
+ def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1253
+ pulumi.set(self, "user_assigned_identities", value)
1254
+
1255
+
1256
+ @pulumi.input_type
1257
+ class NamedPartitionSchemeArgs:
1258
+ def __init__(__self__, *,
1259
+ names: pulumi.Input[Sequence[pulumi.Input[str]]],
1260
+ partition_scheme: pulumi.Input[str]):
1261
+ """
1262
+ Describes the named partition scheme of the service.
1263
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Array for the names of the partitions.
1264
+ :param pulumi.Input[str] partition_scheme: Enumerates the ways that a service can be partitioned.
1265
+ Expected value is 'Named'.
1266
+ """
1267
+ pulumi.set(__self__, "names", names)
1268
+ pulumi.set(__self__, "partition_scheme", 'Named')
1269
+
1270
+ @property
1271
+ @pulumi.getter
1272
+ def names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
1273
+ """
1274
+ Array for the names of the partitions.
1275
+ """
1276
+ return pulumi.get(self, "names")
1277
+
1278
+ @names.setter
1279
+ def names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
1280
+ pulumi.set(self, "names", value)
1281
+
1282
+ @property
1283
+ @pulumi.getter(name="partitionScheme")
1284
+ def partition_scheme(self) -> pulumi.Input[str]:
1285
+ """
1286
+ Enumerates the ways that a service can be partitioned.
1287
+ Expected value is 'Named'.
1288
+ """
1289
+ return pulumi.get(self, "partition_scheme")
1290
+
1291
+ @partition_scheme.setter
1292
+ def partition_scheme(self, value: pulumi.Input[str]):
1293
+ pulumi.set(self, "partition_scheme", value)
1294
+
1295
+
1296
+ @pulumi.input_type
1297
+ class NetworkSecurityRuleArgs:
1298
+ def __init__(__self__, *,
1299
+ access: pulumi.Input[Union[str, 'Access']],
1300
+ direction: pulumi.Input[Union[str, 'Direction']],
1301
+ name: pulumi.Input[str],
1302
+ priority: pulumi.Input[int],
1303
+ protocol: pulumi.Input[Union[str, 'NsgProtocol']],
1304
+ description: Optional[pulumi.Input[str]] = None,
1305
+ destination_address_prefix: Optional[pulumi.Input[str]] = None,
1306
+ destination_address_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1307
+ destination_port_range: Optional[pulumi.Input[str]] = None,
1308
+ destination_port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1309
+ source_address_prefix: Optional[pulumi.Input[str]] = None,
1310
+ source_address_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1311
+ source_port_range: Optional[pulumi.Input[str]] = None,
1312
+ source_port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1313
+ """
1314
+ Describes a network security rule.
1315
+ :param pulumi.Input[Union[str, 'Access']] access: The network traffic is allowed or denied.
1316
+ :param pulumi.Input[Union[str, 'Direction']] direction: Network security rule direction.
1317
+ :param pulumi.Input[str] name: Network security rule name.
1318
+ :param pulumi.Input[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.
1319
+ :param pulumi.Input[Union[str, 'NsgProtocol']] protocol: Network protocol this rule applies to.
1320
+ :param pulumi.Input[str] description: Network security rule description.
1321
+ :param pulumi.Input[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.
1322
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_address_prefixes: The destination address prefixes. CIDR or destination IP ranges.
1323
+ :param pulumi.Input[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.
1324
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_port_ranges: The destination port ranges.
1325
+ :param pulumi.Input[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.
1326
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_address_prefixes: The CIDR or source IP ranges.
1327
+ :param pulumi.Input[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.
1328
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_port_ranges: The source port ranges.
1329
+ """
1330
+ pulumi.set(__self__, "access", access)
1331
+ pulumi.set(__self__, "direction", direction)
1332
+ pulumi.set(__self__, "name", name)
1333
+ pulumi.set(__self__, "priority", priority)
1334
+ pulumi.set(__self__, "protocol", protocol)
1335
+ if description is not None:
1336
+ pulumi.set(__self__, "description", description)
1337
+ if destination_address_prefix is not None:
1338
+ pulumi.set(__self__, "destination_address_prefix", destination_address_prefix)
1339
+ if destination_address_prefixes is not None:
1340
+ pulumi.set(__self__, "destination_address_prefixes", destination_address_prefixes)
1341
+ if destination_port_range is not None:
1342
+ pulumi.set(__self__, "destination_port_range", destination_port_range)
1343
+ if destination_port_ranges is not None:
1344
+ pulumi.set(__self__, "destination_port_ranges", destination_port_ranges)
1345
+ if source_address_prefix is not None:
1346
+ pulumi.set(__self__, "source_address_prefix", source_address_prefix)
1347
+ if source_address_prefixes is not None:
1348
+ pulumi.set(__self__, "source_address_prefixes", source_address_prefixes)
1349
+ if source_port_range is not None:
1350
+ pulumi.set(__self__, "source_port_range", source_port_range)
1351
+ if source_port_ranges is not None:
1352
+ pulumi.set(__self__, "source_port_ranges", source_port_ranges)
1353
+
1354
+ @property
1355
+ @pulumi.getter
1356
+ def access(self) -> pulumi.Input[Union[str, 'Access']]:
1357
+ """
1358
+ The network traffic is allowed or denied.
1359
+ """
1360
+ return pulumi.get(self, "access")
1361
+
1362
+ @access.setter
1363
+ def access(self, value: pulumi.Input[Union[str, 'Access']]):
1364
+ pulumi.set(self, "access", value)
1365
+
1366
+ @property
1367
+ @pulumi.getter
1368
+ def direction(self) -> pulumi.Input[Union[str, 'Direction']]:
1369
+ """
1370
+ Network security rule direction.
1371
+ """
1372
+ return pulumi.get(self, "direction")
1373
+
1374
+ @direction.setter
1375
+ def direction(self, value: pulumi.Input[Union[str, 'Direction']]):
1376
+ pulumi.set(self, "direction", value)
1377
+
1378
+ @property
1379
+ @pulumi.getter
1380
+ def name(self) -> pulumi.Input[str]:
1381
+ """
1382
+ Network security rule name.
1383
+ """
1384
+ return pulumi.get(self, "name")
1385
+
1386
+ @name.setter
1387
+ def name(self, value: pulumi.Input[str]):
1388
+ pulumi.set(self, "name", value)
1389
+
1390
+ @property
1391
+ @pulumi.getter
1392
+ def priority(self) -> pulumi.Input[int]:
1393
+ """
1394
+ 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.
1395
+ """
1396
+ return pulumi.get(self, "priority")
1397
+
1398
+ @priority.setter
1399
+ def priority(self, value: pulumi.Input[int]):
1400
+ pulumi.set(self, "priority", value)
1401
+
1402
+ @property
1403
+ @pulumi.getter
1404
+ def protocol(self) -> pulumi.Input[Union[str, 'NsgProtocol']]:
1405
+ """
1406
+ Network protocol this rule applies to.
1407
+ """
1408
+ return pulumi.get(self, "protocol")
1409
+
1410
+ @protocol.setter
1411
+ def protocol(self, value: pulumi.Input[Union[str, 'NsgProtocol']]):
1412
+ pulumi.set(self, "protocol", value)
1413
+
1414
+ @property
1415
+ @pulumi.getter
1416
+ def description(self) -> Optional[pulumi.Input[str]]:
1417
+ """
1418
+ Network security rule description.
1419
+ """
1420
+ return pulumi.get(self, "description")
1421
+
1422
+ @description.setter
1423
+ def description(self, value: Optional[pulumi.Input[str]]):
1424
+ pulumi.set(self, "description", value)
1425
+
1426
+ @property
1427
+ @pulumi.getter(name="destinationAddressPrefix")
1428
+ def destination_address_prefix(self) -> Optional[pulumi.Input[str]]:
1429
+ """
1430
+ 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.
1431
+ """
1432
+ return pulumi.get(self, "destination_address_prefix")
1433
+
1434
+ @destination_address_prefix.setter
1435
+ def destination_address_prefix(self, value: Optional[pulumi.Input[str]]):
1436
+ pulumi.set(self, "destination_address_prefix", value)
1437
+
1438
+ @property
1439
+ @pulumi.getter(name="destinationAddressPrefixes")
1440
+ def destination_address_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1441
+ """
1442
+ The destination address prefixes. CIDR or destination IP ranges.
1443
+ """
1444
+ return pulumi.get(self, "destination_address_prefixes")
1445
+
1446
+ @destination_address_prefixes.setter
1447
+ def destination_address_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1448
+ pulumi.set(self, "destination_address_prefixes", value)
1449
+
1450
+ @property
1451
+ @pulumi.getter(name="destinationPortRange")
1452
+ def destination_port_range(self) -> Optional[pulumi.Input[str]]:
1453
+ """
1454
+ he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1455
+ """
1456
+ return pulumi.get(self, "destination_port_range")
1457
+
1458
+ @destination_port_range.setter
1459
+ def destination_port_range(self, value: Optional[pulumi.Input[str]]):
1460
+ pulumi.set(self, "destination_port_range", value)
1461
+
1462
+ @property
1463
+ @pulumi.getter(name="destinationPortRanges")
1464
+ def destination_port_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1465
+ """
1466
+ The destination port ranges.
1467
+ """
1468
+ return pulumi.get(self, "destination_port_ranges")
1469
+
1470
+ @destination_port_ranges.setter
1471
+ def destination_port_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1472
+ pulumi.set(self, "destination_port_ranges", value)
1473
+
1474
+ @property
1475
+ @pulumi.getter(name="sourceAddressPrefix")
1476
+ def source_address_prefix(self) -> Optional[pulumi.Input[str]]:
1477
+ """
1478
+ 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.
1479
+ """
1480
+ return pulumi.get(self, "source_address_prefix")
1481
+
1482
+ @source_address_prefix.setter
1483
+ def source_address_prefix(self, value: Optional[pulumi.Input[str]]):
1484
+ pulumi.set(self, "source_address_prefix", value)
1485
+
1486
+ @property
1487
+ @pulumi.getter(name="sourceAddressPrefixes")
1488
+ def source_address_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1489
+ """
1490
+ The CIDR or source IP ranges.
1491
+ """
1492
+ return pulumi.get(self, "source_address_prefixes")
1493
+
1494
+ @source_address_prefixes.setter
1495
+ def source_address_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1496
+ pulumi.set(self, "source_address_prefixes", value)
1497
+
1498
+ @property
1499
+ @pulumi.getter(name="sourcePortRange")
1500
+ def source_port_range(self) -> Optional[pulumi.Input[str]]:
1501
+ """
1502
+ The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
1503
+ """
1504
+ return pulumi.get(self, "source_port_range")
1505
+
1506
+ @source_port_range.setter
1507
+ def source_port_range(self, value: Optional[pulumi.Input[str]]):
1508
+ pulumi.set(self, "source_port_range", value)
1509
+
1510
+ @property
1511
+ @pulumi.getter(name="sourcePortRanges")
1512
+ def source_port_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1513
+ """
1514
+ The source port ranges.
1515
+ """
1516
+ return pulumi.get(self, "source_port_ranges")
1517
+
1518
+ @source_port_ranges.setter
1519
+ def source_port_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1520
+ pulumi.set(self, "source_port_ranges", value)
1521
+
1522
+
1523
+ @pulumi.input_type
1524
+ class NodeTypeSkuArgs:
1525
+ def __init__(__self__, *,
1526
+ capacity: pulumi.Input[int],
1527
+ name: Optional[pulumi.Input[str]] = None,
1528
+ tier: Optional[pulumi.Input[str]] = None):
1529
+ """
1530
+ Describes a node type sku.
1531
+ :param pulumi.Input[int] capacity: The number of nodes in the node type.<br /><br />If present in request it will override properties.vmInstanceCount.
1532
+ :param pulumi.Input[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.
1533
+ :param pulumi.Input[str] tier: Specifies the tier of the node type. <br /><br /> Possible Values:<br /> **Standard**
1534
+ """
1535
+ pulumi.set(__self__, "capacity", capacity)
1536
+ if name is not None:
1537
+ pulumi.set(__self__, "name", name)
1538
+ if tier is not None:
1539
+ pulumi.set(__self__, "tier", tier)
1540
+
1541
+ @property
1542
+ @pulumi.getter
1543
+ def capacity(self) -> pulumi.Input[int]:
1544
+ """
1545
+ The number of nodes in the node type.<br /><br />If present in request it will override properties.vmInstanceCount.
1546
+ """
1547
+ return pulumi.get(self, "capacity")
1548
+
1549
+ @capacity.setter
1550
+ def capacity(self, value: pulumi.Input[int]):
1551
+ pulumi.set(self, "capacity", value)
1552
+
1553
+ @property
1554
+ @pulumi.getter
1555
+ def name(self) -> Optional[pulumi.Input[str]]:
1556
+ """
1557
+ 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.
1558
+ """
1559
+ return pulumi.get(self, "name")
1560
+
1561
+ @name.setter
1562
+ def name(self, value: Optional[pulumi.Input[str]]):
1563
+ pulumi.set(self, "name", value)
1564
+
1565
+ @property
1566
+ @pulumi.getter
1567
+ def tier(self) -> Optional[pulumi.Input[str]]:
1568
+ """
1569
+ Specifies the tier of the node type. <br /><br /> Possible Values:<br /> **Standard**
1570
+ """
1571
+ return pulumi.get(self, "tier")
1572
+
1573
+ @tier.setter
1574
+ def tier(self, value: Optional[pulumi.Input[str]]):
1575
+ pulumi.set(self, "tier", value)
1576
+
1577
+
1578
+ @pulumi.input_type
1579
+ class PartitionInstanceCountScaleMechanismArgs:
1580
+ def __init__(__self__, *,
1581
+ kind: pulumi.Input[str],
1582
+ max_instance_count: pulumi.Input[int],
1583
+ min_instance_count: pulumi.Input[int],
1584
+ scale_increment: pulumi.Input[int]):
1585
+ """
1586
+ Represents a scaling mechanism for adding or removing instances of stateless service partition.
1587
+ :param pulumi.Input[str] kind: Enumerates the ways that a service can be partitioned.
1588
+ Expected value is 'ScalePartitionInstanceCount'.
1589
+ :param pulumi.Input[int] max_instance_count: Maximum number of instances of the partition.
1590
+ :param pulumi.Input[int] min_instance_count: Minimum number of instances of the partition.
1591
+ :param pulumi.Input[int] scale_increment: The number of instances to add or remove during a scaling operation.
1592
+ """
1593
+ pulumi.set(__self__, "kind", 'ScalePartitionInstanceCount')
1594
+ pulumi.set(__self__, "max_instance_count", max_instance_count)
1595
+ pulumi.set(__self__, "min_instance_count", min_instance_count)
1596
+ pulumi.set(__self__, "scale_increment", scale_increment)
1597
+
1598
+ @property
1599
+ @pulumi.getter
1600
+ def kind(self) -> pulumi.Input[str]:
1601
+ """
1602
+ Enumerates the ways that a service can be partitioned.
1603
+ Expected value is 'ScalePartitionInstanceCount'.
1604
+ """
1605
+ return pulumi.get(self, "kind")
1606
+
1607
+ @kind.setter
1608
+ def kind(self, value: pulumi.Input[str]):
1609
+ pulumi.set(self, "kind", value)
1610
+
1611
+ @property
1612
+ @pulumi.getter(name="maxInstanceCount")
1613
+ def max_instance_count(self) -> pulumi.Input[int]:
1614
+ """
1615
+ Maximum number of instances of the partition.
1616
+ """
1617
+ return pulumi.get(self, "max_instance_count")
1618
+
1619
+ @max_instance_count.setter
1620
+ def max_instance_count(self, value: pulumi.Input[int]):
1621
+ pulumi.set(self, "max_instance_count", value)
1622
+
1623
+ @property
1624
+ @pulumi.getter(name="minInstanceCount")
1625
+ def min_instance_count(self) -> pulumi.Input[int]:
1626
+ """
1627
+ Minimum number of instances of the partition.
1628
+ """
1629
+ return pulumi.get(self, "min_instance_count")
1630
+
1631
+ @min_instance_count.setter
1632
+ def min_instance_count(self, value: pulumi.Input[int]):
1633
+ pulumi.set(self, "min_instance_count", value)
1634
+
1635
+ @property
1636
+ @pulumi.getter(name="scaleIncrement")
1637
+ def scale_increment(self) -> pulumi.Input[int]:
1638
+ """
1639
+ The number of instances to add or remove during a scaling operation.
1640
+ """
1641
+ return pulumi.get(self, "scale_increment")
1642
+
1643
+ @scale_increment.setter
1644
+ def scale_increment(self, value: pulumi.Input[int]):
1645
+ pulumi.set(self, "scale_increment", value)
1646
+
1647
+
1648
+ @pulumi.input_type
1649
+ class RollingUpgradeMonitoringPolicyArgs:
1650
+ def __init__(__self__, *,
1651
+ failure_action: pulumi.Input[Union[str, 'FailureAction']],
1652
+ health_check_retry_timeout: pulumi.Input[str],
1653
+ health_check_stable_duration: pulumi.Input[str],
1654
+ health_check_wait_duration: pulumi.Input[str],
1655
+ upgrade_domain_timeout: pulumi.Input[str],
1656
+ upgrade_timeout: pulumi.Input[str]):
1657
+ """
1658
+ The policy used for monitoring the application upgrade
1659
+ :param pulumi.Input[Union[str, 'FailureAction']] 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.
1660
+ :param pulumi.Input[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".
1661
+ :param pulumi.Input[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".
1662
+ :param pulumi.Input[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".
1663
+ :param pulumi.Input[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".
1664
+ :param pulumi.Input[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".
1665
+ """
1666
+ pulumi.set(__self__, "failure_action", failure_action)
1667
+ pulumi.set(__self__, "health_check_retry_timeout", health_check_retry_timeout)
1668
+ pulumi.set(__self__, "health_check_stable_duration", health_check_stable_duration)
1669
+ pulumi.set(__self__, "health_check_wait_duration", health_check_wait_duration)
1670
+ pulumi.set(__self__, "upgrade_domain_timeout", upgrade_domain_timeout)
1671
+ pulumi.set(__self__, "upgrade_timeout", upgrade_timeout)
1672
+
1673
+ @property
1674
+ @pulumi.getter(name="failureAction")
1675
+ def failure_action(self) -> pulumi.Input[Union[str, 'FailureAction']]:
1676
+ """
1677
+ 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.
1678
+ """
1679
+ return pulumi.get(self, "failure_action")
1680
+
1681
+ @failure_action.setter
1682
+ def failure_action(self, value: pulumi.Input[Union[str, 'FailureAction']]):
1683
+ pulumi.set(self, "failure_action", value)
1684
+
1685
+ @property
1686
+ @pulumi.getter(name="healthCheckRetryTimeout")
1687
+ def health_check_retry_timeout(self) -> pulumi.Input[str]:
1688
+ """
1689
+ 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".
1690
+ """
1691
+ return pulumi.get(self, "health_check_retry_timeout")
1692
+
1693
+ @health_check_retry_timeout.setter
1694
+ def health_check_retry_timeout(self, value: pulumi.Input[str]):
1695
+ pulumi.set(self, "health_check_retry_timeout", value)
1696
+
1697
+ @property
1698
+ @pulumi.getter(name="healthCheckStableDuration")
1699
+ def health_check_stable_duration(self) -> pulumi.Input[str]:
1700
+ """
1701
+ 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".
1702
+ """
1703
+ return pulumi.get(self, "health_check_stable_duration")
1704
+
1705
+ @health_check_stable_duration.setter
1706
+ def health_check_stable_duration(self, value: pulumi.Input[str]):
1707
+ pulumi.set(self, "health_check_stable_duration", value)
1708
+
1709
+ @property
1710
+ @pulumi.getter(name="healthCheckWaitDuration")
1711
+ def health_check_wait_duration(self) -> pulumi.Input[str]:
1712
+ """
1713
+ 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".
1714
+ """
1715
+ return pulumi.get(self, "health_check_wait_duration")
1716
+
1717
+ @health_check_wait_duration.setter
1718
+ def health_check_wait_duration(self, value: pulumi.Input[str]):
1719
+ pulumi.set(self, "health_check_wait_duration", value)
1720
+
1721
+ @property
1722
+ @pulumi.getter(name="upgradeDomainTimeout")
1723
+ def upgrade_domain_timeout(self) -> pulumi.Input[str]:
1724
+ """
1725
+ 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".
1726
+ """
1727
+ return pulumi.get(self, "upgrade_domain_timeout")
1728
+
1729
+ @upgrade_domain_timeout.setter
1730
+ def upgrade_domain_timeout(self, value: pulumi.Input[str]):
1731
+ pulumi.set(self, "upgrade_domain_timeout", value)
1732
+
1733
+ @property
1734
+ @pulumi.getter(name="upgradeTimeout")
1735
+ def upgrade_timeout(self) -> pulumi.Input[str]:
1736
+ """
1737
+ 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".
1738
+ """
1739
+ return pulumi.get(self, "upgrade_timeout")
1740
+
1741
+ @upgrade_timeout.setter
1742
+ def upgrade_timeout(self, value: pulumi.Input[str]):
1743
+ pulumi.set(self, "upgrade_timeout", value)
1744
+
1745
+
1746
+ @pulumi.input_type
1747
+ class ScalingPolicyArgs:
1748
+ def __init__(__self__, *,
1749
+ scaling_mechanism: pulumi.Input[Union['AddRemoveIncrementalNamedPartitionScalingMechanismArgs', 'PartitionInstanceCountScaleMechanismArgs']],
1750
+ scaling_trigger: pulumi.Input[Union['AveragePartitionLoadScalingTriggerArgs', 'AverageServiceLoadScalingTriggerArgs']]):
1751
+ """
1752
+ Specifies a metric to load balance a service during runtime.
1753
+ :param pulumi.Input[Union['AddRemoveIncrementalNamedPartitionScalingMechanismArgs', 'PartitionInstanceCountScaleMechanismArgs']] scaling_mechanism: Specifies the mechanism associated with this scaling policy
1754
+ :param pulumi.Input[Union['AveragePartitionLoadScalingTriggerArgs', 'AverageServiceLoadScalingTriggerArgs']] scaling_trigger: Specifies the trigger associated with this scaling policy.
1755
+ """
1756
+ pulumi.set(__self__, "scaling_mechanism", scaling_mechanism)
1757
+ pulumi.set(__self__, "scaling_trigger", scaling_trigger)
1758
+
1759
+ @property
1760
+ @pulumi.getter(name="scalingMechanism")
1761
+ def scaling_mechanism(self) -> pulumi.Input[Union['AddRemoveIncrementalNamedPartitionScalingMechanismArgs', 'PartitionInstanceCountScaleMechanismArgs']]:
1762
+ """
1763
+ Specifies the mechanism associated with this scaling policy
1764
+ """
1765
+ return pulumi.get(self, "scaling_mechanism")
1766
+
1767
+ @scaling_mechanism.setter
1768
+ def scaling_mechanism(self, value: pulumi.Input[Union['AddRemoveIncrementalNamedPartitionScalingMechanismArgs', 'PartitionInstanceCountScaleMechanismArgs']]):
1769
+ pulumi.set(self, "scaling_mechanism", value)
1770
+
1771
+ @property
1772
+ @pulumi.getter(name="scalingTrigger")
1773
+ def scaling_trigger(self) -> pulumi.Input[Union['AveragePartitionLoadScalingTriggerArgs', 'AverageServiceLoadScalingTriggerArgs']]:
1774
+ """
1775
+ Specifies the trigger associated with this scaling policy.
1776
+ """
1777
+ return pulumi.get(self, "scaling_trigger")
1778
+
1779
+ @scaling_trigger.setter
1780
+ def scaling_trigger(self, value: pulumi.Input[Union['AveragePartitionLoadScalingTriggerArgs', 'AverageServiceLoadScalingTriggerArgs']]):
1781
+ pulumi.set(self, "scaling_trigger", value)
1782
+
1783
+
1784
+ @pulumi.input_type
1785
+ class ServiceCorrelationArgs:
1786
+ def __init__(__self__, *,
1787
+ scheme: pulumi.Input[Union[str, 'ServiceCorrelationScheme']],
1788
+ service_name: pulumi.Input[str]):
1789
+ """
1790
+ Creates a particular correlation between services.
1791
+ :param pulumi.Input[Union[str, 'ServiceCorrelationScheme']] scheme: The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName.
1792
+ :param pulumi.Input[str] service_name: The Arm Resource ID of the service that the correlation relationship is established with.
1793
+ """
1794
+ pulumi.set(__self__, "scheme", scheme)
1795
+ pulumi.set(__self__, "service_name", service_name)
1796
+
1797
+ @property
1798
+ @pulumi.getter
1799
+ def scheme(self) -> pulumi.Input[Union[str, 'ServiceCorrelationScheme']]:
1800
+ """
1801
+ The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName.
1802
+ """
1803
+ return pulumi.get(self, "scheme")
1804
+
1805
+ @scheme.setter
1806
+ def scheme(self, value: pulumi.Input[Union[str, 'ServiceCorrelationScheme']]):
1807
+ pulumi.set(self, "scheme", value)
1808
+
1809
+ @property
1810
+ @pulumi.getter(name="serviceName")
1811
+ def service_name(self) -> pulumi.Input[str]:
1812
+ """
1813
+ The Arm Resource ID of the service that the correlation relationship is established with.
1814
+ """
1815
+ return pulumi.get(self, "service_name")
1816
+
1817
+ @service_name.setter
1818
+ def service_name(self, value: pulumi.Input[str]):
1819
+ pulumi.set(self, "service_name", value)
1820
+
1821
+
1822
+ @pulumi.input_type
1823
+ class ServiceEndpointArgs:
1824
+ def __init__(__self__, *,
1825
+ service: pulumi.Input[str],
1826
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1827
+ """
1828
+ The service endpoint properties.
1829
+ :param pulumi.Input[str] service: The type of the endpoint service.
1830
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: A list of locations.
1831
+ """
1832
+ pulumi.set(__self__, "service", service)
1833
+ if locations is not None:
1834
+ pulumi.set(__self__, "locations", locations)
1835
+
1836
+ @property
1837
+ @pulumi.getter
1838
+ def service(self) -> pulumi.Input[str]:
1839
+ """
1840
+ The type of the endpoint service.
1841
+ """
1842
+ return pulumi.get(self, "service")
1843
+
1844
+ @service.setter
1845
+ def service(self, value: pulumi.Input[str]):
1846
+ pulumi.set(self, "service", value)
1847
+
1848
+ @property
1849
+ @pulumi.getter
1850
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1851
+ """
1852
+ A list of locations.
1853
+ """
1854
+ return pulumi.get(self, "locations")
1855
+
1856
+ @locations.setter
1857
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1858
+ pulumi.set(self, "locations", value)
1859
+
1860
+
1861
+ @pulumi.input_type
1862
+ class ServiceLoadMetricArgs:
1863
+ def __init__(__self__, *,
1864
+ name: pulumi.Input[str],
1865
+ default_load: Optional[pulumi.Input[int]] = None,
1866
+ primary_default_load: Optional[pulumi.Input[int]] = None,
1867
+ secondary_default_load: Optional[pulumi.Input[int]] = None,
1868
+ weight: Optional[pulumi.Input[Union[str, 'ServiceLoadMetricWeight']]] = None):
1869
+ """
1870
+ Specifies a metric to load balance a service during runtime.
1871
+ :param pulumi.Input[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.
1872
+ :param pulumi.Input[int] default_load: Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
1873
+ :param pulumi.Input[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.
1874
+ :param pulumi.Input[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.
1875
+ :param pulumi.Input[Union[str, 'ServiceLoadMetricWeight']] weight: The service load metric relative weight, compared to other metrics configured for this service, as a number.
1876
+ """
1877
+ pulumi.set(__self__, "name", name)
1878
+ if default_load is not None:
1879
+ pulumi.set(__self__, "default_load", default_load)
1880
+ if primary_default_load is not None:
1881
+ pulumi.set(__self__, "primary_default_load", primary_default_load)
1882
+ if secondary_default_load is not None:
1883
+ pulumi.set(__self__, "secondary_default_load", secondary_default_load)
1884
+ if weight is not None:
1885
+ pulumi.set(__self__, "weight", weight)
1886
+
1887
+ @property
1888
+ @pulumi.getter
1889
+ def name(self) -> pulumi.Input[str]:
1890
+ """
1891
+ 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.
1892
+ """
1893
+ return pulumi.get(self, "name")
1894
+
1895
+ @name.setter
1896
+ def name(self, value: pulumi.Input[str]):
1897
+ pulumi.set(self, "name", value)
1898
+
1899
+ @property
1900
+ @pulumi.getter(name="defaultLoad")
1901
+ def default_load(self) -> Optional[pulumi.Input[int]]:
1902
+ """
1903
+ Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
1904
+ """
1905
+ return pulumi.get(self, "default_load")
1906
+
1907
+ @default_load.setter
1908
+ def default_load(self, value: Optional[pulumi.Input[int]]):
1909
+ pulumi.set(self, "default_load", value)
1910
+
1911
+ @property
1912
+ @pulumi.getter(name="primaryDefaultLoad")
1913
+ def primary_default_load(self) -> Optional[pulumi.Input[int]]:
1914
+ """
1915
+ 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.
1916
+ """
1917
+ return pulumi.get(self, "primary_default_load")
1918
+
1919
+ @primary_default_load.setter
1920
+ def primary_default_load(self, value: Optional[pulumi.Input[int]]):
1921
+ pulumi.set(self, "primary_default_load", value)
1922
+
1923
+ @property
1924
+ @pulumi.getter(name="secondaryDefaultLoad")
1925
+ def secondary_default_load(self) -> Optional[pulumi.Input[int]]:
1926
+ """
1927
+ 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.
1928
+ """
1929
+ return pulumi.get(self, "secondary_default_load")
1930
+
1931
+ @secondary_default_load.setter
1932
+ def secondary_default_load(self, value: Optional[pulumi.Input[int]]):
1933
+ pulumi.set(self, "secondary_default_load", value)
1934
+
1935
+ @property
1936
+ @pulumi.getter
1937
+ def weight(self) -> Optional[pulumi.Input[Union[str, 'ServiceLoadMetricWeight']]]:
1938
+ """
1939
+ The service load metric relative weight, compared to other metrics configured for this service, as a number.
1940
+ """
1941
+ return pulumi.get(self, "weight")
1942
+
1943
+ @weight.setter
1944
+ def weight(self, value: Optional[pulumi.Input[Union[str, 'ServiceLoadMetricWeight']]]):
1945
+ pulumi.set(self, "weight", value)
1946
+
1947
+
1948
+ @pulumi.input_type
1949
+ class ServicePlacementInvalidDomainPolicyArgs:
1950
+ def __init__(__self__, *,
1951
+ domain_name: pulumi.Input[str],
1952
+ type: pulumi.Input[str]):
1953
+ """
1954
+ 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.
1955
+ :param pulumi.Input[str] domain_name: The name of the domain that should not be used for placement.
1956
+ :param pulumi.Input[str] type: The type of placement policy for a service fabric service. Following are the possible values.
1957
+ Expected value is 'InvalidDomain'.
1958
+ """
1959
+ pulumi.set(__self__, "domain_name", domain_name)
1960
+ pulumi.set(__self__, "type", 'InvalidDomain')
1961
+
1962
+ @property
1963
+ @pulumi.getter(name="domainName")
1964
+ def domain_name(self) -> pulumi.Input[str]:
1965
+ """
1966
+ The name of the domain that should not be used for placement.
1967
+ """
1968
+ return pulumi.get(self, "domain_name")
1969
+
1970
+ @domain_name.setter
1971
+ def domain_name(self, value: pulumi.Input[str]):
1972
+ pulumi.set(self, "domain_name", value)
1973
+
1974
+ @property
1975
+ @pulumi.getter
1976
+ def type(self) -> pulumi.Input[str]:
1977
+ """
1978
+ The type of placement policy for a service fabric service. Following are the possible values.
1979
+ Expected value is 'InvalidDomain'.
1980
+ """
1981
+ return pulumi.get(self, "type")
1982
+
1983
+ @type.setter
1984
+ def type(self, value: pulumi.Input[str]):
1985
+ pulumi.set(self, "type", value)
1986
+
1987
+
1988
+ @pulumi.input_type
1989
+ class ServicePlacementNonPartiallyPlaceServicePolicyArgs:
1990
+ def __init__(__self__, *,
1991
+ type: pulumi.Input[str]):
1992
+ """
1993
+ The name of the domain that should used for placement as per this policy.
1994
+ :param pulumi.Input[str] type: The type of placement policy for a service fabric service. Following are the possible values.
1995
+ Expected value is 'NonPartiallyPlaceService'.
1996
+ """
1997
+ pulumi.set(__self__, "type", 'NonPartiallyPlaceService')
1998
+
1999
+ @property
2000
+ @pulumi.getter
2001
+ def type(self) -> pulumi.Input[str]:
2002
+ """
2003
+ The type of placement policy for a service fabric service. Following are the possible values.
2004
+ Expected value is 'NonPartiallyPlaceService'.
2005
+ """
2006
+ return pulumi.get(self, "type")
2007
+
2008
+ @type.setter
2009
+ def type(self, value: pulumi.Input[str]):
2010
+ pulumi.set(self, "type", value)
2011
+
2012
+
2013
+ @pulumi.input_type
2014
+ class ServicePlacementPreferPrimaryDomainPolicyArgs:
2015
+ def __init__(__self__, *,
2016
+ domain_name: pulumi.Input[str],
2017
+ type: pulumi.Input[str]):
2018
+ """
2019
+ Describes the policy to be used for placement of a Service Fabric service where the service's
2020
+ Primary replicas should optimally be placed in a particular domain.
2021
+
2022
+ This placement policy is usually used with fault domains in scenarios where the Service Fabric
2023
+ cluster is geographically distributed in order to indicate that a service's primary replica should
2024
+ be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional
2025
+ or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica
2026
+ may not end up located in this domain due to failures, capacity limits, or other constraints.
2027
+
2028
+ :param pulumi.Input[str] domain_name: The name of the domain that should used for placement as per this policy.
2029
+ :param pulumi.Input[str] type: The type of placement policy for a service fabric service. Following are the possible values.
2030
+ Expected value is 'PreferredPrimaryDomain'.
2031
+ """
2032
+ pulumi.set(__self__, "domain_name", domain_name)
2033
+ pulumi.set(__self__, "type", 'PreferredPrimaryDomain')
2034
+
2035
+ @property
2036
+ @pulumi.getter(name="domainName")
2037
+ def domain_name(self) -> pulumi.Input[str]:
2038
+ """
2039
+ The name of the domain that should used for placement as per this policy.
2040
+ """
2041
+ return pulumi.get(self, "domain_name")
2042
+
2043
+ @domain_name.setter
2044
+ def domain_name(self, value: pulumi.Input[str]):
2045
+ pulumi.set(self, "domain_name", value)
2046
+
2047
+ @property
2048
+ @pulumi.getter
2049
+ def type(self) -> pulumi.Input[str]:
2050
+ """
2051
+ The type of placement policy for a service fabric service. Following are the possible values.
2052
+ Expected value is 'PreferredPrimaryDomain'.
2053
+ """
2054
+ return pulumi.get(self, "type")
2055
+
2056
+ @type.setter
2057
+ def type(self, value: pulumi.Input[str]):
2058
+ pulumi.set(self, "type", value)
2059
+
2060
+
2061
+ @pulumi.input_type
2062
+ class ServicePlacementRequireDomainDistributionPolicyArgs:
2063
+ def __init__(__self__, *,
2064
+ domain_name: pulumi.Input[str],
2065
+ type: pulumi.Input[str]):
2066
+ """
2067
+ Describes the policy to be used for placement of a Service Fabric service where two replicas
2068
+ from the same partition should never be placed in the same fault or upgrade domain.
2069
+
2070
+ While this is not common it can expose the service to an increased risk of concurrent failures
2071
+ due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider
2072
+ a case where replicas are deployed across different data center, with one replica per location.
2073
+ In the event that one of the datacenters goes offline, normally the replica that was placed in that
2074
+ datacenter will be packed into one of the remaining datacenters. If this is not desirable then this
2075
+ policy should be set.
2076
+
2077
+ :param pulumi.Input[str] domain_name: The name of the domain that should used for placement as per this policy.
2078
+ :param pulumi.Input[str] type: The type of placement policy for a service fabric service. Following are the possible values.
2079
+ Expected value is 'RequiredDomainDistribution'.
2080
+ """
2081
+ pulumi.set(__self__, "domain_name", domain_name)
2082
+ pulumi.set(__self__, "type", 'RequiredDomainDistribution')
2083
+
2084
+ @property
2085
+ @pulumi.getter(name="domainName")
2086
+ def domain_name(self) -> pulumi.Input[str]:
2087
+ """
2088
+ The name of the domain that should used for placement as per this policy.
2089
+ """
2090
+ return pulumi.get(self, "domain_name")
2091
+
2092
+ @domain_name.setter
2093
+ def domain_name(self, value: pulumi.Input[str]):
2094
+ pulumi.set(self, "domain_name", value)
2095
+
2096
+ @property
2097
+ @pulumi.getter
2098
+ def type(self) -> pulumi.Input[str]:
2099
+ """
2100
+ The type of placement policy for a service fabric service. Following are the possible values.
2101
+ Expected value is 'RequiredDomainDistribution'.
2102
+ """
2103
+ return pulumi.get(self, "type")
2104
+
2105
+ @type.setter
2106
+ def type(self, value: pulumi.Input[str]):
2107
+ pulumi.set(self, "type", value)
2108
+
2109
+
2110
+ @pulumi.input_type
2111
+ class ServicePlacementRequiredDomainPolicyArgs:
2112
+ def __init__(__self__, *,
2113
+ domain_name: pulumi.Input[str],
2114
+ type: pulumi.Input[str]):
2115
+ """
2116
+ 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.
2117
+ :param pulumi.Input[str] domain_name: The name of the domain that should used for placement as per this policy.
2118
+ :param pulumi.Input[str] type: The type of placement policy for a service fabric service. Following are the possible values.
2119
+ Expected value is 'RequiredDomain'.
2120
+ """
2121
+ pulumi.set(__self__, "domain_name", domain_name)
2122
+ pulumi.set(__self__, "type", 'RequiredDomain')
2123
+
2124
+ @property
2125
+ @pulumi.getter(name="domainName")
2126
+ def domain_name(self) -> pulumi.Input[str]:
2127
+ """
2128
+ The name of the domain that should used for placement as per this policy.
2129
+ """
2130
+ return pulumi.get(self, "domain_name")
2131
+
2132
+ @domain_name.setter
2133
+ def domain_name(self, value: pulumi.Input[str]):
2134
+ pulumi.set(self, "domain_name", value)
2135
+
2136
+ @property
2137
+ @pulumi.getter
2138
+ def type(self) -> pulumi.Input[str]:
2139
+ """
2140
+ The type of placement policy for a service fabric service. Following are the possible values.
2141
+ Expected value is 'RequiredDomain'.
2142
+ """
2143
+ return pulumi.get(self, "type")
2144
+
2145
+ @type.setter
2146
+ def type(self, value: pulumi.Input[str]):
2147
+ pulumi.set(self, "type", value)
2148
+
2149
+
2150
+ @pulumi.input_type
2151
+ class ServiceTypeHealthPolicyArgs:
2152
+ def __init__(__self__, *,
2153
+ max_percent_unhealthy_partitions_per_service: pulumi.Input[int],
2154
+ max_percent_unhealthy_replicas_per_partition: pulumi.Input[int],
2155
+ max_percent_unhealthy_services: pulumi.Input[int]):
2156
+ """
2157
+ Represents the health policy used to evaluate the health of services belonging to a service type.
2158
+
2159
+ :param pulumi.Input[int] max_percent_unhealthy_partitions_per_service: The maximum allowed percentage of unhealthy partitions per service.
2160
+
2161
+ The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
2162
+ If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
2163
+ The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
2164
+ The computation rounds up to tolerate one failure on small numbers of partitions.
2165
+ :param pulumi.Input[int] max_percent_unhealthy_replicas_per_partition: The maximum allowed percentage of unhealthy replicas per partition.
2166
+
2167
+ The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
2168
+ If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
2169
+ The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
2170
+ The computation rounds up to tolerate one failure on small numbers of replicas.
2171
+ :param pulumi.Input[int] max_percent_unhealthy_services: The maximum allowed percentage of unhealthy services.
2172
+
2173
+ The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
2174
+ If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
2175
+ 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.
2176
+ The computation rounds up to tolerate one failure on small numbers of services.
2177
+ """
2178
+ pulumi.set(__self__, "max_percent_unhealthy_partitions_per_service", max_percent_unhealthy_partitions_per_service)
2179
+ pulumi.set(__self__, "max_percent_unhealthy_replicas_per_partition", max_percent_unhealthy_replicas_per_partition)
2180
+ pulumi.set(__self__, "max_percent_unhealthy_services", max_percent_unhealthy_services)
2181
+
2182
+ @property
2183
+ @pulumi.getter(name="maxPercentUnhealthyPartitionsPerService")
2184
+ def max_percent_unhealthy_partitions_per_service(self) -> pulumi.Input[int]:
2185
+ """
2186
+ The maximum allowed percentage of unhealthy partitions per service.
2187
+
2188
+ The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
2189
+ If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
2190
+ The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
2191
+ The computation rounds up to tolerate one failure on small numbers of partitions.
2192
+ """
2193
+ return pulumi.get(self, "max_percent_unhealthy_partitions_per_service")
2194
+
2195
+ @max_percent_unhealthy_partitions_per_service.setter
2196
+ def max_percent_unhealthy_partitions_per_service(self, value: pulumi.Input[int]):
2197
+ pulumi.set(self, "max_percent_unhealthy_partitions_per_service", value)
2198
+
2199
+ @property
2200
+ @pulumi.getter(name="maxPercentUnhealthyReplicasPerPartition")
2201
+ def max_percent_unhealthy_replicas_per_partition(self) -> pulumi.Input[int]:
2202
+ """
2203
+ The maximum allowed percentage of unhealthy replicas per partition.
2204
+
2205
+ The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
2206
+ If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
2207
+ The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
2208
+ The computation rounds up to tolerate one failure on small numbers of replicas.
2209
+ """
2210
+ return pulumi.get(self, "max_percent_unhealthy_replicas_per_partition")
2211
+
2212
+ @max_percent_unhealthy_replicas_per_partition.setter
2213
+ def max_percent_unhealthy_replicas_per_partition(self, value: pulumi.Input[int]):
2214
+ pulumi.set(self, "max_percent_unhealthy_replicas_per_partition", value)
2215
+
2216
+ @property
2217
+ @pulumi.getter(name="maxPercentUnhealthyServices")
2218
+ def max_percent_unhealthy_services(self) -> pulumi.Input[int]:
2219
+ """
2220
+ The maximum allowed percentage of unhealthy services.
2221
+
2222
+ The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
2223
+ If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
2224
+ 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.
2225
+ The computation rounds up to tolerate one failure on small numbers of services.
2226
+ """
2227
+ return pulumi.get(self, "max_percent_unhealthy_services")
2228
+
2229
+ @max_percent_unhealthy_services.setter
2230
+ def max_percent_unhealthy_services(self, value: pulumi.Input[int]):
2231
+ pulumi.set(self, "max_percent_unhealthy_services", value)
2232
+
2233
+
2234
+ @pulumi.input_type
2235
+ class SettingsParameterDescriptionArgs:
2236
+ def __init__(__self__, *,
2237
+ name: pulumi.Input[str],
2238
+ value: pulumi.Input[str]):
2239
+ """
2240
+ Describes a parameter in fabric settings of the cluster.
2241
+ :param pulumi.Input[str] name: The parameter name of fabric setting.
2242
+ :param pulumi.Input[str] value: The parameter value of fabric setting.
2243
+ """
2244
+ pulumi.set(__self__, "name", name)
2245
+ pulumi.set(__self__, "value", value)
2246
+
2247
+ @property
2248
+ @pulumi.getter
2249
+ def name(self) -> pulumi.Input[str]:
2250
+ """
2251
+ The parameter name of fabric setting.
2252
+ """
2253
+ return pulumi.get(self, "name")
2254
+
2255
+ @name.setter
2256
+ def name(self, value: pulumi.Input[str]):
2257
+ pulumi.set(self, "name", value)
2258
+
2259
+ @property
2260
+ @pulumi.getter
2261
+ def value(self) -> pulumi.Input[str]:
2262
+ """
2263
+ The parameter value of fabric setting.
2264
+ """
2265
+ return pulumi.get(self, "value")
2266
+
2267
+ @value.setter
2268
+ def value(self, value: pulumi.Input[str]):
2269
+ pulumi.set(self, "value", value)
2270
+
2271
+
2272
+ @pulumi.input_type
2273
+ class SettingsSectionDescriptionArgs:
2274
+ def __init__(__self__, *,
2275
+ name: pulumi.Input[str],
2276
+ parameters: pulumi.Input[Sequence[pulumi.Input['SettingsParameterDescriptionArgs']]]):
2277
+ """
2278
+ Describes a section in the fabric settings of the cluster.
2279
+ :param pulumi.Input[str] name: The section name of the fabric settings.
2280
+ :param pulumi.Input[Sequence[pulumi.Input['SettingsParameterDescriptionArgs']]] parameters: The collection of parameters in the section.
2281
+ """
2282
+ pulumi.set(__self__, "name", name)
2283
+ pulumi.set(__self__, "parameters", parameters)
2284
+
2285
+ @property
2286
+ @pulumi.getter
2287
+ def name(self) -> pulumi.Input[str]:
2288
+ """
2289
+ The section name of the fabric settings.
2290
+ """
2291
+ return pulumi.get(self, "name")
2292
+
2293
+ @name.setter
2294
+ def name(self, value: pulumi.Input[str]):
2295
+ pulumi.set(self, "name", value)
2296
+
2297
+ @property
2298
+ @pulumi.getter
2299
+ def parameters(self) -> pulumi.Input[Sequence[pulumi.Input['SettingsParameterDescriptionArgs']]]:
2300
+ """
2301
+ The collection of parameters in the section.
2302
+ """
2303
+ return pulumi.get(self, "parameters")
2304
+
2305
+ @parameters.setter
2306
+ def parameters(self, value: pulumi.Input[Sequence[pulumi.Input['SettingsParameterDescriptionArgs']]]):
2307
+ pulumi.set(self, "parameters", value)
2308
+
2309
+
2310
+ @pulumi.input_type
2311
+ class SingletonPartitionSchemeArgs:
2312
+ def __init__(__self__, *,
2313
+ partition_scheme: pulumi.Input[str]):
2314
+ """
2315
+ Describes the partition scheme of a singleton-partitioned, or non-partitioned service.
2316
+ :param pulumi.Input[str] partition_scheme: Enumerates the ways that a service can be partitioned.
2317
+ Expected value is 'Singleton'.
2318
+ """
2319
+ pulumi.set(__self__, "partition_scheme", 'Singleton')
2320
+
2321
+ @property
2322
+ @pulumi.getter(name="partitionScheme")
2323
+ def partition_scheme(self) -> pulumi.Input[str]:
2324
+ """
2325
+ Enumerates the ways that a service can be partitioned.
2326
+ Expected value is 'Singleton'.
2327
+ """
2328
+ return pulumi.get(self, "partition_scheme")
2329
+
2330
+ @partition_scheme.setter
2331
+ def partition_scheme(self, value: pulumi.Input[str]):
2332
+ pulumi.set(self, "partition_scheme", value)
2333
+
2334
+
2335
+ @pulumi.input_type
2336
+ class SkuArgs:
2337
+ def __init__(__self__, *,
2338
+ name: pulumi.Input[Union[str, 'SkuName']]):
2339
+ """
2340
+ Service Fabric managed cluster Sku definition
2341
+ :param pulumi.Input[Union[str, 'SkuName']] name: Sku Name.
2342
+ """
2343
+ pulumi.set(__self__, "name", name)
2344
+
2345
+ @property
2346
+ @pulumi.getter
2347
+ def name(self) -> pulumi.Input[Union[str, 'SkuName']]:
2348
+ """
2349
+ Sku Name.
2350
+ """
2351
+ return pulumi.get(self, "name")
2352
+
2353
+ @name.setter
2354
+ def name(self, value: pulumi.Input[Union[str, 'SkuName']]):
2355
+ pulumi.set(self, "name", value)
2356
+
2357
+
2358
+ @pulumi.input_type
2359
+ class StatefulServicePropertiesArgs:
2360
+ def __init__(__self__, *,
2361
+ partition_description: pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']],
2362
+ service_kind: pulumi.Input[str],
2363
+ service_type_name: pulumi.Input[str],
2364
+ correlation_scheme: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]] = None,
2365
+ default_move_cost: Optional[pulumi.Input[Union[str, 'MoveCost']]] = None,
2366
+ has_persisted_state: Optional[pulumi.Input[bool]] = None,
2367
+ min_replica_set_size: Optional[pulumi.Input[int]] = None,
2368
+ placement_constraints: Optional[pulumi.Input[str]] = None,
2369
+ quorum_loss_wait_duration: Optional[pulumi.Input[str]] = None,
2370
+ replica_restart_wait_duration: Optional[pulumi.Input[str]] = None,
2371
+ scaling_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]] = None,
2372
+ service_dns_name: Optional[pulumi.Input[str]] = None,
2373
+ service_load_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]] = None,
2374
+ service_package_activation_mode: Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]] = None,
2375
+ service_placement_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]] = None,
2376
+ service_placement_time_limit: Optional[pulumi.Input[str]] = None,
2377
+ stand_by_replica_keep_duration: Optional[pulumi.Input[str]] = None,
2378
+ target_replica_set_size: Optional[pulumi.Input[int]] = None):
2379
+ """
2380
+ The properties of a stateful service resource.
2381
+ :param pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']] partition_description: Describes how the service is partitioned.
2382
+ :param pulumi.Input[str] service_kind: The kind of service (Stateless or Stateful).
2383
+ Expected value is 'Stateful'.
2384
+ :param pulumi.Input[str] service_type_name: The name of the service type
2385
+ :param pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]] correlation_scheme: A list that describes the correlation of the service with other services.
2386
+ :param pulumi.Input[Union[str, 'MoveCost']] default_move_cost: Specifies the move cost for the service.
2387
+ :param pulumi.Input[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.
2388
+ :param pulumi.Input[int] min_replica_set_size: The minimum replica set size as a number.
2389
+ :param pulumi.Input[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)".
2390
+ :param pulumi.Input[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".
2391
+ :param pulumi.Input[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".
2392
+ :param pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]] scaling_policies: Scaling policies for this service.
2393
+ :param pulumi.Input[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).
2394
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2395
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2396
+ :param pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]] service_load_metrics: The service load metrics is given as an array of ServiceLoadMetric objects.
2397
+ :param pulumi.Input[Union[str, 'ServicePackageActivationMode']] service_package_activation_mode: The activation Mode of the service package
2398
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]] service_placement_policies: A list that describes the correlation of the service with other services.
2399
+ :param pulumi.Input[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".
2400
+ :param pulumi.Input[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".
2401
+ :param pulumi.Input[int] target_replica_set_size: The target replica set size as a number.
2402
+ """
2403
+ pulumi.set(__self__, "partition_description", partition_description)
2404
+ pulumi.set(__self__, "service_kind", 'Stateful')
2405
+ pulumi.set(__self__, "service_type_name", service_type_name)
2406
+ if correlation_scheme is not None:
2407
+ pulumi.set(__self__, "correlation_scheme", correlation_scheme)
2408
+ if default_move_cost is not None:
2409
+ pulumi.set(__self__, "default_move_cost", default_move_cost)
2410
+ if has_persisted_state is not None:
2411
+ pulumi.set(__self__, "has_persisted_state", has_persisted_state)
2412
+ if min_replica_set_size is not None:
2413
+ pulumi.set(__self__, "min_replica_set_size", min_replica_set_size)
2414
+ if placement_constraints is not None:
2415
+ pulumi.set(__self__, "placement_constraints", placement_constraints)
2416
+ if quorum_loss_wait_duration is not None:
2417
+ pulumi.set(__self__, "quorum_loss_wait_duration", quorum_loss_wait_duration)
2418
+ if replica_restart_wait_duration is not None:
2419
+ pulumi.set(__self__, "replica_restart_wait_duration", replica_restart_wait_duration)
2420
+ if scaling_policies is not None:
2421
+ pulumi.set(__self__, "scaling_policies", scaling_policies)
2422
+ if service_dns_name is not None:
2423
+ pulumi.set(__self__, "service_dns_name", service_dns_name)
2424
+ if service_load_metrics is not None:
2425
+ pulumi.set(__self__, "service_load_metrics", service_load_metrics)
2426
+ if service_package_activation_mode is not None:
2427
+ pulumi.set(__self__, "service_package_activation_mode", service_package_activation_mode)
2428
+ if service_placement_policies is not None:
2429
+ pulumi.set(__self__, "service_placement_policies", service_placement_policies)
2430
+ if service_placement_time_limit is not None:
2431
+ pulumi.set(__self__, "service_placement_time_limit", service_placement_time_limit)
2432
+ if stand_by_replica_keep_duration is not None:
2433
+ pulumi.set(__self__, "stand_by_replica_keep_duration", stand_by_replica_keep_duration)
2434
+ if target_replica_set_size is not None:
2435
+ pulumi.set(__self__, "target_replica_set_size", target_replica_set_size)
2436
+
2437
+ @property
2438
+ @pulumi.getter(name="partitionDescription")
2439
+ def partition_description(self) -> pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']]:
2440
+ """
2441
+ Describes how the service is partitioned.
2442
+ """
2443
+ return pulumi.get(self, "partition_description")
2444
+
2445
+ @partition_description.setter
2446
+ def partition_description(self, value: pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']]):
2447
+ pulumi.set(self, "partition_description", value)
2448
+
2449
+ @property
2450
+ @pulumi.getter(name="serviceKind")
2451
+ def service_kind(self) -> pulumi.Input[str]:
2452
+ """
2453
+ The kind of service (Stateless or Stateful).
2454
+ Expected value is 'Stateful'.
2455
+ """
2456
+ return pulumi.get(self, "service_kind")
2457
+
2458
+ @service_kind.setter
2459
+ def service_kind(self, value: pulumi.Input[str]):
2460
+ pulumi.set(self, "service_kind", value)
2461
+
2462
+ @property
2463
+ @pulumi.getter(name="serviceTypeName")
2464
+ def service_type_name(self) -> pulumi.Input[str]:
2465
+ """
2466
+ The name of the service type
2467
+ """
2468
+ return pulumi.get(self, "service_type_name")
2469
+
2470
+ @service_type_name.setter
2471
+ def service_type_name(self, value: pulumi.Input[str]):
2472
+ pulumi.set(self, "service_type_name", value)
2473
+
2474
+ @property
2475
+ @pulumi.getter(name="correlationScheme")
2476
+ def correlation_scheme(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]]:
2477
+ """
2478
+ A list that describes the correlation of the service with other services.
2479
+ """
2480
+ return pulumi.get(self, "correlation_scheme")
2481
+
2482
+ @correlation_scheme.setter
2483
+ def correlation_scheme(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]]):
2484
+ pulumi.set(self, "correlation_scheme", value)
2485
+
2486
+ @property
2487
+ @pulumi.getter(name="defaultMoveCost")
2488
+ def default_move_cost(self) -> Optional[pulumi.Input[Union[str, 'MoveCost']]]:
2489
+ """
2490
+ Specifies the move cost for the service.
2491
+ """
2492
+ return pulumi.get(self, "default_move_cost")
2493
+
2494
+ @default_move_cost.setter
2495
+ def default_move_cost(self, value: Optional[pulumi.Input[Union[str, 'MoveCost']]]):
2496
+ pulumi.set(self, "default_move_cost", value)
2497
+
2498
+ @property
2499
+ @pulumi.getter(name="hasPersistedState")
2500
+ def has_persisted_state(self) -> Optional[pulumi.Input[bool]]:
2501
+ """
2502
+ 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.
2503
+ """
2504
+ return pulumi.get(self, "has_persisted_state")
2505
+
2506
+ @has_persisted_state.setter
2507
+ def has_persisted_state(self, value: Optional[pulumi.Input[bool]]):
2508
+ pulumi.set(self, "has_persisted_state", value)
2509
+
2510
+ @property
2511
+ @pulumi.getter(name="minReplicaSetSize")
2512
+ def min_replica_set_size(self) -> Optional[pulumi.Input[int]]:
2513
+ """
2514
+ The minimum replica set size as a number.
2515
+ """
2516
+ return pulumi.get(self, "min_replica_set_size")
2517
+
2518
+ @min_replica_set_size.setter
2519
+ def min_replica_set_size(self, value: Optional[pulumi.Input[int]]):
2520
+ pulumi.set(self, "min_replica_set_size", value)
2521
+
2522
+ @property
2523
+ @pulumi.getter(name="placementConstraints")
2524
+ def placement_constraints(self) -> Optional[pulumi.Input[str]]:
2525
+ """
2526
+ 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)".
2527
+ """
2528
+ return pulumi.get(self, "placement_constraints")
2529
+
2530
+ @placement_constraints.setter
2531
+ def placement_constraints(self, value: Optional[pulumi.Input[str]]):
2532
+ pulumi.set(self, "placement_constraints", value)
2533
+
2534
+ @property
2535
+ @pulumi.getter(name="quorumLossWaitDuration")
2536
+ def quorum_loss_wait_duration(self) -> Optional[pulumi.Input[str]]:
2537
+ """
2538
+ 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".
2539
+ """
2540
+ return pulumi.get(self, "quorum_loss_wait_duration")
2541
+
2542
+ @quorum_loss_wait_duration.setter
2543
+ def quorum_loss_wait_duration(self, value: Optional[pulumi.Input[str]]):
2544
+ pulumi.set(self, "quorum_loss_wait_duration", value)
2545
+
2546
+ @property
2547
+ @pulumi.getter(name="replicaRestartWaitDuration")
2548
+ def replica_restart_wait_duration(self) -> Optional[pulumi.Input[str]]:
2549
+ """
2550
+ The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format "hh:mm:ss".
2551
+ """
2552
+ return pulumi.get(self, "replica_restart_wait_duration")
2553
+
2554
+ @replica_restart_wait_duration.setter
2555
+ def replica_restart_wait_duration(self, value: Optional[pulumi.Input[str]]):
2556
+ pulumi.set(self, "replica_restart_wait_duration", value)
2557
+
2558
+ @property
2559
+ @pulumi.getter(name="scalingPolicies")
2560
+ def scaling_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]]:
2561
+ """
2562
+ Scaling policies for this service.
2563
+ """
2564
+ return pulumi.get(self, "scaling_policies")
2565
+
2566
+ @scaling_policies.setter
2567
+ def scaling_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]]):
2568
+ pulumi.set(self, "scaling_policies", value)
2569
+
2570
+ @property
2571
+ @pulumi.getter(name="serviceDnsName")
2572
+ def service_dns_name(self) -> Optional[pulumi.Input[str]]:
2573
+ """
2574
+ 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).
2575
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2576
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2577
+ """
2578
+ return pulumi.get(self, "service_dns_name")
2579
+
2580
+ @service_dns_name.setter
2581
+ def service_dns_name(self, value: Optional[pulumi.Input[str]]):
2582
+ pulumi.set(self, "service_dns_name", value)
2583
+
2584
+ @property
2585
+ @pulumi.getter(name="serviceLoadMetrics")
2586
+ def service_load_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]]:
2587
+ """
2588
+ The service load metrics is given as an array of ServiceLoadMetric objects.
2589
+ """
2590
+ return pulumi.get(self, "service_load_metrics")
2591
+
2592
+ @service_load_metrics.setter
2593
+ def service_load_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]]):
2594
+ pulumi.set(self, "service_load_metrics", value)
2595
+
2596
+ @property
2597
+ @pulumi.getter(name="servicePackageActivationMode")
2598
+ def service_package_activation_mode(self) -> Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]]:
2599
+ """
2600
+ The activation Mode of the service package
2601
+ """
2602
+ return pulumi.get(self, "service_package_activation_mode")
2603
+
2604
+ @service_package_activation_mode.setter
2605
+ def service_package_activation_mode(self, value: Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]]):
2606
+ pulumi.set(self, "service_package_activation_mode", value)
2607
+
2608
+ @property
2609
+ @pulumi.getter(name="servicePlacementPolicies")
2610
+ def service_placement_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]]:
2611
+ """
2612
+ A list that describes the correlation of the service with other services.
2613
+ """
2614
+ return pulumi.get(self, "service_placement_policies")
2615
+
2616
+ @service_placement_policies.setter
2617
+ def service_placement_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]]):
2618
+ pulumi.set(self, "service_placement_policies", value)
2619
+
2620
+ @property
2621
+ @pulumi.getter(name="servicePlacementTimeLimit")
2622
+ def service_placement_time_limit(self) -> Optional[pulumi.Input[str]]:
2623
+ """
2624
+ The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format "hh:mm:ss".
2625
+ """
2626
+ return pulumi.get(self, "service_placement_time_limit")
2627
+
2628
+ @service_placement_time_limit.setter
2629
+ def service_placement_time_limit(self, value: Optional[pulumi.Input[str]]):
2630
+ pulumi.set(self, "service_placement_time_limit", value)
2631
+
2632
+ @property
2633
+ @pulumi.getter(name="standByReplicaKeepDuration")
2634
+ def stand_by_replica_keep_duration(self) -> Optional[pulumi.Input[str]]:
2635
+ """
2636
+ The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format "hh:mm:ss".
2637
+ """
2638
+ return pulumi.get(self, "stand_by_replica_keep_duration")
2639
+
2640
+ @stand_by_replica_keep_duration.setter
2641
+ def stand_by_replica_keep_duration(self, value: Optional[pulumi.Input[str]]):
2642
+ pulumi.set(self, "stand_by_replica_keep_duration", value)
2643
+
2644
+ @property
2645
+ @pulumi.getter(name="targetReplicaSetSize")
2646
+ def target_replica_set_size(self) -> Optional[pulumi.Input[int]]:
2647
+ """
2648
+ The target replica set size as a number.
2649
+ """
2650
+ return pulumi.get(self, "target_replica_set_size")
2651
+
2652
+ @target_replica_set_size.setter
2653
+ def target_replica_set_size(self, value: Optional[pulumi.Input[int]]):
2654
+ pulumi.set(self, "target_replica_set_size", value)
2655
+
2656
+
2657
+ @pulumi.input_type
2658
+ class StatelessServicePropertiesArgs:
2659
+ def __init__(__self__, *,
2660
+ instance_count: pulumi.Input[int],
2661
+ partition_description: pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']],
2662
+ service_kind: pulumi.Input[str],
2663
+ service_type_name: pulumi.Input[str],
2664
+ correlation_scheme: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]] = None,
2665
+ default_move_cost: Optional[pulumi.Input[Union[str, 'MoveCost']]] = None,
2666
+ min_instance_count: Optional[pulumi.Input[int]] = None,
2667
+ min_instance_percentage: Optional[pulumi.Input[int]] = None,
2668
+ placement_constraints: Optional[pulumi.Input[str]] = None,
2669
+ scaling_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]] = None,
2670
+ service_dns_name: Optional[pulumi.Input[str]] = None,
2671
+ service_load_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]] = None,
2672
+ service_package_activation_mode: Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]] = None,
2673
+ service_placement_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]] = None):
2674
+ """
2675
+ The properties of a stateless service resource.
2676
+ :param pulumi.Input[int] instance_count: The instance count.
2677
+ :param pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']] partition_description: Describes how the service is partitioned.
2678
+ :param pulumi.Input[str] service_kind: The kind of service (Stateless or Stateful).
2679
+ Expected value is 'Stateless'.
2680
+ :param pulumi.Input[str] service_type_name: The name of the service type
2681
+ :param pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]] correlation_scheme: A list that describes the correlation of the service with other services.
2682
+ :param pulumi.Input[Union[str, 'MoveCost']] default_move_cost: Specifies the move cost for the service.
2683
+ :param pulumi.Input[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.
2684
+ :param pulumi.Input[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.
2685
+ :param pulumi.Input[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)".
2686
+ :param pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]] scaling_policies: Scaling policies for this service.
2687
+ :param pulumi.Input[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).
2688
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2689
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2690
+ :param pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]] service_load_metrics: The service load metrics is given as an array of ServiceLoadMetric objects.
2691
+ :param pulumi.Input[Union[str, 'ServicePackageActivationMode']] service_package_activation_mode: The activation Mode of the service package
2692
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]] service_placement_policies: A list that describes the correlation of the service with other services.
2693
+ """
2694
+ pulumi.set(__self__, "instance_count", instance_count)
2695
+ pulumi.set(__self__, "partition_description", partition_description)
2696
+ pulumi.set(__self__, "service_kind", 'Stateless')
2697
+ pulumi.set(__self__, "service_type_name", service_type_name)
2698
+ if correlation_scheme is not None:
2699
+ pulumi.set(__self__, "correlation_scheme", correlation_scheme)
2700
+ if default_move_cost is not None:
2701
+ pulumi.set(__self__, "default_move_cost", default_move_cost)
2702
+ if min_instance_count is not None:
2703
+ pulumi.set(__self__, "min_instance_count", min_instance_count)
2704
+ if min_instance_percentage is not None:
2705
+ pulumi.set(__self__, "min_instance_percentage", min_instance_percentage)
2706
+ if placement_constraints is not None:
2707
+ pulumi.set(__self__, "placement_constraints", placement_constraints)
2708
+ if scaling_policies is not None:
2709
+ pulumi.set(__self__, "scaling_policies", scaling_policies)
2710
+ if service_dns_name is not None:
2711
+ pulumi.set(__self__, "service_dns_name", service_dns_name)
2712
+ if service_load_metrics is not None:
2713
+ pulumi.set(__self__, "service_load_metrics", service_load_metrics)
2714
+ if service_package_activation_mode is not None:
2715
+ pulumi.set(__self__, "service_package_activation_mode", service_package_activation_mode)
2716
+ if service_placement_policies is not None:
2717
+ pulumi.set(__self__, "service_placement_policies", service_placement_policies)
2718
+
2719
+ @property
2720
+ @pulumi.getter(name="instanceCount")
2721
+ def instance_count(self) -> pulumi.Input[int]:
2722
+ """
2723
+ The instance count.
2724
+ """
2725
+ return pulumi.get(self, "instance_count")
2726
+
2727
+ @instance_count.setter
2728
+ def instance_count(self, value: pulumi.Input[int]):
2729
+ pulumi.set(self, "instance_count", value)
2730
+
2731
+ @property
2732
+ @pulumi.getter(name="partitionDescription")
2733
+ def partition_description(self) -> pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']]:
2734
+ """
2735
+ Describes how the service is partitioned.
2736
+ """
2737
+ return pulumi.get(self, "partition_description")
2738
+
2739
+ @partition_description.setter
2740
+ def partition_description(self, value: pulumi.Input[Union['NamedPartitionSchemeArgs', 'SingletonPartitionSchemeArgs', 'UniformInt64RangePartitionSchemeArgs']]):
2741
+ pulumi.set(self, "partition_description", value)
2742
+
2743
+ @property
2744
+ @pulumi.getter(name="serviceKind")
2745
+ def service_kind(self) -> pulumi.Input[str]:
2746
+ """
2747
+ The kind of service (Stateless or Stateful).
2748
+ Expected value is 'Stateless'.
2749
+ """
2750
+ return pulumi.get(self, "service_kind")
2751
+
2752
+ @service_kind.setter
2753
+ def service_kind(self, value: pulumi.Input[str]):
2754
+ pulumi.set(self, "service_kind", value)
2755
+
2756
+ @property
2757
+ @pulumi.getter(name="serviceTypeName")
2758
+ def service_type_name(self) -> pulumi.Input[str]:
2759
+ """
2760
+ The name of the service type
2761
+ """
2762
+ return pulumi.get(self, "service_type_name")
2763
+
2764
+ @service_type_name.setter
2765
+ def service_type_name(self, value: pulumi.Input[str]):
2766
+ pulumi.set(self, "service_type_name", value)
2767
+
2768
+ @property
2769
+ @pulumi.getter(name="correlationScheme")
2770
+ def correlation_scheme(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]]:
2771
+ """
2772
+ A list that describes the correlation of the service with other services.
2773
+ """
2774
+ return pulumi.get(self, "correlation_scheme")
2775
+
2776
+ @correlation_scheme.setter
2777
+ def correlation_scheme(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCorrelationArgs']]]]):
2778
+ pulumi.set(self, "correlation_scheme", value)
2779
+
2780
+ @property
2781
+ @pulumi.getter(name="defaultMoveCost")
2782
+ def default_move_cost(self) -> Optional[pulumi.Input[Union[str, 'MoveCost']]]:
2783
+ """
2784
+ Specifies the move cost for the service.
2785
+ """
2786
+ return pulumi.get(self, "default_move_cost")
2787
+
2788
+ @default_move_cost.setter
2789
+ def default_move_cost(self, value: Optional[pulumi.Input[Union[str, 'MoveCost']]]):
2790
+ pulumi.set(self, "default_move_cost", value)
2791
+
2792
+ @property
2793
+ @pulumi.getter(name="minInstanceCount")
2794
+ def min_instance_count(self) -> Optional[pulumi.Input[int]]:
2795
+ """
2796
+ 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.
2797
+ """
2798
+ return pulumi.get(self, "min_instance_count")
2799
+
2800
+ @min_instance_count.setter
2801
+ def min_instance_count(self, value: Optional[pulumi.Input[int]]):
2802
+ pulumi.set(self, "min_instance_count", value)
2803
+
2804
+ @property
2805
+ @pulumi.getter(name="minInstancePercentage")
2806
+ def min_instance_percentage(self) -> Optional[pulumi.Input[int]]:
2807
+ """
2808
+ 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.
2809
+ """
2810
+ return pulumi.get(self, "min_instance_percentage")
2811
+
2812
+ @min_instance_percentage.setter
2813
+ def min_instance_percentage(self, value: Optional[pulumi.Input[int]]):
2814
+ pulumi.set(self, "min_instance_percentage", value)
2815
+
2816
+ @property
2817
+ @pulumi.getter(name="placementConstraints")
2818
+ def placement_constraints(self) -> Optional[pulumi.Input[str]]:
2819
+ """
2820
+ 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)".
2821
+ """
2822
+ return pulumi.get(self, "placement_constraints")
2823
+
2824
+ @placement_constraints.setter
2825
+ def placement_constraints(self, value: Optional[pulumi.Input[str]]):
2826
+ pulumi.set(self, "placement_constraints", value)
2827
+
2828
+ @property
2829
+ @pulumi.getter(name="scalingPolicies")
2830
+ def scaling_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]]:
2831
+ """
2832
+ Scaling policies for this service.
2833
+ """
2834
+ return pulumi.get(self, "scaling_policies")
2835
+
2836
+ @scaling_policies.setter
2837
+ def scaling_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyArgs']]]]):
2838
+ pulumi.set(self, "scaling_policies", value)
2839
+
2840
+ @property
2841
+ @pulumi.getter(name="serviceDnsName")
2842
+ def service_dns_name(self) -> Optional[pulumi.Input[str]]:
2843
+ """
2844
+ 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).
2845
+ When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
2846
+ When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
2847
+ """
2848
+ return pulumi.get(self, "service_dns_name")
2849
+
2850
+ @service_dns_name.setter
2851
+ def service_dns_name(self, value: Optional[pulumi.Input[str]]):
2852
+ pulumi.set(self, "service_dns_name", value)
2853
+
2854
+ @property
2855
+ @pulumi.getter(name="serviceLoadMetrics")
2856
+ def service_load_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]]:
2857
+ """
2858
+ The service load metrics is given as an array of ServiceLoadMetric objects.
2859
+ """
2860
+ return pulumi.get(self, "service_load_metrics")
2861
+
2862
+ @service_load_metrics.setter
2863
+ def service_load_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLoadMetricArgs']]]]):
2864
+ pulumi.set(self, "service_load_metrics", value)
2865
+
2866
+ @property
2867
+ @pulumi.getter(name="servicePackageActivationMode")
2868
+ def service_package_activation_mode(self) -> Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]]:
2869
+ """
2870
+ The activation Mode of the service package
2871
+ """
2872
+ return pulumi.get(self, "service_package_activation_mode")
2873
+
2874
+ @service_package_activation_mode.setter
2875
+ def service_package_activation_mode(self, value: Optional[pulumi.Input[Union[str, 'ServicePackageActivationMode']]]):
2876
+ pulumi.set(self, "service_package_activation_mode", value)
2877
+
2878
+ @property
2879
+ @pulumi.getter(name="servicePlacementPolicies")
2880
+ def service_placement_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]]:
2881
+ """
2882
+ A list that describes the correlation of the service with other services.
2883
+ """
2884
+ return pulumi.get(self, "service_placement_policies")
2885
+
2886
+ @service_placement_policies.setter
2887
+ def service_placement_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementInvalidDomainPolicyArgs', 'ServicePlacementNonPartiallyPlaceServicePolicyArgs', 'ServicePlacementPreferPrimaryDomainPolicyArgs', 'ServicePlacementRequireDomainDistributionPolicyArgs', 'ServicePlacementRequiredDomainPolicyArgs']]]]]):
2888
+ pulumi.set(self, "service_placement_policies", value)
2889
+
2890
+
2891
+ @pulumi.input_type
2892
+ class SubResourceArgs:
2893
+ def __init__(__self__, *,
2894
+ id: Optional[pulumi.Input[str]] = None):
2895
+ """
2896
+ Azure resource identifier.
2897
+ :param pulumi.Input[str] id: Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted.
2898
+ An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end.
2899
+ A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself.
2900
+ Example of a relative ID: $self/frontEndConfigurations/my-frontend.
2901
+ """
2902
+ if id is not None:
2903
+ pulumi.set(__self__, "id", id)
2904
+
2905
+ @property
2906
+ @pulumi.getter
2907
+ def id(self) -> Optional[pulumi.Input[str]]:
2908
+ """
2909
+ Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted.
2910
+ An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end.
2911
+ A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself.
2912
+ Example of a relative ID: $self/frontEndConfigurations/my-frontend.
2913
+ """
2914
+ return pulumi.get(self, "id")
2915
+
2916
+ @id.setter
2917
+ def id(self, value: Optional[pulumi.Input[str]]):
2918
+ pulumi.set(self, "id", value)
2919
+
2920
+
2921
+ @pulumi.input_type
2922
+ class SubnetArgs:
2923
+ def __init__(__self__, *,
2924
+ name: pulumi.Input[str],
2925
+ enable_ipv6: Optional[pulumi.Input[bool]] = None,
2926
+ network_security_group_id: Optional[pulumi.Input[str]] = None,
2927
+ private_endpoint_network_policies: Optional[pulumi.Input[Union[str, 'PrivateEndpointNetworkPolicies']]] = None,
2928
+ private_link_service_network_policies: Optional[pulumi.Input[Union[str, 'PrivateLinkServiceNetworkPolicies']]] = None):
2929
+ """
2930
+ Describes a Subnet.
2931
+ :param pulumi.Input[str] name: Subnet name.
2932
+ :param pulumi.Input[bool] enable_ipv6: Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster.
2933
+ :param pulumi.Input[str] network_security_group_id: Full resource id for the network security group.
2934
+ :param pulumi.Input[Union[str, 'PrivateEndpointNetworkPolicies']] private_endpoint_network_policies: Enable or Disable apply network policies on private end point in the subnet.
2935
+ :param pulumi.Input[Union[str, 'PrivateLinkServiceNetworkPolicies']] private_link_service_network_policies: Enable or Disable apply network policies on private link service in the subnet.
2936
+ """
2937
+ pulumi.set(__self__, "name", name)
2938
+ if enable_ipv6 is not None:
2939
+ pulumi.set(__self__, "enable_ipv6", enable_ipv6)
2940
+ if network_security_group_id is not None:
2941
+ pulumi.set(__self__, "network_security_group_id", network_security_group_id)
2942
+ if private_endpoint_network_policies is not None:
2943
+ pulumi.set(__self__, "private_endpoint_network_policies", private_endpoint_network_policies)
2944
+ if private_link_service_network_policies is not None:
2945
+ pulumi.set(__self__, "private_link_service_network_policies", private_link_service_network_policies)
2946
+
2947
+ @property
2948
+ @pulumi.getter
2949
+ def name(self) -> pulumi.Input[str]:
2950
+ """
2951
+ Subnet name.
2952
+ """
2953
+ return pulumi.get(self, "name")
2954
+
2955
+ @name.setter
2956
+ def name(self, value: pulumi.Input[str]):
2957
+ pulumi.set(self, "name", value)
2958
+
2959
+ @property
2960
+ @pulumi.getter(name="enableIpv6")
2961
+ def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
2962
+ """
2963
+ Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster.
2964
+ """
2965
+ return pulumi.get(self, "enable_ipv6")
2966
+
2967
+ @enable_ipv6.setter
2968
+ def enable_ipv6(self, value: Optional[pulumi.Input[bool]]):
2969
+ pulumi.set(self, "enable_ipv6", value)
2970
+
2971
+ @property
2972
+ @pulumi.getter(name="networkSecurityGroupId")
2973
+ def network_security_group_id(self) -> Optional[pulumi.Input[str]]:
2974
+ """
2975
+ Full resource id for the network security group.
2976
+ """
2977
+ return pulumi.get(self, "network_security_group_id")
2978
+
2979
+ @network_security_group_id.setter
2980
+ def network_security_group_id(self, value: Optional[pulumi.Input[str]]):
2981
+ pulumi.set(self, "network_security_group_id", value)
2982
+
2983
+ @property
2984
+ @pulumi.getter(name="privateEndpointNetworkPolicies")
2985
+ def private_endpoint_network_policies(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointNetworkPolicies']]]:
2986
+ """
2987
+ Enable or Disable apply network policies on private end point in the subnet.
2988
+ """
2989
+ return pulumi.get(self, "private_endpoint_network_policies")
2990
+
2991
+ @private_endpoint_network_policies.setter
2992
+ def private_endpoint_network_policies(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointNetworkPolicies']]]):
2993
+ pulumi.set(self, "private_endpoint_network_policies", value)
2994
+
2995
+ @property
2996
+ @pulumi.getter(name="privateLinkServiceNetworkPolicies")
2997
+ def private_link_service_network_policies(self) -> Optional[pulumi.Input[Union[str, 'PrivateLinkServiceNetworkPolicies']]]:
2998
+ """
2999
+ Enable or Disable apply network policies on private link service in the subnet.
3000
+ """
3001
+ return pulumi.get(self, "private_link_service_network_policies")
3002
+
3003
+ @private_link_service_network_policies.setter
3004
+ def private_link_service_network_policies(self, value: Optional[pulumi.Input[Union[str, 'PrivateLinkServiceNetworkPolicies']]]):
3005
+ pulumi.set(self, "private_link_service_network_policies", value)
3006
+
3007
+
3008
+ @pulumi.input_type
3009
+ class UniformInt64RangePartitionSchemeArgs:
3010
+ def __init__(__self__, *,
3011
+ count: pulumi.Input[int],
3012
+ high_key: pulumi.Input[float],
3013
+ low_key: pulumi.Input[float],
3014
+ partition_scheme: pulumi.Input[str]):
3015
+ """
3016
+ Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.
3017
+ :param pulumi.Input[int] count: The number of partitions.
3018
+ :param pulumi.Input[float] high_key: The upper bound of the partition key range that
3019
+ should be split between the partition ‘Count’
3020
+ :param pulumi.Input[float] low_key: The lower bound of the partition key range that
3021
+ should be split between the partition ‘Count’
3022
+ :param pulumi.Input[str] partition_scheme: Enumerates the ways that a service can be partitioned.
3023
+ Expected value is 'UniformInt64Range'.
3024
+ """
3025
+ pulumi.set(__self__, "count", count)
3026
+ pulumi.set(__self__, "high_key", high_key)
3027
+ pulumi.set(__self__, "low_key", low_key)
3028
+ pulumi.set(__self__, "partition_scheme", 'UniformInt64Range')
3029
+
3030
+ @property
3031
+ @pulumi.getter
3032
+ def count(self) -> pulumi.Input[int]:
3033
+ """
3034
+ The number of partitions.
3035
+ """
3036
+ return pulumi.get(self, "count")
3037
+
3038
+ @count.setter
3039
+ def count(self, value: pulumi.Input[int]):
3040
+ pulumi.set(self, "count", value)
3041
+
3042
+ @property
3043
+ @pulumi.getter(name="highKey")
3044
+ def high_key(self) -> pulumi.Input[float]:
3045
+ """
3046
+ The upper bound of the partition key range that
3047
+ should be split between the partition ‘Count’
3048
+ """
3049
+ return pulumi.get(self, "high_key")
3050
+
3051
+ @high_key.setter
3052
+ def high_key(self, value: pulumi.Input[float]):
3053
+ pulumi.set(self, "high_key", value)
3054
+
3055
+ @property
3056
+ @pulumi.getter(name="lowKey")
3057
+ def low_key(self) -> pulumi.Input[float]:
3058
+ """
3059
+ The lower bound of the partition key range that
3060
+ should be split between the partition ‘Count’
3061
+ """
3062
+ return pulumi.get(self, "low_key")
3063
+
3064
+ @low_key.setter
3065
+ def low_key(self, value: pulumi.Input[float]):
3066
+ pulumi.set(self, "low_key", value)
3067
+
3068
+ @property
3069
+ @pulumi.getter(name="partitionScheme")
3070
+ def partition_scheme(self) -> pulumi.Input[str]:
3071
+ """
3072
+ Enumerates the ways that a service can be partitioned.
3073
+ Expected value is 'UniformInt64Range'.
3074
+ """
3075
+ return pulumi.get(self, "partition_scheme")
3076
+
3077
+ @partition_scheme.setter
3078
+ def partition_scheme(self, value: pulumi.Input[str]):
3079
+ pulumi.set(self, "partition_scheme", value)
3080
+
3081
+
3082
+ @pulumi.input_type
3083
+ class VMSSExtensionArgs:
3084
+ def __init__(__self__, *,
3085
+ name: pulumi.Input[str],
3086
+ publisher: pulumi.Input[str],
3087
+ type: pulumi.Input[str],
3088
+ type_handler_version: pulumi.Input[str],
3089
+ auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None,
3090
+ enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None,
3091
+ force_update_tag: Optional[pulumi.Input[str]] = None,
3092
+ protected_settings: Optional[Any] = None,
3093
+ provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3094
+ settings: Optional[Any] = None,
3095
+ setup_order: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VmssExtensionSetupOrder']]]]] = None):
3096
+ """
3097
+ Specifies set of extensions that should be installed onto the virtual machines.
3098
+ :param pulumi.Input[str] name: The name of the extension.
3099
+ :param pulumi.Input[str] publisher: The name of the extension handler publisher.
3100
+ :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension".
3101
+ :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler.
3102
+ :param pulumi.Input[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.
3103
+ :param pulumi.Input[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.
3104
+ :param pulumi.Input[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.
3105
+ :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
3106
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned.
3107
+ :param Any settings: Json formatted public settings for the extension.
3108
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VmssExtensionSetupOrder']]]] setup_order: Indicates the setup order for the extension.
3109
+ """
3110
+ pulumi.set(__self__, "name", name)
3111
+ pulumi.set(__self__, "publisher", publisher)
3112
+ pulumi.set(__self__, "type", type)
3113
+ pulumi.set(__self__, "type_handler_version", type_handler_version)
3114
+ if auto_upgrade_minor_version is not None:
3115
+ pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version)
3116
+ if enable_automatic_upgrade is not None:
3117
+ pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade)
3118
+ if force_update_tag is not None:
3119
+ pulumi.set(__self__, "force_update_tag", force_update_tag)
3120
+ if protected_settings is not None:
3121
+ pulumi.set(__self__, "protected_settings", protected_settings)
3122
+ if provision_after_extensions is not None:
3123
+ pulumi.set(__self__, "provision_after_extensions", provision_after_extensions)
3124
+ if settings is not None:
3125
+ pulumi.set(__self__, "settings", settings)
3126
+ if setup_order is not None:
3127
+ pulumi.set(__self__, "setup_order", setup_order)
3128
+
3129
+ @property
3130
+ @pulumi.getter
3131
+ def name(self) -> pulumi.Input[str]:
3132
+ """
3133
+ The name of the extension.
3134
+ """
3135
+ return pulumi.get(self, "name")
3136
+
3137
+ @name.setter
3138
+ def name(self, value: pulumi.Input[str]):
3139
+ pulumi.set(self, "name", value)
3140
+
3141
+ @property
3142
+ @pulumi.getter
3143
+ def publisher(self) -> pulumi.Input[str]:
3144
+ """
3145
+ The name of the extension handler publisher.
3146
+ """
3147
+ return pulumi.get(self, "publisher")
3148
+
3149
+ @publisher.setter
3150
+ def publisher(self, value: pulumi.Input[str]):
3151
+ pulumi.set(self, "publisher", value)
3152
+
3153
+ @property
3154
+ @pulumi.getter
3155
+ def type(self) -> pulumi.Input[str]:
3156
+ """
3157
+ Specifies the type of the extension; an example is "CustomScriptExtension".
3158
+ """
3159
+ return pulumi.get(self, "type")
3160
+
3161
+ @type.setter
3162
+ def type(self, value: pulumi.Input[str]):
3163
+ pulumi.set(self, "type", value)
3164
+
3165
+ @property
3166
+ @pulumi.getter(name="typeHandlerVersion")
3167
+ def type_handler_version(self) -> pulumi.Input[str]:
3168
+ """
3169
+ Specifies the version of the script handler.
3170
+ """
3171
+ return pulumi.get(self, "type_handler_version")
3172
+
3173
+ @type_handler_version.setter
3174
+ def type_handler_version(self, value: pulumi.Input[str]):
3175
+ pulumi.set(self, "type_handler_version", value)
3176
+
3177
+ @property
3178
+ @pulumi.getter(name="autoUpgradeMinorVersion")
3179
+ def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]:
3180
+ """
3181
+ 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.
3182
+ """
3183
+ return pulumi.get(self, "auto_upgrade_minor_version")
3184
+
3185
+ @auto_upgrade_minor_version.setter
3186
+ def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]):
3187
+ pulumi.set(self, "auto_upgrade_minor_version", value)
3188
+
3189
+ @property
3190
+ @pulumi.getter(name="enableAutomaticUpgrade")
3191
+ def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]:
3192
+ """
3193
+ Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
3194
+ """
3195
+ return pulumi.get(self, "enable_automatic_upgrade")
3196
+
3197
+ @enable_automatic_upgrade.setter
3198
+ def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]):
3199
+ pulumi.set(self, "enable_automatic_upgrade", value)
3200
+
3201
+ @property
3202
+ @pulumi.getter(name="forceUpdateTag")
3203
+ def force_update_tag(self) -> Optional[pulumi.Input[str]]:
3204
+ """
3205
+ 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.
3206
+ """
3207
+ return pulumi.get(self, "force_update_tag")
3208
+
3209
+ @force_update_tag.setter
3210
+ def force_update_tag(self, value: Optional[pulumi.Input[str]]):
3211
+ pulumi.set(self, "force_update_tag", value)
3212
+
3213
+ @property
3214
+ @pulumi.getter(name="protectedSettings")
3215
+ def protected_settings(self) -> Optional[Any]:
3216
+ """
3217
+ The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
3218
+ """
3219
+ return pulumi.get(self, "protected_settings")
3220
+
3221
+ @protected_settings.setter
3222
+ def protected_settings(self, value: Optional[Any]):
3223
+ pulumi.set(self, "protected_settings", value)
3224
+
3225
+ @property
3226
+ @pulumi.getter(name="provisionAfterExtensions")
3227
+ def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3228
+ """
3229
+ Collection of extension names after which this extension needs to be provisioned.
3230
+ """
3231
+ return pulumi.get(self, "provision_after_extensions")
3232
+
3233
+ @provision_after_extensions.setter
3234
+ def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3235
+ pulumi.set(self, "provision_after_extensions", value)
3236
+
3237
+ @property
3238
+ @pulumi.getter
3239
+ def settings(self) -> Optional[Any]:
3240
+ """
3241
+ Json formatted public settings for the extension.
3242
+ """
3243
+ return pulumi.get(self, "settings")
3244
+
3245
+ @settings.setter
3246
+ def settings(self, value: Optional[Any]):
3247
+ pulumi.set(self, "settings", value)
3248
+
3249
+ @property
3250
+ @pulumi.getter(name="setupOrder")
3251
+ def setup_order(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VmssExtensionSetupOrder']]]]]:
3252
+ """
3253
+ Indicates the setup order for the extension.
3254
+ """
3255
+ return pulumi.get(self, "setup_order")
3256
+
3257
+ @setup_order.setter
3258
+ def setup_order(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VmssExtensionSetupOrder']]]]]):
3259
+ pulumi.set(self, "setup_order", value)
3260
+
3261
+
3262
+ @pulumi.input_type
3263
+ class VaultCertificateArgs:
3264
+ def __init__(__self__, *,
3265
+ certificate_store: pulumi.Input[str],
3266
+ certificate_url: pulumi.Input[str]):
3267
+ """
3268
+ Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.
3269
+ :param pulumi.Input[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.
3270
+ :param pulumi.Input[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>}
3271
+ """
3272
+ pulumi.set(__self__, "certificate_store", certificate_store)
3273
+ pulumi.set(__self__, "certificate_url", certificate_url)
3274
+
3275
+ @property
3276
+ @pulumi.getter(name="certificateStore")
3277
+ def certificate_store(self) -> pulumi.Input[str]:
3278
+ """
3279
+ 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.
3280
+ """
3281
+ return pulumi.get(self, "certificate_store")
3282
+
3283
+ @certificate_store.setter
3284
+ def certificate_store(self, value: pulumi.Input[str]):
3285
+ pulumi.set(self, "certificate_store", value)
3286
+
3287
+ @property
3288
+ @pulumi.getter(name="certificateUrl")
3289
+ def certificate_url(self) -> pulumi.Input[str]:
3290
+ """
3291
+ 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>}
3292
+ """
3293
+ return pulumi.get(self, "certificate_url")
3294
+
3295
+ @certificate_url.setter
3296
+ def certificate_url(self, value: pulumi.Input[str]):
3297
+ pulumi.set(self, "certificate_url", value)
3298
+
3299
+
3300
+ @pulumi.input_type
3301
+ class VaultSecretGroupArgs:
3302
+ def __init__(__self__, *,
3303
+ source_vault: pulumi.Input['SubResourceArgs'],
3304
+ vault_certificates: pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]):
3305
+ """
3306
+ Specifies set of certificates that should be installed onto the virtual machines.
3307
+ :param pulumi.Input['SubResourceArgs'] source_vault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
3308
+ :param pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]] vault_certificates: The list of key vault references in SourceVault which contain certificates.
3309
+ """
3310
+ pulumi.set(__self__, "source_vault", source_vault)
3311
+ pulumi.set(__self__, "vault_certificates", vault_certificates)
3312
+
3313
+ @property
3314
+ @pulumi.getter(name="sourceVault")
3315
+ def source_vault(self) -> pulumi.Input['SubResourceArgs']:
3316
+ """
3317
+ The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
3318
+ """
3319
+ return pulumi.get(self, "source_vault")
3320
+
3321
+ @source_vault.setter
3322
+ def source_vault(self, value: pulumi.Input['SubResourceArgs']):
3323
+ pulumi.set(self, "source_vault", value)
3324
+
3325
+ @property
3326
+ @pulumi.getter(name="vaultCertificates")
3327
+ def vault_certificates(self) -> pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]:
3328
+ """
3329
+ The list of key vault references in SourceVault which contain certificates.
3330
+ """
3331
+ return pulumi.get(self, "vault_certificates")
3332
+
3333
+ @vault_certificates.setter
3334
+ def vault_certificates(self, value: pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]):
3335
+ pulumi.set(self, "vault_certificates", value)
3336
+
3337
+
3338
+ @pulumi.input_type
3339
+ class VmImagePlanArgs:
3340
+ def __init__(__self__, *,
3341
+ name: Optional[pulumi.Input[str]] = None,
3342
+ product: Optional[pulumi.Input[str]] = None,
3343
+ promotion_code: Optional[pulumi.Input[str]] = None,
3344
+ publisher: Optional[pulumi.Input[str]] = None):
3345
+ """
3346
+ 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.
3347
+ :param pulumi.Input[str] name: The plan ID.
3348
+ :param pulumi.Input[str] product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
3349
+ :param pulumi.Input[str] promotion_code: The promotion code.
3350
+ :param pulumi.Input[str] publisher: The publisher ID.
3351
+ """
3352
+ if name is not None:
3353
+ pulumi.set(__self__, "name", name)
3354
+ if product is not None:
3355
+ pulumi.set(__self__, "product", product)
3356
+ if promotion_code is not None:
3357
+ pulumi.set(__self__, "promotion_code", promotion_code)
3358
+ if publisher is not None:
3359
+ pulumi.set(__self__, "publisher", publisher)
3360
+
3361
+ @property
3362
+ @pulumi.getter
3363
+ def name(self) -> Optional[pulumi.Input[str]]:
3364
+ """
3365
+ The plan ID.
3366
+ """
3367
+ return pulumi.get(self, "name")
3368
+
3369
+ @name.setter
3370
+ def name(self, value: Optional[pulumi.Input[str]]):
3371
+ pulumi.set(self, "name", value)
3372
+
3373
+ @property
3374
+ @pulumi.getter
3375
+ def product(self) -> Optional[pulumi.Input[str]]:
3376
+ """
3377
+ Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
3378
+ """
3379
+ return pulumi.get(self, "product")
3380
+
3381
+ @product.setter
3382
+ def product(self, value: Optional[pulumi.Input[str]]):
3383
+ pulumi.set(self, "product", value)
3384
+
3385
+ @property
3386
+ @pulumi.getter(name="promotionCode")
3387
+ def promotion_code(self) -> Optional[pulumi.Input[str]]:
3388
+ """
3389
+ The promotion code.
3390
+ """
3391
+ return pulumi.get(self, "promotion_code")
3392
+
3393
+ @promotion_code.setter
3394
+ def promotion_code(self, value: Optional[pulumi.Input[str]]):
3395
+ pulumi.set(self, "promotion_code", value)
3396
+
3397
+ @property
3398
+ @pulumi.getter
3399
+ def publisher(self) -> Optional[pulumi.Input[str]]:
3400
+ """
3401
+ The publisher ID.
3402
+ """
3403
+ return pulumi.get(self, "publisher")
3404
+
3405
+ @publisher.setter
3406
+ def publisher(self, value: Optional[pulumi.Input[str]]):
3407
+ pulumi.set(self, "publisher", value)
3408
+
3409
+
3410
+ @pulumi.input_type
3411
+ class VmManagedIdentityArgs:
3412
+ def __init__(__self__, *,
3413
+ user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3414
+ """
3415
+ Identities for the virtual machine scale set under the node type.
3416
+ :param pulumi.Input[Sequence[pulumi.Input[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}'.
3417
+ """
3418
+ if user_assigned_identities is not None:
3419
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
3420
+
3421
+ @property
3422
+ @pulumi.getter(name="userAssignedIdentities")
3423
+ def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3424
+ """
3425
+ 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}'.
3426
+ """
3427
+ return pulumi.get(self, "user_assigned_identities")
3428
+
3429
+ @user_assigned_identities.setter
3430
+ def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3431
+ pulumi.set(self, "user_assigned_identities", value)
3432
+
3433
+
3434
+ @pulumi.input_type
3435
+ class VmssDataDiskArgs:
3436
+ def __init__(__self__, *,
3437
+ disk_letter: pulumi.Input[str],
3438
+ disk_size_gb: pulumi.Input[int],
3439
+ disk_type: pulumi.Input[Union[str, 'DiskType']],
3440
+ lun: pulumi.Input[int]):
3441
+ """
3442
+ Managed data disk description.
3443
+ :param pulumi.Input[str] disk_letter: Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.
3444
+ :param pulumi.Input[int] disk_size_gb: Disk size for each vm in the node type in GBs.
3445
+ :param pulumi.Input[Union[str, 'DiskType']] disk_type: Managed data disk type. Specifies the storage account type for the managed disk
3446
+ :param pulumi.Input[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.
3447
+ """
3448
+ pulumi.set(__self__, "disk_letter", disk_letter)
3449
+ pulumi.set(__self__, "disk_size_gb", disk_size_gb)
3450
+ pulumi.set(__self__, "disk_type", disk_type)
3451
+ pulumi.set(__self__, "lun", lun)
3452
+
3453
+ @property
3454
+ @pulumi.getter(name="diskLetter")
3455
+ def disk_letter(self) -> pulumi.Input[str]:
3456
+ """
3457
+ Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.
3458
+ """
3459
+ return pulumi.get(self, "disk_letter")
3460
+
3461
+ @disk_letter.setter
3462
+ def disk_letter(self, value: pulumi.Input[str]):
3463
+ pulumi.set(self, "disk_letter", value)
3464
+
3465
+ @property
3466
+ @pulumi.getter(name="diskSizeGB")
3467
+ def disk_size_gb(self) -> pulumi.Input[int]:
3468
+ """
3469
+ Disk size for each vm in the node type in GBs.
3470
+ """
3471
+ return pulumi.get(self, "disk_size_gb")
3472
+
3473
+ @disk_size_gb.setter
3474
+ def disk_size_gb(self, value: pulumi.Input[int]):
3475
+ pulumi.set(self, "disk_size_gb", value)
3476
+
3477
+ @property
3478
+ @pulumi.getter(name="diskType")
3479
+ def disk_type(self) -> pulumi.Input[Union[str, 'DiskType']]:
3480
+ """
3481
+ Managed data disk type. Specifies the storage account type for the managed disk
3482
+ """
3483
+ return pulumi.get(self, "disk_type")
3484
+
3485
+ @disk_type.setter
3486
+ def disk_type(self, value: pulumi.Input[Union[str, 'DiskType']]):
3487
+ pulumi.set(self, "disk_type", value)
3488
+
3489
+ @property
3490
+ @pulumi.getter
3491
+ def lun(self) -> pulumi.Input[int]:
3492
+ """
3493
+ 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.
3494
+ """
3495
+ return pulumi.get(self, "lun")
3496
+
3497
+ @lun.setter
3498
+ def lun(self, value: pulumi.Input[int]):
3499
+ pulumi.set(self, "lun", value)
3500
+
3501
+