pulumi-spotinst 3.83.0a1720524486__py3-none-any.whl → 3.128.0a1767140134__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.
Files changed (77) hide show
  1. pulumi_spotinst/__init__.py +38 -1
  2. pulumi_spotinst/_inputs.py +4082 -846
  3. pulumi_spotinst/_utilities.py +15 -10
  4. pulumi_spotinst/account.py +171 -0
  5. pulumi_spotinst/aws/__init__.py +2 -1
  6. pulumi_spotinst/aws/_inputs.py +7292 -2871
  7. pulumi_spotinst/aws/account.py +25 -19
  8. pulumi_spotinst/aws/beanstalk.py +272 -190
  9. pulumi_spotinst/aws/credentials.py +42 -36
  10. pulumi_spotinst/aws/elastigroup.py +1321 -1176
  11. pulumi_spotinst/aws/managed_instance.py +633 -526
  12. pulumi_spotinst/aws/mr_scalar.py +827 -983
  13. pulumi_spotinst/aws/ocean.py +764 -570
  14. pulumi_spotinst/aws/ocean_extended_resource_definition.py +42 -36
  15. pulumi_spotinst/aws/ocean_launch_spec.py +580 -366
  16. pulumi_spotinst/aws/outputs.py +3421 -2205
  17. pulumi_spotinst/aws/suspension.py +51 -45
  18. pulumi_spotinst/azure/__init__.py +2 -1
  19. pulumi_spotinst/azure/_inputs.py +1492 -434
  20. pulumi_spotinst/azure/ocean_np.py +518 -464
  21. pulumi_spotinst/azure/ocean_np_virtual_node_group.py +479 -408
  22. pulumi_spotinst/azure/outputs.py +840 -345
  23. pulumi_spotinst/config/__init__.py +2 -1
  24. pulumi_spotinst/config/__init__.pyi +7 -2
  25. pulumi_spotinst/config/vars.py +11 -6
  26. pulumi_spotinst/credentials_azure.py +423 -0
  27. pulumi_spotinst/credentials_gcp.py +632 -0
  28. pulumi_spotinst/data_integration.py +58 -52
  29. pulumi_spotinst/ecs/__init__.py +2 -1
  30. pulumi_spotinst/ecs/_inputs.py +1164 -469
  31. pulumi_spotinst/ecs/ocean.py +711 -446
  32. pulumi_spotinst/ecs/ocean_launch_spec.py +367 -341
  33. pulumi_spotinst/ecs/outputs.py +463 -374
  34. pulumi_spotinst/elastigroup_azure_v3.py +985 -197
  35. pulumi_spotinst/gcp/__init__.py +2 -1
  36. pulumi_spotinst/gcp/_inputs.py +1061 -381
  37. pulumi_spotinst/gcp/elastigroup.py +885 -567
  38. pulumi_spotinst/gcp/outputs.py +542 -301
  39. pulumi_spotinst/gke/__init__.py +2 -1
  40. pulumi_spotinst/gke/_inputs.py +2071 -715
  41. pulumi_spotinst/gke/elastigroup.py +558 -382
  42. pulumi_spotinst/gke/ocean_import.py +379 -255
  43. pulumi_spotinst/gke/ocean_launch_spec.py +501 -384
  44. pulumi_spotinst/gke/ocean_launch_spec_import.py +42 -36
  45. pulumi_spotinst/gke/outputs.py +1063 -528
  46. pulumi_spotinst/health_check.py +116 -70
  47. pulumi_spotinst/notification_center.py +344 -0
  48. pulumi_spotinst/ocean_right_sizing_rule.py +515 -95
  49. pulumi_spotinst/oceancd/__init__.py +2 -1
  50. pulumi_spotinst/oceancd/_inputs.py +1709 -651
  51. pulumi_spotinst/oceancd/outputs.py +537 -526
  52. pulumi_spotinst/oceancd/rollout_spec.py +65 -59
  53. pulumi_spotinst/oceancd/strategy.py +37 -31
  54. pulumi_spotinst/oceancd/verification_provider.py +128 -122
  55. pulumi_spotinst/oceancd/verification_template.py +265 -259
  56. pulumi_spotinst/organization/__init__.py +2 -1
  57. pulumi_spotinst/organization/_inputs.py +151 -57
  58. pulumi_spotinst/organization/outputs.py +51 -46
  59. pulumi_spotinst/organization/policy.py +76 -70
  60. pulumi_spotinst/organization/programmatic_user.py +83 -77
  61. pulumi_spotinst/organization/user.py +126 -120
  62. pulumi_spotinst/organization/user_group.py +75 -69
  63. pulumi_spotinst/outputs.py +3005 -832
  64. pulumi_spotinst/provider.py +66 -40
  65. pulumi_spotinst/pulumi-plugin.json +1 -1
  66. pulumi_spotinst/spark/__init__.py +2 -1
  67. pulumi_spotinst/spark/_inputs.py +290 -81
  68. pulumi_spotinst/spark/ocean.py +169 -115
  69. pulumi_spotinst/spark/ocean_virtual_node_group.py +34 -28
  70. pulumi_spotinst/spark/outputs.py +136 -66
  71. pulumi_spotinst/stateful_node_azure.py +820 -784
  72. pulumi_spotinst/subscription.py +93 -87
  73. {pulumi_spotinst-3.83.0a1720524486.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/METADATA +7 -6
  74. pulumi_spotinst-3.128.0a1767140134.dist-info/RECORD +77 -0
  75. {pulumi_spotinst-3.83.0a1720524486.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/WHEEL +1 -1
  76. pulumi_spotinst-3.83.0a1720524486.dist-info/RECORD +0 -73
  77. {pulumi_spotinst-3.83.0a1720524486.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -16,48 +21,47 @@ __all__ = ['StatefulNodeAzureArgs', 'StatefulNodeAzure']
16
21
  @pulumi.input_type
17
22
  class StatefulNodeAzureArgs:
18
23
  def __init__(__self__, *,
19
- os: pulumi.Input[str],
20
- region: pulumi.Input[str],
21
- resource_group_name: pulumi.Input[str],
22
- should_persist_data_disks: pulumi.Input[bool],
23
- should_persist_network: pulumi.Input[bool],
24
- should_persist_os_disk: pulumi.Input[bool],
24
+ os: pulumi.Input[_builtins.str],
25
+ region: pulumi.Input[_builtins.str],
26
+ resource_group_name: pulumi.Input[_builtins.str],
27
+ should_persist_data_disks: pulumi.Input[_builtins.bool],
28
+ should_persist_network: pulumi.Input[_builtins.bool],
29
+ should_persist_os_disk: pulumi.Input[_builtins.bool],
25
30
  strategy: pulumi.Input['StatefulNodeAzureStrategyArgs'],
26
31
  vm_sizes: pulumi.Input['StatefulNodeAzureVmSizesArgs'],
27
32
  attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]] = None,
28
33
  boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]] = None,
29
- custom_data: Optional[pulumi.Input[str]] = None,
34
+ custom_data: Optional[pulumi.Input[_builtins.str]] = None,
30
35
  data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]] = None,
31
- data_disks_persistence_mode: Optional[pulumi.Input[str]] = None,
36
+ data_disks_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
32
37
  deletes: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]] = None,
33
- description: Optional[pulumi.Input[str]] = None,
38
+ description: Optional[pulumi.Input[_builtins.str]] = None,
34
39
  detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]] = None,
35
40
  extensions: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]] = None,
36
41
  health: Optional[pulumi.Input['StatefulNodeAzureHealthArgs']] = None,
37
42
  image: Optional[pulumi.Input['StatefulNodeAzureImageArgs']] = None,
38
43
  import_vms: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]] = None,
39
- license_type: Optional[pulumi.Input[str]] = None,
44
+ license_type: Optional[pulumi.Input[_builtins.str]] = None,
40
45
  load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]] = None,
41
46
  login: Optional[pulumi.Input['StatefulNodeAzureLoginArgs']] = None,
42
47
  managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]] = None,
43
- name: Optional[pulumi.Input[str]] = None,
48
+ name: Optional[pulumi.Input[_builtins.str]] = None,
44
49
  network: Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']] = None,
45
50
  os_disk: Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']] = None,
46
- os_disk_persistence_mode: Optional[pulumi.Input[str]] = None,
47
- preferred_zone: Optional[pulumi.Input[str]] = None,
51
+ os_disk_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
52
+ preferred_zone: Optional[pulumi.Input[_builtins.str]] = None,
48
53
  proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]] = None,
49
54
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]] = None,
50
55
  secrets: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]] = None,
51
56
  security: Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']] = None,
52
- should_persist_vm: Optional[pulumi.Input[bool]] = None,
53
- shutdown_script: Optional[pulumi.Input[str]] = None,
57
+ shutdown_script: Optional[pulumi.Input[_builtins.str]] = None,
54
58
  signals: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]] = None,
55
59
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]] = None,
56
60
  update_states: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]] = None,
57
- user_data: Optional[pulumi.Input[str]] = None,
58
- vm_name: Optional[pulumi.Input[str]] = None,
59
- vm_name_prefix: Optional[pulumi.Input[str]] = None,
60
- zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
61
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
62
+ vm_name: Optional[pulumi.Input[_builtins.str]] = None,
63
+ vm_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
64
+ zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
61
65
  """
62
66
  The set of arguments for constructing a StatefulNodeAzure resource.
63
67
  """
@@ -119,8 +123,6 @@ class StatefulNodeAzureArgs:
119
123
  pulumi.set(__self__, "secrets", secrets)
120
124
  if security is not None:
121
125
  pulumi.set(__self__, "security", security)
122
- if should_persist_vm is not None:
123
- pulumi.set(__self__, "should_persist_vm", should_persist_vm)
124
126
  if shutdown_script is not None:
125
127
  pulumi.set(__self__, "shutdown_script", shutdown_script)
126
128
  if signals is not None:
@@ -138,61 +140,61 @@ class StatefulNodeAzureArgs:
138
140
  if zones is not None:
139
141
  pulumi.set(__self__, "zones", zones)
140
142
 
141
- @property
143
+ @_builtins.property
142
144
  @pulumi.getter
143
- def os(self) -> pulumi.Input[str]:
145
+ def os(self) -> pulumi.Input[_builtins.str]:
144
146
  return pulumi.get(self, "os")
145
147
 
146
148
  @os.setter
147
- def os(self, value: pulumi.Input[str]):
149
+ def os(self, value: pulumi.Input[_builtins.str]):
148
150
  pulumi.set(self, "os", value)
149
151
 
150
- @property
152
+ @_builtins.property
151
153
  @pulumi.getter
152
- def region(self) -> pulumi.Input[str]:
154
+ def region(self) -> pulumi.Input[_builtins.str]:
153
155
  return pulumi.get(self, "region")
154
156
 
155
157
  @region.setter
156
- def region(self, value: pulumi.Input[str]):
158
+ def region(self, value: pulumi.Input[_builtins.str]):
157
159
  pulumi.set(self, "region", value)
158
160
 
159
- @property
161
+ @_builtins.property
160
162
  @pulumi.getter(name="resourceGroupName")
161
- def resource_group_name(self) -> pulumi.Input[str]:
163
+ def resource_group_name(self) -> pulumi.Input[_builtins.str]:
162
164
  return pulumi.get(self, "resource_group_name")
163
165
 
164
166
  @resource_group_name.setter
165
- def resource_group_name(self, value: pulumi.Input[str]):
167
+ def resource_group_name(self, value: pulumi.Input[_builtins.str]):
166
168
  pulumi.set(self, "resource_group_name", value)
167
169
 
168
- @property
170
+ @_builtins.property
169
171
  @pulumi.getter(name="shouldPersistDataDisks")
170
- def should_persist_data_disks(self) -> pulumi.Input[bool]:
172
+ def should_persist_data_disks(self) -> pulumi.Input[_builtins.bool]:
171
173
  return pulumi.get(self, "should_persist_data_disks")
172
174
 
173
175
  @should_persist_data_disks.setter
174
- def should_persist_data_disks(self, value: pulumi.Input[bool]):
176
+ def should_persist_data_disks(self, value: pulumi.Input[_builtins.bool]):
175
177
  pulumi.set(self, "should_persist_data_disks", value)
176
178
 
177
- @property
179
+ @_builtins.property
178
180
  @pulumi.getter(name="shouldPersistNetwork")
179
- def should_persist_network(self) -> pulumi.Input[bool]:
181
+ def should_persist_network(self) -> pulumi.Input[_builtins.bool]:
180
182
  return pulumi.get(self, "should_persist_network")
181
183
 
182
184
  @should_persist_network.setter
183
- def should_persist_network(self, value: pulumi.Input[bool]):
185
+ def should_persist_network(self, value: pulumi.Input[_builtins.bool]):
184
186
  pulumi.set(self, "should_persist_network", value)
185
187
 
186
- @property
188
+ @_builtins.property
187
189
  @pulumi.getter(name="shouldPersistOsDisk")
188
- def should_persist_os_disk(self) -> pulumi.Input[bool]:
190
+ def should_persist_os_disk(self) -> pulumi.Input[_builtins.bool]:
189
191
  return pulumi.get(self, "should_persist_os_disk")
190
192
 
191
193
  @should_persist_os_disk.setter
192
- def should_persist_os_disk(self, value: pulumi.Input[bool]):
194
+ def should_persist_os_disk(self, value: pulumi.Input[_builtins.bool]):
193
195
  pulumi.set(self, "should_persist_os_disk", value)
194
196
 
195
- @property
197
+ @_builtins.property
196
198
  @pulumi.getter
197
199
  def strategy(self) -> pulumi.Input['StatefulNodeAzureStrategyArgs']:
198
200
  return pulumi.get(self, "strategy")
@@ -201,7 +203,7 @@ class StatefulNodeAzureArgs:
201
203
  def strategy(self, value: pulumi.Input['StatefulNodeAzureStrategyArgs']):
202
204
  pulumi.set(self, "strategy", value)
203
205
 
204
- @property
206
+ @_builtins.property
205
207
  @pulumi.getter(name="vmSizes")
206
208
  def vm_sizes(self) -> pulumi.Input['StatefulNodeAzureVmSizesArgs']:
207
209
  return pulumi.get(self, "vm_sizes")
@@ -210,7 +212,7 @@ class StatefulNodeAzureArgs:
210
212
  def vm_sizes(self, value: pulumi.Input['StatefulNodeAzureVmSizesArgs']):
211
213
  pulumi.set(self, "vm_sizes", value)
212
214
 
213
- @property
215
+ @_builtins.property
214
216
  @pulumi.getter(name="attachDataDisks")
215
217
  def attach_data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]]:
216
218
  return pulumi.get(self, "attach_data_disks")
@@ -219,7 +221,7 @@ class StatefulNodeAzureArgs:
219
221
  def attach_data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]]):
220
222
  pulumi.set(self, "attach_data_disks", value)
221
223
 
222
- @property
224
+ @_builtins.property
223
225
  @pulumi.getter(name="bootDiagnostics")
224
226
  def boot_diagnostics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]]:
225
227
  return pulumi.get(self, "boot_diagnostics")
@@ -228,16 +230,16 @@ class StatefulNodeAzureArgs:
228
230
  def boot_diagnostics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]]):
229
231
  pulumi.set(self, "boot_diagnostics", value)
230
232
 
231
- @property
233
+ @_builtins.property
232
234
  @pulumi.getter(name="customData")
233
- def custom_data(self) -> Optional[pulumi.Input[str]]:
235
+ def custom_data(self) -> Optional[pulumi.Input[_builtins.str]]:
234
236
  return pulumi.get(self, "custom_data")
235
237
 
236
238
  @custom_data.setter
237
- def custom_data(self, value: Optional[pulumi.Input[str]]):
239
+ def custom_data(self, value: Optional[pulumi.Input[_builtins.str]]):
238
240
  pulumi.set(self, "custom_data", value)
239
241
 
240
- @property
242
+ @_builtins.property
241
243
  @pulumi.getter(name="dataDisks")
242
244
  def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]]:
243
245
  return pulumi.get(self, "data_disks")
@@ -246,16 +248,16 @@ class StatefulNodeAzureArgs:
246
248
  def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]]):
247
249
  pulumi.set(self, "data_disks", value)
248
250
 
249
- @property
251
+ @_builtins.property
250
252
  @pulumi.getter(name="dataDisksPersistenceMode")
251
- def data_disks_persistence_mode(self) -> Optional[pulumi.Input[str]]:
253
+ def data_disks_persistence_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
252
254
  return pulumi.get(self, "data_disks_persistence_mode")
253
255
 
254
256
  @data_disks_persistence_mode.setter
255
- def data_disks_persistence_mode(self, value: Optional[pulumi.Input[str]]):
257
+ def data_disks_persistence_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
256
258
  pulumi.set(self, "data_disks_persistence_mode", value)
257
259
 
258
- @property
260
+ @_builtins.property
259
261
  @pulumi.getter
260
262
  def deletes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]]:
261
263
  return pulumi.get(self, "deletes")
@@ -264,16 +266,16 @@ class StatefulNodeAzureArgs:
264
266
  def deletes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]]):
265
267
  pulumi.set(self, "deletes", value)
266
268
 
267
- @property
269
+ @_builtins.property
268
270
  @pulumi.getter
269
- def description(self) -> Optional[pulumi.Input[str]]:
271
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
270
272
  return pulumi.get(self, "description")
271
273
 
272
274
  @description.setter
273
- def description(self, value: Optional[pulumi.Input[str]]):
275
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
274
276
  pulumi.set(self, "description", value)
275
277
 
276
- @property
278
+ @_builtins.property
277
279
  @pulumi.getter(name="detachDataDisks")
278
280
  def detach_data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]]:
279
281
  return pulumi.get(self, "detach_data_disks")
@@ -282,7 +284,7 @@ class StatefulNodeAzureArgs:
282
284
  def detach_data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]]):
283
285
  pulumi.set(self, "detach_data_disks", value)
284
286
 
285
- @property
287
+ @_builtins.property
286
288
  @pulumi.getter
287
289
  def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]]:
288
290
  return pulumi.get(self, "extensions")
@@ -291,7 +293,7 @@ class StatefulNodeAzureArgs:
291
293
  def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]]):
292
294
  pulumi.set(self, "extensions", value)
293
295
 
294
- @property
296
+ @_builtins.property
295
297
  @pulumi.getter
296
298
  def health(self) -> Optional[pulumi.Input['StatefulNodeAzureHealthArgs']]:
297
299
  return pulumi.get(self, "health")
@@ -300,7 +302,7 @@ class StatefulNodeAzureArgs:
300
302
  def health(self, value: Optional[pulumi.Input['StatefulNodeAzureHealthArgs']]):
301
303
  pulumi.set(self, "health", value)
302
304
 
303
- @property
305
+ @_builtins.property
304
306
  @pulumi.getter
305
307
  def image(self) -> Optional[pulumi.Input['StatefulNodeAzureImageArgs']]:
306
308
  return pulumi.get(self, "image")
@@ -309,7 +311,7 @@ class StatefulNodeAzureArgs:
309
311
  def image(self, value: Optional[pulumi.Input['StatefulNodeAzureImageArgs']]):
310
312
  pulumi.set(self, "image", value)
311
313
 
312
- @property
314
+ @_builtins.property
313
315
  @pulumi.getter(name="importVms")
314
316
  def import_vms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]]:
315
317
  return pulumi.get(self, "import_vms")
@@ -318,16 +320,16 @@ class StatefulNodeAzureArgs:
318
320
  def import_vms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]]):
319
321
  pulumi.set(self, "import_vms", value)
320
322
 
321
- @property
323
+ @_builtins.property
322
324
  @pulumi.getter(name="licenseType")
323
- def license_type(self) -> Optional[pulumi.Input[str]]:
325
+ def license_type(self) -> Optional[pulumi.Input[_builtins.str]]:
324
326
  return pulumi.get(self, "license_type")
325
327
 
326
328
  @license_type.setter
327
- def license_type(self, value: Optional[pulumi.Input[str]]):
329
+ def license_type(self, value: Optional[pulumi.Input[_builtins.str]]):
328
330
  pulumi.set(self, "license_type", value)
329
331
 
330
- @property
332
+ @_builtins.property
331
333
  @pulumi.getter(name="loadBalancers")
332
334
  def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]]:
333
335
  return pulumi.get(self, "load_balancers")
@@ -336,7 +338,7 @@ class StatefulNodeAzureArgs:
336
338
  def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]]):
337
339
  pulumi.set(self, "load_balancers", value)
338
340
 
339
- @property
341
+ @_builtins.property
340
342
  @pulumi.getter
341
343
  def login(self) -> Optional[pulumi.Input['StatefulNodeAzureLoginArgs']]:
342
344
  return pulumi.get(self, "login")
@@ -345,7 +347,7 @@ class StatefulNodeAzureArgs:
345
347
  def login(self, value: Optional[pulumi.Input['StatefulNodeAzureLoginArgs']]):
346
348
  pulumi.set(self, "login", value)
347
349
 
348
- @property
350
+ @_builtins.property
349
351
  @pulumi.getter(name="managedServiceIdentities")
350
352
  def managed_service_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]]:
351
353
  return pulumi.get(self, "managed_service_identities")
@@ -354,16 +356,16 @@ class StatefulNodeAzureArgs:
354
356
  def managed_service_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]]):
355
357
  pulumi.set(self, "managed_service_identities", value)
356
358
 
357
- @property
359
+ @_builtins.property
358
360
  @pulumi.getter
359
- def name(self) -> Optional[pulumi.Input[str]]:
361
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
360
362
  return pulumi.get(self, "name")
361
363
 
362
364
  @name.setter
363
- def name(self, value: Optional[pulumi.Input[str]]):
365
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
364
366
  pulumi.set(self, "name", value)
365
367
 
366
- @property
368
+ @_builtins.property
367
369
  @pulumi.getter
368
370
  def network(self) -> Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']]:
369
371
  return pulumi.get(self, "network")
@@ -372,7 +374,7 @@ class StatefulNodeAzureArgs:
372
374
  def network(self, value: Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']]):
373
375
  pulumi.set(self, "network", value)
374
376
 
375
- @property
377
+ @_builtins.property
376
378
  @pulumi.getter(name="osDisk")
377
379
  def os_disk(self) -> Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']]:
378
380
  return pulumi.get(self, "os_disk")
@@ -381,25 +383,25 @@ class StatefulNodeAzureArgs:
381
383
  def os_disk(self, value: Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']]):
382
384
  pulumi.set(self, "os_disk", value)
383
385
 
384
- @property
386
+ @_builtins.property
385
387
  @pulumi.getter(name="osDiskPersistenceMode")
386
- def os_disk_persistence_mode(self) -> Optional[pulumi.Input[str]]:
388
+ def os_disk_persistence_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
387
389
  return pulumi.get(self, "os_disk_persistence_mode")
388
390
 
389
391
  @os_disk_persistence_mode.setter
390
- def os_disk_persistence_mode(self, value: Optional[pulumi.Input[str]]):
392
+ def os_disk_persistence_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
391
393
  pulumi.set(self, "os_disk_persistence_mode", value)
392
394
 
393
- @property
395
+ @_builtins.property
394
396
  @pulumi.getter(name="preferredZone")
395
- def preferred_zone(self) -> Optional[pulumi.Input[str]]:
397
+ def preferred_zone(self) -> Optional[pulumi.Input[_builtins.str]]:
396
398
  return pulumi.get(self, "preferred_zone")
397
399
 
398
400
  @preferred_zone.setter
399
- def preferred_zone(self, value: Optional[pulumi.Input[str]]):
401
+ def preferred_zone(self, value: Optional[pulumi.Input[_builtins.str]]):
400
402
  pulumi.set(self, "preferred_zone", value)
401
403
 
402
- @property
404
+ @_builtins.property
403
405
  @pulumi.getter(name="proximityPlacementGroups")
404
406
  def proximity_placement_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]]:
405
407
  return pulumi.get(self, "proximity_placement_groups")
@@ -408,7 +410,7 @@ class StatefulNodeAzureArgs:
408
410
  def proximity_placement_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]]):
409
411
  pulumi.set(self, "proximity_placement_groups", value)
410
412
 
411
- @property
413
+ @_builtins.property
412
414
  @pulumi.getter(name="schedulingTasks")
413
415
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]]:
414
416
  return pulumi.get(self, "scheduling_tasks")
@@ -417,7 +419,7 @@ class StatefulNodeAzureArgs:
417
419
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]]):
418
420
  pulumi.set(self, "scheduling_tasks", value)
419
421
 
420
- @property
422
+ @_builtins.property
421
423
  @pulumi.getter
422
424
  def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]]:
423
425
  return pulumi.get(self, "secrets")
@@ -426,7 +428,7 @@ class StatefulNodeAzureArgs:
426
428
  def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]]):
427
429
  pulumi.set(self, "secrets", value)
428
430
 
429
- @property
431
+ @_builtins.property
430
432
  @pulumi.getter
431
433
  def security(self) -> Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']]:
432
434
  return pulumi.get(self, "security")
@@ -435,25 +437,16 @@ class StatefulNodeAzureArgs:
435
437
  def security(self, value: Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']]):
436
438
  pulumi.set(self, "security", value)
437
439
 
438
- @property
439
- @pulumi.getter(name="shouldPersistVm")
440
- def should_persist_vm(self) -> Optional[pulumi.Input[bool]]:
441
- return pulumi.get(self, "should_persist_vm")
442
-
443
- @should_persist_vm.setter
444
- def should_persist_vm(self, value: Optional[pulumi.Input[bool]]):
445
- pulumi.set(self, "should_persist_vm", value)
446
-
447
- @property
440
+ @_builtins.property
448
441
  @pulumi.getter(name="shutdownScript")
449
- def shutdown_script(self) -> Optional[pulumi.Input[str]]:
442
+ def shutdown_script(self) -> Optional[pulumi.Input[_builtins.str]]:
450
443
  return pulumi.get(self, "shutdown_script")
451
444
 
452
445
  @shutdown_script.setter
453
- def shutdown_script(self, value: Optional[pulumi.Input[str]]):
446
+ def shutdown_script(self, value: Optional[pulumi.Input[_builtins.str]]):
454
447
  pulumi.set(self, "shutdown_script", value)
455
448
 
456
- @property
449
+ @_builtins.property
457
450
  @pulumi.getter
458
451
  def signals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]]:
459
452
  return pulumi.get(self, "signals")
@@ -462,7 +455,7 @@ class StatefulNodeAzureArgs:
462
455
  def signals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]]):
463
456
  pulumi.set(self, "signals", value)
464
457
 
465
- @property
458
+ @_builtins.property
466
459
  @pulumi.getter
467
460
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]]:
468
461
  return pulumi.get(self, "tags")
@@ -471,7 +464,7 @@ class StatefulNodeAzureArgs:
471
464
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]]):
472
465
  pulumi.set(self, "tags", value)
473
466
 
474
- @property
467
+ @_builtins.property
475
468
  @pulumi.getter(name="updateStates")
476
469
  def update_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]]:
477
470
  return pulumi.get(self, "update_states")
@@ -480,40 +473,40 @@ class StatefulNodeAzureArgs:
480
473
  def update_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]]):
481
474
  pulumi.set(self, "update_states", value)
482
475
 
483
- @property
476
+ @_builtins.property
484
477
  @pulumi.getter(name="userData")
485
- def user_data(self) -> Optional[pulumi.Input[str]]:
478
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
486
479
  return pulumi.get(self, "user_data")
487
480
 
488
481
  @user_data.setter
489
- def user_data(self, value: Optional[pulumi.Input[str]]):
482
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
490
483
  pulumi.set(self, "user_data", value)
491
484
 
492
- @property
485
+ @_builtins.property
493
486
  @pulumi.getter(name="vmName")
494
- def vm_name(self) -> Optional[pulumi.Input[str]]:
487
+ def vm_name(self) -> Optional[pulumi.Input[_builtins.str]]:
495
488
  return pulumi.get(self, "vm_name")
496
489
 
497
490
  @vm_name.setter
498
- def vm_name(self, value: Optional[pulumi.Input[str]]):
491
+ def vm_name(self, value: Optional[pulumi.Input[_builtins.str]]):
499
492
  pulumi.set(self, "vm_name", value)
500
493
 
501
- @property
494
+ @_builtins.property
502
495
  @pulumi.getter(name="vmNamePrefix")
503
- def vm_name_prefix(self) -> Optional[pulumi.Input[str]]:
496
+ def vm_name_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
504
497
  return pulumi.get(self, "vm_name_prefix")
505
498
 
506
499
  @vm_name_prefix.setter
507
- def vm_name_prefix(self, value: Optional[pulumi.Input[str]]):
500
+ def vm_name_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
508
501
  pulumi.set(self, "vm_name_prefix", value)
509
502
 
510
- @property
503
+ @_builtins.property
511
504
  @pulumi.getter
512
- def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
505
+ def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
513
506
  return pulumi.get(self, "zones")
514
507
 
515
508
  @zones.setter
516
- def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
509
+ def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
517
510
  pulumi.set(self, "zones", value)
518
511
 
519
512
 
@@ -522,46 +515,45 @@ class _StatefulNodeAzureState:
522
515
  def __init__(__self__, *,
523
516
  attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]] = None,
524
517
  boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]] = None,
525
- custom_data: Optional[pulumi.Input[str]] = None,
518
+ custom_data: Optional[pulumi.Input[_builtins.str]] = None,
526
519
  data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]] = None,
527
- data_disks_persistence_mode: Optional[pulumi.Input[str]] = None,
520
+ data_disks_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
528
521
  deletes: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]] = None,
529
- description: Optional[pulumi.Input[str]] = None,
522
+ description: Optional[pulumi.Input[_builtins.str]] = None,
530
523
  detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]] = None,
531
524
  extensions: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]] = None,
532
525
  health: Optional[pulumi.Input['StatefulNodeAzureHealthArgs']] = None,
533
526
  image: Optional[pulumi.Input['StatefulNodeAzureImageArgs']] = None,
534
527
  import_vms: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]] = None,
535
- license_type: Optional[pulumi.Input[str]] = None,
528
+ license_type: Optional[pulumi.Input[_builtins.str]] = None,
536
529
  load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]] = None,
537
530
  login: Optional[pulumi.Input['StatefulNodeAzureLoginArgs']] = None,
538
531
  managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]] = None,
539
- name: Optional[pulumi.Input[str]] = None,
532
+ name: Optional[pulumi.Input[_builtins.str]] = None,
540
533
  network: Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']] = None,
541
- os: Optional[pulumi.Input[str]] = None,
534
+ os: Optional[pulumi.Input[_builtins.str]] = None,
542
535
  os_disk: Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']] = None,
543
- os_disk_persistence_mode: Optional[pulumi.Input[str]] = None,
544
- preferred_zone: Optional[pulumi.Input[str]] = None,
536
+ os_disk_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
537
+ preferred_zone: Optional[pulumi.Input[_builtins.str]] = None,
545
538
  proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]] = None,
546
- region: Optional[pulumi.Input[str]] = None,
547
- resource_group_name: Optional[pulumi.Input[str]] = None,
539
+ region: Optional[pulumi.Input[_builtins.str]] = None,
540
+ resource_group_name: Optional[pulumi.Input[_builtins.str]] = None,
548
541
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]] = None,
549
542
  secrets: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]] = None,
550
543
  security: Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']] = None,
551
- should_persist_data_disks: Optional[pulumi.Input[bool]] = None,
552
- should_persist_network: Optional[pulumi.Input[bool]] = None,
553
- should_persist_os_disk: Optional[pulumi.Input[bool]] = None,
554
- should_persist_vm: Optional[pulumi.Input[bool]] = None,
555
- shutdown_script: Optional[pulumi.Input[str]] = None,
544
+ should_persist_data_disks: Optional[pulumi.Input[_builtins.bool]] = None,
545
+ should_persist_network: Optional[pulumi.Input[_builtins.bool]] = None,
546
+ should_persist_os_disk: Optional[pulumi.Input[_builtins.bool]] = None,
547
+ shutdown_script: Optional[pulumi.Input[_builtins.str]] = None,
556
548
  signals: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]] = None,
557
549
  strategy: Optional[pulumi.Input['StatefulNodeAzureStrategyArgs']] = None,
558
550
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]] = None,
559
551
  update_states: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]] = None,
560
- user_data: Optional[pulumi.Input[str]] = None,
561
- vm_name: Optional[pulumi.Input[str]] = None,
562
- vm_name_prefix: Optional[pulumi.Input[str]] = None,
552
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
553
+ vm_name: Optional[pulumi.Input[_builtins.str]] = None,
554
+ vm_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
563
555
  vm_sizes: Optional[pulumi.Input['StatefulNodeAzureVmSizesArgs']] = None,
564
- zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
556
+ zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
565
557
  """
566
558
  Input properties used for looking up and filtering StatefulNodeAzure resources.
567
559
  """
@@ -627,8 +619,6 @@ class _StatefulNodeAzureState:
627
619
  pulumi.set(__self__, "should_persist_network", should_persist_network)
628
620
  if should_persist_os_disk is not None:
629
621
  pulumi.set(__self__, "should_persist_os_disk", should_persist_os_disk)
630
- if should_persist_vm is not None:
631
- pulumi.set(__self__, "should_persist_vm", should_persist_vm)
632
622
  if shutdown_script is not None:
633
623
  pulumi.set(__self__, "shutdown_script", shutdown_script)
634
624
  if signals is not None:
@@ -650,7 +640,7 @@ class _StatefulNodeAzureState:
650
640
  if zones is not None:
651
641
  pulumi.set(__self__, "zones", zones)
652
642
 
653
- @property
643
+ @_builtins.property
654
644
  @pulumi.getter(name="attachDataDisks")
655
645
  def attach_data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]]:
656
646
  return pulumi.get(self, "attach_data_disks")
@@ -659,7 +649,7 @@ class _StatefulNodeAzureState:
659
649
  def attach_data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureAttachDataDiskArgs']]]]):
660
650
  pulumi.set(self, "attach_data_disks", value)
661
651
 
662
- @property
652
+ @_builtins.property
663
653
  @pulumi.getter(name="bootDiagnostics")
664
654
  def boot_diagnostics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]]:
665
655
  return pulumi.get(self, "boot_diagnostics")
@@ -668,16 +658,16 @@ class _StatefulNodeAzureState:
668
658
  def boot_diagnostics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureBootDiagnosticArgs']]]]):
669
659
  pulumi.set(self, "boot_diagnostics", value)
670
660
 
671
- @property
661
+ @_builtins.property
672
662
  @pulumi.getter(name="customData")
673
- def custom_data(self) -> Optional[pulumi.Input[str]]:
663
+ def custom_data(self) -> Optional[pulumi.Input[_builtins.str]]:
674
664
  return pulumi.get(self, "custom_data")
675
665
 
676
666
  @custom_data.setter
677
- def custom_data(self, value: Optional[pulumi.Input[str]]):
667
+ def custom_data(self, value: Optional[pulumi.Input[_builtins.str]]):
678
668
  pulumi.set(self, "custom_data", value)
679
669
 
680
- @property
670
+ @_builtins.property
681
671
  @pulumi.getter(name="dataDisks")
682
672
  def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]]:
683
673
  return pulumi.get(self, "data_disks")
@@ -686,16 +676,16 @@ class _StatefulNodeAzureState:
686
676
  def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDataDiskArgs']]]]):
687
677
  pulumi.set(self, "data_disks", value)
688
678
 
689
- @property
679
+ @_builtins.property
690
680
  @pulumi.getter(name="dataDisksPersistenceMode")
691
- def data_disks_persistence_mode(self) -> Optional[pulumi.Input[str]]:
681
+ def data_disks_persistence_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
692
682
  return pulumi.get(self, "data_disks_persistence_mode")
693
683
 
694
684
  @data_disks_persistence_mode.setter
695
- def data_disks_persistence_mode(self, value: Optional[pulumi.Input[str]]):
685
+ def data_disks_persistence_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
696
686
  pulumi.set(self, "data_disks_persistence_mode", value)
697
687
 
698
- @property
688
+ @_builtins.property
699
689
  @pulumi.getter
700
690
  def deletes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]]:
701
691
  return pulumi.get(self, "deletes")
@@ -704,16 +694,16 @@ class _StatefulNodeAzureState:
704
694
  def deletes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDeleteArgs']]]]):
705
695
  pulumi.set(self, "deletes", value)
706
696
 
707
- @property
697
+ @_builtins.property
708
698
  @pulumi.getter
709
- def description(self) -> Optional[pulumi.Input[str]]:
699
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
710
700
  return pulumi.get(self, "description")
711
701
 
712
702
  @description.setter
713
- def description(self, value: Optional[pulumi.Input[str]]):
703
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
714
704
  pulumi.set(self, "description", value)
715
705
 
716
- @property
706
+ @_builtins.property
717
707
  @pulumi.getter(name="detachDataDisks")
718
708
  def detach_data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]]:
719
709
  return pulumi.get(self, "detach_data_disks")
@@ -722,7 +712,7 @@ class _StatefulNodeAzureState:
722
712
  def detach_data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureDetachDataDiskArgs']]]]):
723
713
  pulumi.set(self, "detach_data_disks", value)
724
714
 
725
- @property
715
+ @_builtins.property
726
716
  @pulumi.getter
727
717
  def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]]:
728
718
  return pulumi.get(self, "extensions")
@@ -731,7 +721,7 @@ class _StatefulNodeAzureState:
731
721
  def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureExtensionArgs']]]]):
732
722
  pulumi.set(self, "extensions", value)
733
723
 
734
- @property
724
+ @_builtins.property
735
725
  @pulumi.getter
736
726
  def health(self) -> Optional[pulumi.Input['StatefulNodeAzureHealthArgs']]:
737
727
  return pulumi.get(self, "health")
@@ -740,7 +730,7 @@ class _StatefulNodeAzureState:
740
730
  def health(self, value: Optional[pulumi.Input['StatefulNodeAzureHealthArgs']]):
741
731
  pulumi.set(self, "health", value)
742
732
 
743
- @property
733
+ @_builtins.property
744
734
  @pulumi.getter
745
735
  def image(self) -> Optional[pulumi.Input['StatefulNodeAzureImageArgs']]:
746
736
  return pulumi.get(self, "image")
@@ -749,7 +739,7 @@ class _StatefulNodeAzureState:
749
739
  def image(self, value: Optional[pulumi.Input['StatefulNodeAzureImageArgs']]):
750
740
  pulumi.set(self, "image", value)
751
741
 
752
- @property
742
+ @_builtins.property
753
743
  @pulumi.getter(name="importVms")
754
744
  def import_vms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]]:
755
745
  return pulumi.get(self, "import_vms")
@@ -758,16 +748,16 @@ class _StatefulNodeAzureState:
758
748
  def import_vms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureImportVmArgs']]]]):
759
749
  pulumi.set(self, "import_vms", value)
760
750
 
761
- @property
751
+ @_builtins.property
762
752
  @pulumi.getter(name="licenseType")
763
- def license_type(self) -> Optional[pulumi.Input[str]]:
753
+ def license_type(self) -> Optional[pulumi.Input[_builtins.str]]:
764
754
  return pulumi.get(self, "license_type")
765
755
 
766
756
  @license_type.setter
767
- def license_type(self, value: Optional[pulumi.Input[str]]):
757
+ def license_type(self, value: Optional[pulumi.Input[_builtins.str]]):
768
758
  pulumi.set(self, "license_type", value)
769
759
 
770
- @property
760
+ @_builtins.property
771
761
  @pulumi.getter(name="loadBalancers")
772
762
  def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]]:
773
763
  return pulumi.get(self, "load_balancers")
@@ -776,7 +766,7 @@ class _StatefulNodeAzureState:
776
766
  def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureLoadBalancerArgs']]]]):
777
767
  pulumi.set(self, "load_balancers", value)
778
768
 
779
- @property
769
+ @_builtins.property
780
770
  @pulumi.getter
781
771
  def login(self) -> Optional[pulumi.Input['StatefulNodeAzureLoginArgs']]:
782
772
  return pulumi.get(self, "login")
@@ -785,7 +775,7 @@ class _StatefulNodeAzureState:
785
775
  def login(self, value: Optional[pulumi.Input['StatefulNodeAzureLoginArgs']]):
786
776
  pulumi.set(self, "login", value)
787
777
 
788
- @property
778
+ @_builtins.property
789
779
  @pulumi.getter(name="managedServiceIdentities")
790
780
  def managed_service_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]]:
791
781
  return pulumi.get(self, "managed_service_identities")
@@ -794,16 +784,16 @@ class _StatefulNodeAzureState:
794
784
  def managed_service_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureManagedServiceIdentityArgs']]]]):
795
785
  pulumi.set(self, "managed_service_identities", value)
796
786
 
797
- @property
787
+ @_builtins.property
798
788
  @pulumi.getter
799
- def name(self) -> Optional[pulumi.Input[str]]:
789
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
800
790
  return pulumi.get(self, "name")
801
791
 
802
792
  @name.setter
803
- def name(self, value: Optional[pulumi.Input[str]]):
793
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
804
794
  pulumi.set(self, "name", value)
805
795
 
806
- @property
796
+ @_builtins.property
807
797
  @pulumi.getter
808
798
  def network(self) -> Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']]:
809
799
  return pulumi.get(self, "network")
@@ -812,16 +802,16 @@ class _StatefulNodeAzureState:
812
802
  def network(self, value: Optional[pulumi.Input['StatefulNodeAzureNetworkArgs']]):
813
803
  pulumi.set(self, "network", value)
814
804
 
815
- @property
805
+ @_builtins.property
816
806
  @pulumi.getter
817
- def os(self) -> Optional[pulumi.Input[str]]:
807
+ def os(self) -> Optional[pulumi.Input[_builtins.str]]:
818
808
  return pulumi.get(self, "os")
819
809
 
820
810
  @os.setter
821
- def os(self, value: Optional[pulumi.Input[str]]):
811
+ def os(self, value: Optional[pulumi.Input[_builtins.str]]):
822
812
  pulumi.set(self, "os", value)
823
813
 
824
- @property
814
+ @_builtins.property
825
815
  @pulumi.getter(name="osDisk")
826
816
  def os_disk(self) -> Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']]:
827
817
  return pulumi.get(self, "os_disk")
@@ -830,25 +820,25 @@ class _StatefulNodeAzureState:
830
820
  def os_disk(self, value: Optional[pulumi.Input['StatefulNodeAzureOsDiskArgs']]):
831
821
  pulumi.set(self, "os_disk", value)
832
822
 
833
- @property
823
+ @_builtins.property
834
824
  @pulumi.getter(name="osDiskPersistenceMode")
835
- def os_disk_persistence_mode(self) -> Optional[pulumi.Input[str]]:
825
+ def os_disk_persistence_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
836
826
  return pulumi.get(self, "os_disk_persistence_mode")
837
827
 
838
828
  @os_disk_persistence_mode.setter
839
- def os_disk_persistence_mode(self, value: Optional[pulumi.Input[str]]):
829
+ def os_disk_persistence_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
840
830
  pulumi.set(self, "os_disk_persistence_mode", value)
841
831
 
842
- @property
832
+ @_builtins.property
843
833
  @pulumi.getter(name="preferredZone")
844
- def preferred_zone(self) -> Optional[pulumi.Input[str]]:
834
+ def preferred_zone(self) -> Optional[pulumi.Input[_builtins.str]]:
845
835
  return pulumi.get(self, "preferred_zone")
846
836
 
847
837
  @preferred_zone.setter
848
- def preferred_zone(self, value: Optional[pulumi.Input[str]]):
838
+ def preferred_zone(self, value: Optional[pulumi.Input[_builtins.str]]):
849
839
  pulumi.set(self, "preferred_zone", value)
850
840
 
851
- @property
841
+ @_builtins.property
852
842
  @pulumi.getter(name="proximityPlacementGroups")
853
843
  def proximity_placement_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]]:
854
844
  return pulumi.get(self, "proximity_placement_groups")
@@ -857,25 +847,25 @@ class _StatefulNodeAzureState:
857
847
  def proximity_placement_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureProximityPlacementGroupArgs']]]]):
858
848
  pulumi.set(self, "proximity_placement_groups", value)
859
849
 
860
- @property
850
+ @_builtins.property
861
851
  @pulumi.getter
862
- def region(self) -> Optional[pulumi.Input[str]]:
852
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
863
853
  return pulumi.get(self, "region")
864
854
 
865
855
  @region.setter
866
- def region(self, value: Optional[pulumi.Input[str]]):
856
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
867
857
  pulumi.set(self, "region", value)
868
858
 
869
- @property
859
+ @_builtins.property
870
860
  @pulumi.getter(name="resourceGroupName")
871
- def resource_group_name(self) -> Optional[pulumi.Input[str]]:
861
+ def resource_group_name(self) -> Optional[pulumi.Input[_builtins.str]]:
872
862
  return pulumi.get(self, "resource_group_name")
873
863
 
874
864
  @resource_group_name.setter
875
- def resource_group_name(self, value: Optional[pulumi.Input[str]]):
865
+ def resource_group_name(self, value: Optional[pulumi.Input[_builtins.str]]):
876
866
  pulumi.set(self, "resource_group_name", value)
877
867
 
878
- @property
868
+ @_builtins.property
879
869
  @pulumi.getter(name="schedulingTasks")
880
870
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]]:
881
871
  return pulumi.get(self, "scheduling_tasks")
@@ -884,7 +874,7 @@ class _StatefulNodeAzureState:
884
874
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSchedulingTaskArgs']]]]):
885
875
  pulumi.set(self, "scheduling_tasks", value)
886
876
 
887
- @property
877
+ @_builtins.property
888
878
  @pulumi.getter
889
879
  def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]]:
890
880
  return pulumi.get(self, "secrets")
@@ -893,7 +883,7 @@ class _StatefulNodeAzureState:
893
883
  def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSecretArgs']]]]):
894
884
  pulumi.set(self, "secrets", value)
895
885
 
896
- @property
886
+ @_builtins.property
897
887
  @pulumi.getter
898
888
  def security(self) -> Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']]:
899
889
  return pulumi.get(self, "security")
@@ -902,52 +892,43 @@ class _StatefulNodeAzureState:
902
892
  def security(self, value: Optional[pulumi.Input['StatefulNodeAzureSecurityArgs']]):
903
893
  pulumi.set(self, "security", value)
904
894
 
905
- @property
895
+ @_builtins.property
906
896
  @pulumi.getter(name="shouldPersistDataDisks")
907
- def should_persist_data_disks(self) -> Optional[pulumi.Input[bool]]:
897
+ def should_persist_data_disks(self) -> Optional[pulumi.Input[_builtins.bool]]:
908
898
  return pulumi.get(self, "should_persist_data_disks")
909
899
 
910
900
  @should_persist_data_disks.setter
911
- def should_persist_data_disks(self, value: Optional[pulumi.Input[bool]]):
901
+ def should_persist_data_disks(self, value: Optional[pulumi.Input[_builtins.bool]]):
912
902
  pulumi.set(self, "should_persist_data_disks", value)
913
903
 
914
- @property
904
+ @_builtins.property
915
905
  @pulumi.getter(name="shouldPersistNetwork")
916
- def should_persist_network(self) -> Optional[pulumi.Input[bool]]:
906
+ def should_persist_network(self) -> Optional[pulumi.Input[_builtins.bool]]:
917
907
  return pulumi.get(self, "should_persist_network")
918
908
 
919
909
  @should_persist_network.setter
920
- def should_persist_network(self, value: Optional[pulumi.Input[bool]]):
910
+ def should_persist_network(self, value: Optional[pulumi.Input[_builtins.bool]]):
921
911
  pulumi.set(self, "should_persist_network", value)
922
912
 
923
- @property
913
+ @_builtins.property
924
914
  @pulumi.getter(name="shouldPersistOsDisk")
925
- def should_persist_os_disk(self) -> Optional[pulumi.Input[bool]]:
915
+ def should_persist_os_disk(self) -> Optional[pulumi.Input[_builtins.bool]]:
926
916
  return pulumi.get(self, "should_persist_os_disk")
927
917
 
928
918
  @should_persist_os_disk.setter
929
- def should_persist_os_disk(self, value: Optional[pulumi.Input[bool]]):
919
+ def should_persist_os_disk(self, value: Optional[pulumi.Input[_builtins.bool]]):
930
920
  pulumi.set(self, "should_persist_os_disk", value)
931
921
 
932
- @property
933
- @pulumi.getter(name="shouldPersistVm")
934
- def should_persist_vm(self) -> Optional[pulumi.Input[bool]]:
935
- return pulumi.get(self, "should_persist_vm")
936
-
937
- @should_persist_vm.setter
938
- def should_persist_vm(self, value: Optional[pulumi.Input[bool]]):
939
- pulumi.set(self, "should_persist_vm", value)
940
-
941
- @property
922
+ @_builtins.property
942
923
  @pulumi.getter(name="shutdownScript")
943
- def shutdown_script(self) -> Optional[pulumi.Input[str]]:
924
+ def shutdown_script(self) -> Optional[pulumi.Input[_builtins.str]]:
944
925
  return pulumi.get(self, "shutdown_script")
945
926
 
946
927
  @shutdown_script.setter
947
- def shutdown_script(self, value: Optional[pulumi.Input[str]]):
928
+ def shutdown_script(self, value: Optional[pulumi.Input[_builtins.str]]):
948
929
  pulumi.set(self, "shutdown_script", value)
949
930
 
950
- @property
931
+ @_builtins.property
951
932
  @pulumi.getter
952
933
  def signals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]]:
953
934
  return pulumi.get(self, "signals")
@@ -956,7 +937,7 @@ class _StatefulNodeAzureState:
956
937
  def signals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureSignalArgs']]]]):
957
938
  pulumi.set(self, "signals", value)
958
939
 
959
- @property
940
+ @_builtins.property
960
941
  @pulumi.getter
961
942
  def strategy(self) -> Optional[pulumi.Input['StatefulNodeAzureStrategyArgs']]:
962
943
  return pulumi.get(self, "strategy")
@@ -965,7 +946,7 @@ class _StatefulNodeAzureState:
965
946
  def strategy(self, value: Optional[pulumi.Input['StatefulNodeAzureStrategyArgs']]):
966
947
  pulumi.set(self, "strategy", value)
967
948
 
968
- @property
949
+ @_builtins.property
969
950
  @pulumi.getter
970
951
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]]:
971
952
  return pulumi.get(self, "tags")
@@ -974,7 +955,7 @@ class _StatefulNodeAzureState:
974
955
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureTagArgs']]]]):
975
956
  pulumi.set(self, "tags", value)
976
957
 
977
- @property
958
+ @_builtins.property
978
959
  @pulumi.getter(name="updateStates")
979
960
  def update_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]]:
980
961
  return pulumi.get(self, "update_states")
@@ -983,34 +964,34 @@ class _StatefulNodeAzureState:
983
964
  def update_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StatefulNodeAzureUpdateStateArgs']]]]):
984
965
  pulumi.set(self, "update_states", value)
985
966
 
986
- @property
967
+ @_builtins.property
987
968
  @pulumi.getter(name="userData")
988
- def user_data(self) -> Optional[pulumi.Input[str]]:
969
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
989
970
  return pulumi.get(self, "user_data")
990
971
 
991
972
  @user_data.setter
992
- def user_data(self, value: Optional[pulumi.Input[str]]):
973
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
993
974
  pulumi.set(self, "user_data", value)
994
975
 
995
- @property
976
+ @_builtins.property
996
977
  @pulumi.getter(name="vmName")
997
- def vm_name(self) -> Optional[pulumi.Input[str]]:
978
+ def vm_name(self) -> Optional[pulumi.Input[_builtins.str]]:
998
979
  return pulumi.get(self, "vm_name")
999
980
 
1000
981
  @vm_name.setter
1001
- def vm_name(self, value: Optional[pulumi.Input[str]]):
982
+ def vm_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1002
983
  pulumi.set(self, "vm_name", value)
1003
984
 
1004
- @property
985
+ @_builtins.property
1005
986
  @pulumi.getter(name="vmNamePrefix")
1006
- def vm_name_prefix(self) -> Optional[pulumi.Input[str]]:
987
+ def vm_name_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
1007
988
  return pulumi.get(self, "vm_name_prefix")
1008
989
 
1009
990
  @vm_name_prefix.setter
1010
- def vm_name_prefix(self, value: Optional[pulumi.Input[str]]):
991
+ def vm_name_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
1011
992
  pulumi.set(self, "vm_name_prefix", value)
1012
993
 
1013
- @property
994
+ @_builtins.property
1014
995
  @pulumi.getter(name="vmSizes")
1015
996
  def vm_sizes(self) -> Optional[pulumi.Input['StatefulNodeAzureVmSizesArgs']]:
1016
997
  return pulumi.get(self, "vm_sizes")
@@ -1019,63 +1000,63 @@ class _StatefulNodeAzureState:
1019
1000
  def vm_sizes(self, value: Optional[pulumi.Input['StatefulNodeAzureVmSizesArgs']]):
1020
1001
  pulumi.set(self, "vm_sizes", value)
1021
1002
 
1022
- @property
1003
+ @_builtins.property
1023
1004
  @pulumi.getter
1024
- def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1005
+ def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1025
1006
  return pulumi.get(self, "zones")
1026
1007
 
1027
1008
  @zones.setter
1028
- def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1009
+ def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1029
1010
  pulumi.set(self, "zones", value)
1030
1011
 
1031
1012
 
1013
+ @pulumi.type_token("spotinst:index/statefulNodeAzure:StatefulNodeAzure")
1032
1014
  class StatefulNodeAzure(pulumi.CustomResource):
1033
1015
  @overload
1034
1016
  def __init__(__self__,
1035
1017
  resource_name: str,
1036
1018
  opts: Optional[pulumi.ResourceOptions] = None,
1037
- attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureAttachDataDiskArgs']]]]] = None,
1038
- boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureBootDiagnosticArgs']]]]] = None,
1039
- custom_data: Optional[pulumi.Input[str]] = None,
1040
- data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDataDiskArgs']]]]] = None,
1041
- data_disks_persistence_mode: Optional[pulumi.Input[str]] = None,
1042
- deletes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDeleteArgs']]]]] = None,
1043
- description: Optional[pulumi.Input[str]] = None,
1044
- detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDetachDataDiskArgs']]]]] = None,
1045
- extensions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureExtensionArgs']]]]] = None,
1046
- health: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureHealthArgs']]] = None,
1047
- image: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureImageArgs']]] = None,
1048
- import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureImportVmArgs']]]]] = None,
1049
- license_type: Optional[pulumi.Input[str]] = None,
1050
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoadBalancerArgs']]]]] = None,
1051
- login: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoginArgs']]] = None,
1052
- managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureManagedServiceIdentityArgs']]]]] = None,
1053
- name: Optional[pulumi.Input[str]] = None,
1054
- network: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureNetworkArgs']]] = None,
1055
- os: Optional[pulumi.Input[str]] = None,
1056
- os_disk: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureOsDiskArgs']]] = None,
1057
- os_disk_persistence_mode: Optional[pulumi.Input[str]] = None,
1058
- preferred_zone: Optional[pulumi.Input[str]] = None,
1059
- proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureProximityPlacementGroupArgs']]]]] = None,
1060
- region: Optional[pulumi.Input[str]] = None,
1061
- resource_group_name: Optional[pulumi.Input[str]] = None,
1062
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSchedulingTaskArgs']]]]] = None,
1063
- secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecretArgs']]]]] = None,
1064
- security: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecurityArgs']]] = None,
1065
- should_persist_data_disks: Optional[pulumi.Input[bool]] = None,
1066
- should_persist_network: Optional[pulumi.Input[bool]] = None,
1067
- should_persist_os_disk: Optional[pulumi.Input[bool]] = None,
1068
- should_persist_vm: Optional[pulumi.Input[bool]] = None,
1069
- shutdown_script: Optional[pulumi.Input[str]] = None,
1070
- signals: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSignalArgs']]]]] = None,
1071
- strategy: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureStrategyArgs']]] = None,
1072
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureTagArgs']]]]] = None,
1073
- update_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureUpdateStateArgs']]]]] = None,
1074
- user_data: Optional[pulumi.Input[str]] = None,
1075
- vm_name: Optional[pulumi.Input[str]] = None,
1076
- vm_name_prefix: Optional[pulumi.Input[str]] = None,
1077
- vm_sizes: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureVmSizesArgs']]] = None,
1078
- zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1019
+ attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureAttachDataDiskArgs', 'StatefulNodeAzureAttachDataDiskArgsDict']]]]] = None,
1020
+ boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureBootDiagnosticArgs', 'StatefulNodeAzureBootDiagnosticArgsDict']]]]] = None,
1021
+ custom_data: Optional[pulumi.Input[_builtins.str]] = None,
1022
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDataDiskArgs', 'StatefulNodeAzureDataDiskArgsDict']]]]] = None,
1023
+ data_disks_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
1024
+ deletes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDeleteArgs', 'StatefulNodeAzureDeleteArgsDict']]]]] = None,
1025
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1026
+ detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDetachDataDiskArgs', 'StatefulNodeAzureDetachDataDiskArgsDict']]]]] = None,
1027
+ extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureExtensionArgs', 'StatefulNodeAzureExtensionArgsDict']]]]] = None,
1028
+ health: Optional[pulumi.Input[Union['StatefulNodeAzureHealthArgs', 'StatefulNodeAzureHealthArgsDict']]] = None,
1029
+ image: Optional[pulumi.Input[Union['StatefulNodeAzureImageArgs', 'StatefulNodeAzureImageArgsDict']]] = None,
1030
+ import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureImportVmArgs', 'StatefulNodeAzureImportVmArgsDict']]]]] = None,
1031
+ license_type: Optional[pulumi.Input[_builtins.str]] = None,
1032
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureLoadBalancerArgs', 'StatefulNodeAzureLoadBalancerArgsDict']]]]] = None,
1033
+ login: Optional[pulumi.Input[Union['StatefulNodeAzureLoginArgs', 'StatefulNodeAzureLoginArgsDict']]] = None,
1034
+ managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureManagedServiceIdentityArgs', 'StatefulNodeAzureManagedServiceIdentityArgsDict']]]]] = None,
1035
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1036
+ network: Optional[pulumi.Input[Union['StatefulNodeAzureNetworkArgs', 'StatefulNodeAzureNetworkArgsDict']]] = None,
1037
+ os: Optional[pulumi.Input[_builtins.str]] = None,
1038
+ os_disk: Optional[pulumi.Input[Union['StatefulNodeAzureOsDiskArgs', 'StatefulNodeAzureOsDiskArgsDict']]] = None,
1039
+ os_disk_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
1040
+ preferred_zone: Optional[pulumi.Input[_builtins.str]] = None,
1041
+ proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureProximityPlacementGroupArgs', 'StatefulNodeAzureProximityPlacementGroupArgsDict']]]]] = None,
1042
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1043
+ resource_group_name: Optional[pulumi.Input[_builtins.str]] = None,
1044
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSchedulingTaskArgs', 'StatefulNodeAzureSchedulingTaskArgsDict']]]]] = None,
1045
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSecretArgs', 'StatefulNodeAzureSecretArgsDict']]]]] = None,
1046
+ security: Optional[pulumi.Input[Union['StatefulNodeAzureSecurityArgs', 'StatefulNodeAzureSecurityArgsDict']]] = None,
1047
+ should_persist_data_disks: Optional[pulumi.Input[_builtins.bool]] = None,
1048
+ should_persist_network: Optional[pulumi.Input[_builtins.bool]] = None,
1049
+ should_persist_os_disk: Optional[pulumi.Input[_builtins.bool]] = None,
1050
+ shutdown_script: Optional[pulumi.Input[_builtins.str]] = None,
1051
+ signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSignalArgs', 'StatefulNodeAzureSignalArgsDict']]]]] = None,
1052
+ strategy: Optional[pulumi.Input[Union['StatefulNodeAzureStrategyArgs', 'StatefulNodeAzureStrategyArgsDict']]] = None,
1053
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureTagArgs', 'StatefulNodeAzureTagArgsDict']]]]] = None,
1054
+ update_states: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureUpdateStateArgs', 'StatefulNodeAzureUpdateStateArgsDict']]]]] = None,
1055
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
1056
+ vm_name: Optional[pulumi.Input[_builtins.str]] = None,
1057
+ vm_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
1058
+ vm_sizes: Optional[pulumi.Input[Union['StatefulNodeAzureVmSizesArgs', 'StatefulNodeAzureVmSizesArgsDict']]] = None,
1059
+ zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1079
1060
  __props__=None):
1080
1061
  """
1081
1062
  Provides a Spotinst stateful node Azure resource.
@@ -1091,38 +1072,51 @@ class StatefulNodeAzure(pulumi.CustomResource):
1091
1072
  region="eastus",
1092
1073
  resource_group_name="spotinst-azure",
1093
1074
  description="example_stateful_node_azure_description",
1094
- strategy=spotinst.StatefulNodeAzureStrategyArgs(
1095
- draining_timeout=30,
1096
- fallback_to_on_demand=True,
1097
- optimization_windows=["Tue:19:46-Tue:20:46"],
1098
- od_windows=["Wed:19:46-Wed:21:46"],
1099
- availability_vs_cost=100,
1100
- revert_to_spot=spotinst.StatefulNodeAzureStrategyRevertToSpotArgs(
1101
- perform_at="timeWindow",
1102
- ),
1103
- preferred_life_cycle="od",
1104
- capacity_reservations=[spotinst.StatefulNodeAzureStrategyCapacityReservationArgs(
1105
- should_utilize=True,
1106
- utilization_strategy="utilizeOverOD",
1107
- capacity_reservation_groups=[spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs(
1108
- crg_name="crg name",
1109
- crg_resource_group_name="resourceGroupName",
1110
- crg_should_prioritize=True,
1111
- )],
1112
- )],
1113
- ),
1075
+ strategy={
1076
+ "draining_timeout": 30,
1077
+ "fallback_to_on_demand": True,
1078
+ "optimization_windows": ["Tue:19:46-Tue:20:46"],
1079
+ "od_windows": ["Wed:19:46-Wed:21:46"],
1080
+ "availability_vs_cost": 100,
1081
+ "vm_admins": [
1082
+ "UbuntuUser",
1083
+ "TestUser",
1084
+ ],
1085
+ "revert_to_spot": {
1086
+ "perform_at": "timeWindow",
1087
+ },
1088
+ "preferred_life_cycle": "od",
1089
+ "capacity_reservations": [{
1090
+ "should_utilize": True,
1091
+ "utilization_strategy": "utilizeOverOD",
1092
+ "capacity_reservation_groups": [{
1093
+ "crg_name": "crg name",
1094
+ "crg_resource_group_name": "resourceGroupName",
1095
+ "crg_should_prioritize": True,
1096
+ }],
1097
+ }],
1098
+ },
1114
1099
  os="Linux",
1115
- vm_sizes=spotinst.StatefulNodeAzureVmSizesArgs(
1116
- od_sizes=[
1100
+ vm_sizes={
1101
+ "od_sizes": [
1117
1102
  "standard_ds1_v2",
1118
1103
  "standard_ds2_v2",
1119
1104
  ],
1120
- spot_sizes=[
1105
+ "spot_sizes": [
1121
1106
  "standard_ds1_v2",
1122
1107
  "standard_ds2_v2",
1123
1108
  ],
1124
- preferred_spot_sizes=["standard_ds1_v2"],
1125
- ),
1109
+ "preferred_spot_sizes": ["standard_ds1_v2"],
1110
+ "excluded_vm_sizes": ["standard_ds2_v3"],
1111
+ "spot_size_attributes": {
1112
+ "max_cpu": 16,
1113
+ "min_cpu": 2,
1114
+ "max_memory": 48,
1115
+ "min_memory": 2,
1116
+ "max_storage": 1000,
1117
+ "min_storage": 50,
1118
+ },
1119
+ },
1126
1120
  zones=[
1127
1121
  "1",
1128
1122
  "3",
@@ -1134,179 +1128,183 @@ class StatefulNodeAzure(pulumi.CustomResource):
1134
1128
  vm_name="VMName",
1135
1129
  vm_name_prefix="VMNamePrefix",
1136
1130
  license_type="SLES_BYOS",
1137
- boot_diagnostics=[spotinst.StatefulNodeAzureBootDiagnosticArgs(
1138
- is_enabled=True,
1139
- storage_url="https://.blob.core.windows.net/test",
1140
- type="unmanaged",
1141
- )],
1131
+ boot_diagnostics=[{
1132
+ "is_enabled": True,
1133
+ "storage_url": "https://.blob.core.windows.net/test",
1134
+ "type": "unmanaged",
1135
+ }],
1142
1136
  data_disks=[
1143
- spotinst.StatefulNodeAzureDataDiskArgs(
1144
- size_gb=1,
1145
- lun=1,
1146
- type="Standard_LRS",
1147
- ),
1148
- spotinst.StatefulNodeAzureDataDiskArgs(
1149
- size_gb=10,
1150
- lun=2,
1151
- type="Standard_LRS",
1152
- ),
1137
+ {
1138
+ "size_gb": 1,
1139
+ "lun": 1,
1140
+ "type": "Standard_LRS",
1141
+ },
1142
+ {
1143
+ "size_gb": 10,
1144
+ "lun": 2,
1145
+ "type": "Standard_LRS",
1146
+ },
1153
1147
  ],
1154
- extensions=[spotinst.StatefulNodeAzureExtensionArgs(
1155
- name="extensionName",
1156
- type="customScript",
1157
- publisher="Microsoft.Azure.Extensions",
1158
- api_version="2.0",
1159
- minor_version_auto_upgrade=True,
1160
- protected_settings={
1148
+ extensions=[{
1149
+ "name": "extensionName",
1150
+ "type": "customScript",
1151
+ "publisher": "Microsoft.Azure.Extensions",
1152
+ "api_version": "2.0",
1153
+ "minor_version_auto_upgrade": True,
1154
+ "protected_settings": {
1161
1155
  "script": "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==",
1162
1156
  },
1163
- public_settings={
1164
- "fileUris": ["https://testspot/Azuretest.sh"],
1157
+ "public_settings": {
1158
+ "fileUris": "https://testspot/Azuretest.sh",
1165
1159
  },
1166
- )],
1167
- image=spotinst.StatefulNodeAzureImageArgs(
1168
- marketplace_images=[spotinst.StatefulNodeAzureImageMarketplaceImageArgs(
1169
- publisher="Canonical",
1170
- offer="UbuntuServer",
1171
- sku="16.04-LTS",
1172
- version="latest",
1173
- )],
1174
- custom_images=[spotinst.StatefulNodeAzureImageCustomImageArgs(
1175
- custom_image_resource_group_name="resourceGroupName",
1176
- name="imageName",
1177
- )],
1178
- galleries=[spotinst.StatefulNodeAzureImageGalleryArgs(
1179
- gallery_resource_group_name="resourceGroupName",
1180
- gallery_name="galleryName",
1181
- image_name="imageName",
1182
- version_name="1.1.0",
1183
- spot_account_id="act-123456",
1184
- )],
1185
- ),
1186
- load_balancers=[spotinst.StatefulNodeAzureLoadBalancerArgs(
1187
- type="loadBalancer",
1188
- resource_group_name="testResourceGroup",
1189
- name="testLoadBalancer",
1190
- sku="Standard",
1191
- backend_pool_names=[
1160
+ }],
1161
+ image={
1162
+ "marketplace_images": [{
1163
+ "publisher": "Canonical",
1164
+ "offer": "UbuntuServer",
1165
+ "sku": "16.04-LTS",
1166
+ "version": "latest",
1167
+ }],
1168
+ "custom_images": [{
1169
+ "custom_image_resource_group_name": "resourceGroupName",
1170
+ "name": "imageName",
1171
+ }],
1172
+ "galleries": [{
1173
+ "gallery_resource_group_name": "resourceGroupName",
1174
+ "gallery_name": "galleryName",
1175
+ "image_name": "imageName",
1176
+ "version_name": "1.1.0",
1177
+ "spot_account_id": "act-123456",
1178
+ }],
1179
+ },
1180
+ load_balancers=[{
1181
+ "type": "loadBalancer",
1182
+ "resource_group_name": "testResourceGroup",
1183
+ "name": "testLoadBalancer",
1184
+ "sku": "Standard",
1185
+ "backend_pool_names": [
1192
1186
  "testBackendPool1",
1193
1187
  "testBackendPool2",
1194
1188
  ],
1195
- )],
1196
- login=spotinst.StatefulNodeAzureLoginArgs(
1197
- user_name="admin",
1198
- ssh_public_key="33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
1199
- ),
1200
- managed_service_identities=[spotinst.StatefulNodeAzureManagedServiceIdentityArgs(
1201
- name="mySI2",
1202
- resource_group_name="myResourceGroup",
1203
- )],
1204
- network=spotinst.StatefulNodeAzureNetworkArgs(
1205
- network_resource_group_name="subnetResourceGroup",
1206
- virtual_network_name="vname",
1207
- network_interfaces=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceArgs(
1208
- is_primary=True,
1209
- subnet_name="testSubnet",
1210
- assign_public_ip=True,
1211
- public_ip_sku="Standard",
1212
- network_security_groups=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs(
1213
- network_resource_group_name="test",
1214
- name="test",
1215
- )],
1216
- enable_ip_forwarding=True,
1217
- private_ip_addresses=["172.23.4.20"],
1218
- additional_ip_configurations=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs(
1219
- name="test",
1220
- private_ip_address_version="IPv4",
1221
- )],
1222
- public_ips=[spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs(
1223
- network_resource_group_name="resourceGroup",
1224
- name="test",
1225
- )],
1226
- application_security_groups=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs(
1227
- network_resource_group_name="AsgResourceGroup",
1228
- name="AsgName",
1229
- )],
1230
- )],
1231
- ),
1232
- os_disk=spotinst.StatefulNodeAzureOsDiskArgs(
1233
- size_gb=30,
1234
- type="Standard_LRS",
1235
- caching="ReadOnly",
1236
- ),
1237
- secrets=[spotinst.StatefulNodeAzureSecretArgs(
1238
- source_vaults=[spotinst.StatefulNodeAzureSecretSourceVaultArgs(
1239
- name="string",
1240
- resource_group_name="string",
1241
- )],
1242
- vault_certificates=[spotinst.StatefulNodeAzureSecretVaultCertificateArgs(
1243
- certificate_url="string",
1244
- certificate_store="string",
1245
- )],
1246
- )],
1247
- security=spotinst.StatefulNodeAzureSecurityArgs(
1248
- security_type="Standard",
1249
- secure_boot_enabled=False,
1250
- vtpm_enabled=False,
1251
- ),
1252
- tags=[spotinst.StatefulNodeAzureTagArgs(
1253
- tag_key="Creator",
1254
- tag_value="string",
1255
- )],
1256
- health=spotinst.StatefulNodeAzureHealthArgs(
1257
- health_check_types=["vmState"],
1258
- unhealthy_duration=300,
1259
- grace_period=120,
1260
- auto_healing=True,
1261
- ),
1189
+ }],
1190
+ login={
1191
+ "user_name": "admin",
1192
+ "ssh_public_key": "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
1193
+ },
1194
+ managed_service_identities=[{
1195
+ "name": "mySI2",
1196
+ "resource_group_name": "myResourceGroup",
1197
+ "subscription_id": "12345678-abcd-1234-abcd-123456789ab",
1198
+ }],
1199
+ network={
1200
+ "network_resource_group_name": "subnetResourceGroup",
1201
+ "virtual_network_name": "vname",
1202
+ "network_interfaces": [{
1203
+ "is_primary": True,
1204
+ "subnet_name": "testSubnet",
1205
+ "assign_public_ip": True,
1206
+ "public_ip_sku": "Standard",
1207
+ "network_security_groups": [{
1208
+ "network_resource_group_name": "test",
1209
+ "name": "test",
1210
+ }],
1211
+ "enable_ip_forwarding": True,
1212
+ "private_ip_addresses": ["172.23.4.20"],
1213
+ "additional_ip_configurations": [{
1214
+ "name": "test",
1215
+ "private_ip_address_version": "IPv4",
1216
+ }],
1217
+ "public_ips": [{
1218
+ "network_resource_group_name": "resourceGroup",
1219
+ "name": "test",
1220
+ }],
1221
+ "application_security_groups": [{
1222
+ "network_resource_group_name": "AsgResourceGroup",
1223
+ "name": "AsgName",
1224
+ }],
1225
+ }],
1226
+ },
1227
+ os_disk={
1228
+ "size_gb": 30,
1229
+ "type": "Standard_LRS",
1230
+ "caching": "ReadOnly",
1231
+ },
1232
+ secrets=[{
1233
+ "source_vaults": [{
1234
+ "name": "string",
1235
+ "resource_group_name": "string",
1236
+ }],
1237
+ "vault_certificates": [{
1238
+ "certificate_url": "string",
1239
+ "certificate_store": "string",
1240
+ }],
1241
+ }],
1242
+ security={
1243
+ "security_type": "ConfidentialVM",
1244
+ "secure_boot_enabled": True,
1245
+ "vtpm_enabled": True,
1246
+ "encryption_at_host": False,
1247
+ "confidential_os_disk_encryption": "true",
1248
+ },
1249
+ tags=[{
1250
+ "tag_key": "Creator",
1251
+ "tag_value": "string",
1252
+ }],
1253
+ health={
1254
+ "health_check_types": ["vmState"],
1255
+ "unhealthy_duration": 300,
1256
+ "grace_period": 120,
1257
+ "auto_healing": True,
1258
+ },
1262
1259
  should_persist_os_disk=False,
1263
1260
  os_disk_persistence_mode="reattach",
1264
1261
  should_persist_data_disks=True,
1265
1262
  data_disks_persistence_mode="reattach",
1266
1263
  should_persist_network=True,
1267
1264
  scheduling_tasks=[
1268
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1269
- is_enabled=True,
1270
- type="pause",
1271
- cron_expression="44 10 * * *",
1272
- ),
1273
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1274
- is_enabled=True,
1275
- type="resume",
1276
- cron_expression="48 10 * * *",
1277
- ),
1278
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1279
- is_enabled=True,
1280
- type="recycle",
1281
- cron_expression="52 10 * * *",
1282
- ),
1265
+ {
1266
+ "is_enabled": True,
1267
+ "type": "pause",
1268
+ "cron_expression": "44 10 * * *",
1269
+ },
1270
+ {
1271
+ "is_enabled": True,
1272
+ "type": "resume",
1273
+ "cron_expression": "48 10 * * *",
1274
+ },
1275
+ {
1276
+ "is_enabled": True,
1277
+ "type": "recycle",
1278
+ "cron_expression": "52 10 * * *",
1279
+ },
1283
1280
  ],
1284
1281
  signals=[
1285
- spotinst.StatefulNodeAzureSignalArgs(
1286
- type="vmReady",
1287
- timeout=20,
1288
- ),
1289
- spotinst.StatefulNodeAzureSignalArgs(
1290
- type="vmReady",
1291
- timeout=40,
1292
- ),
1282
+ {
1283
+ "type": "vmReady",
1284
+ "timeout": 20,
1285
+ },
1286
+ {
1287
+ "type": "vmReady",
1288
+ "timeout": 40,
1289
+ },
1293
1290
  ],
1294
- proximity_placement_groups=[spotinst.StatefulNodeAzureProximityPlacementGroupArgs(
1295
- name="TestPPG",
1296
- resource_group_name="TestResourceGroup",
1297
- )],
1298
- deletes=[spotinst.StatefulNodeAzureDeleteArgs(
1299
- should_terminate_vm=True,
1300
- network_should_deallocate=True,
1301
- network_ttl_in_hours=0,
1302
- disk_should_deallocate=True,
1303
- disk_ttl_in_hours=0,
1304
- snapshot_should_deallocate=True,
1305
- snapshot_ttl_in_hours=0,
1306
- public_ip_should_deallocate=True,
1307
- public_ip_ttl_in_hours=0,
1308
- should_deregister_from_lb=True,
1309
- )])
1291
+ proximity_placement_groups=[{
1292
+ "name": "TestPPG",
1293
+ "resource_group_name": "TestResourceGroup",
1294
+ }],
1295
+ deletes=[{
1296
+ "should_terminate_vm": True,
1297
+ "network_should_deallocate": True,
1298
+ "network_ttl_in_hours": 0,
1299
+ "disk_should_deallocate": True,
1300
+ "disk_ttl_in_hours": 0,
1301
+ "snapshot_should_deallocate": True,
1302
+ "snapshot_ttl_in_hours": 0,
1303
+ "public_ip_should_deallocate": True,
1304
+ "public_ip_ttl_in_hours": 0,
1305
+ "should_deregister_from_lb": True,
1306
+ "should_revert_to_od": False,
1307
+ }])
1310
1308
  ```
1311
1309
 
1312
1310
  # Argument Reference
@@ -1337,14 +1335,23 @@ class StatefulNodeAzure(pulumi.CustomResource):
1337
1335
  * `crg_name` - (Required) The name of the CRG.
1338
1336
  * `crg_resource_group_name` - (Required) Azure resource group name
1339
1337
  * `crg_should_prioritize` - The desired CRG to utilize ahead of other CRGs in the subscription.
1338
+ * `vm_admins` - (Optional) Defines Azure identities that are considered VM admins. If the list is empty, the defined behavior is `NONE`, If the list is null, the defined behavior is `ALL`. This applies if the object is not defined. If an identity contains the string, it will be considered permitted to perform the following actions: Stop VM: VM admins can move the VM to a "stopped (deallocated)" state using the Azure console. If triggered by someone else, it is considered an interruption.
1340
1339
 
1341
1340
  ## Compute
1342
1341
 
1343
1342
  * `os` - (Required, Enum `"Linux", "Windows"`) Type of operating system.
1344
1343
  * `vm_sizes` - (Required) Defines the VM sizes to use when launching VMs.
1345
1344
  * `od_sizes` - (Required) Available On-Demand sizes.
1346
- * `spot_sizes` - (Required) Available Spot-VM sizes.
1345
+ * `spot_sizes` - (Optional) Available Spot-VM sizes. Required if spotSizeAttributes isn't specified.
1347
1346
  * `preferred_spot_sizes` - (Optional) Prioritize Spot VM sizes when launching Spot VMs for the group. If set, must be a sublist of compute.vmSizes.spotSizes.
1347
+ * `excluded_vm_sizes` - (Optional) Defines the VM sizes to exclude when defining spot types with spotSizeAttributes.
1348
+ * `spot_size_attributes` - (Optional) Defines values and ranges for attributes of the spot sizes to use when launching VMs. Required if spotSizes isn't specified.
1349
+ * `max_cpu` - (Optional) Maximum amount of vCPU units.
1350
+ * `min_cpu` - (Optional) Minimum amount of vCPU units.
1351
+ * `max_memory` - (Optional) Maximum amount of memory in GiB.
1352
+ * `min_memory` - (Optional) Minimum amount of memory in GiB.
1353
+ * `max_storage` - (Optional) Maximum amount of storage in GiB.
1354
+ * `min_storage` - (optional) Minimum amount of storage in GiB.
1348
1355
  * `zones` - (Optional, Enum `"1", "2", "3"`) List of Azure Availability Zones in the defined region. If not defined, Virtual machines will be launched regionally.
1349
1356
  * `preferred_zone` - (Optional, Enum `"1", "2", "3"`) The AZ to prioritize when launching VMs. If no markets are available in the Preferred AZ, VMs are launched in the non-preferred AZ. Must be a sublist of compute.zones.
1350
1357
  * `custom_data` - (Optional) This value will hold the YAML in base64 and will be executed upon VM launch.
@@ -1425,6 +1432,9 @@ class StatefulNodeAzure(pulumi.CustomResource):
1425
1432
  * `managed_service_identities` - (Optional) Add a user-assigned managed identity to the Stateful Node's VM.
1426
1433
  * `name` - (Required) name of the managed identity.
1427
1434
  * `resource_group_name` - (Required) The Resource Group that the user-assigned managed identity resides in.
1435
+ * `subscription_id` - (Optional) Defines the subscription ID of the managed service identities. Required if the managed service identity is in a different subscription. To use a user-assigned managed identity in a different subscription, you must ensure that the spotAccount's Service Principal has access to the defined subscription and that it has the two following permissions:
1436
+ 1. Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
1437
+ 2. Microsoft.ManagedIdentity/userAssignedIdentities/read
1428
1438
 
1429
1439
  <a id="proximity_placement_groups"></a>
1430
1440
  ## Proximity Placement Groups
@@ -1482,8 +1492,10 @@ class StatefulNodeAzure(pulumi.CustomResource):
1482
1492
 
1483
1493
  * `security` - (Optional) Specifies the Security related profile settings for the virtual machine.
1484
1494
  * `secure_boot_enabled` - (Optional) Specifies whether secure boot should be enabled on the virtual machine.
1485
- * `security_type` - (Optional) Enum: `"Standard", "TrustedLaunch"` Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.
1495
+ * `security_type` - (Optional) Enum: `"Standard", "TrustedLaunch", "ConfidentialVM"` Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.
1486
1496
  * `vtpm_enabled` - (Optional) Specifies whether vTPM should be enabled on the virtual machine.
1497
+ * `encryption_at_host` - (Optional) Enables the Host Encryption for the virtual machine. The Encryption at host will be disabled unless this property is set to true for the resource.
1498
+ * `confidential_os_disk_encryption` - (Optional) Confidential disk encryption binds the disk encryption keys to the VM's TPM, ensuring VM-only access. The security type must be "ConfidentialVM" to enable defining this preference as “true”.
1487
1499
 
1488
1500
  ## Tag
1489
1501
 
@@ -1562,15 +1574,16 @@ class StatefulNodeAzure(pulumi.CustomResource):
1562
1574
 
1563
1575
  * `delete` - (Required) Specify deallocation parameters for stateful node deletion.
1564
1576
  * `should_terminate_vm` - (Required) Indicates whether to delete the stateful node's VM.
1565
- * `network_should_deallocate` - (Required) Indicates whether to delete the stateful node's network resources.
1577
+ * `network_should_deallocate` - (Optional) Indicates whether to delete the stateful node's network resources.
1566
1578
  * `network_ttl_in_hours` - (Optional, Default: 96) Hours to keep the network resource alive before deletion.
1567
- * `disk_should_deallocate` - (Required) Indicates whether to delete the stateful node's disk resources.
1579
+ * `disk_should_deallocate` - (Optional) Indicates whether to delete the stateful node's disk resources.
1568
1580
  * `disk_ttl_in_hours` - (Optional, Default: 96) Hours to keep the disk resource alive before deletion.
1569
- * `snapshot_should_deallocate` - (Required) Indicates whether to delete the stateful node's snapshot resources.
1581
+ * `snapshot_should_deallocate` - (Optional) Indicates whether to delete the stateful node's snapshot resources.
1570
1582
  * `snapshot_ttl_in_hours` - (Optional, Default: 96) Hours to keep the snapshots alive before deletion.
1571
- * `public_ip_should_deallocate` - (Required) Indicates whether to delete the stateful node's public ip resources.
1583
+ * `public_ip_should_deallocate` - (Optional) Indicates whether to delete the stateful node's public ip resources.
1572
1584
  * `public_ip_ttl_in_hours` - (Optional, Default: 96) Hours to keep the public ip alive before deletion.
1573
1585
  * `should_deregister_from_lb` - (Optional, Default: true) Indicates whether to deregister the stateful node's VM from any type of load balancer. Can be changed to false only when shouldTerminateVms is 'false'.
1586
+ * `should_revert_to_od` - (Optional, Default: false) Indicates whether to change the stateful node's VM lifecycle to on-demand. Can be changed to true only when `should_terminate_vm` is 'false'.
1574
1587
 
1575
1588
  :param str resource_name: The name of the resource.
1576
1589
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -1595,38 +1608,51 @@ class StatefulNodeAzure(pulumi.CustomResource):
1595
1608
  region="eastus",
1596
1609
  resource_group_name="spotinst-azure",
1597
1610
  description="example_stateful_node_azure_description",
1598
- strategy=spotinst.StatefulNodeAzureStrategyArgs(
1599
- draining_timeout=30,
1600
- fallback_to_on_demand=True,
1601
- optimization_windows=["Tue:19:46-Tue:20:46"],
1602
- od_windows=["Wed:19:46-Wed:21:46"],
1603
- availability_vs_cost=100,
1604
- revert_to_spot=spotinst.StatefulNodeAzureStrategyRevertToSpotArgs(
1605
- perform_at="timeWindow",
1606
- ),
1607
- preferred_life_cycle="od",
1608
- capacity_reservations=[spotinst.StatefulNodeAzureStrategyCapacityReservationArgs(
1609
- should_utilize=True,
1610
- utilization_strategy="utilizeOverOD",
1611
- capacity_reservation_groups=[spotinst.StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroupArgs(
1612
- crg_name="crg name",
1613
- crg_resource_group_name="resourceGroupName",
1614
- crg_should_prioritize=True,
1615
- )],
1616
- )],
1617
- ),
1611
+ strategy={
1612
+ "draining_timeout": 30,
1613
+ "fallback_to_on_demand": True,
1614
+ "optimization_windows": ["Tue:19:46-Tue:20:46"],
1615
+ "od_windows": ["Wed:19:46-Wed:21:46"],
1616
+ "availability_vs_cost": 100,
1617
+ "vm_admins": [
1618
+ "UbuntuUser",
1619
+ "TestUser",
1620
+ ],
1621
+ "revert_to_spot": {
1622
+ "perform_at": "timeWindow",
1623
+ },
1624
+ "preferred_life_cycle": "od",
1625
+ "capacity_reservations": [{
1626
+ "should_utilize": True,
1627
+ "utilization_strategy": "utilizeOverOD",
1628
+ "capacity_reservation_groups": [{
1629
+ "crg_name": "crg name",
1630
+ "crg_resource_group_name": "resourceGroupName",
1631
+ "crg_should_prioritize": True,
1632
+ }],
1633
+ }],
1634
+ },
1618
1635
  os="Linux",
1619
- vm_sizes=spotinst.StatefulNodeAzureVmSizesArgs(
1620
- od_sizes=[
1636
+ vm_sizes={
1637
+ "od_sizes": [
1621
1638
  "standard_ds1_v2",
1622
1639
  "standard_ds2_v2",
1623
1640
  ],
1624
- spot_sizes=[
1641
+ "spot_sizes": [
1625
1642
  "standard_ds1_v2",
1626
1643
  "standard_ds2_v2",
1627
1644
  ],
1628
- preferred_spot_sizes=["standard_ds1_v2"],
1629
- ),
1645
+ "preferred_spot_sizes": ["standard_ds1_v2"],
1646
+ "excluded_vm_sizes": ["standard_ds2_v3"],
1647
+ "spot_size_attributes": {
1648
+ "max_cpu": 16,
1649
+ "min_cpu": 2,
1650
+ "max_memory": 48,
1651
+ "min_memory": 2,
1652
+ "max_storage": 1000,
1653
+ "min_storage": 50,
1654
+ },
1655
+ },
1630
1656
  zones=[
1631
1657
  "1",
1632
1658
  "3",
@@ -1638,179 +1664,183 @@ class StatefulNodeAzure(pulumi.CustomResource):
1638
1664
  vm_name="VMName",
1639
1665
  vm_name_prefix="VMNamePrefix",
1640
1666
  license_type="SLES_BYOS",
1641
- boot_diagnostics=[spotinst.StatefulNodeAzureBootDiagnosticArgs(
1642
- is_enabled=True,
1643
- storage_url="https://.blob.core.windows.net/test",
1644
- type="unmanaged",
1645
- )],
1667
+ boot_diagnostics=[{
1668
+ "is_enabled": True,
1669
+ "storage_url": "https://.blob.core.windows.net/test",
1670
+ "type": "unmanaged",
1671
+ }],
1646
1672
  data_disks=[
1647
- spotinst.StatefulNodeAzureDataDiskArgs(
1648
- size_gb=1,
1649
- lun=1,
1650
- type="Standard_LRS",
1651
- ),
1652
- spotinst.StatefulNodeAzureDataDiskArgs(
1653
- size_gb=10,
1654
- lun=2,
1655
- type="Standard_LRS",
1656
- ),
1673
+ {
1674
+ "size_gb": 1,
1675
+ "lun": 1,
1676
+ "type": "Standard_LRS",
1677
+ },
1678
+ {
1679
+ "size_gb": 10,
1680
+ "lun": 2,
1681
+ "type": "Standard_LRS",
1682
+ },
1657
1683
  ],
1658
- extensions=[spotinst.StatefulNodeAzureExtensionArgs(
1659
- name="extensionName",
1660
- type="customScript",
1661
- publisher="Microsoft.Azure.Extensions",
1662
- api_version="2.0",
1663
- minor_version_auto_upgrade=True,
1664
- protected_settings={
1684
+ extensions=[{
1685
+ "name": "extensionName",
1686
+ "type": "customScript",
1687
+ "publisher": "Microsoft.Azure.Extensions",
1688
+ "api_version": "2.0",
1689
+ "minor_version_auto_upgrade": True,
1690
+ "protected_settings": {
1665
1691
  "script": "IyEvYmluL2Jhc2gKZWNobyAibmlyIiA+IC9ob29uaXIudHh0Cg==",
1666
1692
  },
1667
- public_settings={
1668
- "fileUris": ["https://testspot/Azuretest.sh"],
1693
+ "public_settings": {
1694
+ "fileUris": "https://testspot/Azuretest.sh",
1669
1695
  },
1670
- )],
1671
- image=spotinst.StatefulNodeAzureImageArgs(
1672
- marketplace_images=[spotinst.StatefulNodeAzureImageMarketplaceImageArgs(
1673
- publisher="Canonical",
1674
- offer="UbuntuServer",
1675
- sku="16.04-LTS",
1676
- version="latest",
1677
- )],
1678
- custom_images=[spotinst.StatefulNodeAzureImageCustomImageArgs(
1679
- custom_image_resource_group_name="resourceGroupName",
1680
- name="imageName",
1681
- )],
1682
- galleries=[spotinst.StatefulNodeAzureImageGalleryArgs(
1683
- gallery_resource_group_name="resourceGroupName",
1684
- gallery_name="galleryName",
1685
- image_name="imageName",
1686
- version_name="1.1.0",
1687
- spot_account_id="act-123456",
1688
- )],
1689
- ),
1690
- load_balancers=[spotinst.StatefulNodeAzureLoadBalancerArgs(
1691
- type="loadBalancer",
1692
- resource_group_name="testResourceGroup",
1693
- name="testLoadBalancer",
1694
- sku="Standard",
1695
- backend_pool_names=[
1696
+ }],
1697
+ image={
1698
+ "marketplace_images": [{
1699
+ "publisher": "Canonical",
1700
+ "offer": "UbuntuServer",
1701
+ "sku": "16.04-LTS",
1702
+ "version": "latest",
1703
+ }],
1704
+ "custom_images": [{
1705
+ "custom_image_resource_group_name": "resourceGroupName",
1706
+ "name": "imageName",
1707
+ }],
1708
+ "galleries": [{
1709
+ "gallery_resource_group_name": "resourceGroupName",
1710
+ "gallery_name": "galleryName",
1711
+ "image_name": "imageName",
1712
+ "version_name": "1.1.0",
1713
+ "spot_account_id": "act-123456",
1714
+ }],
1715
+ },
1716
+ load_balancers=[{
1717
+ "type": "loadBalancer",
1718
+ "resource_group_name": "testResourceGroup",
1719
+ "name": "testLoadBalancer",
1720
+ "sku": "Standard",
1721
+ "backend_pool_names": [
1696
1722
  "testBackendPool1",
1697
1723
  "testBackendPool2",
1698
1724
  ],
1699
- )],
1700
- login=spotinst.StatefulNodeAzureLoginArgs(
1701
- user_name="admin",
1702
- ssh_public_key="33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
1703
- ),
1704
- managed_service_identities=[spotinst.StatefulNodeAzureManagedServiceIdentityArgs(
1705
- name="mySI2",
1706
- resource_group_name="myResourceGroup",
1707
- )],
1708
- network=spotinst.StatefulNodeAzureNetworkArgs(
1709
- network_resource_group_name="subnetResourceGroup",
1710
- virtual_network_name="vname",
1711
- network_interfaces=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceArgs(
1712
- is_primary=True,
1713
- subnet_name="testSubnet",
1714
- assign_public_ip=True,
1715
- public_ip_sku="Standard",
1716
- network_security_groups=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceNetworkSecurityGroupArgs(
1717
- network_resource_group_name="test",
1718
- name="test",
1719
- )],
1720
- enable_ip_forwarding=True,
1721
- private_ip_addresses=["172.23.4.20"],
1722
- additional_ip_configurations=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceAdditionalIpConfigurationArgs(
1723
- name="test",
1724
- private_ip_address_version="IPv4",
1725
- )],
1726
- public_ips=[spotinst.StatefulNodeAzureNetworkNetworkInterfacePublicIpArgs(
1727
- network_resource_group_name="resourceGroup",
1728
- name="test",
1729
- )],
1730
- application_security_groups=[spotinst.StatefulNodeAzureNetworkNetworkInterfaceApplicationSecurityGroupArgs(
1731
- network_resource_group_name="AsgResourceGroup",
1732
- name="AsgName",
1733
- )],
1734
- )],
1735
- ),
1736
- os_disk=spotinst.StatefulNodeAzureOsDiskArgs(
1737
- size_gb=30,
1738
- type="Standard_LRS",
1739
- caching="ReadOnly",
1740
- ),
1741
- secrets=[spotinst.StatefulNodeAzureSecretArgs(
1742
- source_vaults=[spotinst.StatefulNodeAzureSecretSourceVaultArgs(
1743
- name="string",
1744
- resource_group_name="string",
1745
- )],
1746
- vault_certificates=[spotinst.StatefulNodeAzureSecretVaultCertificateArgs(
1747
- certificate_url="string",
1748
- certificate_store="string",
1749
- )],
1750
- )],
1751
- security=spotinst.StatefulNodeAzureSecurityArgs(
1752
- security_type="Standard",
1753
- secure_boot_enabled=False,
1754
- vtpm_enabled=False,
1755
- ),
1756
- tags=[spotinst.StatefulNodeAzureTagArgs(
1757
- tag_key="Creator",
1758
- tag_value="string",
1759
- )],
1760
- health=spotinst.StatefulNodeAzureHealthArgs(
1761
- health_check_types=["vmState"],
1762
- unhealthy_duration=300,
1763
- grace_period=120,
1764
- auto_healing=True,
1765
- ),
1725
+ }],
1726
+ login={
1727
+ "user_name": "admin",
1728
+ "ssh_public_key": "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
1729
+ },
1730
+ managed_service_identities=[{
1731
+ "name": "mySI2",
1732
+ "resource_group_name": "myResourceGroup",
1733
+ "subscription_id": "12345678-abcd-1234-abcd-123456789ab",
1734
+ }],
1735
+ network={
1736
+ "network_resource_group_name": "subnetResourceGroup",
1737
+ "virtual_network_name": "vname",
1738
+ "network_interfaces": [{
1739
+ "is_primary": True,
1740
+ "subnet_name": "testSubnet",
1741
+ "assign_public_ip": True,
1742
+ "public_ip_sku": "Standard",
1743
+ "network_security_groups": [{
1744
+ "network_resource_group_name": "test",
1745
+ "name": "test",
1746
+ }],
1747
+ "enable_ip_forwarding": True,
1748
+ "private_ip_addresses": ["172.23.4.20"],
1749
+ "additional_ip_configurations": [{
1750
+ "name": "test",
1751
+ "private_ip_address_version": "IPv4",
1752
+ }],
1753
+ "public_ips": [{
1754
+ "network_resource_group_name": "resourceGroup",
1755
+ "name": "test",
1756
+ }],
1757
+ "application_security_groups": [{
1758
+ "network_resource_group_name": "AsgResourceGroup",
1759
+ "name": "AsgName",
1760
+ }],
1761
+ }],
1762
+ },
1763
+ os_disk={
1764
+ "size_gb": 30,
1765
+ "type": "Standard_LRS",
1766
+ "caching": "ReadOnly",
1767
+ },
1768
+ secrets=[{
1769
+ "source_vaults": [{
1770
+ "name": "string",
1771
+ "resource_group_name": "string",
1772
+ }],
1773
+ "vault_certificates": [{
1774
+ "certificate_url": "string",
1775
+ "certificate_store": "string",
1776
+ }],
1777
+ }],
1778
+ security={
1779
+ "security_type": "ConfidentialVM",
1780
+ "secure_boot_enabled": True,
1781
+ "vtpm_enabled": True,
1782
+ "encryption_at_host": False,
1783
+ "confidential_os_disk_encryption": "true",
1784
+ },
1785
+ tags=[{
1786
+ "tag_key": "Creator",
1787
+ "tag_value": "string",
1788
+ }],
1789
+ health={
1790
+ "health_check_types": ["vmState"],
1791
+ "unhealthy_duration": 300,
1792
+ "grace_period": 120,
1793
+ "auto_healing": True,
1794
+ },
1766
1795
  should_persist_os_disk=False,
1767
1796
  os_disk_persistence_mode="reattach",
1768
1797
  should_persist_data_disks=True,
1769
1798
  data_disks_persistence_mode="reattach",
1770
1799
  should_persist_network=True,
1771
1800
  scheduling_tasks=[
1772
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1773
- is_enabled=True,
1774
- type="pause",
1775
- cron_expression="44 10 * * *",
1776
- ),
1777
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1778
- is_enabled=True,
1779
- type="resume",
1780
- cron_expression="48 10 * * *",
1781
- ),
1782
- spotinst.StatefulNodeAzureSchedulingTaskArgs(
1783
- is_enabled=True,
1784
- type="recycle",
1785
- cron_expression="52 10 * * *",
1786
- ),
1801
+ {
1802
+ "is_enabled": True,
1803
+ "type": "pause",
1804
+ "cron_expression": "44 10 * * *",
1805
+ },
1806
+ {
1807
+ "is_enabled": True,
1808
+ "type": "resume",
1809
+ "cron_expression": "48 10 * * *",
1810
+ },
1811
+ {
1812
+ "is_enabled": True,
1813
+ "type": "recycle",
1814
+ "cron_expression": "52 10 * * *",
1815
+ },
1787
1816
  ],
1788
1817
  signals=[
1789
- spotinst.StatefulNodeAzureSignalArgs(
1790
- type="vmReady",
1791
- timeout=20,
1792
- ),
1793
- spotinst.StatefulNodeAzureSignalArgs(
1794
- type="vmReady",
1795
- timeout=40,
1796
- ),
1818
+ {
1819
+ "type": "vmReady",
1820
+ "timeout": 20,
1821
+ },
1822
+ {
1823
+ "type": "vmReady",
1824
+ "timeout": 40,
1825
+ },
1797
1826
  ],
1798
- proximity_placement_groups=[spotinst.StatefulNodeAzureProximityPlacementGroupArgs(
1799
- name="TestPPG",
1800
- resource_group_name="TestResourceGroup",
1801
- )],
1802
- deletes=[spotinst.StatefulNodeAzureDeleteArgs(
1803
- should_terminate_vm=True,
1804
- network_should_deallocate=True,
1805
- network_ttl_in_hours=0,
1806
- disk_should_deallocate=True,
1807
- disk_ttl_in_hours=0,
1808
- snapshot_should_deallocate=True,
1809
- snapshot_ttl_in_hours=0,
1810
- public_ip_should_deallocate=True,
1811
- public_ip_ttl_in_hours=0,
1812
- should_deregister_from_lb=True,
1813
- )])
1827
+ proximity_placement_groups=[{
1828
+ "name": "TestPPG",
1829
+ "resource_group_name": "TestResourceGroup",
1830
+ }],
1831
+ deletes=[{
1832
+ "should_terminate_vm": True,
1833
+ "network_should_deallocate": True,
1834
+ "network_ttl_in_hours": 0,
1835
+ "disk_should_deallocate": True,
1836
+ "disk_ttl_in_hours": 0,
1837
+ "snapshot_should_deallocate": True,
1838
+ "snapshot_ttl_in_hours": 0,
1839
+ "public_ip_should_deallocate": True,
1840
+ "public_ip_ttl_in_hours": 0,
1841
+ "should_deregister_from_lb": True,
1842
+ "should_revert_to_od": False,
1843
+ }])
1814
1844
  ```
1815
1845
 
1816
1846
  # Argument Reference
@@ -1841,14 +1871,23 @@ class StatefulNodeAzure(pulumi.CustomResource):
1841
1871
  * `crg_name` - (Required) The name of the CRG.
1842
1872
  * `crg_resource_group_name` - (Required) Azure resource group name
1843
1873
  * `crg_should_prioritize` - The desired CRG to utilize ahead of other CRGs in the subscription.
1874
+ * `vm_admins` - (Optional) Defines Azure identities that are considered VM admins. If the list is empty, the defined behavior is `NONE`, If the list is null, the defined behavior is `ALL`. This applies if the object is not defined. If an identity contains the string, it will be considered permitted to perform the following actions: Stop VM: VM admins can move the VM to a "stopped (deallocated)" state using the Azure console. If triggered by someone else, it is considered an interruption.
1844
1875
 
1845
1876
  ## Compute
1846
1877
 
1847
1878
  * `os` - (Required, Enum `"Linux", "Windows"`) Type of operating system.
1848
1879
  * `vm_sizes` - (Required) Defines the VM sizes to use when launching VMs.
1849
1880
  * `od_sizes` - (Required) Available On-Demand sizes.
1850
- * `spot_sizes` - (Required) Available Spot-VM sizes.
1881
+ * `spot_sizes` - (Optional) Available Spot-VM sizes. Required if spotSizeAttributes isn't specified.
1851
1882
  * `preferred_spot_sizes` - (Optional) Prioritize Spot VM sizes when launching Spot VMs for the group. If set, must be a sublist of compute.vmSizes.spotSizes.
1883
+ * `excluded_vm_sizes` - (Optional) Defines the VM sizes to exclude when defining spot types with spotSizeAttributes.
1884
+ * `spot_size_attributes` - (Optional) Defines values and ranges for attributes of the spot sizes to use when launching VMs. Required if spotSizes isn't specified.
1885
+ * `max_cpu` - (Optional) Maximum amount of vCPU units.
1886
+ * `min_cpu` - (Optional) Minimum amount of vCPU units.
1887
+ * `max_memory` - (Optional) Maximum amount of memory in GiB.
1888
+ * `min_memory` - (Optional) Minimum amount of memory in GiB.
1889
+ * `max_storage` - (Optional) Maximum amount of storage in GiB.
1890
+ * `min_storage` - (optional) Minimum amount of storage in GiB.
1852
1891
  * `zones` - (Optional, Enum `"1", "2", "3"`) List of Azure Availability Zones in the defined region. If not defined, Virtual machines will be launched regionally.
1853
1892
  * `preferred_zone` - (Optional, Enum `"1", "2", "3"`) The AZ to prioritize when launching VMs. If no markets are available in the Preferred AZ, VMs are launched in the non-preferred AZ. Must be a sublist of compute.zones.
1854
1893
  * `custom_data` - (Optional) This value will hold the YAML in base64 and will be executed upon VM launch.
@@ -1929,6 +1968,9 @@ class StatefulNodeAzure(pulumi.CustomResource):
1929
1968
  * `managed_service_identities` - (Optional) Add a user-assigned managed identity to the Stateful Node's VM.
1930
1969
  * `name` - (Required) name of the managed identity.
1931
1970
  * `resource_group_name` - (Required) The Resource Group that the user-assigned managed identity resides in.
1971
+ * `subscription_id` - (Optional) Defines the subscription ID of the managed service identities. Required if the managed service identity is in a different subscription. To use a user-assigned managed identity in a different subscription, you must ensure that the spotAccount's Service Principal has access to the defined subscription and that it has the two following permissions:
1972
+ 1. Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
1973
+ 2. Microsoft.ManagedIdentity/userAssignedIdentities/read
1932
1974
 
1933
1975
  <a id="proximity_placement_groups"></a>
1934
1976
  ## Proximity Placement Groups
@@ -1986,8 +2028,10 @@ class StatefulNodeAzure(pulumi.CustomResource):
1986
2028
 
1987
2029
  * `security` - (Optional) Specifies the Security related profile settings for the virtual machine.
1988
2030
  * `secure_boot_enabled` - (Optional) Specifies whether secure boot should be enabled on the virtual machine.
1989
- * `security_type` - (Optional) Enum: `"Standard", "TrustedLaunch"` Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.
2031
+ * `security_type` - (Optional) Enum: `"Standard", "TrustedLaunch", "ConfidentialVM"` Security type refers to the different security features of a virtual machine. Security features like Trusted launch virtual machines help to improve the security of Azure generation 2 virtual machines.
1990
2032
  * `vtpm_enabled` - (Optional) Specifies whether vTPM should be enabled on the virtual machine.
2033
+ * `encryption_at_host` - (Optional) Enables the Host Encryption for the virtual machine. The Encryption at host will be disabled unless this property is set to true for the resource.
2034
+ * `confidential_os_disk_encryption` - (Optional) Confidential disk encryption binds the disk encryption keys to the VM's TPM, ensuring VM-only access. The security type must be "ConfidentialVM" to enable defining this preference as “true”.
1991
2035
 
1992
2036
  ## Tag
1993
2037
 
@@ -2066,15 +2110,16 @@ class StatefulNodeAzure(pulumi.CustomResource):
2066
2110
 
2067
2111
  * `delete` - (Required) Specify deallocation parameters for stateful node deletion.
2068
2112
  * `should_terminate_vm` - (Required) Indicates whether to delete the stateful node's VM.
2069
- * `network_should_deallocate` - (Required) Indicates whether to delete the stateful node's network resources.
2113
+ * `network_should_deallocate` - (Optional) Indicates whether to delete the stateful node's network resources.
2070
2114
  * `network_ttl_in_hours` - (Optional, Default: 96) Hours to keep the network resource alive before deletion.
2071
- * `disk_should_deallocate` - (Required) Indicates whether to delete the stateful node's disk resources.
2115
+ * `disk_should_deallocate` - (Optional) Indicates whether to delete the stateful node's disk resources.
2072
2116
  * `disk_ttl_in_hours` - (Optional, Default: 96) Hours to keep the disk resource alive before deletion.
2073
- * `snapshot_should_deallocate` - (Required) Indicates whether to delete the stateful node's snapshot resources.
2117
+ * `snapshot_should_deallocate` - (Optional) Indicates whether to delete the stateful node's snapshot resources.
2074
2118
  * `snapshot_ttl_in_hours` - (Optional, Default: 96) Hours to keep the snapshots alive before deletion.
2075
- * `public_ip_should_deallocate` - (Required) Indicates whether to delete the stateful node's public ip resources.
2119
+ * `public_ip_should_deallocate` - (Optional) Indicates whether to delete the stateful node's public ip resources.
2076
2120
  * `public_ip_ttl_in_hours` - (Optional, Default: 96) Hours to keep the public ip alive before deletion.
2077
2121
  * `should_deregister_from_lb` - (Optional, Default: true) Indicates whether to deregister the stateful node's VM from any type of load balancer. Can be changed to false only when shouldTerminateVms is 'false'.
2122
+ * `should_revert_to_od` - (Optional, Default: false) Indicates whether to change the stateful node's VM lifecycle to on-demand. Can be changed to true only when `should_terminate_vm` is 'false'.
2078
2123
 
2079
2124
  :param str resource_name: The name of the resource.
2080
2125
  :param StatefulNodeAzureArgs args: The arguments to use to populate this resource's properties.
@@ -2091,48 +2136,47 @@ class StatefulNodeAzure(pulumi.CustomResource):
2091
2136
  def _internal_init(__self__,
2092
2137
  resource_name: str,
2093
2138
  opts: Optional[pulumi.ResourceOptions] = None,
2094
- attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureAttachDataDiskArgs']]]]] = None,
2095
- boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureBootDiagnosticArgs']]]]] = None,
2096
- custom_data: Optional[pulumi.Input[str]] = None,
2097
- data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDataDiskArgs']]]]] = None,
2098
- data_disks_persistence_mode: Optional[pulumi.Input[str]] = None,
2099
- deletes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDeleteArgs']]]]] = None,
2100
- description: Optional[pulumi.Input[str]] = None,
2101
- detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDetachDataDiskArgs']]]]] = None,
2102
- extensions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureExtensionArgs']]]]] = None,
2103
- health: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureHealthArgs']]] = None,
2104
- image: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureImageArgs']]] = None,
2105
- import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureImportVmArgs']]]]] = None,
2106
- license_type: Optional[pulumi.Input[str]] = None,
2107
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoadBalancerArgs']]]]] = None,
2108
- login: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoginArgs']]] = None,
2109
- managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureManagedServiceIdentityArgs']]]]] = None,
2110
- name: Optional[pulumi.Input[str]] = None,
2111
- network: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureNetworkArgs']]] = None,
2112
- os: Optional[pulumi.Input[str]] = None,
2113
- os_disk: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureOsDiskArgs']]] = None,
2114
- os_disk_persistence_mode: Optional[pulumi.Input[str]] = None,
2115
- preferred_zone: Optional[pulumi.Input[str]] = None,
2116
- proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureProximityPlacementGroupArgs']]]]] = None,
2117
- region: Optional[pulumi.Input[str]] = None,
2118
- resource_group_name: Optional[pulumi.Input[str]] = None,
2119
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSchedulingTaskArgs']]]]] = None,
2120
- secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecretArgs']]]]] = None,
2121
- security: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecurityArgs']]] = None,
2122
- should_persist_data_disks: Optional[pulumi.Input[bool]] = None,
2123
- should_persist_network: Optional[pulumi.Input[bool]] = None,
2124
- should_persist_os_disk: Optional[pulumi.Input[bool]] = None,
2125
- should_persist_vm: Optional[pulumi.Input[bool]] = None,
2126
- shutdown_script: Optional[pulumi.Input[str]] = None,
2127
- signals: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSignalArgs']]]]] = None,
2128
- strategy: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureStrategyArgs']]] = None,
2129
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureTagArgs']]]]] = None,
2130
- update_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureUpdateStateArgs']]]]] = None,
2131
- user_data: Optional[pulumi.Input[str]] = None,
2132
- vm_name: Optional[pulumi.Input[str]] = None,
2133
- vm_name_prefix: Optional[pulumi.Input[str]] = None,
2134
- vm_sizes: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureVmSizesArgs']]] = None,
2135
- zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2139
+ attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureAttachDataDiskArgs', 'StatefulNodeAzureAttachDataDiskArgsDict']]]]] = None,
2140
+ boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureBootDiagnosticArgs', 'StatefulNodeAzureBootDiagnosticArgsDict']]]]] = None,
2141
+ custom_data: Optional[pulumi.Input[_builtins.str]] = None,
2142
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDataDiskArgs', 'StatefulNodeAzureDataDiskArgsDict']]]]] = None,
2143
+ data_disks_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
2144
+ deletes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDeleteArgs', 'StatefulNodeAzureDeleteArgsDict']]]]] = None,
2145
+ description: Optional[pulumi.Input[_builtins.str]] = None,
2146
+ detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDetachDataDiskArgs', 'StatefulNodeAzureDetachDataDiskArgsDict']]]]] = None,
2147
+ extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureExtensionArgs', 'StatefulNodeAzureExtensionArgsDict']]]]] = None,
2148
+ health: Optional[pulumi.Input[Union['StatefulNodeAzureHealthArgs', 'StatefulNodeAzureHealthArgsDict']]] = None,
2149
+ image: Optional[pulumi.Input[Union['StatefulNodeAzureImageArgs', 'StatefulNodeAzureImageArgsDict']]] = None,
2150
+ import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureImportVmArgs', 'StatefulNodeAzureImportVmArgsDict']]]]] = None,
2151
+ license_type: Optional[pulumi.Input[_builtins.str]] = None,
2152
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureLoadBalancerArgs', 'StatefulNodeAzureLoadBalancerArgsDict']]]]] = None,
2153
+ login: Optional[pulumi.Input[Union['StatefulNodeAzureLoginArgs', 'StatefulNodeAzureLoginArgsDict']]] = None,
2154
+ managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureManagedServiceIdentityArgs', 'StatefulNodeAzureManagedServiceIdentityArgsDict']]]]] = None,
2155
+ name: Optional[pulumi.Input[_builtins.str]] = None,
2156
+ network: Optional[pulumi.Input[Union['StatefulNodeAzureNetworkArgs', 'StatefulNodeAzureNetworkArgsDict']]] = None,
2157
+ os: Optional[pulumi.Input[_builtins.str]] = None,
2158
+ os_disk: Optional[pulumi.Input[Union['StatefulNodeAzureOsDiskArgs', 'StatefulNodeAzureOsDiskArgsDict']]] = None,
2159
+ os_disk_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
2160
+ preferred_zone: Optional[pulumi.Input[_builtins.str]] = None,
2161
+ proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureProximityPlacementGroupArgs', 'StatefulNodeAzureProximityPlacementGroupArgsDict']]]]] = None,
2162
+ region: Optional[pulumi.Input[_builtins.str]] = None,
2163
+ resource_group_name: Optional[pulumi.Input[_builtins.str]] = None,
2164
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSchedulingTaskArgs', 'StatefulNodeAzureSchedulingTaskArgsDict']]]]] = None,
2165
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSecretArgs', 'StatefulNodeAzureSecretArgsDict']]]]] = None,
2166
+ security: Optional[pulumi.Input[Union['StatefulNodeAzureSecurityArgs', 'StatefulNodeAzureSecurityArgsDict']]] = None,
2167
+ should_persist_data_disks: Optional[pulumi.Input[_builtins.bool]] = None,
2168
+ should_persist_network: Optional[pulumi.Input[_builtins.bool]] = None,
2169
+ should_persist_os_disk: Optional[pulumi.Input[_builtins.bool]] = None,
2170
+ shutdown_script: Optional[pulumi.Input[_builtins.str]] = None,
2171
+ signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSignalArgs', 'StatefulNodeAzureSignalArgsDict']]]]] = None,
2172
+ strategy: Optional[pulumi.Input[Union['StatefulNodeAzureStrategyArgs', 'StatefulNodeAzureStrategyArgsDict']]] = None,
2173
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureTagArgs', 'StatefulNodeAzureTagArgsDict']]]]] = None,
2174
+ update_states: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureUpdateStateArgs', 'StatefulNodeAzureUpdateStateArgsDict']]]]] = None,
2175
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
2176
+ vm_name: Optional[pulumi.Input[_builtins.str]] = None,
2177
+ vm_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
2178
+ vm_sizes: Optional[pulumi.Input[Union['StatefulNodeAzureVmSizesArgs', 'StatefulNodeAzureVmSizesArgsDict']]] = None,
2179
+ zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2136
2180
  __props__=None):
2137
2181
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
2138
2182
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -2185,7 +2229,6 @@ class StatefulNodeAzure(pulumi.CustomResource):
2185
2229
  if should_persist_os_disk is None and not opts.urn:
2186
2230
  raise TypeError("Missing required property 'should_persist_os_disk'")
2187
2231
  __props__.__dict__["should_persist_os_disk"] = should_persist_os_disk
2188
- __props__.__dict__["should_persist_vm"] = should_persist_vm
2189
2232
  __props__.__dict__["shutdown_script"] = shutdown_script
2190
2233
  __props__.__dict__["signals"] = signals
2191
2234
  if strategy is None and not opts.urn:
@@ -2210,48 +2253,47 @@ class StatefulNodeAzure(pulumi.CustomResource):
2210
2253
  def get(resource_name: str,
2211
2254
  id: pulumi.Input[str],
2212
2255
  opts: Optional[pulumi.ResourceOptions] = None,
2213
- attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureAttachDataDiskArgs']]]]] = None,
2214
- boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureBootDiagnosticArgs']]]]] = None,
2215
- custom_data: Optional[pulumi.Input[str]] = None,
2216
- data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDataDiskArgs']]]]] = None,
2217
- data_disks_persistence_mode: Optional[pulumi.Input[str]] = None,
2218
- deletes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDeleteArgs']]]]] = None,
2219
- description: Optional[pulumi.Input[str]] = None,
2220
- detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureDetachDataDiskArgs']]]]] = None,
2221
- extensions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureExtensionArgs']]]]] = None,
2222
- health: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureHealthArgs']]] = None,
2223
- image: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureImageArgs']]] = None,
2224
- import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureImportVmArgs']]]]] = None,
2225
- license_type: Optional[pulumi.Input[str]] = None,
2226
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoadBalancerArgs']]]]] = None,
2227
- login: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureLoginArgs']]] = None,
2228
- managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureManagedServiceIdentityArgs']]]]] = None,
2229
- name: Optional[pulumi.Input[str]] = None,
2230
- network: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureNetworkArgs']]] = None,
2231
- os: Optional[pulumi.Input[str]] = None,
2232
- os_disk: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureOsDiskArgs']]] = None,
2233
- os_disk_persistence_mode: Optional[pulumi.Input[str]] = None,
2234
- preferred_zone: Optional[pulumi.Input[str]] = None,
2235
- proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureProximityPlacementGroupArgs']]]]] = None,
2236
- region: Optional[pulumi.Input[str]] = None,
2237
- resource_group_name: Optional[pulumi.Input[str]] = None,
2238
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSchedulingTaskArgs']]]]] = None,
2239
- secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecretArgs']]]]] = None,
2240
- security: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureSecurityArgs']]] = None,
2241
- should_persist_data_disks: Optional[pulumi.Input[bool]] = None,
2242
- should_persist_network: Optional[pulumi.Input[bool]] = None,
2243
- should_persist_os_disk: Optional[pulumi.Input[bool]] = None,
2244
- should_persist_vm: Optional[pulumi.Input[bool]] = None,
2245
- shutdown_script: Optional[pulumi.Input[str]] = None,
2246
- signals: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureSignalArgs']]]]] = None,
2247
- strategy: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureStrategyArgs']]] = None,
2248
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureTagArgs']]]]] = None,
2249
- update_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StatefulNodeAzureUpdateStateArgs']]]]] = None,
2250
- user_data: Optional[pulumi.Input[str]] = None,
2251
- vm_name: Optional[pulumi.Input[str]] = None,
2252
- vm_name_prefix: Optional[pulumi.Input[str]] = None,
2253
- vm_sizes: Optional[pulumi.Input[pulumi.InputType['StatefulNodeAzureVmSizesArgs']]] = None,
2254
- zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'StatefulNodeAzure':
2256
+ attach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureAttachDataDiskArgs', 'StatefulNodeAzureAttachDataDiskArgsDict']]]]] = None,
2257
+ boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureBootDiagnosticArgs', 'StatefulNodeAzureBootDiagnosticArgsDict']]]]] = None,
2258
+ custom_data: Optional[pulumi.Input[_builtins.str]] = None,
2259
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDataDiskArgs', 'StatefulNodeAzureDataDiskArgsDict']]]]] = None,
2260
+ data_disks_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
2261
+ deletes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDeleteArgs', 'StatefulNodeAzureDeleteArgsDict']]]]] = None,
2262
+ description: Optional[pulumi.Input[_builtins.str]] = None,
2263
+ detach_data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureDetachDataDiskArgs', 'StatefulNodeAzureDetachDataDiskArgsDict']]]]] = None,
2264
+ extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureExtensionArgs', 'StatefulNodeAzureExtensionArgsDict']]]]] = None,
2265
+ health: Optional[pulumi.Input[Union['StatefulNodeAzureHealthArgs', 'StatefulNodeAzureHealthArgsDict']]] = None,
2266
+ image: Optional[pulumi.Input[Union['StatefulNodeAzureImageArgs', 'StatefulNodeAzureImageArgsDict']]] = None,
2267
+ import_vms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureImportVmArgs', 'StatefulNodeAzureImportVmArgsDict']]]]] = None,
2268
+ license_type: Optional[pulumi.Input[_builtins.str]] = None,
2269
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureLoadBalancerArgs', 'StatefulNodeAzureLoadBalancerArgsDict']]]]] = None,
2270
+ login: Optional[pulumi.Input[Union['StatefulNodeAzureLoginArgs', 'StatefulNodeAzureLoginArgsDict']]] = None,
2271
+ managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureManagedServiceIdentityArgs', 'StatefulNodeAzureManagedServiceIdentityArgsDict']]]]] = None,
2272
+ name: Optional[pulumi.Input[_builtins.str]] = None,
2273
+ network: Optional[pulumi.Input[Union['StatefulNodeAzureNetworkArgs', 'StatefulNodeAzureNetworkArgsDict']]] = None,
2274
+ os: Optional[pulumi.Input[_builtins.str]] = None,
2275
+ os_disk: Optional[pulumi.Input[Union['StatefulNodeAzureOsDiskArgs', 'StatefulNodeAzureOsDiskArgsDict']]] = None,
2276
+ os_disk_persistence_mode: Optional[pulumi.Input[_builtins.str]] = None,
2277
+ preferred_zone: Optional[pulumi.Input[_builtins.str]] = None,
2278
+ proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureProximityPlacementGroupArgs', 'StatefulNodeAzureProximityPlacementGroupArgsDict']]]]] = None,
2279
+ region: Optional[pulumi.Input[_builtins.str]] = None,
2280
+ resource_group_name: Optional[pulumi.Input[_builtins.str]] = None,
2281
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSchedulingTaskArgs', 'StatefulNodeAzureSchedulingTaskArgsDict']]]]] = None,
2282
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSecretArgs', 'StatefulNodeAzureSecretArgsDict']]]]] = None,
2283
+ security: Optional[pulumi.Input[Union['StatefulNodeAzureSecurityArgs', 'StatefulNodeAzureSecurityArgsDict']]] = None,
2284
+ should_persist_data_disks: Optional[pulumi.Input[_builtins.bool]] = None,
2285
+ should_persist_network: Optional[pulumi.Input[_builtins.bool]] = None,
2286
+ should_persist_os_disk: Optional[pulumi.Input[_builtins.bool]] = None,
2287
+ shutdown_script: Optional[pulumi.Input[_builtins.str]] = None,
2288
+ signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureSignalArgs', 'StatefulNodeAzureSignalArgsDict']]]]] = None,
2289
+ strategy: Optional[pulumi.Input[Union['StatefulNodeAzureStrategyArgs', 'StatefulNodeAzureStrategyArgsDict']]] = None,
2290
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureTagArgs', 'StatefulNodeAzureTagArgsDict']]]]] = None,
2291
+ update_states: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StatefulNodeAzureUpdateStateArgs', 'StatefulNodeAzureUpdateStateArgsDict']]]]] = None,
2292
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
2293
+ vm_name: Optional[pulumi.Input[_builtins.str]] = None,
2294
+ vm_name_prefix: Optional[pulumi.Input[_builtins.str]] = None,
2295
+ vm_sizes: Optional[pulumi.Input[Union['StatefulNodeAzureVmSizesArgs', 'StatefulNodeAzureVmSizesArgsDict']]] = None,
2296
+ zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'StatefulNodeAzure':
2255
2297
  """
2256
2298
  Get an existing StatefulNodeAzure resource's state with the given name, id, and optional extra
2257
2299
  properties used to qualify the lookup.
@@ -2295,7 +2337,6 @@ class StatefulNodeAzure(pulumi.CustomResource):
2295
2337
  __props__.__dict__["should_persist_data_disks"] = should_persist_data_disks
2296
2338
  __props__.__dict__["should_persist_network"] = should_persist_network
2297
2339
  __props__.__dict__["should_persist_os_disk"] = should_persist_os_disk
2298
- __props__.__dict__["should_persist_vm"] = should_persist_vm
2299
2340
  __props__.__dict__["shutdown_script"] = shutdown_script
2300
2341
  __props__.__dict__["signals"] = signals
2301
2342
  __props__.__dict__["strategy"] = strategy
@@ -2308,213 +2349,208 @@ class StatefulNodeAzure(pulumi.CustomResource):
2308
2349
  __props__.__dict__["zones"] = zones
2309
2350
  return StatefulNodeAzure(resource_name, opts=opts, __props__=__props__)
2310
2351
 
2311
- @property
2352
+ @_builtins.property
2312
2353
  @pulumi.getter(name="attachDataDisks")
2313
2354
  def attach_data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureAttachDataDisk']]]:
2314
2355
  return pulumi.get(self, "attach_data_disks")
2315
2356
 
2316
- @property
2357
+ @_builtins.property
2317
2358
  @pulumi.getter(name="bootDiagnostics")
2318
2359
  def boot_diagnostics(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureBootDiagnostic']]:
2319
2360
  return pulumi.get(self, "boot_diagnostics")
2320
2361
 
2321
- @property
2362
+ @_builtins.property
2322
2363
  @pulumi.getter(name="customData")
2323
- def custom_data(self) -> pulumi.Output[str]:
2364
+ def custom_data(self) -> pulumi.Output[_builtins.str]:
2324
2365
  return pulumi.get(self, "custom_data")
2325
2366
 
2326
- @property
2367
+ @_builtins.property
2327
2368
  @pulumi.getter(name="dataDisks")
2328
2369
  def data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureDataDisk']]]:
2329
2370
  return pulumi.get(self, "data_disks")
2330
2371
 
2331
- @property
2372
+ @_builtins.property
2332
2373
  @pulumi.getter(name="dataDisksPersistenceMode")
2333
- def data_disks_persistence_mode(self) -> pulumi.Output[str]:
2374
+ def data_disks_persistence_mode(self) -> pulumi.Output[_builtins.str]:
2334
2375
  return pulumi.get(self, "data_disks_persistence_mode")
2335
2376
 
2336
- @property
2377
+ @_builtins.property
2337
2378
  @pulumi.getter
2338
2379
  def deletes(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureDelete']]]:
2339
2380
  return pulumi.get(self, "deletes")
2340
2381
 
2341
- @property
2382
+ @_builtins.property
2342
2383
  @pulumi.getter
2343
- def description(self) -> pulumi.Output[str]:
2384
+ def description(self) -> pulumi.Output[_builtins.str]:
2344
2385
  return pulumi.get(self, "description")
2345
2386
 
2346
- @property
2387
+ @_builtins.property
2347
2388
  @pulumi.getter(name="detachDataDisks")
2348
2389
  def detach_data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureDetachDataDisk']]]:
2349
2390
  return pulumi.get(self, "detach_data_disks")
2350
2391
 
2351
- @property
2392
+ @_builtins.property
2352
2393
  @pulumi.getter
2353
2394
  def extensions(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureExtension']]:
2354
2395
  return pulumi.get(self, "extensions")
2355
2396
 
2356
- @property
2397
+ @_builtins.property
2357
2398
  @pulumi.getter
2358
2399
  def health(self) -> pulumi.Output['outputs.StatefulNodeAzureHealth']:
2359
2400
  return pulumi.get(self, "health")
2360
2401
 
2361
- @property
2402
+ @_builtins.property
2362
2403
  @pulumi.getter
2363
2404
  def image(self) -> pulumi.Output[Optional['outputs.StatefulNodeAzureImage']]:
2364
2405
  return pulumi.get(self, "image")
2365
2406
 
2366
- @property
2407
+ @_builtins.property
2367
2408
  @pulumi.getter(name="importVms")
2368
2409
  def import_vms(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureImportVm']]]:
2369
2410
  return pulumi.get(self, "import_vms")
2370
2411
 
2371
- @property
2412
+ @_builtins.property
2372
2413
  @pulumi.getter(name="licenseType")
2373
- def license_type(self) -> pulumi.Output[Optional[str]]:
2414
+ def license_type(self) -> pulumi.Output[Optional[_builtins.str]]:
2374
2415
  return pulumi.get(self, "license_type")
2375
2416
 
2376
- @property
2417
+ @_builtins.property
2377
2418
  @pulumi.getter(name="loadBalancers")
2378
2419
  def load_balancers(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureLoadBalancer']]:
2379
2420
  return pulumi.get(self, "load_balancers")
2380
2421
 
2381
- @property
2422
+ @_builtins.property
2382
2423
  @pulumi.getter
2383
2424
  def login(self) -> pulumi.Output[Optional['outputs.StatefulNodeAzureLogin']]:
2384
2425
  return pulumi.get(self, "login")
2385
2426
 
2386
- @property
2427
+ @_builtins.property
2387
2428
  @pulumi.getter(name="managedServiceIdentities")
2388
- def managed_service_identities(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureManagedServiceIdentity']]:
2429
+ def managed_service_identities(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureManagedServiceIdentity']]]:
2389
2430
  return pulumi.get(self, "managed_service_identities")
2390
2431
 
2391
- @property
2432
+ @_builtins.property
2392
2433
  @pulumi.getter
2393
- def name(self) -> pulumi.Output[str]:
2434
+ def name(self) -> pulumi.Output[_builtins.str]:
2394
2435
  return pulumi.get(self, "name")
2395
2436
 
2396
- @property
2437
+ @_builtins.property
2397
2438
  @pulumi.getter
2398
2439
  def network(self) -> pulumi.Output[Optional['outputs.StatefulNodeAzureNetwork']]:
2399
2440
  return pulumi.get(self, "network")
2400
2441
 
2401
- @property
2442
+ @_builtins.property
2402
2443
  @pulumi.getter
2403
- def os(self) -> pulumi.Output[str]:
2444
+ def os(self) -> pulumi.Output[_builtins.str]:
2404
2445
  return pulumi.get(self, "os")
2405
2446
 
2406
- @property
2447
+ @_builtins.property
2407
2448
  @pulumi.getter(name="osDisk")
2408
2449
  def os_disk(self) -> pulumi.Output[Optional['outputs.StatefulNodeAzureOsDisk']]:
2409
2450
  return pulumi.get(self, "os_disk")
2410
2451
 
2411
- @property
2452
+ @_builtins.property
2412
2453
  @pulumi.getter(name="osDiskPersistenceMode")
2413
- def os_disk_persistence_mode(self) -> pulumi.Output[str]:
2454
+ def os_disk_persistence_mode(self) -> pulumi.Output[_builtins.str]:
2414
2455
  return pulumi.get(self, "os_disk_persistence_mode")
2415
2456
 
2416
- @property
2457
+ @_builtins.property
2417
2458
  @pulumi.getter(name="preferredZone")
2418
- def preferred_zone(self) -> pulumi.Output[str]:
2459
+ def preferred_zone(self) -> pulumi.Output[_builtins.str]:
2419
2460
  return pulumi.get(self, "preferred_zone")
2420
2461
 
2421
- @property
2462
+ @_builtins.property
2422
2463
  @pulumi.getter(name="proximityPlacementGroups")
2423
2464
  def proximity_placement_groups(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureProximityPlacementGroup']]:
2424
2465
  return pulumi.get(self, "proximity_placement_groups")
2425
2466
 
2426
- @property
2467
+ @_builtins.property
2427
2468
  @pulumi.getter
2428
- def region(self) -> pulumi.Output[str]:
2469
+ def region(self) -> pulumi.Output[_builtins.str]:
2429
2470
  return pulumi.get(self, "region")
2430
2471
 
2431
- @property
2472
+ @_builtins.property
2432
2473
  @pulumi.getter(name="resourceGroupName")
2433
- def resource_group_name(self) -> pulumi.Output[str]:
2474
+ def resource_group_name(self) -> pulumi.Output[_builtins.str]:
2434
2475
  return pulumi.get(self, "resource_group_name")
2435
2476
 
2436
- @property
2477
+ @_builtins.property
2437
2478
  @pulumi.getter(name="schedulingTasks")
2438
2479
  def scheduling_tasks(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureSchedulingTask']]:
2439
2480
  return pulumi.get(self, "scheduling_tasks")
2440
2481
 
2441
- @property
2482
+ @_builtins.property
2442
2483
  @pulumi.getter
2443
2484
  def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureSecret']]]:
2444
2485
  return pulumi.get(self, "secrets")
2445
2486
 
2446
- @property
2487
+ @_builtins.property
2447
2488
  @pulumi.getter
2448
- def security(self) -> pulumi.Output[Optional['outputs.StatefulNodeAzureSecurity']]:
2489
+ def security(self) -> pulumi.Output['outputs.StatefulNodeAzureSecurity']:
2449
2490
  return pulumi.get(self, "security")
2450
2491
 
2451
- @property
2492
+ @_builtins.property
2452
2493
  @pulumi.getter(name="shouldPersistDataDisks")
2453
- def should_persist_data_disks(self) -> pulumi.Output[bool]:
2494
+ def should_persist_data_disks(self) -> pulumi.Output[_builtins.bool]:
2454
2495
  return pulumi.get(self, "should_persist_data_disks")
2455
2496
 
2456
- @property
2497
+ @_builtins.property
2457
2498
  @pulumi.getter(name="shouldPersistNetwork")
2458
- def should_persist_network(self) -> pulumi.Output[bool]:
2499
+ def should_persist_network(self) -> pulumi.Output[_builtins.bool]:
2459
2500
  return pulumi.get(self, "should_persist_network")
2460
2501
 
2461
- @property
2502
+ @_builtins.property
2462
2503
  @pulumi.getter(name="shouldPersistOsDisk")
2463
- def should_persist_os_disk(self) -> pulumi.Output[bool]:
2504
+ def should_persist_os_disk(self) -> pulumi.Output[_builtins.bool]:
2464
2505
  return pulumi.get(self, "should_persist_os_disk")
2465
2506
 
2466
- @property
2467
- @pulumi.getter(name="shouldPersistVm")
2468
- def should_persist_vm(self) -> pulumi.Output[bool]:
2469
- return pulumi.get(self, "should_persist_vm")
2470
-
2471
- @property
2507
+ @_builtins.property
2472
2508
  @pulumi.getter(name="shutdownScript")
2473
- def shutdown_script(self) -> pulumi.Output[str]:
2509
+ def shutdown_script(self) -> pulumi.Output[_builtins.str]:
2474
2510
  return pulumi.get(self, "shutdown_script")
2475
2511
 
2476
- @property
2512
+ @_builtins.property
2477
2513
  @pulumi.getter
2478
2514
  def signals(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureSignal']]:
2479
2515
  return pulumi.get(self, "signals")
2480
2516
 
2481
- @property
2517
+ @_builtins.property
2482
2518
  @pulumi.getter
2483
2519
  def strategy(self) -> pulumi.Output['outputs.StatefulNodeAzureStrategy']:
2484
2520
  return pulumi.get(self, "strategy")
2485
2521
 
2486
- @property
2522
+ @_builtins.property
2487
2523
  @pulumi.getter
2488
2524
  def tags(self) -> pulumi.Output[Sequence['outputs.StatefulNodeAzureTag']]:
2489
2525
  return pulumi.get(self, "tags")
2490
2526
 
2491
- @property
2527
+ @_builtins.property
2492
2528
  @pulumi.getter(name="updateStates")
2493
2529
  def update_states(self) -> pulumi.Output[Optional[Sequence['outputs.StatefulNodeAzureUpdateState']]]:
2494
2530
  return pulumi.get(self, "update_states")
2495
2531
 
2496
- @property
2532
+ @_builtins.property
2497
2533
  @pulumi.getter(name="userData")
2498
- def user_data(self) -> pulumi.Output[str]:
2534
+ def user_data(self) -> pulumi.Output[_builtins.str]:
2499
2535
  return pulumi.get(self, "user_data")
2500
2536
 
2501
- @property
2537
+ @_builtins.property
2502
2538
  @pulumi.getter(name="vmName")
2503
- def vm_name(self) -> pulumi.Output[Optional[str]]:
2539
+ def vm_name(self) -> pulumi.Output[Optional[_builtins.str]]:
2504
2540
  return pulumi.get(self, "vm_name")
2505
2541
 
2506
- @property
2542
+ @_builtins.property
2507
2543
  @pulumi.getter(name="vmNamePrefix")
2508
- def vm_name_prefix(self) -> pulumi.Output[Optional[str]]:
2544
+ def vm_name_prefix(self) -> pulumi.Output[Optional[_builtins.str]]:
2509
2545
  return pulumi.get(self, "vm_name_prefix")
2510
2546
 
2511
- @property
2547
+ @_builtins.property
2512
2548
  @pulumi.getter(name="vmSizes")
2513
2549
  def vm_sizes(self) -> pulumi.Output['outputs.StatefulNodeAzureVmSizes']:
2514
2550
  return pulumi.get(self, "vm_sizes")
2515
2551
 
2516
- @property
2552
+ @_builtins.property
2517
2553
  @pulumi.getter
2518
- def zones(self) -> pulumi.Output[Optional[Sequence[str]]]:
2554
+ def zones(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
2519
2555
  return pulumi.get(self, "zones")
2520
2556