pulumi-spotinst 3.112.0a1741317810__py3-none-any.whl → 3.128.0__py3-none-any.whl

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

Potentially problematic release.


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

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