pulumi-spotinst 3.83.0a1720524486__py3-none-any.whl → 3.128.0a1767140134__py3-none-any.whl

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