pulumi-spotinst 3.115.0a1742873189__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 +11 -1
  2. pulumi_spotinst/_inputs.py +2206 -1519
  3. pulumi_spotinst/_utilities.py +1 -1
  4. pulumi_spotinst/account.py +20 -19
  5. pulumi_spotinst/aws/__init__.py +2 -1
  6. pulumi_spotinst/aws/_inputs.py +3991 -3619
  7. pulumi_spotinst/aws/account.py +20 -19
  8. pulumi_spotinst/aws/beanstalk.py +254 -177
  9. pulumi_spotinst/aws/credentials.py +37 -36
  10. pulumi_spotinst/aws/elastigroup.py +938 -950
  11. pulumi_spotinst/aws/managed_instance.py +507 -506
  12. pulumi_spotinst/aws/mr_scalar.py +658 -653
  13. pulumi_spotinst/aws/ocean.py +624 -529
  14. pulumi_spotinst/aws/ocean_extended_resource_definition.py +37 -36
  15. pulumi_spotinst/aws/ocean_launch_spec.py +395 -300
  16. pulumi_spotinst/aws/outputs.py +2631 -2371
  17. pulumi_spotinst/aws/suspension.py +23 -22
  18. pulumi_spotinst/azure/__init__.py +2 -1
  19. pulumi_spotinst/azure/_inputs.py +607 -607
  20. pulumi_spotinst/azure/ocean_np.py +387 -386
  21. pulumi_spotinst/azure/ocean_np_virtual_node_group.py +323 -322
  22. pulumi_spotinst/azure/outputs.py +411 -411
  23. pulumi_spotinst/config/__init__.py +2 -1
  24. pulumi_spotinst/config/__init__.pyi +2 -2
  25. pulumi_spotinst/config/vars.py +6 -6
  26. pulumi_spotinst/credentials_azure.py +139 -89
  27. pulumi_spotinst/credentials_gcp.py +190 -189
  28. pulumi_spotinst/data_integration.py +40 -39
  29. pulumi_spotinst/ecs/__init__.py +2 -1
  30. pulumi_spotinst/ecs/_inputs.py +584 -584
  31. pulumi_spotinst/ecs/ocean.py +628 -415
  32. pulumi_spotinst/ecs/ocean_launch_spec.py +197 -196
  33. pulumi_spotinst/ecs/outputs.py +394 -394
  34. pulumi_spotinst/elastigroup_azure_v3.py +326 -325
  35. pulumi_spotinst/gcp/__init__.py +2 -1
  36. pulumi_spotinst/gcp/_inputs.py +573 -499
  37. pulumi_spotinst/gcp/elastigroup.py +491 -482
  38. pulumi_spotinst/gcp/outputs.py +395 -330
  39. pulumi_spotinst/gke/__init__.py +2 -1
  40. pulumi_spotinst/gke/_inputs.py +1120 -895
  41. pulumi_spotinst/gke/elastigroup.py +341 -340
  42. pulumi_spotinst/gke/ocean_import.py +204 -203
  43. pulumi_spotinst/gke/ocean_launch_spec.py +285 -213
  44. pulumi_spotinst/gke/ocean_launch_spec_import.py +37 -36
  45. pulumi_spotinst/gke/outputs.py +769 -583
  46. pulumi_spotinst/health_check.py +106 -65
  47. pulumi_spotinst/notification_center.py +344 -0
  48. pulumi_spotinst/ocean_right_sizing_rule.py +424 -77
  49. pulumi_spotinst/oceancd/__init__.py +2 -1
  50. pulumi_spotinst/oceancd/_inputs.py +764 -764
  51. pulumi_spotinst/oceancd/outputs.py +526 -526
  52. pulumi_spotinst/oceancd/rollout_spec.py +35 -34
  53. pulumi_spotinst/oceancd/strategy.py +22 -21
  54. pulumi_spotinst/oceancd/verification_provider.py +52 -51
  55. pulumi_spotinst/oceancd/verification_template.py +26 -25
  56. pulumi_spotinst/organization/__init__.py +2 -1
  57. pulumi_spotinst/organization/_inputs.py +68 -68
  58. pulumi_spotinst/organization/outputs.py +46 -46
  59. pulumi_spotinst/organization/policy.py +40 -39
  60. pulumi_spotinst/organization/programmatic_user.py +60 -59
  61. pulumi_spotinst/organization/user.py +108 -107
  62. pulumi_spotinst/organization/user_group.py +57 -56
  63. pulumi_spotinst/outputs.py +1472 -932
  64. pulumi_spotinst/provider.py +61 -40
  65. pulumi_spotinst/pulumi-plugin.json +1 -1
  66. pulumi_spotinst/spark/__init__.py +2 -1
  67. pulumi_spotinst/spark/_inputs.py +104 -104
  68. pulumi_spotinst/spark/ocean.py +38 -37
  69. pulumi_spotinst/spark/ocean_virtual_node_group.py +29 -28
  70. pulumi_spotinst/spark/outputs.py +72 -72
  71. pulumi_spotinst/stateful_node_azure.py +318 -343
  72. pulumi_spotinst/subscription.py +88 -87
  73. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/METADATA +3 -3
  74. pulumi_spotinst-3.128.0a1767140134.dist-info/RECORD +77 -0
  75. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/WHEEL +1 -1
  76. pulumi_spotinst-3.115.0a1742873189.dist-info/RECORD +0 -76
  77. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
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
7
  import sys
8
8
  import pulumi
@@ -21,8 +21,8 @@ __all__ = ['OceanLaunchSpecArgs', 'OceanLaunchSpec']
21
21
  @pulumi.input_type
22
22
  class OceanLaunchSpecArgs:
23
23
  def __init__(__self__, *,
24
- ocean_id: pulumi.Input[str],
25
- associate_public_ip_address: Optional[pulumi.Input[bool]] = None,
24
+ ocean_id: pulumi.Input[_builtins.str],
25
+ associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
26
26
  autoscale_downs: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]] = None,
27
27
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
28
28
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
@@ -31,62 +31,66 @@ class OceanLaunchSpecArgs:
31
31
  delete_options: Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']] = None,
32
32
  elastic_ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]] = None,
33
33
  ephemeral_storages: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]] = None,
34
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
35
- image_id: Optional[pulumi.Input[str]] = None,
34
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
35
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
36
36
  images: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]] = None,
37
37
  instance_metadata_options: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']] = None,
38
38
  instance_store_policy: Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']] = None,
39
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
39
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
40
40
  instance_types_filters: Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']] = None,
41
41
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
42
- name: Optional[pulumi.Input[str]] = None,
43
- preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
44
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
45
- reserved_enis: Optional[pulumi.Input[int]] = None,
42
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]] = None,
43
+ name: Optional[pulumi.Input[_builtins.str]] = None,
44
+ preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
45
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
46
+ reserved_enis: Optional[pulumi.Input[_builtins.int]] = None,
46
47
  resource_limits: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]] = None,
47
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
48
- root_volume_size: Optional[pulumi.Input[int]] = None,
48
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
49
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
49
50
  scheduling_shutdown_hours: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']] = None,
50
51
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
51
- security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
52
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
53
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]] = None,
52
54
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
53
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
55
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
54
56
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
55
57
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
56
58
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None,
57
- user_data: Optional[pulumi.Input[str]] = None):
59
+ user_data: Optional[pulumi.Input[_builtins.str]] = None):
58
60
  """
59
61
  The set of arguments for constructing a OceanLaunchSpec resource.
60
- :param pulumi.Input[str] ocean_id: The ID of the Ocean cluster.
61
- :param pulumi.Input[bool] associate_public_ip_address: Configure public IP address allocation.
62
+ :param pulumi.Input[_builtins.str] ocean_id: The ID of the Ocean cluster.
63
+ :param pulumi.Input[_builtins.bool] associate_public_ip_address: Configure public IP address allocation.
62
64
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]] autoscale_downs: Auto Scaling scale down operations.
63
65
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
64
66
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
65
67
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]] block_device_mappings: Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
66
68
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]] elastic_ip_pools: Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
67
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
68
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
69
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
70
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
69
71
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]] images: Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
70
72
  For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
71
73
  :param pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs'] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
72
74
  :param pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs'] instance_store_policy: Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
73
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
75
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
74
76
  :param pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs'] instance_types_filters: The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
75
77
  The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
76
78
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in the cluster.
77
- :param pulumi.Input[str] name: The name of the Virtual Node Group.
78
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
79
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
80
- :param pulumi.Input[int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
81
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
82
- :param pulumi.Input[int] root_volume_size: Set root volume size (in GB).
79
+ :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]] load_balancers: Array of load balancer objects to add to VNG
80
+ :param pulumi.Input[_builtins.str] name: The name of the Virtual Node Group.
81
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
82
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
83
+ :param pulumi.Input[_builtins.int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
84
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
85
+ :param pulumi.Input[_builtins.int] root_volume_size: Set root volume size (in GB).
83
86
  :param pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs'] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
84
87
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
85
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Optionally adds security group IDs.
86
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs.
88
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_groups: Optionally adds security group IDs.
89
+ :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.
90
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: A list of subnet IDs.
87
91
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
88
92
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in the cluster.
89
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
93
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
90
94
  """
91
95
  pulumi.set(__self__, "ocean_id", ocean_id)
92
96
  if associate_public_ip_address is not None:
@@ -123,6 +127,8 @@ class OceanLaunchSpecArgs:
123
127
  pulumi.set(__self__, "instance_types_filters", instance_types_filters)
124
128
  if labels is not None:
125
129
  pulumi.set(__self__, "labels", labels)
130
+ if load_balancers is not None:
131
+ pulumi.set(__self__, "load_balancers", load_balancers)
126
132
  if name is not None:
127
133
  pulumi.set(__self__, "name", name)
128
134
  if preferred_od_types is not None:
@@ -143,6 +149,8 @@ class OceanLaunchSpecArgs:
143
149
  pulumi.set(__self__, "scheduling_tasks", scheduling_tasks)
144
150
  if security_groups is not None:
145
151
  pulumi.set(__self__, "security_groups", security_groups)
152
+ if startup_taints is not None:
153
+ pulumi.set(__self__, "startup_taints", startup_taints)
146
154
  if strategies is not None:
147
155
  pulumi.set(__self__, "strategies", strategies)
148
156
  if subnet_ids is not None:
@@ -156,31 +164,31 @@ class OceanLaunchSpecArgs:
156
164
  if user_data is not None:
157
165
  pulumi.set(__self__, "user_data", user_data)
158
166
 
159
- @property
167
+ @_builtins.property
160
168
  @pulumi.getter(name="oceanId")
161
- def ocean_id(self) -> pulumi.Input[str]:
169
+ def ocean_id(self) -> pulumi.Input[_builtins.str]:
162
170
  """
163
171
  The ID of the Ocean cluster.
164
172
  """
165
173
  return pulumi.get(self, "ocean_id")
166
174
 
167
175
  @ocean_id.setter
168
- def ocean_id(self, value: pulumi.Input[str]):
176
+ def ocean_id(self, value: pulumi.Input[_builtins.str]):
169
177
  pulumi.set(self, "ocean_id", value)
170
178
 
171
- @property
179
+ @_builtins.property
172
180
  @pulumi.getter(name="associatePublicIpAddress")
173
- def associate_public_ip_address(self) -> Optional[pulumi.Input[bool]]:
181
+ def associate_public_ip_address(self) -> Optional[pulumi.Input[_builtins.bool]]:
174
182
  """
175
183
  Configure public IP address allocation.
176
184
  """
177
185
  return pulumi.get(self, "associate_public_ip_address")
178
186
 
179
187
  @associate_public_ip_address.setter
180
- def associate_public_ip_address(self, value: Optional[pulumi.Input[bool]]):
188
+ def associate_public_ip_address(self, value: Optional[pulumi.Input[_builtins.bool]]):
181
189
  pulumi.set(self, "associate_public_ip_address", value)
182
190
 
183
- @property
191
+ @_builtins.property
184
192
  @pulumi.getter(name="autoscaleDowns")
185
193
  def autoscale_downs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]]:
186
194
  """
@@ -192,7 +200,7 @@ class OceanLaunchSpecArgs:
192
200
  def autoscale_downs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]]):
193
201
  pulumi.set(self, "autoscale_downs", value)
194
202
 
195
- @property
203
+ @_builtins.property
196
204
  @pulumi.getter(name="autoscaleHeadrooms")
197
205
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
198
206
  """
@@ -204,7 +212,7 @@ class OceanLaunchSpecArgs:
204
212
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
205
213
  pulumi.set(self, "autoscale_headrooms", value)
206
214
 
207
- @property
215
+ @_builtins.property
208
216
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
209
217
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
210
218
  """
@@ -216,7 +224,7 @@ class OceanLaunchSpecArgs:
216
224
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
217
225
  pulumi.set(self, "autoscale_headrooms_automatics", value)
218
226
 
219
- @property
227
+ @_builtins.property
220
228
  @pulumi.getter(name="blockDeviceMappings")
221
229
  def block_device_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]:
222
230
  """
@@ -228,7 +236,7 @@ class OceanLaunchSpecArgs:
228
236
  def block_device_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]):
229
237
  pulumi.set(self, "block_device_mappings", value)
230
238
 
231
- @property
239
+ @_builtins.property
232
240
  @pulumi.getter(name="createOptions")
233
241
  def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
234
242
  return pulumi.get(self, "create_options")
@@ -237,7 +245,7 @@ class OceanLaunchSpecArgs:
237
245
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
238
246
  pulumi.set(self, "create_options", value)
239
247
 
240
- @property
248
+ @_builtins.property
241
249
  @pulumi.getter(name="deleteOptions")
242
250
  def delete_options(self) -> Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']]:
243
251
  return pulumi.get(self, "delete_options")
@@ -246,7 +254,7 @@ class OceanLaunchSpecArgs:
246
254
  def delete_options(self, value: Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']]):
247
255
  pulumi.set(self, "delete_options", value)
248
256
 
249
- @property
257
+ @_builtins.property
250
258
  @pulumi.getter(name="elasticIpPools")
251
259
  def elastic_ip_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]]:
252
260
  """
@@ -258,7 +266,7 @@ class OceanLaunchSpecArgs:
258
266
  def elastic_ip_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]]):
259
267
  pulumi.set(self, "elastic_ip_pools", value)
260
268
 
261
- @property
269
+ @_builtins.property
262
270
  @pulumi.getter(name="ephemeralStorages")
263
271
  def ephemeral_storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]]:
264
272
  return pulumi.get(self, "ephemeral_storages")
@@ -267,31 +275,31 @@ class OceanLaunchSpecArgs:
267
275
  def ephemeral_storages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]]):
268
276
  pulumi.set(self, "ephemeral_storages", value)
269
277
 
270
- @property
278
+ @_builtins.property
271
279
  @pulumi.getter(name="iamInstanceProfile")
272
- def iam_instance_profile(self) -> Optional[pulumi.Input[str]]:
280
+ def iam_instance_profile(self) -> Optional[pulumi.Input[_builtins.str]]:
273
281
  """
274
282
  The ARN or name of an IAM instance profile to associate with launched instances.
275
283
  """
276
284
  return pulumi.get(self, "iam_instance_profile")
277
285
 
278
286
  @iam_instance_profile.setter
279
- def iam_instance_profile(self, value: Optional[pulumi.Input[str]]):
287
+ def iam_instance_profile(self, value: Optional[pulumi.Input[_builtins.str]]):
280
288
  pulumi.set(self, "iam_instance_profile", value)
281
289
 
282
- @property
290
+ @_builtins.property
283
291
  @pulumi.getter(name="imageId")
284
- def image_id(self) -> Optional[pulumi.Input[str]]:
292
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
285
293
  """
286
294
  ID of the image used to launch the instances.
287
295
  """
288
296
  return pulumi.get(self, "image_id")
289
297
 
290
298
  @image_id.setter
291
- def image_id(self, value: Optional[pulumi.Input[str]]):
299
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
292
300
  pulumi.set(self, "image_id", value)
293
301
 
294
- @property
302
+ @_builtins.property
295
303
  @pulumi.getter
296
304
  def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]:
297
305
  """
@@ -304,7 +312,7 @@ class OceanLaunchSpecArgs:
304
312
  def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]):
305
313
  pulumi.set(self, "images", value)
306
314
 
307
- @property
315
+ @_builtins.property
308
316
  @pulumi.getter(name="instanceMetadataOptions")
309
317
  def instance_metadata_options(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]:
310
318
  """
@@ -316,7 +324,7 @@ class OceanLaunchSpecArgs:
316
324
  def instance_metadata_options(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]):
317
325
  pulumi.set(self, "instance_metadata_options", value)
318
326
 
319
- @property
327
+ @_builtins.property
320
328
  @pulumi.getter(name="instanceStorePolicy")
321
329
  def instance_store_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']]:
322
330
  """
@@ -328,19 +336,19 @@ class OceanLaunchSpecArgs:
328
336
  def instance_store_policy(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']]):
329
337
  pulumi.set(self, "instance_store_policy", value)
330
338
 
331
- @property
339
+ @_builtins.property
332
340
  @pulumi.getter(name="instanceTypes")
333
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
341
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
334
342
  """
335
343
  A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
336
344
  """
337
345
  return pulumi.get(self, "instance_types")
338
346
 
339
347
  @instance_types.setter
340
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
348
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
341
349
  pulumi.set(self, "instance_types", value)
342
350
 
343
- @property
351
+ @_builtins.property
344
352
  @pulumi.getter(name="instanceTypesFilters")
345
353
  def instance_types_filters(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']]:
346
354
  """
@@ -353,7 +361,7 @@ class OceanLaunchSpecArgs:
353
361
  def instance_types_filters(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']]):
354
362
  pulumi.set(self, "instance_types_filters", value)
355
363
 
356
- @property
364
+ @_builtins.property
357
365
  @pulumi.getter
358
366
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
359
367
  """
@@ -365,55 +373,67 @@ class OceanLaunchSpecArgs:
365
373
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
366
374
  pulumi.set(self, "labels", value)
367
375
 
368
- @property
376
+ @_builtins.property
377
+ @pulumi.getter(name="loadBalancers")
378
+ def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]]:
379
+ """
380
+ Array of load balancer objects to add to VNG
381
+ """
382
+ return pulumi.get(self, "load_balancers")
383
+
384
+ @load_balancers.setter
385
+ def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]]):
386
+ pulumi.set(self, "load_balancers", value)
387
+
388
+ @_builtins.property
369
389
  @pulumi.getter
370
- def name(self) -> Optional[pulumi.Input[str]]:
390
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
371
391
  """
372
392
  The name of the Virtual Node Group.
373
393
  """
374
394
  return pulumi.get(self, "name")
375
395
 
376
396
  @name.setter
377
- def name(self, value: Optional[pulumi.Input[str]]):
397
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
378
398
  pulumi.set(self, "name", value)
379
399
 
380
- @property
400
+ @_builtins.property
381
401
  @pulumi.getter(name="preferredOdTypes")
382
- def preferred_od_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
402
+ def preferred_od_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
383
403
  """
384
404
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
385
405
  """
386
406
  return pulumi.get(self, "preferred_od_types")
387
407
 
388
408
  @preferred_od_types.setter
389
- def preferred_od_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
409
+ def preferred_od_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
390
410
  pulumi.set(self, "preferred_od_types", value)
391
411
 
392
- @property
412
+ @_builtins.property
393
413
  @pulumi.getter(name="preferredSpotTypes")
394
- def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
414
+ def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
395
415
  """
396
416
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
397
417
  """
398
418
  return pulumi.get(self, "preferred_spot_types")
399
419
 
400
420
  @preferred_spot_types.setter
401
- def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
421
+ def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
402
422
  pulumi.set(self, "preferred_spot_types", value)
403
423
 
404
- @property
424
+ @_builtins.property
405
425
  @pulumi.getter(name="reservedEnis")
406
- def reserved_enis(self) -> Optional[pulumi.Input[int]]:
426
+ def reserved_enis(self) -> Optional[pulumi.Input[_builtins.int]]:
407
427
  """
408
428
  Specifies the count of ENIs to reserve per instance type for scaling purposes.
409
429
  """
410
430
  return pulumi.get(self, "reserved_enis")
411
431
 
412
432
  @reserved_enis.setter
413
- def reserved_enis(self, value: Optional[pulumi.Input[int]]):
433
+ def reserved_enis(self, value: Optional[pulumi.Input[_builtins.int]]):
414
434
  pulumi.set(self, "reserved_enis", value)
415
435
 
416
- @property
436
+ @_builtins.property
417
437
  @pulumi.getter(name="resourceLimits")
418
438
  def resource_limits(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]]:
419
439
  return pulumi.get(self, "resource_limits")
@@ -422,31 +442,31 @@ class OceanLaunchSpecArgs:
422
442
  def resource_limits(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]]):
423
443
  pulumi.set(self, "resource_limits", value)
424
444
 
425
- @property
445
+ @_builtins.property
426
446
  @pulumi.getter(name="restrictScaleDown")
427
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
447
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
428
448
  """
429
449
  Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
430
450
  """
431
451
  return pulumi.get(self, "restrict_scale_down")
432
452
 
433
453
  @restrict_scale_down.setter
434
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
454
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
435
455
  pulumi.set(self, "restrict_scale_down", value)
436
456
 
437
- @property
457
+ @_builtins.property
438
458
  @pulumi.getter(name="rootVolumeSize")
439
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
459
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
440
460
  """
441
461
  Set root volume size (in GB).
442
462
  """
443
463
  return pulumi.get(self, "root_volume_size")
444
464
 
445
465
  @root_volume_size.setter
446
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
466
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
447
467
  pulumi.set(self, "root_volume_size", value)
448
468
 
449
- @property
469
+ @_builtins.property
450
470
  @pulumi.getter(name="schedulingShutdownHours")
451
471
  def scheduling_shutdown_hours(self) -> Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']]:
452
472
  """
@@ -458,7 +478,7 @@ class OceanLaunchSpecArgs:
458
478
  def scheduling_shutdown_hours(self, value: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']]):
459
479
  pulumi.set(self, "scheduling_shutdown_hours", value)
460
480
 
461
- @property
481
+ @_builtins.property
462
482
  @pulumi.getter(name="schedulingTasks")
463
483
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
464
484
  """
@@ -470,19 +490,31 @@ class OceanLaunchSpecArgs:
470
490
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
471
491
  pulumi.set(self, "scheduling_tasks", value)
472
492
 
473
- @property
493
+ @_builtins.property
474
494
  @pulumi.getter(name="securityGroups")
475
- def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
495
+ def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
476
496
  """
477
497
  Optionally adds security group IDs.
478
498
  """
479
499
  return pulumi.get(self, "security_groups")
480
500
 
481
501
  @security_groups.setter
482
- def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
502
+ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
483
503
  pulumi.set(self, "security_groups", value)
484
504
 
485
- @property
505
+ @_builtins.property
506
+ @pulumi.getter(name="startupTaints")
507
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]:
508
+ """
509
+ 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.
510
+ """
511
+ return pulumi.get(self, "startup_taints")
512
+
513
+ @startup_taints.setter
514
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]):
515
+ pulumi.set(self, "startup_taints", value)
516
+
517
+ @_builtins.property
486
518
  @pulumi.getter
487
519
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
488
520
  return pulumi.get(self, "strategies")
@@ -491,19 +523,19 @@ class OceanLaunchSpecArgs:
491
523
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
492
524
  pulumi.set(self, "strategies", value)
493
525
 
494
- @property
526
+ @_builtins.property
495
527
  @pulumi.getter(name="subnetIds")
496
- def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
528
+ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
497
529
  """
498
530
  A list of subnet IDs.
499
531
  """
500
532
  return pulumi.get(self, "subnet_ids")
501
533
 
502
534
  @subnet_ids.setter
503
- def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
535
+ def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
504
536
  pulumi.set(self, "subnet_ids", value)
505
537
 
506
- @property
538
+ @_builtins.property
507
539
  @pulumi.getter
508
540
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]:
509
541
  """
@@ -515,7 +547,7 @@ class OceanLaunchSpecArgs:
515
547
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]):
516
548
  pulumi.set(self, "tags", value)
517
549
 
518
- @property
550
+ @_builtins.property
519
551
  @pulumi.getter
520
552
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
521
553
  """
@@ -527,7 +559,7 @@ class OceanLaunchSpecArgs:
527
559
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
528
560
  pulumi.set(self, "taints", value)
529
561
 
530
- @property
562
+ @_builtins.property
531
563
  @pulumi.getter(name="updatePolicy")
532
564
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
533
565
  return pulumi.get(self, "update_policy")
@@ -536,23 +568,23 @@ class OceanLaunchSpecArgs:
536
568
  def update_policy(self, value: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]):
537
569
  pulumi.set(self, "update_policy", value)
538
570
 
539
- @property
571
+ @_builtins.property
540
572
  @pulumi.getter(name="userData")
541
- def user_data(self) -> Optional[pulumi.Input[str]]:
573
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
542
574
  """
543
575
  Base64-encoded MIME user data to make available to the instances.
544
576
  """
545
577
  return pulumi.get(self, "user_data")
546
578
 
547
579
  @user_data.setter
548
- def user_data(self, value: Optional[pulumi.Input[str]]):
580
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
549
581
  pulumi.set(self, "user_data", value)
550
582
 
551
583
 
552
584
  @pulumi.input_type
553
585
  class _OceanLaunchSpecState:
554
586
  def __init__(__self__, *,
555
- associate_public_ip_address: Optional[pulumi.Input[bool]] = None,
587
+ associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
556
588
  autoscale_downs: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]] = None,
557
589
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
558
590
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
@@ -561,63 +593,67 @@ class _OceanLaunchSpecState:
561
593
  delete_options: Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']] = None,
562
594
  elastic_ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]] = None,
563
595
  ephemeral_storages: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]] = None,
564
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
565
- image_id: Optional[pulumi.Input[str]] = None,
596
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
597
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
566
598
  images: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]] = None,
567
599
  instance_metadata_options: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']] = None,
568
600
  instance_store_policy: Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']] = None,
569
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
601
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
570
602
  instance_types_filters: Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']] = None,
571
603
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
572
- name: Optional[pulumi.Input[str]] = None,
573
- ocean_id: Optional[pulumi.Input[str]] = None,
574
- preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
575
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
576
- reserved_enis: Optional[pulumi.Input[int]] = None,
604
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]] = None,
605
+ name: Optional[pulumi.Input[_builtins.str]] = None,
606
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
607
+ preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
608
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
609
+ reserved_enis: Optional[pulumi.Input[_builtins.int]] = None,
577
610
  resource_limits: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]] = None,
578
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
579
- root_volume_size: Optional[pulumi.Input[int]] = None,
611
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
612
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
580
613
  scheduling_shutdown_hours: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']] = None,
581
614
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
582
- security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
615
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
616
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]] = None,
583
617
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
584
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
618
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
585
619
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
586
620
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
587
621
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None,
588
- user_data: Optional[pulumi.Input[str]] = None):
622
+ user_data: Optional[pulumi.Input[_builtins.str]] = None):
589
623
  """
590
624
  Input properties used for looking up and filtering OceanLaunchSpec resources.
591
- :param pulumi.Input[bool] associate_public_ip_address: Configure public IP address allocation.
625
+ :param pulumi.Input[_builtins.bool] associate_public_ip_address: Configure public IP address allocation.
592
626
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]] autoscale_downs: Auto Scaling scale down operations.
593
627
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
594
628
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
595
629
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]] block_device_mappings: Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
596
630
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]] elastic_ip_pools: Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
597
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
598
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
631
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
632
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
599
633
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]] images: Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
600
634
  For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
601
635
  :param pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs'] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
602
636
  :param pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs'] instance_store_policy: Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
603
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
637
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
604
638
  :param pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs'] instance_types_filters: The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
605
639
  The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
606
640
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in the cluster.
607
- :param pulumi.Input[str] name: The name of the Virtual Node Group.
608
- :param pulumi.Input[str] ocean_id: The ID of the Ocean cluster.
609
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
610
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
611
- :param pulumi.Input[int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
612
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
613
- :param pulumi.Input[int] root_volume_size: Set root volume size (in GB).
641
+ :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]] load_balancers: Array of load balancer objects to add to VNG
642
+ :param pulumi.Input[_builtins.str] name: The name of the Virtual Node Group.
643
+ :param pulumi.Input[_builtins.str] ocean_id: The ID of the Ocean cluster.
644
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
645
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
646
+ :param pulumi.Input[_builtins.int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
647
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
648
+ :param pulumi.Input[_builtins.int] root_volume_size: Set root volume size (in GB).
614
649
  :param pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs'] scheduling_shutdown_hours: Used to specify times that the nodes in the virtual node group will be taken down.
615
650
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
616
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Optionally adds security group IDs.
617
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs.
651
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_groups: Optionally adds security group IDs.
652
+ :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.
653
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: A list of subnet IDs.
618
654
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
619
655
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in the cluster.
620
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
656
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
621
657
  """
622
658
  if associate_public_ip_address is not None:
623
659
  pulumi.set(__self__, "associate_public_ip_address", associate_public_ip_address)
@@ -653,6 +689,8 @@ class _OceanLaunchSpecState:
653
689
  pulumi.set(__self__, "instance_types_filters", instance_types_filters)
654
690
  if labels is not None:
655
691
  pulumi.set(__self__, "labels", labels)
692
+ if load_balancers is not None:
693
+ pulumi.set(__self__, "load_balancers", load_balancers)
656
694
  if name is not None:
657
695
  pulumi.set(__self__, "name", name)
658
696
  if ocean_id is not None:
@@ -675,6 +713,8 @@ class _OceanLaunchSpecState:
675
713
  pulumi.set(__self__, "scheduling_tasks", scheduling_tasks)
676
714
  if security_groups is not None:
677
715
  pulumi.set(__self__, "security_groups", security_groups)
716
+ if startup_taints is not None:
717
+ pulumi.set(__self__, "startup_taints", startup_taints)
678
718
  if strategies is not None:
679
719
  pulumi.set(__self__, "strategies", strategies)
680
720
  if subnet_ids is not None:
@@ -688,19 +728,19 @@ class _OceanLaunchSpecState:
688
728
  if user_data is not None:
689
729
  pulumi.set(__self__, "user_data", user_data)
690
730
 
691
- @property
731
+ @_builtins.property
692
732
  @pulumi.getter(name="associatePublicIpAddress")
693
- def associate_public_ip_address(self) -> Optional[pulumi.Input[bool]]:
733
+ def associate_public_ip_address(self) -> Optional[pulumi.Input[_builtins.bool]]:
694
734
  """
695
735
  Configure public IP address allocation.
696
736
  """
697
737
  return pulumi.get(self, "associate_public_ip_address")
698
738
 
699
739
  @associate_public_ip_address.setter
700
- def associate_public_ip_address(self, value: Optional[pulumi.Input[bool]]):
740
+ def associate_public_ip_address(self, value: Optional[pulumi.Input[_builtins.bool]]):
701
741
  pulumi.set(self, "associate_public_ip_address", value)
702
742
 
703
- @property
743
+ @_builtins.property
704
744
  @pulumi.getter(name="autoscaleDowns")
705
745
  def autoscale_downs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]]:
706
746
  """
@@ -712,7 +752,7 @@ class _OceanLaunchSpecState:
712
752
  def autoscale_downs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleDownArgs']]]]):
713
753
  pulumi.set(self, "autoscale_downs", value)
714
754
 
715
- @property
755
+ @_builtins.property
716
756
  @pulumi.getter(name="autoscaleHeadrooms")
717
757
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
718
758
  """
@@ -724,7 +764,7 @@ class _OceanLaunchSpecState:
724
764
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
725
765
  pulumi.set(self, "autoscale_headrooms", value)
726
766
 
727
- @property
767
+ @_builtins.property
728
768
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
729
769
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
730
770
  """
@@ -736,7 +776,7 @@ class _OceanLaunchSpecState:
736
776
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
737
777
  pulumi.set(self, "autoscale_headrooms_automatics", value)
738
778
 
739
- @property
779
+ @_builtins.property
740
780
  @pulumi.getter(name="blockDeviceMappings")
741
781
  def block_device_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]:
742
782
  """
@@ -748,7 +788,7 @@ class _OceanLaunchSpecState:
748
788
  def block_device_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]):
749
789
  pulumi.set(self, "block_device_mappings", value)
750
790
 
751
- @property
791
+ @_builtins.property
752
792
  @pulumi.getter(name="createOptions")
753
793
  def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
754
794
  return pulumi.get(self, "create_options")
@@ -757,7 +797,7 @@ class _OceanLaunchSpecState:
757
797
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
758
798
  pulumi.set(self, "create_options", value)
759
799
 
760
- @property
800
+ @_builtins.property
761
801
  @pulumi.getter(name="deleteOptions")
762
802
  def delete_options(self) -> Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']]:
763
803
  return pulumi.get(self, "delete_options")
@@ -766,7 +806,7 @@ class _OceanLaunchSpecState:
766
806
  def delete_options(self, value: Optional[pulumi.Input['OceanLaunchSpecDeleteOptionsArgs']]):
767
807
  pulumi.set(self, "delete_options", value)
768
808
 
769
- @property
809
+ @_builtins.property
770
810
  @pulumi.getter(name="elasticIpPools")
771
811
  def elastic_ip_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]]:
772
812
  """
@@ -778,7 +818,7 @@ class _OceanLaunchSpecState:
778
818
  def elastic_ip_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecElasticIpPoolArgs']]]]):
779
819
  pulumi.set(self, "elastic_ip_pools", value)
780
820
 
781
- @property
821
+ @_builtins.property
782
822
  @pulumi.getter(name="ephemeralStorages")
783
823
  def ephemeral_storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]]:
784
824
  return pulumi.get(self, "ephemeral_storages")
@@ -787,31 +827,31 @@ class _OceanLaunchSpecState:
787
827
  def ephemeral_storages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecEphemeralStorageArgs']]]]):
788
828
  pulumi.set(self, "ephemeral_storages", value)
789
829
 
790
- @property
830
+ @_builtins.property
791
831
  @pulumi.getter(name="iamInstanceProfile")
792
- def iam_instance_profile(self) -> Optional[pulumi.Input[str]]:
832
+ def iam_instance_profile(self) -> Optional[pulumi.Input[_builtins.str]]:
793
833
  """
794
834
  The ARN or name of an IAM instance profile to associate with launched instances.
795
835
  """
796
836
  return pulumi.get(self, "iam_instance_profile")
797
837
 
798
838
  @iam_instance_profile.setter
799
- def iam_instance_profile(self, value: Optional[pulumi.Input[str]]):
839
+ def iam_instance_profile(self, value: Optional[pulumi.Input[_builtins.str]]):
800
840
  pulumi.set(self, "iam_instance_profile", value)
801
841
 
802
- @property
842
+ @_builtins.property
803
843
  @pulumi.getter(name="imageId")
804
- def image_id(self) -> Optional[pulumi.Input[str]]:
844
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
805
845
  """
806
846
  ID of the image used to launch the instances.
807
847
  """
808
848
  return pulumi.get(self, "image_id")
809
849
 
810
850
  @image_id.setter
811
- def image_id(self, value: Optional[pulumi.Input[str]]):
851
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
812
852
  pulumi.set(self, "image_id", value)
813
853
 
814
- @property
854
+ @_builtins.property
815
855
  @pulumi.getter
816
856
  def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]:
817
857
  """
@@ -824,7 +864,7 @@ class _OceanLaunchSpecState:
824
864
  def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]):
825
865
  pulumi.set(self, "images", value)
826
866
 
827
- @property
867
+ @_builtins.property
828
868
  @pulumi.getter(name="instanceMetadataOptions")
829
869
  def instance_metadata_options(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]:
830
870
  """
@@ -836,7 +876,7 @@ class _OceanLaunchSpecState:
836
876
  def instance_metadata_options(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]):
837
877
  pulumi.set(self, "instance_metadata_options", value)
838
878
 
839
- @property
879
+ @_builtins.property
840
880
  @pulumi.getter(name="instanceStorePolicy")
841
881
  def instance_store_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']]:
842
882
  """
@@ -848,19 +888,19 @@ class _OceanLaunchSpecState:
848
888
  def instance_store_policy(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceStorePolicyArgs']]):
849
889
  pulumi.set(self, "instance_store_policy", value)
850
890
 
851
- @property
891
+ @_builtins.property
852
892
  @pulumi.getter(name="instanceTypes")
853
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
893
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
854
894
  """
855
895
  A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
856
896
  """
857
897
  return pulumi.get(self, "instance_types")
858
898
 
859
899
  @instance_types.setter
860
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
900
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
861
901
  pulumi.set(self, "instance_types", value)
862
902
 
863
- @property
903
+ @_builtins.property
864
904
  @pulumi.getter(name="instanceTypesFilters")
865
905
  def instance_types_filters(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']]:
866
906
  """
@@ -873,7 +913,7 @@ class _OceanLaunchSpecState:
873
913
  def instance_types_filters(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceTypesFiltersArgs']]):
874
914
  pulumi.set(self, "instance_types_filters", value)
875
915
 
876
- @property
916
+ @_builtins.property
877
917
  @pulumi.getter
878
918
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
879
919
  """
@@ -885,67 +925,79 @@ class _OceanLaunchSpecState:
885
925
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
886
926
  pulumi.set(self, "labels", value)
887
927
 
888
- @property
928
+ @_builtins.property
929
+ @pulumi.getter(name="loadBalancers")
930
+ def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]]:
931
+ """
932
+ Array of load balancer objects to add to VNG
933
+ """
934
+ return pulumi.get(self, "load_balancers")
935
+
936
+ @load_balancers.setter
937
+ def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLoadBalancerArgs']]]]):
938
+ pulumi.set(self, "load_balancers", value)
939
+
940
+ @_builtins.property
889
941
  @pulumi.getter
890
- def name(self) -> Optional[pulumi.Input[str]]:
942
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
891
943
  """
892
944
  The name of the Virtual Node Group.
893
945
  """
894
946
  return pulumi.get(self, "name")
895
947
 
896
948
  @name.setter
897
- def name(self, value: Optional[pulumi.Input[str]]):
949
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
898
950
  pulumi.set(self, "name", value)
899
951
 
900
- @property
952
+ @_builtins.property
901
953
  @pulumi.getter(name="oceanId")
902
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
954
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
903
955
  """
904
956
  The ID of the Ocean cluster.
905
957
  """
906
958
  return pulumi.get(self, "ocean_id")
907
959
 
908
960
  @ocean_id.setter
909
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
961
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
910
962
  pulumi.set(self, "ocean_id", value)
911
963
 
912
- @property
964
+ @_builtins.property
913
965
  @pulumi.getter(name="preferredOdTypes")
914
- def preferred_od_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
966
+ def preferred_od_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
915
967
  """
916
968
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
917
969
  """
918
970
  return pulumi.get(self, "preferred_od_types")
919
971
 
920
972
  @preferred_od_types.setter
921
- def preferred_od_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
973
+ def preferred_od_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
922
974
  pulumi.set(self, "preferred_od_types", value)
923
975
 
924
- @property
976
+ @_builtins.property
925
977
  @pulumi.getter(name="preferredSpotTypes")
926
- def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
978
+ def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
927
979
  """
928
980
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
929
981
  """
930
982
  return pulumi.get(self, "preferred_spot_types")
931
983
 
932
984
  @preferred_spot_types.setter
933
- def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
985
+ def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
934
986
  pulumi.set(self, "preferred_spot_types", value)
935
987
 
936
- @property
988
+ @_builtins.property
937
989
  @pulumi.getter(name="reservedEnis")
938
- def reserved_enis(self) -> Optional[pulumi.Input[int]]:
990
+ def reserved_enis(self) -> Optional[pulumi.Input[_builtins.int]]:
939
991
  """
940
992
  Specifies the count of ENIs to reserve per instance type for scaling purposes.
941
993
  """
942
994
  return pulumi.get(self, "reserved_enis")
943
995
 
944
996
  @reserved_enis.setter
945
- def reserved_enis(self, value: Optional[pulumi.Input[int]]):
997
+ def reserved_enis(self, value: Optional[pulumi.Input[_builtins.int]]):
946
998
  pulumi.set(self, "reserved_enis", value)
947
999
 
948
- @property
1000
+ @_builtins.property
949
1001
  @pulumi.getter(name="resourceLimits")
950
1002
  def resource_limits(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]]:
951
1003
  return pulumi.get(self, "resource_limits")
@@ -954,31 +1006,31 @@ class _OceanLaunchSpecState:
954
1006
  def resource_limits(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecResourceLimitArgs']]]]):
955
1007
  pulumi.set(self, "resource_limits", value)
956
1008
 
957
- @property
1009
+ @_builtins.property
958
1010
  @pulumi.getter(name="restrictScaleDown")
959
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
1011
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
960
1012
  """
961
1013
  Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
962
1014
  """
963
1015
  return pulumi.get(self, "restrict_scale_down")
964
1016
 
965
1017
  @restrict_scale_down.setter
966
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
1018
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
967
1019
  pulumi.set(self, "restrict_scale_down", value)
968
1020
 
969
- @property
1021
+ @_builtins.property
970
1022
  @pulumi.getter(name="rootVolumeSize")
971
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
1023
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
972
1024
  """
973
1025
  Set root volume size (in GB).
974
1026
  """
975
1027
  return pulumi.get(self, "root_volume_size")
976
1028
 
977
1029
  @root_volume_size.setter
978
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
1030
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
979
1031
  pulumi.set(self, "root_volume_size", value)
980
1032
 
981
- @property
1033
+ @_builtins.property
982
1034
  @pulumi.getter(name="schedulingShutdownHours")
983
1035
  def scheduling_shutdown_hours(self) -> Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']]:
984
1036
  """
@@ -990,7 +1042,7 @@ class _OceanLaunchSpecState:
990
1042
  def scheduling_shutdown_hours(self, value: Optional[pulumi.Input['OceanLaunchSpecSchedulingShutdownHoursArgs']]):
991
1043
  pulumi.set(self, "scheduling_shutdown_hours", value)
992
1044
 
993
- @property
1045
+ @_builtins.property
994
1046
  @pulumi.getter(name="schedulingTasks")
995
1047
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
996
1048
  """
@@ -1002,19 +1054,31 @@ class _OceanLaunchSpecState:
1002
1054
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
1003
1055
  pulumi.set(self, "scheduling_tasks", value)
1004
1056
 
1005
- @property
1057
+ @_builtins.property
1006
1058
  @pulumi.getter(name="securityGroups")
1007
- def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1059
+ def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1008
1060
  """
1009
1061
  Optionally adds security group IDs.
1010
1062
  """
1011
1063
  return pulumi.get(self, "security_groups")
1012
1064
 
1013
1065
  @security_groups.setter
1014
- def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1066
+ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1015
1067
  pulumi.set(self, "security_groups", value)
1016
1068
 
1017
- @property
1069
+ @_builtins.property
1070
+ @pulumi.getter(name="startupTaints")
1071
+ def startup_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]:
1072
+ """
1073
+ 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.
1074
+ """
1075
+ return pulumi.get(self, "startup_taints")
1076
+
1077
+ @startup_taints.setter
1078
+ def startup_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStartupTaintArgs']]]]):
1079
+ pulumi.set(self, "startup_taints", value)
1080
+
1081
+ @_builtins.property
1018
1082
  @pulumi.getter
1019
1083
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
1020
1084
  return pulumi.get(self, "strategies")
@@ -1023,19 +1087,19 @@ class _OceanLaunchSpecState:
1023
1087
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
1024
1088
  pulumi.set(self, "strategies", value)
1025
1089
 
1026
- @property
1090
+ @_builtins.property
1027
1091
  @pulumi.getter(name="subnetIds")
1028
- def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1092
+ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1029
1093
  """
1030
1094
  A list of subnet IDs.
1031
1095
  """
1032
1096
  return pulumi.get(self, "subnet_ids")
1033
1097
 
1034
1098
  @subnet_ids.setter
1035
- def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1099
+ def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1036
1100
  pulumi.set(self, "subnet_ids", value)
1037
1101
 
1038
- @property
1102
+ @_builtins.property
1039
1103
  @pulumi.getter
1040
1104
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]:
1041
1105
  """
@@ -1047,7 +1111,7 @@ class _OceanLaunchSpecState:
1047
1111
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]):
1048
1112
  pulumi.set(self, "tags", value)
1049
1113
 
1050
- @property
1114
+ @_builtins.property
1051
1115
  @pulumi.getter
1052
1116
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
1053
1117
  """
@@ -1059,7 +1123,7 @@ class _OceanLaunchSpecState:
1059
1123
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
1060
1124
  pulumi.set(self, "taints", value)
1061
1125
 
1062
- @property
1126
+ @_builtins.property
1063
1127
  @pulumi.getter(name="updatePolicy")
1064
1128
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
1065
1129
  return pulumi.get(self, "update_policy")
@@ -1068,25 +1132,26 @@ class _OceanLaunchSpecState:
1068
1132
  def update_policy(self, value: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]):
1069
1133
  pulumi.set(self, "update_policy", value)
1070
1134
 
1071
- @property
1135
+ @_builtins.property
1072
1136
  @pulumi.getter(name="userData")
1073
- def user_data(self) -> Optional[pulumi.Input[str]]:
1137
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
1074
1138
  """
1075
1139
  Base64-encoded MIME user data to make available to the instances.
1076
1140
  """
1077
1141
  return pulumi.get(self, "user_data")
1078
1142
 
1079
1143
  @user_data.setter
1080
- def user_data(self, value: Optional[pulumi.Input[str]]):
1144
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
1081
1145
  pulumi.set(self, "user_data", value)
1082
1146
 
1083
1147
 
1148
+ @pulumi.type_token("spotinst:aws/oceanLaunchSpec:OceanLaunchSpec")
1084
1149
  class OceanLaunchSpec(pulumi.CustomResource):
1085
1150
  @overload
1086
1151
  def __init__(__self__,
1087
1152
  resource_name: str,
1088
1153
  opts: Optional[pulumi.ResourceOptions] = None,
1089
- associate_public_ip_address: Optional[pulumi.Input[bool]] = None,
1154
+ associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
1090
1155
  autoscale_downs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleDownArgs', 'OceanLaunchSpecAutoscaleDownArgsDict']]]]] = None,
1091
1156
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1092
1157
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
@@ -1095,31 +1160,33 @@ class OceanLaunchSpec(pulumi.CustomResource):
1095
1160
  delete_options: Optional[pulumi.Input[Union['OceanLaunchSpecDeleteOptionsArgs', 'OceanLaunchSpecDeleteOptionsArgsDict']]] = None,
1096
1161
  elastic_ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecElasticIpPoolArgs', 'OceanLaunchSpecElasticIpPoolArgsDict']]]]] = None,
1097
1162
  ephemeral_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecEphemeralStorageArgs', 'OceanLaunchSpecEphemeralStorageArgsDict']]]]] = None,
1098
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
1099
- image_id: Optional[pulumi.Input[str]] = None,
1163
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
1164
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
1100
1165
  images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
1101
1166
  instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
1102
1167
  instance_store_policy: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceStorePolicyArgs', 'OceanLaunchSpecInstanceStorePolicyArgsDict']]] = None,
1103
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1168
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1104
1169
  instance_types_filters: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceTypesFiltersArgs', 'OceanLaunchSpecInstanceTypesFiltersArgsDict']]] = None,
1105
1170
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1106
- name: Optional[pulumi.Input[str]] = None,
1107
- ocean_id: Optional[pulumi.Input[str]] = None,
1108
- preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1109
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1110
- reserved_enis: Optional[pulumi.Input[int]] = None,
1171
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLoadBalancerArgs', 'OceanLaunchSpecLoadBalancerArgsDict']]]]] = None,
1172
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1173
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1174
+ preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1175
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1176
+ reserved_enis: Optional[pulumi.Input[_builtins.int]] = None,
1111
1177
  resource_limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecResourceLimitArgs', 'OceanLaunchSpecResourceLimitArgsDict']]]]] = None,
1112
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1113
- root_volume_size: Optional[pulumi.Input[int]] = None,
1178
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
1179
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1114
1180
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1115
1181
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1116
- security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1182
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1183
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1117
1184
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1118
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1185
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1119
1186
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
1120
1187
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1121
1188
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
1122
- user_data: Optional[pulumi.Input[str]] = None,
1189
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
1123
1190
  __props__=None):
1124
1191
  """
1125
1192
  Manages a Spotinst Ocean AWS [Virtual Node Group](https://docs.spot.io/ocean/features/launch-specifications) resource.
@@ -1136,36 +1203,38 @@ class OceanLaunchSpec(pulumi.CustomResource):
1136
1203
 
1137
1204
  :param str resource_name: The name of the resource.
1138
1205
  :param pulumi.ResourceOptions opts: Options for the resource.
1139
- :param pulumi.Input[bool] associate_public_ip_address: Configure public IP address allocation.
1206
+ :param pulumi.Input[_builtins.bool] associate_public_ip_address: Configure public IP address allocation.
1140
1207
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleDownArgs', 'OceanLaunchSpecAutoscaleDownArgsDict']]]] autoscale_downs: Auto Scaling scale down operations.
1141
1208
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
1142
1209
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
1143
1210
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecBlockDeviceMappingArgs', 'OceanLaunchSpecBlockDeviceMappingArgsDict']]]] block_device_mappings: Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
1144
1211
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecElasticIpPoolArgs', 'OceanLaunchSpecElasticIpPoolArgsDict']]]] elastic_ip_pools: Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
1145
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
1146
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
1212
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
1213
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
1147
1214
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]] images: Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
1148
1215
  For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
1149
1216
  :param pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
1150
1217
  :param pulumi.Input[Union['OceanLaunchSpecInstanceStorePolicyArgs', 'OceanLaunchSpecInstanceStorePolicyArgsDict']] instance_store_policy: Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
1151
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
1218
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
1152
1219
  :param pulumi.Input[Union['OceanLaunchSpecInstanceTypesFiltersArgs', 'OceanLaunchSpecInstanceTypesFiltersArgsDict']] instance_types_filters: The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
1153
1220
  The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
1154
1221
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in the cluster.
1155
- :param pulumi.Input[str] name: The name of the Virtual Node Group.
1156
- :param pulumi.Input[str] ocean_id: The ID of the Ocean cluster.
1157
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1158
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1159
- :param pulumi.Input[int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
1160
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1161
- :param pulumi.Input[int] root_volume_size: Set root volume size (in GB).
1222
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLoadBalancerArgs', 'OceanLaunchSpecLoadBalancerArgsDict']]]] load_balancers: Array of load balancer objects to add to VNG
1223
+ :param pulumi.Input[_builtins.str] name: The name of the Virtual Node Group.
1224
+ :param pulumi.Input[_builtins.str] ocean_id: The ID of the Ocean cluster.
1225
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1226
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1227
+ :param pulumi.Input[_builtins.int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
1228
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1229
+ :param pulumi.Input[_builtins.int] root_volume_size: Set root volume size (in GB).
1162
1230
  :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.
1163
1231
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1164
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Optionally adds security group IDs.
1165
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs.
1232
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_groups: Optionally adds security group IDs.
1233
+ :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.
1234
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: A list of subnet IDs.
1166
1235
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
1167
1236
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in the cluster.
1168
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
1237
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
1169
1238
  """
1170
1239
  ...
1171
1240
  @overload
@@ -1201,7 +1270,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1201
1270
  def _internal_init(__self__,
1202
1271
  resource_name: str,
1203
1272
  opts: Optional[pulumi.ResourceOptions] = None,
1204
- associate_public_ip_address: Optional[pulumi.Input[bool]] = None,
1273
+ associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
1205
1274
  autoscale_downs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleDownArgs', 'OceanLaunchSpecAutoscaleDownArgsDict']]]]] = None,
1206
1275
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1207
1276
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
@@ -1210,31 +1279,33 @@ class OceanLaunchSpec(pulumi.CustomResource):
1210
1279
  delete_options: Optional[pulumi.Input[Union['OceanLaunchSpecDeleteOptionsArgs', 'OceanLaunchSpecDeleteOptionsArgsDict']]] = None,
1211
1280
  elastic_ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecElasticIpPoolArgs', 'OceanLaunchSpecElasticIpPoolArgsDict']]]]] = None,
1212
1281
  ephemeral_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecEphemeralStorageArgs', 'OceanLaunchSpecEphemeralStorageArgsDict']]]]] = None,
1213
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
1214
- image_id: Optional[pulumi.Input[str]] = None,
1282
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
1283
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
1215
1284
  images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
1216
1285
  instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
1217
1286
  instance_store_policy: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceStorePolicyArgs', 'OceanLaunchSpecInstanceStorePolicyArgsDict']]] = None,
1218
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1287
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1219
1288
  instance_types_filters: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceTypesFiltersArgs', 'OceanLaunchSpecInstanceTypesFiltersArgsDict']]] = None,
1220
1289
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1221
- name: Optional[pulumi.Input[str]] = None,
1222
- ocean_id: Optional[pulumi.Input[str]] = None,
1223
- preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1224
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1225
- reserved_enis: Optional[pulumi.Input[int]] = None,
1290
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLoadBalancerArgs', 'OceanLaunchSpecLoadBalancerArgsDict']]]]] = None,
1291
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1292
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1293
+ preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1294
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1295
+ reserved_enis: Optional[pulumi.Input[_builtins.int]] = None,
1226
1296
  resource_limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecResourceLimitArgs', 'OceanLaunchSpecResourceLimitArgsDict']]]]] = None,
1227
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1228
- root_volume_size: Optional[pulumi.Input[int]] = None,
1297
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
1298
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1229
1299
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1230
1300
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1231
- security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1301
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1302
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1232
1303
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1233
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1304
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1234
1305
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
1235
1306
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1236
1307
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
1237
- user_data: Optional[pulumi.Input[str]] = None,
1308
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
1238
1309
  __props__=None):
1239
1310
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1240
1311
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1261,6 +1332,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1261
1332
  __props__.__dict__["instance_types"] = instance_types
1262
1333
  __props__.__dict__["instance_types_filters"] = instance_types_filters
1263
1334
  __props__.__dict__["labels"] = labels
1335
+ __props__.__dict__["load_balancers"] = load_balancers
1264
1336
  __props__.__dict__["name"] = name
1265
1337
  if ocean_id is None and not opts.urn:
1266
1338
  raise TypeError("Missing required property 'ocean_id'")
@@ -1274,6 +1346,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1274
1346
  __props__.__dict__["scheduling_shutdown_hours"] = scheduling_shutdown_hours
1275
1347
  __props__.__dict__["scheduling_tasks"] = scheduling_tasks
1276
1348
  __props__.__dict__["security_groups"] = security_groups
1349
+ __props__.__dict__["startup_taints"] = startup_taints
1277
1350
  __props__.__dict__["strategies"] = strategies
1278
1351
  __props__.__dict__["subnet_ids"] = subnet_ids
1279
1352
  __props__.__dict__["tags"] = tags
@@ -1290,7 +1363,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1290
1363
  def get(resource_name: str,
1291
1364
  id: pulumi.Input[str],
1292
1365
  opts: Optional[pulumi.ResourceOptions] = None,
1293
- associate_public_ip_address: Optional[pulumi.Input[bool]] = None,
1366
+ associate_public_ip_address: Optional[pulumi.Input[_builtins.bool]] = None,
1294
1367
  autoscale_downs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleDownArgs', 'OceanLaunchSpecAutoscaleDownArgsDict']]]]] = None,
1295
1368
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1296
1369
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
@@ -1299,31 +1372,33 @@ class OceanLaunchSpec(pulumi.CustomResource):
1299
1372
  delete_options: Optional[pulumi.Input[Union['OceanLaunchSpecDeleteOptionsArgs', 'OceanLaunchSpecDeleteOptionsArgsDict']]] = None,
1300
1373
  elastic_ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecElasticIpPoolArgs', 'OceanLaunchSpecElasticIpPoolArgsDict']]]]] = None,
1301
1374
  ephemeral_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecEphemeralStorageArgs', 'OceanLaunchSpecEphemeralStorageArgsDict']]]]] = None,
1302
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
1303
- image_id: Optional[pulumi.Input[str]] = None,
1375
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
1376
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
1304
1377
  images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
1305
1378
  instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
1306
1379
  instance_store_policy: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceStorePolicyArgs', 'OceanLaunchSpecInstanceStorePolicyArgsDict']]] = None,
1307
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1380
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1308
1381
  instance_types_filters: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceTypesFiltersArgs', 'OceanLaunchSpecInstanceTypesFiltersArgsDict']]] = None,
1309
1382
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1310
- name: Optional[pulumi.Input[str]] = None,
1311
- ocean_id: Optional[pulumi.Input[str]] = None,
1312
- preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1313
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1314
- reserved_enis: Optional[pulumi.Input[int]] = None,
1383
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLoadBalancerArgs', 'OceanLaunchSpecLoadBalancerArgsDict']]]]] = None,
1384
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1385
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1386
+ preferred_od_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1387
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1388
+ reserved_enis: Optional[pulumi.Input[_builtins.int]] = None,
1315
1389
  resource_limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecResourceLimitArgs', 'OceanLaunchSpecResourceLimitArgsDict']]]]] = None,
1316
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1317
- root_volume_size: Optional[pulumi.Input[int]] = None,
1390
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
1391
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1318
1392
  scheduling_shutdown_hours: Optional[pulumi.Input[Union['OceanLaunchSpecSchedulingShutdownHoursArgs', 'OceanLaunchSpecSchedulingShutdownHoursArgsDict']]] = None,
1319
1393
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1320
- security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1394
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1395
+ startup_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStartupTaintArgs', 'OceanLaunchSpecStartupTaintArgsDict']]]]] = None,
1321
1396
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1322
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1397
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1323
1398
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
1324
1399
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1325
1400
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
1326
- user_data: Optional[pulumi.Input[str]] = None) -> 'OceanLaunchSpec':
1401
+ user_data: Optional[pulumi.Input[_builtins.str]] = None) -> 'OceanLaunchSpec':
1327
1402
  """
1328
1403
  Get an existing OceanLaunchSpec resource's state with the given name, id, and optional extra
1329
1404
  properties used to qualify the lookup.
@@ -1331,36 +1406,38 @@ class OceanLaunchSpec(pulumi.CustomResource):
1331
1406
  :param str resource_name: The unique name of the resulting resource.
1332
1407
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1333
1408
  :param pulumi.ResourceOptions opts: Options for the resource.
1334
- :param pulumi.Input[bool] associate_public_ip_address: Configure public IP address allocation.
1409
+ :param pulumi.Input[_builtins.bool] associate_public_ip_address: Configure public IP address allocation.
1335
1410
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleDownArgs', 'OceanLaunchSpecAutoscaleDownArgsDict']]]] autoscale_downs: Auto Scaling scale down operations.
1336
1411
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
1337
1412
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
1338
1413
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecBlockDeviceMappingArgs', 'OceanLaunchSpecBlockDeviceMappingArgsDict']]]] block_device_mappings: Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
1339
1414
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecElasticIpPoolArgs', 'OceanLaunchSpecElasticIpPoolArgsDict']]]] elastic_ip_pools: Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
1340
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
1341
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
1415
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
1416
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
1342
1417
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]] images: Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
1343
1418
  For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
1344
1419
  :param pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
1345
1420
  :param pulumi.Input[Union['OceanLaunchSpecInstanceStorePolicyArgs', 'OceanLaunchSpecInstanceStorePolicyArgsDict']] instance_store_policy: Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
1346
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
1421
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
1347
1422
  :param pulumi.Input[Union['OceanLaunchSpecInstanceTypesFiltersArgs', 'OceanLaunchSpecInstanceTypesFiltersArgsDict']] instance_types_filters: The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
1348
1423
  The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
1349
1424
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in the cluster.
1350
- :param pulumi.Input[str] name: The name of the Virtual Node Group.
1351
- :param pulumi.Input[str] ocean_id: The ID of the Ocean cluster.
1352
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1353
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1354
- :param pulumi.Input[int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
1355
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1356
- :param pulumi.Input[int] root_volume_size: Set root volume size (in GB).
1425
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLoadBalancerArgs', 'OceanLaunchSpecLoadBalancerArgsDict']]]] load_balancers: Array of load balancer objects to add to VNG
1426
+ :param pulumi.Input[_builtins.str] name: The name of the Virtual Node Group.
1427
+ :param pulumi.Input[_builtins.str] ocean_id: The ID of the Ocean cluster.
1428
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_od_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1429
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1430
+ :param pulumi.Input[_builtins.int] reserved_enis: Specifies the count of ENIs to reserve per instance type for scaling purposes.
1431
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1432
+ :param pulumi.Input[_builtins.int] root_volume_size: Set root volume size (in GB).
1357
1433
  :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.
1358
1434
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1359
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Optionally adds security group IDs.
1360
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs.
1435
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_groups: Optionally adds security group IDs.
1436
+ :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.
1437
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: A list of subnet IDs.
1361
1438
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
1362
1439
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in the cluster.
1363
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
1440
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
1364
1441
  """
1365
1442
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1366
1443
 
@@ -1383,6 +1460,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1383
1460
  __props__.__dict__["instance_types"] = instance_types
1384
1461
  __props__.__dict__["instance_types_filters"] = instance_types_filters
1385
1462
  __props__.__dict__["labels"] = labels
1463
+ __props__.__dict__["load_balancers"] = load_balancers
1386
1464
  __props__.__dict__["name"] = name
1387
1465
  __props__.__dict__["ocean_id"] = ocean_id
1388
1466
  __props__.__dict__["preferred_od_types"] = preferred_od_types
@@ -1394,6 +1472,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1394
1472
  __props__.__dict__["scheduling_shutdown_hours"] = scheduling_shutdown_hours
1395
1473
  __props__.__dict__["scheduling_tasks"] = scheduling_tasks
1396
1474
  __props__.__dict__["security_groups"] = security_groups
1475
+ __props__.__dict__["startup_taints"] = startup_taints
1397
1476
  __props__.__dict__["strategies"] = strategies
1398
1477
  __props__.__dict__["subnet_ids"] = subnet_ids
1399
1478
  __props__.__dict__["tags"] = tags
@@ -1402,15 +1481,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1402
1481
  __props__.__dict__["user_data"] = user_data
1403
1482
  return OceanLaunchSpec(resource_name, opts=opts, __props__=__props__)
1404
1483
 
1405
- @property
1484
+ @_builtins.property
1406
1485
  @pulumi.getter(name="associatePublicIpAddress")
1407
- def associate_public_ip_address(self) -> pulumi.Output[Optional[bool]]:
1486
+ def associate_public_ip_address(self) -> pulumi.Output[Optional[_builtins.bool]]:
1408
1487
  """
1409
1488
  Configure public IP address allocation.
1410
1489
  """
1411
1490
  return pulumi.get(self, "associate_public_ip_address")
1412
1491
 
1413
- @property
1492
+ @_builtins.property
1414
1493
  @pulumi.getter(name="autoscaleDowns")
1415
1494
  def autoscale_downs(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleDown']]]:
1416
1495
  """
@@ -1418,7 +1497,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1418
1497
  """
1419
1498
  return pulumi.get(self, "autoscale_downs")
1420
1499
 
1421
- @property
1500
+ @_builtins.property
1422
1501
  @pulumi.getter(name="autoscaleHeadrooms")
1423
1502
  def autoscale_headrooms(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroom']]]:
1424
1503
  """
@@ -1426,7 +1505,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1426
1505
  """
1427
1506
  return pulumi.get(self, "autoscale_headrooms")
1428
1507
 
1429
- @property
1508
+ @_builtins.property
1430
1509
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
1431
1510
  def autoscale_headrooms_automatics(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic']]]:
1432
1511
  """
@@ -1434,7 +1513,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1434
1513
  """
1435
1514
  return pulumi.get(self, "autoscale_headrooms_automatics")
1436
1515
 
1437
- @property
1516
+ @_builtins.property
1438
1517
  @pulumi.getter(name="blockDeviceMappings")
1439
1518
  def block_device_mappings(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecBlockDeviceMapping']]]:
1440
1519
  """
@@ -1442,17 +1521,17 @@ class OceanLaunchSpec(pulumi.CustomResource):
1442
1521
  """
1443
1522
  return pulumi.get(self, "block_device_mappings")
1444
1523
 
1445
- @property
1524
+ @_builtins.property
1446
1525
  @pulumi.getter(name="createOptions")
1447
1526
  def create_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecCreateOptions']]:
1448
1527
  return pulumi.get(self, "create_options")
1449
1528
 
1450
- @property
1529
+ @_builtins.property
1451
1530
  @pulumi.getter(name="deleteOptions")
1452
1531
  def delete_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecDeleteOptions']]:
1453
1532
  return pulumi.get(self, "delete_options")
1454
1533
 
1455
- @property
1534
+ @_builtins.property
1456
1535
  @pulumi.getter(name="elasticIpPools")
1457
1536
  def elastic_ip_pools(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecElasticIpPool']]]:
1458
1537
  """
@@ -1460,28 +1539,28 @@ class OceanLaunchSpec(pulumi.CustomResource):
1460
1539
  """
1461
1540
  return pulumi.get(self, "elastic_ip_pools")
1462
1541
 
1463
- @property
1542
+ @_builtins.property
1464
1543
  @pulumi.getter(name="ephemeralStorages")
1465
1544
  def ephemeral_storages(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecEphemeralStorage']]]:
1466
1545
  return pulumi.get(self, "ephemeral_storages")
1467
1546
 
1468
- @property
1547
+ @_builtins.property
1469
1548
  @pulumi.getter(name="iamInstanceProfile")
1470
- def iam_instance_profile(self) -> pulumi.Output[Optional[str]]:
1549
+ def iam_instance_profile(self) -> pulumi.Output[Optional[_builtins.str]]:
1471
1550
  """
1472
1551
  The ARN or name of an IAM instance profile to associate with launched instances.
1473
1552
  """
1474
1553
  return pulumi.get(self, "iam_instance_profile")
1475
1554
 
1476
- @property
1555
+ @_builtins.property
1477
1556
  @pulumi.getter(name="imageId")
1478
- def image_id(self) -> pulumi.Output[Optional[str]]:
1557
+ def image_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1479
1558
  """
1480
1559
  ID of the image used to launch the instances.
1481
1560
  """
1482
1561
  return pulumi.get(self, "image_id")
1483
1562
 
1484
- @property
1563
+ @_builtins.property
1485
1564
  @pulumi.getter
1486
1565
  def images(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecImage']]]:
1487
1566
  """
@@ -1490,7 +1569,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1490
1569
  """
1491
1570
  return pulumi.get(self, "images")
1492
1571
 
1493
- @property
1572
+ @_builtins.property
1494
1573
  @pulumi.getter(name="instanceMetadataOptions")
1495
1574
  def instance_metadata_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecInstanceMetadataOptions']]:
1496
1575
  """
@@ -1498,7 +1577,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1498
1577
  """
1499
1578
  return pulumi.get(self, "instance_metadata_options")
1500
1579
 
1501
- @property
1580
+ @_builtins.property
1502
1581
  @pulumi.getter(name="instanceStorePolicy")
1503
1582
  def instance_store_policy(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecInstanceStorePolicy']]:
1504
1583
  """
@@ -1506,15 +1585,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1506
1585
  """
1507
1586
  return pulumi.get(self, "instance_store_policy")
1508
1587
 
1509
- @property
1588
+ @_builtins.property
1510
1589
  @pulumi.getter(name="instanceTypes")
1511
- def instance_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1590
+ def instance_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1512
1591
  """
1513
1592
  A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
1514
1593
  """
1515
1594
  return pulumi.get(self, "instance_types")
1516
1595
 
1517
- @property
1596
+ @_builtins.property
1518
1597
  @pulumi.getter(name="instanceTypesFilters")
1519
1598
  def instance_types_filters(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecInstanceTypesFilters']]:
1520
1599
  """
@@ -1523,7 +1602,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1523
1602
  """
1524
1603
  return pulumi.get(self, "instance_types_filters")
1525
1604
 
1526
- @property
1605
+ @_builtins.property
1527
1606
  @pulumi.getter
1528
1607
  def labels(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecLabel']]]:
1529
1608
  """
@@ -1531,68 +1610,76 @@ class OceanLaunchSpec(pulumi.CustomResource):
1531
1610
  """
1532
1611
  return pulumi.get(self, "labels")
1533
1612
 
1534
- @property
1613
+ @_builtins.property
1614
+ @pulumi.getter(name="loadBalancers")
1615
+ def load_balancers(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecLoadBalancer']]]:
1616
+ """
1617
+ Array of load balancer objects to add to VNG
1618
+ """
1619
+ return pulumi.get(self, "load_balancers")
1620
+
1621
+ @_builtins.property
1535
1622
  @pulumi.getter
1536
- def name(self) -> pulumi.Output[str]:
1623
+ def name(self) -> pulumi.Output[_builtins.str]:
1537
1624
  """
1538
1625
  The name of the Virtual Node Group.
1539
1626
  """
1540
1627
  return pulumi.get(self, "name")
1541
1628
 
1542
- @property
1629
+ @_builtins.property
1543
1630
  @pulumi.getter(name="oceanId")
1544
- def ocean_id(self) -> pulumi.Output[str]:
1631
+ def ocean_id(self) -> pulumi.Output[_builtins.str]:
1545
1632
  """
1546
1633
  The ID of the Ocean cluster.
1547
1634
  """
1548
1635
  return pulumi.get(self, "ocean_id")
1549
1636
 
1550
- @property
1637
+ @_builtins.property
1551
1638
  @pulumi.getter(name="preferredOdTypes")
1552
- def preferred_od_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1639
+ def preferred_od_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1553
1640
  """
1554
1641
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1555
1642
  """
1556
1643
  return pulumi.get(self, "preferred_od_types")
1557
1644
 
1558
- @property
1645
+ @_builtins.property
1559
1646
  @pulumi.getter(name="preferredSpotTypes")
1560
- def preferred_spot_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1647
+ def preferred_spot_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1561
1648
  """
1562
1649
  A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1563
1650
  """
1564
1651
  return pulumi.get(self, "preferred_spot_types")
1565
1652
 
1566
- @property
1653
+ @_builtins.property
1567
1654
  @pulumi.getter(name="reservedEnis")
1568
- def reserved_enis(self) -> pulumi.Output[Optional[int]]:
1655
+ def reserved_enis(self) -> pulumi.Output[Optional[_builtins.int]]:
1569
1656
  """
1570
1657
  Specifies the count of ENIs to reserve per instance type for scaling purposes.
1571
1658
  """
1572
1659
  return pulumi.get(self, "reserved_enis")
1573
1660
 
1574
- @property
1661
+ @_builtins.property
1575
1662
  @pulumi.getter(name="resourceLimits")
1576
1663
  def resource_limits(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecResourceLimit']]]:
1577
1664
  return pulumi.get(self, "resource_limits")
1578
1665
 
1579
- @property
1666
+ @_builtins.property
1580
1667
  @pulumi.getter(name="restrictScaleDown")
1581
- def restrict_scale_down(self) -> pulumi.Output[Optional[bool]]:
1668
+ def restrict_scale_down(self) -> pulumi.Output[Optional[_builtins.bool]]:
1582
1669
  """
1583
1670
  Boolean. When set to `true`, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1584
1671
  """
1585
1672
  return pulumi.get(self, "restrict_scale_down")
1586
1673
 
1587
- @property
1674
+ @_builtins.property
1588
1675
  @pulumi.getter(name="rootVolumeSize")
1589
- def root_volume_size(self) -> pulumi.Output[Optional[int]]:
1676
+ def root_volume_size(self) -> pulumi.Output[Optional[_builtins.int]]:
1590
1677
  """
1591
1678
  Set root volume size (in GB).
1592
1679
  """
1593
1680
  return pulumi.get(self, "root_volume_size")
1594
1681
 
1595
- @property
1682
+ @_builtins.property
1596
1683
  @pulumi.getter(name="schedulingShutdownHours")
1597
1684
  def scheduling_shutdown_hours(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecSchedulingShutdownHours']]:
1598
1685
  """
@@ -1600,7 +1687,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1600
1687
  """
1601
1688
  return pulumi.get(self, "scheduling_shutdown_hours")
1602
1689
 
1603
- @property
1690
+ @_builtins.property
1604
1691
  @pulumi.getter(name="schedulingTasks")
1605
1692
  def scheduling_tasks(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecSchedulingTask']]]:
1606
1693
  """
@@ -1608,28 +1695,36 @@ class OceanLaunchSpec(pulumi.CustomResource):
1608
1695
  """
1609
1696
  return pulumi.get(self, "scheduling_tasks")
1610
1697
 
1611
- @property
1698
+ @_builtins.property
1612
1699
  @pulumi.getter(name="securityGroups")
1613
- def security_groups(self) -> pulumi.Output[Optional[Sequence[str]]]:
1700
+ def security_groups(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1614
1701
  """
1615
1702
  Optionally adds security group IDs.
1616
1703
  """
1617
1704
  return pulumi.get(self, "security_groups")
1618
1705
 
1619
- @property
1706
+ @_builtins.property
1707
+ @pulumi.getter(name="startupTaints")
1708
+ def startup_taints(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStartupTaint']]]:
1709
+ """
1710
+ 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.
1711
+ """
1712
+ return pulumi.get(self, "startup_taints")
1713
+
1714
+ @_builtins.property
1620
1715
  @pulumi.getter
1621
1716
  def strategies(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStrategy']]]:
1622
1717
  return pulumi.get(self, "strategies")
1623
1718
 
1624
- @property
1719
+ @_builtins.property
1625
1720
  @pulumi.getter(name="subnetIds")
1626
- def subnet_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1721
+ def subnet_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1627
1722
  """
1628
1723
  A list of subnet IDs.
1629
1724
  """
1630
1725
  return pulumi.get(self, "subnet_ids")
1631
1726
 
1632
- @property
1727
+ @_builtins.property
1633
1728
  @pulumi.getter
1634
1729
  def tags(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecTag']]]:
1635
1730
  """
@@ -1637,7 +1732,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1637
1732
  """
1638
1733
  return pulumi.get(self, "tags")
1639
1734
 
1640
- @property
1735
+ @_builtins.property
1641
1736
  @pulumi.getter
1642
1737
  def taints(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecTaint']]]:
1643
1738
  """
@@ -1645,14 +1740,14 @@ class OceanLaunchSpec(pulumi.CustomResource):
1645
1740
  """
1646
1741
  return pulumi.get(self, "taints")
1647
1742
 
1648
- @property
1743
+ @_builtins.property
1649
1744
  @pulumi.getter(name="updatePolicy")
1650
1745
  def update_policy(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecUpdatePolicy']]:
1651
1746
  return pulumi.get(self, "update_policy")
1652
1747
 
1653
- @property
1748
+ @_builtins.property
1654
1749
  @pulumi.getter(name="userData")
1655
- def user_data(self) -> pulumi.Output[Optional[str]]:
1750
+ def user_data(self) -> pulumi.Output[Optional[_builtins.str]]:
1656
1751
  """
1657
1752
  Base64-encoded MIME user data to make available to the instances.
1658
1753
  """