pulumi-spotinst 3.119.0a1746427279__py3-none-any.whl → 3.119.0a1746761400__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (47) hide show
  1. pulumi_spotinst/account.py +1 -3
  2. pulumi_spotinst/aws/_inputs.py +148 -0
  3. pulumi_spotinst/aws/account.py +1 -3
  4. pulumi_spotinst/aws/beanstalk.py +1 -3
  5. pulumi_spotinst/aws/credentials.py +1 -3
  6. pulumi_spotinst/aws/elastigroup.py +1 -3
  7. pulumi_spotinst/aws/managed_instance.py +1 -3
  8. pulumi_spotinst/aws/mr_scalar.py +1 -3
  9. pulumi_spotinst/aws/ocean.py +48 -3
  10. pulumi_spotinst/aws/ocean_extended_resource_definition.py +1 -3
  11. pulumi_spotinst/aws/ocean_launch_spec.py +48 -3
  12. pulumi_spotinst/aws/outputs.py +88 -0
  13. pulumi_spotinst/aws/suspension.py +1 -3
  14. pulumi_spotinst/azure/ocean_np.py +1 -3
  15. pulumi_spotinst/azure/ocean_np_virtual_node_group.py +1 -3
  16. pulumi_spotinst/credentials_azure.py +1 -3
  17. pulumi_spotinst/credentials_gcp.py +1 -3
  18. pulumi_spotinst/data_integration.py +1 -3
  19. pulumi_spotinst/ecs/ocean.py +1 -3
  20. pulumi_spotinst/ecs/ocean_launch_spec.py +1 -3
  21. pulumi_spotinst/elastigroup_azure_v3.py +1 -3
  22. pulumi_spotinst/gcp/elastigroup.py +1 -3
  23. pulumi_spotinst/gke/elastigroup.py +1 -3
  24. pulumi_spotinst/gke/ocean_import.py +1 -3
  25. pulumi_spotinst/gke/ocean_launch_spec.py +1 -3
  26. pulumi_spotinst/gke/ocean_launch_spec_import.py +1 -3
  27. pulumi_spotinst/health_check.py +1 -3
  28. pulumi_spotinst/ocean_right_sizing_rule.py +1 -3
  29. pulumi_spotinst/oceancd/rollout_spec.py +1 -3
  30. pulumi_spotinst/oceancd/strategy.py +1 -3
  31. pulumi_spotinst/oceancd/verification_provider.py +1 -3
  32. pulumi_spotinst/oceancd/verification_template.py +1 -3
  33. pulumi_spotinst/organization/policy.py +1 -3
  34. pulumi_spotinst/organization/programmatic_user.py +1 -3
  35. pulumi_spotinst/organization/user.py +1 -3
  36. pulumi_spotinst/organization/user_group.py +1 -3
  37. pulumi_spotinst/provider.py +21 -3
  38. pulumi_spotinst/pulumi-plugin.json +1 -1
  39. pulumi_spotinst/spark/ocean.py +1 -3
  40. pulumi_spotinst/spark/ocean_virtual_node_group.py +1 -3
  41. pulumi_spotinst/stateful_node_azure.py +2 -4
  42. pulumi_spotinst/subscription.py +1 -3
  43. {pulumi_spotinst-3.119.0a1746427279.dist-info → pulumi_spotinst-3.119.0a1746761400.dist-info}/METADATA +3 -3
  44. pulumi_spotinst-3.119.0a1746761400.dist-info/RECORD +76 -0
  45. pulumi_spotinst-3.119.0a1746427279.dist-info/RECORD +0 -76
  46. {pulumi_spotinst-3.119.0a1746427279.dist-info → pulumi_spotinst-3.119.0a1746761400.dist-info}/WHEEL +0 -0
  47. {pulumi_spotinst-3.119.0a1746427279.dist-info → pulumi_spotinst-3.119.0a1746761400.dist-info}/top_level.txt +0 -0
@@ -65,10 +65,8 @@ class _AccountState:
65
65
  pulumi.set(self, "name", value)
66
66
 
67
67
 
68
+ @pulumi.type_token("spotinst:index/account:Account")
68
69
  class Account(pulumi.CustomResource):
69
-
70
- pulumi_type = "spotinst:index/account:Account"
71
-
72
70
  @overload
73
71
  def __init__(__self__,
74
72
  resource_name: str,
@@ -314,6 +314,8 @@ __all__ = [
314
314
  'OceanLaunchSpecSchedulingTaskArgsDict',
315
315
  'OceanLaunchSpecSchedulingTaskTaskHeadroomArgs',
316
316
  'OceanLaunchSpecSchedulingTaskTaskHeadroomArgsDict',
317
+ 'OceanLaunchSpecStartupTaintArgs',
318
+ 'OceanLaunchSpecStartupTaintArgsDict',
317
319
  'OceanLaunchSpecStrategyArgs',
318
320
  'OceanLaunchSpecStrategyArgsDict',
319
321
  'OceanLaunchSpecTagArgs',
@@ -348,6 +350,8 @@ __all__ = [
348
350
  'OceanScheduledTaskTaskParametersAmiAutoUpdateAmiAutoUpdateClusterRollArgsDict',
349
351
  'OceanScheduledTaskTaskParametersParametersClusterRollArgs',
350
352
  'OceanScheduledTaskTaskParametersParametersClusterRollArgsDict',
353
+ 'OceanStartupTaintArgs',
354
+ 'OceanStartupTaintArgsDict',
351
355
  'OceanTagArgs',
352
356
  'OceanTagArgsDict',
353
357
  'OceanUpdatePolicyArgs',
@@ -13128,6 +13132,78 @@ class OceanLaunchSpecSchedulingTaskTaskHeadroomArgs:
13128
13132
  pulumi.set(self, "memory_per_unit", value)
13129
13133
 
13130
13134
 
13135
+ if not MYPY:
13136
+ class OceanLaunchSpecStartupTaintArgsDict(TypedDict):
13137
+ effect: NotRequired[pulumi.Input[builtins.str]]
13138
+ """
13139
+ Set startup taint effect.
13140
+ """
13141
+ key: NotRequired[pulumi.Input[builtins.str]]
13142
+ """
13143
+ Set startup taint key.
13144
+ """
13145
+ value: NotRequired[pulumi.Input[builtins.str]]
13146
+ """
13147
+ Set startup taint value.
13148
+ """
13149
+ elif False:
13150
+ OceanLaunchSpecStartupTaintArgsDict: TypeAlias = Mapping[str, Any]
13151
+
13152
+ @pulumi.input_type
13153
+ class OceanLaunchSpecStartupTaintArgs:
13154
+ def __init__(__self__, *,
13155
+ effect: Optional[pulumi.Input[builtins.str]] = None,
13156
+ key: Optional[pulumi.Input[builtins.str]] = None,
13157
+ value: Optional[pulumi.Input[builtins.str]] = None):
13158
+ """
13159
+ :param pulumi.Input[builtins.str] effect: Set startup taint effect.
13160
+ :param pulumi.Input[builtins.str] key: Set startup taint key.
13161
+ :param pulumi.Input[builtins.str] value: Set startup taint value.
13162
+ """
13163
+ if effect is not None:
13164
+ pulumi.set(__self__, "effect", effect)
13165
+ if key is not None:
13166
+ pulumi.set(__self__, "key", key)
13167
+ if value is not None:
13168
+ pulumi.set(__self__, "value", value)
13169
+
13170
+ @property
13171
+ @pulumi.getter
13172
+ def effect(self) -> Optional[pulumi.Input[builtins.str]]:
13173
+ """
13174
+ Set startup taint effect.
13175
+ """
13176
+ return pulumi.get(self, "effect")
13177
+
13178
+ @effect.setter
13179
+ def effect(self, value: Optional[pulumi.Input[builtins.str]]):
13180
+ pulumi.set(self, "effect", value)
13181
+
13182
+ @property
13183
+ @pulumi.getter
13184
+ def key(self) -> Optional[pulumi.Input[builtins.str]]:
13185
+ """
13186
+ Set startup taint key.
13187
+ """
13188
+ return pulumi.get(self, "key")
13189
+
13190
+ @key.setter
13191
+ def key(self, value: Optional[pulumi.Input[builtins.str]]):
13192
+ pulumi.set(self, "key", value)
13193
+
13194
+ @property
13195
+ @pulumi.getter
13196
+ def value(self) -> Optional[pulumi.Input[builtins.str]]:
13197
+ """
13198
+ Set startup taint value.
13199
+ """
13200
+ return pulumi.get(self, "value")
13201
+
13202
+ @value.setter
13203
+ def value(self, value: Optional[pulumi.Input[builtins.str]]):
13204
+ pulumi.set(self, "value", value)
13205
+
13206
+
13131
13207
  if not MYPY:
13132
13208
  class OceanLaunchSpecStrategyArgsDict(TypedDict):
13133
13209
  draining_timeout: NotRequired[pulumi.Input[builtins.int]]
@@ -14144,6 +14220,78 @@ class OceanScheduledTaskTaskParametersParametersClusterRollArgs:
14144
14220
  pulumi.set(self, "respect_pdb", value)
14145
14221
 
14146
14222
 
14223
+ if not MYPY:
14224
+ class OceanStartupTaintArgsDict(TypedDict):
14225
+ effect: NotRequired[pulumi.Input[builtins.str]]
14226
+ """
14227
+ Set startup taint effect.
14228
+ """
14229
+ key: NotRequired[pulumi.Input[builtins.str]]
14230
+ """
14231
+ Set startup taint key.
14232
+ """
14233
+ value: NotRequired[pulumi.Input[builtins.str]]
14234
+ """
14235
+ Set startup taint value.
14236
+ """
14237
+ elif False:
14238
+ OceanStartupTaintArgsDict: TypeAlias = Mapping[str, Any]
14239
+
14240
+ @pulumi.input_type
14241
+ class OceanStartupTaintArgs:
14242
+ def __init__(__self__, *,
14243
+ effect: Optional[pulumi.Input[builtins.str]] = None,
14244
+ key: Optional[pulumi.Input[builtins.str]] = None,
14245
+ value: Optional[pulumi.Input[builtins.str]] = None):
14246
+ """
14247
+ :param pulumi.Input[builtins.str] effect: Set startup taint effect.
14248
+ :param pulumi.Input[builtins.str] key: Set startup taint key.
14249
+ :param pulumi.Input[builtins.str] value: Set startup taint value.
14250
+ """
14251
+ if effect is not None:
14252
+ pulumi.set(__self__, "effect", effect)
14253
+ if key is not None:
14254
+ pulumi.set(__self__, "key", key)
14255
+ if value is not None:
14256
+ pulumi.set(__self__, "value", value)
14257
+
14258
+ @property
14259
+ @pulumi.getter
14260
+ def effect(self) -> Optional[pulumi.Input[builtins.str]]:
14261
+ """
14262
+ Set startup taint effect.
14263
+ """
14264
+ return pulumi.get(self, "effect")
14265
+
14266
+ @effect.setter
14267
+ def effect(self, value: Optional[pulumi.Input[builtins.str]]):
14268
+ pulumi.set(self, "effect", value)
14269
+
14270
+ @property
14271
+ @pulumi.getter
14272
+ def key(self) -> Optional[pulumi.Input[builtins.str]]:
14273
+ """
14274
+ Set startup taint key.
14275
+ """
14276
+ return pulumi.get(self, "key")
14277
+
14278
+ @key.setter
14279
+ def key(self, value: Optional[pulumi.Input[builtins.str]]):
14280
+ pulumi.set(self, "key", value)
14281
+
14282
+ @property
14283
+ @pulumi.getter
14284
+ def value(self) -> Optional[pulumi.Input[builtins.str]]:
14285
+ """
14286
+ Set startup taint value.
14287
+ """
14288
+ return pulumi.get(self, "value")
14289
+
14290
+ @value.setter
14291
+ def value(self, value: Optional[pulumi.Input[builtins.str]]):
14292
+ pulumi.set(self, "value", value)
14293
+
14294
+
14147
14295
  if not MYPY:
14148
14296
  class OceanTagArgsDict(TypedDict):
14149
14297
  key: pulumi.Input[builtins.str]
@@ -65,10 +65,8 @@ class _AccountState:
65
65
  pulumi.set(self, "name", value)
66
66
 
67
67
 
68
+ @pulumi.type_token("spotinst:aws/account:Account")
68
69
  class Account(pulumi.CustomResource):
69
-
70
- pulumi_type = "spotinst:aws/account:Account"
71
-
72
70
  @overload
73
71
  def __init__(__self__,
74
72
  resource_name: str,
@@ -433,10 +433,8 @@ class _BeanstalkState:
433
433
  pulumi.set(self, "scheduled_tasks", value)
434
434
 
435
435
 
436
+ @pulumi.type_token("spotinst:aws/beanstalk:Beanstalk")
436
437
  class Beanstalk(pulumi.CustomResource):
437
-
438
- pulumi_type = "spotinst:aws/beanstalk:Beanstalk"
439
-
440
438
  @overload
441
439
  def __init__(__self__,
442
440
  resource_name: str,
@@ -95,10 +95,8 @@ class _CredentialsState:
95
95
  pulumi.set(self, "iamrole", value)
96
96
 
97
97
 
98
+ @pulumi.type_token("spotinst:aws/credentials:Credentials")
98
99
  class Credentials(pulumi.CustomResource):
99
-
100
- pulumi_type = "spotinst:aws/credentials:Credentials"
101
-
102
100
  @overload
103
101
  def __init__(__self__,
104
102
  resource_name: str,
@@ -2507,10 +2507,8 @@ class _ElastigroupState:
2507
2507
  pulumi.set(self, "wait_for_capacity_timeout", value)
2508
2508
 
2509
2509
 
2510
+ @pulumi.type_token("spotinst:aws/elastigroup:Elastigroup")
2510
2511
  class Elastigroup(pulumi.CustomResource):
2511
-
2512
- pulumi_type = "spotinst:aws/elastigroup:Elastigroup"
2513
-
2514
2512
  @overload
2515
2513
  def __init__(__self__,
2516
2514
  resource_name: str,
@@ -1182,10 +1182,8 @@ class _ManagedInstanceState:
1182
1182
  pulumi.set(self, "vpc_id", value)
1183
1183
 
1184
1184
 
1185
+ @pulumi.type_token("spotinst:aws/managedInstance:ManagedInstance")
1185
1186
  class ManagedInstance(pulumi.CustomResource):
1186
-
1187
- pulumi_type = "spotinst:aws/managedInstance:ManagedInstance"
1188
-
1189
1187
  @overload
1190
1188
  def __init__(__self__,
1191
1189
  resource_name: str,
@@ -1550,10 +1550,8 @@ class _MrScalarState:
1550
1550
  pulumi.set(self, "visible_to_all_users", value)
1551
1551
 
1552
1552
 
1553
+ @pulumi.type_token("spotinst:aws/mrScalar:MrScalar")
1553
1554
  class MrScalar(pulumi.CustomResource):
1554
-
1555
- pulumi_type = "spotinst:aws/mrScalar:MrScalar"
1556
-
1557
1555
  @overload
1558
1556
  def __init__(__self__,
1559
1557
  resource_name: str,
@@ -58,6 +58,7 @@ class OceanArgs:
58
58
  scheduled_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanScheduledTaskArgs']]]] = None,
59
59
  spot_percentage: Optional[pulumi.Input[builtins.int]] = None,
60
60
  spread_nodes_by: Optional[pulumi.Input[builtins.str]] = None,
61
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]] = None,
61
62
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanTagArgs']]]] = None,
62
63
  update_policy: Optional[pulumi.Input['OceanUpdatePolicyArgs']] = None,
63
64
  use_as_template_only: Optional[pulumi.Input[builtins.bool]] = None,
@@ -101,6 +102,7 @@ class OceanArgs:
101
102
  :param pulumi.Input[Sequence[pulumi.Input['OceanScheduledTaskArgs']]] scheduled_tasks: Set scheduling object.
102
103
  :param pulumi.Input[builtins.int] spot_percentage: The desired percentage of Spot instances out of all running instances. Only available when the field is not set in any VNG directly (launchSpec.strategy.spotPercentage).
103
104
  :param pulumi.Input[builtins.str] spread_nodes_by: Ocean will spread the nodes across markets by this value. Possible values: `vcpu` or `count`.
105
+ :param pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
104
106
  :param pulumi.Input[Sequence[pulumi.Input['OceanTagArgs']]] tags: Optionally adds tags to instances launched in an Ocean cluster.
105
107
  :param pulumi.Input[builtins.bool] use_as_template_only: launch specification defined on the Ocean object will function only as a template for virtual node groups.
106
108
  When set to true, on Ocean resource creation please make sure your custom VNG has an initial_nodes parameter to create nodes for your VNG.
@@ -177,6 +179,8 @@ class OceanArgs:
177
179
  pulumi.set(__self__, "spot_percentage", spot_percentage)
178
180
  if spread_nodes_by is not None:
179
181
  pulumi.set(__self__, "spread_nodes_by", spread_nodes_by)
182
+ if startup_taints is not None:
183
+ pulumi.set(__self__, "startup_taints", startup_taints)
180
184
  if tags is not None:
181
185
  pulumi.set(__self__, "tags", tags)
182
186
  if update_policy is not None:
@@ -616,6 +620,18 @@ class OceanArgs:
616
620
  def spread_nodes_by(self, value: Optional[pulumi.Input[builtins.str]]):
617
621
  pulumi.set(self, "spread_nodes_by", value)
618
622
 
623
+ @property
624
+ @pulumi.getter(name="startupTaints")
625
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]]:
626
+ """
627
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
628
+ """
629
+ return pulumi.get(self, "startup_taints")
630
+
631
+ @startup_taints.setter
632
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]]):
633
+ pulumi.set(self, "startup_taints", value)
634
+
619
635
  @property
620
636
  @pulumi.getter
621
637
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanTagArgs']]]]:
@@ -734,6 +750,7 @@ class _OceanState:
734
750
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
735
751
  spot_percentage: Optional[pulumi.Input[builtins.int]] = None,
736
752
  spread_nodes_by: Optional[pulumi.Input[builtins.str]] = None,
753
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]] = None,
737
754
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
738
755
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanTagArgs']]]] = None,
739
756
  update_policy: Optional[pulumi.Input['OceanUpdatePolicyArgs']] = None,
@@ -776,6 +793,7 @@ class _OceanState:
776
793
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: One or more security group ids.
777
794
  :param pulumi.Input[builtins.int] spot_percentage: The desired percentage of Spot instances out of all running instances. Only available when the field is not set in any VNG directly (launchSpec.strategy.spotPercentage).
778
795
  :param pulumi.Input[builtins.str] spread_nodes_by: Ocean will spread the nodes across markets by this value. Possible values: `vcpu` or `count`.
796
+ :param pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
779
797
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
780
798
  * `instanceTypes` - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
781
799
  :param pulumi.Input[Sequence[pulumi.Input['OceanTagArgs']]] tags: Optionally adds tags to instances launched in an Ocean cluster.
@@ -855,6 +873,8 @@ class _OceanState:
855
873
  pulumi.set(__self__, "spot_percentage", spot_percentage)
856
874
  if spread_nodes_by is not None:
857
875
  pulumi.set(__self__, "spread_nodes_by", spread_nodes_by)
876
+ if startup_taints is not None:
877
+ pulumi.set(__self__, "startup_taints", startup_taints)
858
878
  if subnet_ids is not None:
859
879
  pulumi.set(__self__, "subnet_ids", subnet_ids)
860
880
  if tags is not None:
@@ -1283,6 +1303,18 @@ class _OceanState:
1283
1303
  def spread_nodes_by(self, value: Optional[pulumi.Input[builtins.str]]):
1284
1304
  pulumi.set(self, "spread_nodes_by", value)
1285
1305
 
1306
+ @property
1307
+ @pulumi.getter(name="startupTaints")
1308
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]]:
1309
+ """
1310
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1311
+ """
1312
+ return pulumi.get(self, "startup_taints")
1313
+
1314
+ @startup_taints.setter
1315
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanStartupTaintArgs']]]]):
1316
+ pulumi.set(self, "startup_taints", value)
1317
+
1286
1318
  @property
1287
1319
  @pulumi.getter(name="subnetIds")
1288
1320
  def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -1376,10 +1408,8 @@ class _OceanState:
1376
1408
  pulumi.set(self, "whitelists", value)
1377
1409
 
1378
1410
 
1411
+ @pulumi.type_token("spotinst:aws/ocean:Ocean")
1379
1412
  class Ocean(pulumi.CustomResource):
1380
-
1381
- pulumi_type = "spotinst:aws/ocean:Ocean"
1382
-
1383
1413
  @overload
1384
1414
  def __init__(__self__,
1385
1415
  resource_name: str,
@@ -1419,6 +1449,7 @@ class Ocean(pulumi.CustomResource):
1419
1449
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1420
1450
  spot_percentage: Optional[pulumi.Input[builtins.int]] = None,
1421
1451
  spread_nodes_by: Optional[pulumi.Input[builtins.str]] = None,
1452
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanStartupTaintArgs', 'OceanStartupTaintArgsDict']]]]] = None,
1422
1453
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1423
1454
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanTagArgs', 'OceanTagArgsDict']]]]] = None,
1424
1455
  update_policy: Optional[pulumi.Input[Union['OceanUpdatePolicyArgs', 'OceanUpdatePolicyArgsDict']]] = None,
@@ -1475,6 +1506,7 @@ class Ocean(pulumi.CustomResource):
1475
1506
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: One or more security group ids.
1476
1507
  :param pulumi.Input[builtins.int] spot_percentage: The desired percentage of Spot instances out of all running instances. Only available when the field is not set in any VNG directly (launchSpec.strategy.spotPercentage).
1477
1508
  :param pulumi.Input[builtins.str] spread_nodes_by: Ocean will spread the nodes across markets by this value. Possible values: `vcpu` or `count`.
1509
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanStartupTaintArgs', 'OceanStartupTaintArgsDict']]]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1478
1510
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
1479
1511
  * `instanceTypes` - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
1480
1512
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanTagArgs', 'OceanTagArgsDict']]]] tags: Optionally adds tags to instances launched in an Ocean cluster.
@@ -1553,6 +1585,7 @@ class Ocean(pulumi.CustomResource):
1553
1585
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1554
1586
  spot_percentage: Optional[pulumi.Input[builtins.int]] = None,
1555
1587
  spread_nodes_by: Optional[pulumi.Input[builtins.str]] = None,
1588
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanStartupTaintArgs', 'OceanStartupTaintArgsDict']]]]] = None,
1556
1589
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1557
1590
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanTagArgs', 'OceanTagArgsDict']]]]] = None,
1558
1591
  update_policy: Optional[pulumi.Input[Union['OceanUpdatePolicyArgs', 'OceanUpdatePolicyArgsDict']]] = None,
@@ -1609,6 +1642,7 @@ class Ocean(pulumi.CustomResource):
1609
1642
  __props__.__dict__["security_groups"] = security_groups
1610
1643
  __props__.__dict__["spot_percentage"] = spot_percentage
1611
1644
  __props__.__dict__["spread_nodes_by"] = spread_nodes_by
1645
+ __props__.__dict__["startup_taints"] = startup_taints
1612
1646
  if subnet_ids is None and not opts.urn:
1613
1647
  raise TypeError("Missing required property 'subnet_ids'")
1614
1648
  __props__.__dict__["subnet_ids"] = subnet_ids
@@ -1664,6 +1698,7 @@ class Ocean(pulumi.CustomResource):
1664
1698
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1665
1699
  spot_percentage: Optional[pulumi.Input[builtins.int]] = None,
1666
1700
  spread_nodes_by: Optional[pulumi.Input[builtins.str]] = None,
1701
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanStartupTaintArgs', 'OceanStartupTaintArgsDict']]]]] = None,
1667
1702
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1668
1703
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanTagArgs', 'OceanTagArgsDict']]]]] = None,
1669
1704
  update_policy: Optional[pulumi.Input[Union['OceanUpdatePolicyArgs', 'OceanUpdatePolicyArgsDict']]] = None,
@@ -1711,6 +1746,7 @@ class Ocean(pulumi.CustomResource):
1711
1746
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: One or more security group ids.
1712
1747
  :param pulumi.Input[builtins.int] spot_percentage: The desired percentage of Spot instances out of all running instances. Only available when the field is not set in any VNG directly (launchSpec.strategy.spotPercentage).
1713
1748
  :param pulumi.Input[builtins.str] spread_nodes_by: Ocean will spread the nodes across markets by this value. Possible values: `vcpu` or `count`.
1749
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanStartupTaintArgs', 'OceanStartupTaintArgsDict']]]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1714
1750
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
1715
1751
  * `instanceTypes` - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
1716
1752
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanTagArgs', 'OceanTagArgsDict']]]] tags: Optionally adds tags to instances launched in an Ocean cluster.
@@ -1759,6 +1795,7 @@ class Ocean(pulumi.CustomResource):
1759
1795
  __props__.__dict__["security_groups"] = security_groups
1760
1796
  __props__.__dict__["spot_percentage"] = spot_percentage
1761
1797
  __props__.__dict__["spread_nodes_by"] = spread_nodes_by
1798
+ __props__.__dict__["startup_taints"] = startup_taints
1762
1799
  __props__.__dict__["subnet_ids"] = subnet_ids
1763
1800
  __props__.__dict__["tags"] = tags
1764
1801
  __props__.__dict__["update_policy"] = update_policy
@@ -2040,6 +2077,14 @@ class Ocean(pulumi.CustomResource):
2040
2077
  """
2041
2078
  return pulumi.get(self, "spread_nodes_by")
2042
2079
 
2080
+ @property
2081
+ @pulumi.getter(name="startupTaints")
2082
+ def startup_taints(self) -> pulumi.Output[Optional[Sequence['outputs.OceanStartupTaint']]]:
2083
+ """
2084
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
2085
+ """
2086
+ return pulumi.get(self, "startup_taints")
2087
+
2043
2088
  @property
2044
2089
  @pulumi.getter(name="subnetIds")
2045
2090
  def subnet_ids(self) -> pulumi.Output[Sequence[builtins.str]]:
@@ -100,10 +100,8 @@ class _OceanExtendedResourceDefinitionState:
100
100
  pulumi.set(self, "resource_mapping", value)
101
101
 
102
102
 
103
+ @pulumi.type_token("spotinst:aws/oceanExtendedResourceDefinition:OceanExtendedResourceDefinition")
103
104
  class OceanExtendedResourceDefinition(pulumi.CustomResource):
104
-
105
- pulumi_type = "spotinst:aws/oceanExtendedResourceDefinition:OceanExtendedResourceDefinition"
106
-
107
105
  @overload
108
106
  def __init__(__self__,
109
107
  resource_name: str,
@@ -50,6 +50,7 @@ class OceanLaunchSpecArgs:
50
50
  scheduling_shutdown_hours: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']] = None,
51
51
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
52
52
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
53
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]] = None,
53
54
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
54
55
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
55
56
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
@@ -84,6 +85,7 @@ class OceanLaunchSpecArgs:
84
85
  :param pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs'] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
85
86
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
86
87
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: Optionally adds security group IDs.
88
+ :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
87
89
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A list of subnet IDs.
88
90
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
89
91
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in the cluster.
@@ -144,6 +146,8 @@ class OceanLaunchSpecArgs:
144
146
  pulumi.set(__self__, "scheduling_tasks", scheduling_tasks)
145
147
  if security_groups is not None:
146
148
  pulumi.set(__self__, "security_groups", security_groups)
149
+ if startup_taints is not None:
150
+ pulumi.set(__self__, "startup_taints", startup_taints)
147
151
  if strategies is not None:
148
152
  pulumi.set(__self__, "strategies", strategies)
149
153
  if subnet_ids is not None:
@@ -483,6 +487,18 @@ class OceanLaunchSpecArgs:
483
487
  def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
484
488
  pulumi.set(self, "security_groups", value)
485
489
 
490
+ @property
491
+ @pulumi.getter(name="startupTaints")
492
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]:
493
+ """
494
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
495
+ """
496
+ return pulumi.get(self, "startup_taints")
497
+
498
+ @startup_taints.setter
499
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]):
500
+ pulumi.set(self, "startup_taints", value)
501
+
486
502
  @property
487
503
  @pulumi.getter
488
504
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
@@ -581,6 +597,7 @@ class _OceanLaunchSpecState:
581
597
  scheduling_shutdown_hours: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']] = None,
582
598
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
583
599
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
600
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]] = None,
584
601
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
585
602
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
586
603
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
@@ -615,6 +632,7 @@ class _OceanLaunchSpecState:
615
632
  :param pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs'] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
616
633
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
617
634
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: Optionally adds security group IDs.
635
+ :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
618
636
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A list of subnet IDs.
619
637
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
620
638
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in the cluster.
@@ -676,6 +694,8 @@ class _OceanLaunchSpecState:
676
694
  pulumi.set(__self__, "scheduling_tasks", scheduling_tasks)
677
695
  if security_groups is not None:
678
696
  pulumi.set(__self__, "security_groups", security_groups)
697
+ if startup_taints is not None:
698
+ pulumi.set(__self__, "startup_taints", startup_taints)
679
699
  if strategies is not None:
680
700
  pulumi.set(__self__, "strategies", strategies)
681
701
  if subnet_ids is not None:
@@ -1015,6 +1035,18 @@ class _OceanLaunchSpecState:
1015
1035
  def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
1016
1036
  pulumi.set(self, "security_groups", value)
1017
1037
 
1038
+ @property
1039
+ @pulumi.getter(name="startupTaints")
1040
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]:
1041
+ """
1042
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1043
+ """
1044
+ return pulumi.get(self, "startup_taints")
1045
+
1046
+ @startup_taints.setter
1047
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]):
1048
+ pulumi.set(self, "startup_taints", value)
1049
+
1018
1050
  @property
1019
1051
  @pulumi.getter
1020
1052
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
@@ -1082,10 +1114,8 @@ class _OceanLaunchSpecState:
1082
1114
  pulumi.set(self, "user_data", value)
1083
1115
 
1084
1116
 
1117
+ @pulumi.type_token("spotinst:aws/oceanLaunchSpec:OceanLaunchSpec")
1085
1118
  class OceanLaunchSpec(pulumi.CustomResource):
1086
-
1087
- pulumi_type = "spotinst:aws/oceanLaunchSpec:OceanLaunchSpec"
1088
-
1089
1119
  @overload
1090
1120
  def __init__(__self__,
1091
1121
  resource_name: str,
@@ -1118,6 +1148,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1118
1148
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1119
1149
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1120
1150
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1151
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1121
1152
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1122
1153
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1123
1154
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
@@ -1166,6 +1197,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1166
1197
  :param pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
1167
1198
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1168
1199
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: Optionally adds security group IDs.
1200
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1169
1201
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A list of subnet IDs.
1170
1202
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
1171
1203
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in the cluster.
@@ -1233,6 +1265,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1233
1265
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1234
1266
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1235
1267
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1268
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1236
1269
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1237
1270
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1238
1271
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
@@ -1278,6 +1311,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1278
1311
  __props__.__dict__["scheduling_shutdown_hours"] = scheduling_shutdown_hours
1279
1312
  __props__.__dict__["scheduling_tasks"] = scheduling_tasks
1280
1313
  __props__.__dict__["security_groups"] = security_groups
1314
+ __props__.__dict__["startup_taints"] = startup_taints
1281
1315
  __props__.__dict__["strategies"] = strategies
1282
1316
  __props__.__dict__["subnet_ids"] = subnet_ids
1283
1317
  __props__.__dict__["tags"] = tags
@@ -1322,6 +1356,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1322
1356
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1323
1357
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1324
1358
  security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1359
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1325
1360
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1326
1361
  subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1327
1362
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
@@ -1361,6 +1396,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1361
1396
  :param pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
1362
1397
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1363
1398
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_groups: Optionally adds security group IDs.
1399
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]] startup_taints: Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1364
1400
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] subnet_ids: A list of subnet IDs.
1365
1401
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
1366
1402
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in the cluster.
@@ -1398,6 +1434,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1398
1434
  __props__.__dict__["scheduling_shutdown_hours"] = scheduling_shutdown_hours
1399
1435
  __props__.__dict__["scheduling_tasks"] = scheduling_tasks
1400
1436
  __props__.__dict__["security_groups"] = security_groups
1437
+ __props__.__dict__["startup_taints"] = startup_taints
1401
1438
  __props__.__dict__["strategies"] = strategies
1402
1439
  __props__.__dict__["subnet_ids"] = subnet_ids
1403
1440
  __props__.__dict__["tags"] = tags
@@ -1620,6 +1657,14 @@ class OceanLaunchSpec(pulumi.CustomResource):
1620
1657
  """
1621
1658
  return pulumi.get(self, "security_groups")
1622
1659
 
1660
+ @property
1661
+ @pulumi.getter(name="startupTaints")
1662
+ def startup_taints(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStartupTaint']]]:
1663
+ """
1664
+ Temporary taints applied to a node during its initialization phase. For a startup taint to work, it must also be set as a regular taint in the userData for the cluster.
1665
+ """
1666
+ return pulumi.get(self, "startup_taints")
1667
+
1623
1668
  @property
1624
1669
  @pulumi.getter
1625
1670
  def strategies(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStrategy']]]: