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,44 +21,44 @@ __all__ = ['OceanLaunchSpecArgs', 'OceanLaunchSpec']
16
21
  @pulumi.input_type
17
22
  class OceanLaunchSpecArgs:
18
23
  def __init__(__self__, *,
19
- ocean_id: pulumi.Input[str],
24
+ ocean_id: pulumi.Input[_builtins.str],
20
25
  attributes: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]] = None,
21
26
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
22
27
  block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]] = None,
23
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
24
- image_id: Optional[pulumi.Input[str]] = None,
28
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
29
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
25
30
  images: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]] = None,
26
31
  instance_metadata_options: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']] = None,
27
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
- name: Optional[pulumi.Input[str]] = None,
29
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
32
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ name: Optional[pulumi.Input[_builtins.str]] = None,
34
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
31
36
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
32
- security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
37
+ security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
38
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
34
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
39
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
40
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
36
- user_data: Optional[pulumi.Input[str]] = None):
41
+ user_data: Optional[pulumi.Input[_builtins.str]] = None):
37
42
  """
38
43
  The set of arguments for constructing a OceanLaunchSpec resource.
39
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID .
44
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID .
40
45
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
41
46
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
42
47
  :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.
43
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
44
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
48
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
49
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
45
50
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
46
51
  :param pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs'] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
47
- :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 Ocean cluster.
48
- :param pulumi.Input[str] name: The Ocean Launch Specification name.
49
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
50
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
52
+ :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 Ocean cluster.
53
+ :param pulumi.Input[_builtins.str] name: The Ocean Launch Specification name.
54
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
55
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
51
56
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
52
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more security group ids.
57
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: One or more security group ids.
53
58
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
54
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
59
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
55
60
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
56
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
61
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
57
62
  """
58
63
  pulumi.set(__self__, "ocean_id", ocean_id)
59
64
  if attributes is not None:
@@ -91,19 +96,19 @@ class OceanLaunchSpecArgs:
91
96
  if user_data is not None:
92
97
  pulumi.set(__self__, "user_data", user_data)
93
98
 
94
- @property
99
+ @_builtins.property
95
100
  @pulumi.getter(name="oceanId")
96
- def ocean_id(self) -> pulumi.Input[str]:
101
+ def ocean_id(self) -> pulumi.Input[_builtins.str]:
97
102
  """
98
103
  The Ocean cluster ID .
99
104
  """
100
105
  return pulumi.get(self, "ocean_id")
101
106
 
102
107
  @ocean_id.setter
103
- def ocean_id(self, value: pulumi.Input[str]):
108
+ def ocean_id(self, value: pulumi.Input[_builtins.str]):
104
109
  pulumi.set(self, "ocean_id", value)
105
110
 
106
- @property
111
+ @_builtins.property
107
112
  @pulumi.getter
108
113
  def attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]]:
109
114
  """
@@ -115,7 +120,7 @@ class OceanLaunchSpecArgs:
115
120
  def attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]]):
116
121
  pulumi.set(self, "attributes", value)
117
122
 
118
- @property
123
+ @_builtins.property
119
124
  @pulumi.getter(name="autoscaleHeadrooms")
120
125
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
121
126
  """
@@ -127,7 +132,7 @@ class OceanLaunchSpecArgs:
127
132
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
128
133
  pulumi.set(self, "autoscale_headrooms", value)
129
134
 
130
- @property
135
+ @_builtins.property
131
136
  @pulumi.getter(name="blockDeviceMappings")
132
137
  def block_device_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]:
133
138
  """
@@ -139,31 +144,31 @@ class OceanLaunchSpecArgs:
139
144
  def block_device_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]):
140
145
  pulumi.set(self, "block_device_mappings", value)
141
146
 
142
- @property
147
+ @_builtins.property
143
148
  @pulumi.getter(name="iamInstanceProfile")
144
- def iam_instance_profile(self) -> Optional[pulumi.Input[str]]:
149
+ def iam_instance_profile(self) -> Optional[pulumi.Input[_builtins.str]]:
145
150
  """
146
151
  The ARN or name of an IAM instance profile to associate with launched instances.
147
152
  """
148
153
  return pulumi.get(self, "iam_instance_profile")
149
154
 
150
155
  @iam_instance_profile.setter
151
- def iam_instance_profile(self, value: Optional[pulumi.Input[str]]):
156
+ def iam_instance_profile(self, value: Optional[pulumi.Input[_builtins.str]]):
152
157
  pulumi.set(self, "iam_instance_profile", value)
153
158
 
154
- @property
159
+ @_builtins.property
155
160
  @pulumi.getter(name="imageId")
156
- def image_id(self) -> Optional[pulumi.Input[str]]:
161
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
157
162
  """
158
163
  ID of the image used to launch the instances.
159
164
  """
160
165
  return pulumi.get(self, "image_id")
161
166
 
162
167
  @image_id.setter
163
- def image_id(self, value: Optional[pulumi.Input[str]]):
168
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
164
169
  pulumi.set(self, "image_id", value)
165
170
 
166
- @property
171
+ @_builtins.property
167
172
  @pulumi.getter
168
173
  def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]:
169
174
  """
@@ -175,7 +180,7 @@ class OceanLaunchSpecArgs:
175
180
  def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]):
176
181
  pulumi.set(self, "images", value)
177
182
 
178
- @property
183
+ @_builtins.property
179
184
  @pulumi.getter(name="instanceMetadataOptions")
180
185
  def instance_metadata_options(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]:
181
186
  """
@@ -187,55 +192,55 @@ class OceanLaunchSpecArgs:
187
192
  def instance_metadata_options(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]):
188
193
  pulumi.set(self, "instance_metadata_options", value)
189
194
 
190
- @property
195
+ @_builtins.property
191
196
  @pulumi.getter(name="instanceTypes")
192
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
197
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
193
198
  """
194
199
  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 Ocean cluster.
195
200
  """
196
201
  return pulumi.get(self, "instance_types")
197
202
 
198
203
  @instance_types.setter
199
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
204
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
200
205
  pulumi.set(self, "instance_types", value)
201
206
 
202
- @property
207
+ @_builtins.property
203
208
  @pulumi.getter
204
- def name(self) -> Optional[pulumi.Input[str]]:
209
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
205
210
  """
206
211
  The Ocean Launch Specification name.
207
212
  """
208
213
  return pulumi.get(self, "name")
209
214
 
210
215
  @name.setter
211
- def name(self, value: Optional[pulumi.Input[str]]):
216
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
212
217
  pulumi.set(self, "name", value)
213
218
 
214
- @property
219
+ @_builtins.property
215
220
  @pulumi.getter(name="preferredSpotTypes")
216
- def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
221
+ def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
217
222
  """
218
223
  When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
219
224
  """
220
225
  return pulumi.get(self, "preferred_spot_types")
221
226
 
222
227
  @preferred_spot_types.setter
223
- def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
228
+ def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
224
229
  pulumi.set(self, "preferred_spot_types", value)
225
230
 
226
- @property
231
+ @_builtins.property
227
232
  @pulumi.getter(name="restrictScaleDown")
228
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
233
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
229
234
  """
230
- Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
235
+ Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
231
236
  """
232
237
  return pulumi.get(self, "restrict_scale_down")
233
238
 
234
239
  @restrict_scale_down.setter
235
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
240
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
236
241
  pulumi.set(self, "restrict_scale_down", value)
237
242
 
238
- @property
243
+ @_builtins.property
239
244
  @pulumi.getter(name="schedulingTasks")
240
245
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
241
246
  """
@@ -247,19 +252,19 @@ class OceanLaunchSpecArgs:
247
252
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
248
253
  pulumi.set(self, "scheduling_tasks", value)
249
254
 
250
- @property
255
+ @_builtins.property
251
256
  @pulumi.getter(name="securityGroupIds")
252
- def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
257
+ def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
253
258
  """
254
259
  One or more security group ids.
255
260
  """
256
261
  return pulumi.get(self, "security_group_ids")
257
262
 
258
263
  @security_group_ids.setter
259
- def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
264
+ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
260
265
  pulumi.set(self, "security_group_ids", value)
261
266
 
262
- @property
267
+ @_builtins.property
263
268
  @pulumi.getter
264
269
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
265
270
  """
@@ -271,19 +276,19 @@ class OceanLaunchSpecArgs:
271
276
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
272
277
  pulumi.set(self, "strategies", value)
273
278
 
274
- @property
279
+ @_builtins.property
275
280
  @pulumi.getter(name="subnetIds")
276
- def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
281
+ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
277
282
  """
278
283
  Set subnets in launchSpec. Each element in the array should be a subnet ID.
279
284
  """
280
285
  return pulumi.get(self, "subnet_ids")
281
286
 
282
287
  @subnet_ids.setter
283
- def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
288
+ def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
284
289
  pulumi.set(self, "subnet_ids", value)
285
290
 
286
- @property
291
+ @_builtins.property
287
292
  @pulumi.getter
288
293
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]:
289
294
  """
@@ -295,16 +300,16 @@ class OceanLaunchSpecArgs:
295
300
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]):
296
301
  pulumi.set(self, "tags", value)
297
302
 
298
- @property
303
+ @_builtins.property
299
304
  @pulumi.getter(name="userData")
300
- def user_data(self) -> Optional[pulumi.Input[str]]:
305
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
301
306
  """
302
307
  Base64-encoded MIME user data to make available to the instances.
303
308
  """
304
309
  return pulumi.get(self, "user_data")
305
310
 
306
311
  @user_data.setter
307
- def user_data(self, value: Optional[pulumi.Input[str]]):
312
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
308
313
  pulumi.set(self, "user_data", value)
309
314
 
310
315
 
@@ -314,41 +319,41 @@ class _OceanLaunchSpecState:
314
319
  attributes: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]] = None,
315
320
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
316
321
  block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]] = None,
317
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
318
- image_id: Optional[pulumi.Input[str]] = None,
322
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
323
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
319
324
  images: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]] = None,
320
325
  instance_metadata_options: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']] = None,
321
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
322
- name: Optional[pulumi.Input[str]] = None,
323
- ocean_id: Optional[pulumi.Input[str]] = None,
324
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
325
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
326
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
327
+ name: Optional[pulumi.Input[_builtins.str]] = None,
328
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
329
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
330
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
326
331
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
327
- security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
332
+ security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
328
333
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
329
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
334
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
330
335
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]] = None,
331
- user_data: Optional[pulumi.Input[str]] = None):
336
+ user_data: Optional[pulumi.Input[_builtins.str]] = None):
332
337
  """
333
338
  Input properties used for looking up and filtering OceanLaunchSpec resources.
334
339
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
335
340
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
336
341
  :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.
337
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
338
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
342
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
343
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
339
344
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
340
345
  :param pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs'] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
341
- :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 Ocean cluster.
342
- :param pulumi.Input[str] name: The Ocean Launch Specification name.
343
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID .
344
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
345
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
346
+ :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 Ocean cluster.
347
+ :param pulumi.Input[_builtins.str] name: The Ocean Launch Specification name.
348
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID .
349
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
350
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
346
351
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
347
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more security group ids.
352
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: One or more security group ids.
348
353
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
349
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
354
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
350
355
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]] tags: A key/value mapping of tags to assign to the resource.
351
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
356
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
352
357
  """
353
358
  if attributes is not None:
354
359
  pulumi.set(__self__, "attributes", attributes)
@@ -387,7 +392,7 @@ class _OceanLaunchSpecState:
387
392
  if user_data is not None:
388
393
  pulumi.set(__self__, "user_data", user_data)
389
394
 
390
- @property
395
+ @_builtins.property
391
396
  @pulumi.getter
392
397
  def attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]]:
393
398
  """
@@ -399,7 +404,7 @@ class _OceanLaunchSpecState:
399
404
  def attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAttributeArgs']]]]):
400
405
  pulumi.set(self, "attributes", value)
401
406
 
402
- @property
407
+ @_builtins.property
403
408
  @pulumi.getter(name="autoscaleHeadrooms")
404
409
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
405
410
  """
@@ -411,7 +416,7 @@ class _OceanLaunchSpecState:
411
416
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
412
417
  pulumi.set(self, "autoscale_headrooms", value)
413
418
 
414
- @property
419
+ @_builtins.property
415
420
  @pulumi.getter(name="blockDeviceMappings")
416
421
  def block_device_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]:
417
422
  """
@@ -423,31 +428,31 @@ class _OceanLaunchSpecState:
423
428
  def block_device_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecBlockDeviceMappingArgs']]]]):
424
429
  pulumi.set(self, "block_device_mappings", value)
425
430
 
426
- @property
431
+ @_builtins.property
427
432
  @pulumi.getter(name="iamInstanceProfile")
428
- def iam_instance_profile(self) -> Optional[pulumi.Input[str]]:
433
+ def iam_instance_profile(self) -> Optional[pulumi.Input[_builtins.str]]:
429
434
  """
430
435
  The ARN or name of an IAM instance profile to associate with launched instances.
431
436
  """
432
437
  return pulumi.get(self, "iam_instance_profile")
433
438
 
434
439
  @iam_instance_profile.setter
435
- def iam_instance_profile(self, value: Optional[pulumi.Input[str]]):
440
+ def iam_instance_profile(self, value: Optional[pulumi.Input[_builtins.str]]):
436
441
  pulumi.set(self, "iam_instance_profile", value)
437
442
 
438
- @property
443
+ @_builtins.property
439
444
  @pulumi.getter(name="imageId")
440
- def image_id(self) -> Optional[pulumi.Input[str]]:
445
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
441
446
  """
442
447
  ID of the image used to launch the instances.
443
448
  """
444
449
  return pulumi.get(self, "image_id")
445
450
 
446
451
  @image_id.setter
447
- def image_id(self, value: Optional[pulumi.Input[str]]):
452
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
448
453
  pulumi.set(self, "image_id", value)
449
454
 
450
- @property
455
+ @_builtins.property
451
456
  @pulumi.getter
452
457
  def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]:
453
458
  """
@@ -459,7 +464,7 @@ class _OceanLaunchSpecState:
459
464
  def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecImageArgs']]]]):
460
465
  pulumi.set(self, "images", value)
461
466
 
462
- @property
467
+ @_builtins.property
463
468
  @pulumi.getter(name="instanceMetadataOptions")
464
469
  def instance_metadata_options(self) -> Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]:
465
470
  """
@@ -471,67 +476,67 @@ class _OceanLaunchSpecState:
471
476
  def instance_metadata_options(self, value: Optional[pulumi.Input['OceanLaunchSpecInstanceMetadataOptionsArgs']]):
472
477
  pulumi.set(self, "instance_metadata_options", value)
473
478
 
474
- @property
479
+ @_builtins.property
475
480
  @pulumi.getter(name="instanceTypes")
476
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
481
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
477
482
  """
478
483
  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 Ocean cluster.
479
484
  """
480
485
  return pulumi.get(self, "instance_types")
481
486
 
482
487
  @instance_types.setter
483
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
488
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
484
489
  pulumi.set(self, "instance_types", value)
485
490
 
486
- @property
491
+ @_builtins.property
487
492
  @pulumi.getter
488
- def name(self) -> Optional[pulumi.Input[str]]:
493
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
489
494
  """
490
495
  The Ocean Launch Specification name.
491
496
  """
492
497
  return pulumi.get(self, "name")
493
498
 
494
499
  @name.setter
495
- def name(self, value: Optional[pulumi.Input[str]]):
500
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
496
501
  pulumi.set(self, "name", value)
497
502
 
498
- @property
503
+ @_builtins.property
499
504
  @pulumi.getter(name="oceanId")
500
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
505
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
501
506
  """
502
507
  The Ocean cluster ID .
503
508
  """
504
509
  return pulumi.get(self, "ocean_id")
505
510
 
506
511
  @ocean_id.setter
507
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
512
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
508
513
  pulumi.set(self, "ocean_id", value)
509
514
 
510
- @property
515
+ @_builtins.property
511
516
  @pulumi.getter(name="preferredSpotTypes")
512
- def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
517
+ def preferred_spot_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
513
518
  """
514
519
  When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
515
520
  """
516
521
  return pulumi.get(self, "preferred_spot_types")
517
522
 
518
523
  @preferred_spot_types.setter
519
- def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
524
+ def preferred_spot_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
520
525
  pulumi.set(self, "preferred_spot_types", value)
521
526
 
522
- @property
527
+ @_builtins.property
523
528
  @pulumi.getter(name="restrictScaleDown")
524
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
529
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
525
530
  """
526
- Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
531
+ Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
527
532
  """
528
533
  return pulumi.get(self, "restrict_scale_down")
529
534
 
530
535
  @restrict_scale_down.setter
531
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
536
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
532
537
  pulumi.set(self, "restrict_scale_down", value)
533
538
 
534
- @property
539
+ @_builtins.property
535
540
  @pulumi.getter(name="schedulingTasks")
536
541
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
537
542
  """
@@ -543,19 +548,19 @@ class _OceanLaunchSpecState:
543
548
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
544
549
  pulumi.set(self, "scheduling_tasks", value)
545
550
 
546
- @property
551
+ @_builtins.property
547
552
  @pulumi.getter(name="securityGroupIds")
548
- def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
553
+ def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
549
554
  """
550
555
  One or more security group ids.
551
556
  """
552
557
  return pulumi.get(self, "security_group_ids")
553
558
 
554
559
  @security_group_ids.setter
555
- def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
560
+ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
556
561
  pulumi.set(self, "security_group_ids", value)
557
562
 
558
- @property
563
+ @_builtins.property
559
564
  @pulumi.getter
560
565
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
561
566
  """
@@ -567,19 +572,19 @@ class _OceanLaunchSpecState:
567
572
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
568
573
  pulumi.set(self, "strategies", value)
569
574
 
570
- @property
575
+ @_builtins.property
571
576
  @pulumi.getter(name="subnetIds")
572
- def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
577
+ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
573
578
  """
574
579
  Set subnets in launchSpec. Each element in the array should be a subnet ID.
575
580
  """
576
581
  return pulumi.get(self, "subnet_ids")
577
582
 
578
583
  @subnet_ids.setter
579
- def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
584
+ def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
580
585
  pulumi.set(self, "subnet_ids", value)
581
586
 
582
- @property
587
+ @_builtins.property
583
588
  @pulumi.getter
584
589
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]:
585
590
  """
@@ -591,42 +596,43 @@ class _OceanLaunchSpecState:
591
596
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTagArgs']]]]):
592
597
  pulumi.set(self, "tags", value)
593
598
 
594
- @property
599
+ @_builtins.property
595
600
  @pulumi.getter(name="userData")
596
- def user_data(self) -> Optional[pulumi.Input[str]]:
601
+ def user_data(self) -> Optional[pulumi.Input[_builtins.str]]:
597
602
  """
598
603
  Base64-encoded MIME user data to make available to the instances.
599
604
  """
600
605
  return pulumi.get(self, "user_data")
601
606
 
602
607
  @user_data.setter
603
- def user_data(self, value: Optional[pulumi.Input[str]]):
608
+ def user_data(self, value: Optional[pulumi.Input[_builtins.str]]):
604
609
  pulumi.set(self, "user_data", value)
605
610
 
606
611
 
612
+ @pulumi.type_token("spotinst:ecs/oceanLaunchSpec:OceanLaunchSpec")
607
613
  class OceanLaunchSpec(pulumi.CustomResource):
608
614
  @overload
609
615
  def __init__(__self__,
610
616
  resource_name: str,
611
617
  opts: Optional[pulumi.ResourceOptions] = None,
612
- attributes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAttributeArgs']]]]] = None,
613
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
614
- block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecBlockDeviceMappingArgs']]]]] = None,
615
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
616
- image_id: Optional[pulumi.Input[str]] = None,
617
- images: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecImageArgs']]]]] = None,
618
- instance_metadata_options: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecInstanceMetadataOptionsArgs']]] = None,
619
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
620
- name: Optional[pulumi.Input[str]] = None,
621
- ocean_id: Optional[pulumi.Input[str]] = None,
622
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
623
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
624
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
625
- security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
626
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
627
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
628
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTagArgs']]]]] = None,
629
- user_data: Optional[pulumi.Input[str]] = None,
618
+ attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAttributeArgs', 'OceanLaunchSpecAttributeArgsDict']]]]] = None,
619
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
620
+ block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecBlockDeviceMappingArgs', 'OceanLaunchSpecBlockDeviceMappingArgsDict']]]]] = None,
621
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
622
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
623
+ images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
624
+ instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
625
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
626
+ name: Optional[pulumi.Input[_builtins.str]] = None,
627
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
628
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
629
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
630
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
631
+ security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
632
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
633
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
634
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
635
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
630
636
  __props__=None):
631
637
  """
632
638
  Manages a custom Spotinst Ocean ECS Launch Spec resource.
@@ -669,81 +675,91 @@ class OceanLaunchSpec(pulumi.CustomResource):
669
675
  "m4.large",
670
676
  "m4.xlarge",
671
677
  ],
672
- block_device_mappings=[spotinst.ecs.OceanLaunchSpecBlockDeviceMappingArgs(
673
- device_name="/dev/xvda1",
674
- ebs=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs(
675
- delete_on_termination=True,
676
- encrypted=False,
677
- volume_type="gp2",
678
- volume_size=50,
679
- throughput=500,
680
- dynamic_volume_size=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
681
- base_size=50,
682
- resource="CPU",
683
- size_per_resource_unit=20,
684
- ),
685
- ),
686
- )],
687
- attributes=[spotinst.ecs.OceanLaunchSpecAttributeArgs(
688
- key="fakeKey",
689
- value="fakeValue",
690
- )],
691
- instance_metadata_options=spotinst.ecs.OceanLaunchSpecInstanceMetadataOptionsArgs(
692
- http_tokens="required",
693
- http_put_response_hop_limit=10,
694
- ),
695
- autoscale_headrooms=[spotinst.ecs.OceanLaunchSpecAutoscaleHeadroomArgs(
696
- num_of_units=5,
697
- cpu_per_unit=1000,
698
- memory_per_unit=2048,
699
- )],
700
- strategies=[spotinst.ecs.OceanLaunchSpecStrategyArgs(
701
- spot_percentage=50,
702
- )],
703
- tags=[spotinst.ecs.OceanLaunchSpecTagArgs(
704
- key="Env",
705
- value="production",
706
- )],
678
+ block_device_mappings=[{
679
+ "device_name": "/dev/xvda1",
680
+ "ebs": {
681
+ "delete_on_termination": True,
682
+ "encrypted": False,
683
+ "volume_type": "gp2",
684
+ "volume_size": 50,
685
+ "throughput": 500,
686
+ "dynamic_volume_size": {
687
+ "base_size": 50,
688
+ "resource": "CPU",
689
+ "size_per_resource_unit": 20,
690
+ },
691
+ },
692
+ }],
693
+ attributes=[{
694
+ "key": "fakeKey",
695
+ "value": "fakeValue",
696
+ }],
697
+ instance_metadata_options={
698
+ "http_tokens": "required",
699
+ "http_put_response_hop_limit": 10,
700
+ },
701
+ autoscale_headrooms=[{
702
+ "num_of_units": 5,
703
+ "cpu_per_unit": 1000,
704
+ "memory_per_unit": 2048,
705
+ }],
706
+ strategies=[{
707
+ "spot_percentage": 50,
708
+ }],
709
+ tags=[{
710
+ "key": "Env",
711
+ "value": "production",
712
+ }],
707
713
  images=[
708
- spotinst.ecs.OceanLaunchSpecImageArgs(
709
- image_id="ami-12345",
710
- ),
711
- spotinst.ecs.OceanLaunchSpecImageArgs(
712
- image_id="ami-67890",
713
- ),
714
+ {
715
+ "image_id": "ami-12345",
716
+ },
717
+ {
718
+ "image_id": "ami-67890",
719
+ },
714
720
  ],
715
- scheduling_tasks=[spotinst.ecs.OceanLaunchSpecSchedulingTaskArgs(
716
- is_enabled=True,
717
- cron_expression="0 1 * * *",
718
- task_type="manualHeadroomUpdate",
719
- task_headrooms=[spotinst.ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
720
- num_of_units=5,
721
- cpu_per_unit=1000,
722
- memory_per_unit=2048,
723
- )],
724
- )])
721
+ scheduling_tasks=[{
722
+ "is_enabled": True,
723
+ "cron_expression": "0 1 * * *",
724
+ "task_type": "manualHeadroomUpdate",
725
+ "task_headrooms": [{
726
+ "num_of_units": 5,
727
+ "cpu_per_unit": 1000,
728
+ "memory_per_unit": 2048,
729
+ }],
730
+ }])
731
+ ```
732
+
733
+ ## Import
734
+
735
+ Launch_Specs can be imported using the Launch_Spec `id`, e.g.,
736
+
737
+ hcl
738
+
739
+ ```sh
740
+ $ pulumi import spotinst:ecs/oceanLaunchSpec:OceanLaunchSpec nameOfTheResource ols-1a2345
725
741
  ```
726
742
 
727
743
  :param str resource_name: The name of the resource.
728
744
  :param pulumi.ResourceOptions opts: Options for the resource.
729
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAttributeArgs']]]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
730
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
731
- :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.
732
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
733
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
734
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecImageArgs']]]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
735
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecInstanceMetadataOptionsArgs']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
736
- :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 Ocean cluster.
737
- :param pulumi.Input[str] name: The Ocean Launch Specification name.
738
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID .
739
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
740
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
741
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
742
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more security group ids.
743
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
744
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
745
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTagArgs']]]] tags: A key/value mapping of tags to assign to the resource.
746
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
745
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAttributeArgs', 'OceanLaunchSpecAttributeArgsDict']]]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
746
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
747
+ :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.
748
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
749
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
750
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
751
+ :param pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
752
+ :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 Ocean cluster.
753
+ :param pulumi.Input[_builtins.str] name: The Ocean Launch Specification name.
754
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID .
755
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
756
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
757
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
758
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: One or more security group ids.
759
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
760
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
761
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
762
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
747
763
  """
748
764
  ...
749
765
  @overload
@@ -792,59 +808,69 @@ class OceanLaunchSpec(pulumi.CustomResource):
792
808
  "m4.large",
793
809
  "m4.xlarge",
794
810
  ],
795
- block_device_mappings=[spotinst.ecs.OceanLaunchSpecBlockDeviceMappingArgs(
796
- device_name="/dev/xvda1",
797
- ebs=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs(
798
- delete_on_termination=True,
799
- encrypted=False,
800
- volume_type="gp2",
801
- volume_size=50,
802
- throughput=500,
803
- dynamic_volume_size=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
804
- base_size=50,
805
- resource="CPU",
806
- size_per_resource_unit=20,
807
- ),
808
- ),
809
- )],
810
- attributes=[spotinst.ecs.OceanLaunchSpecAttributeArgs(
811
- key="fakeKey",
812
- value="fakeValue",
813
- )],
814
- instance_metadata_options=spotinst.ecs.OceanLaunchSpecInstanceMetadataOptionsArgs(
815
- http_tokens="required",
816
- http_put_response_hop_limit=10,
817
- ),
818
- autoscale_headrooms=[spotinst.ecs.OceanLaunchSpecAutoscaleHeadroomArgs(
819
- num_of_units=5,
820
- cpu_per_unit=1000,
821
- memory_per_unit=2048,
822
- )],
823
- strategies=[spotinst.ecs.OceanLaunchSpecStrategyArgs(
824
- spot_percentage=50,
825
- )],
826
- tags=[spotinst.ecs.OceanLaunchSpecTagArgs(
827
- key="Env",
828
- value="production",
829
- )],
811
+ block_device_mappings=[{
812
+ "device_name": "/dev/xvda1",
813
+ "ebs": {
814
+ "delete_on_termination": True,
815
+ "encrypted": False,
816
+ "volume_type": "gp2",
817
+ "volume_size": 50,
818
+ "throughput": 500,
819
+ "dynamic_volume_size": {
820
+ "base_size": 50,
821
+ "resource": "CPU",
822
+ "size_per_resource_unit": 20,
823
+ },
824
+ },
825
+ }],
826
+ attributes=[{
827
+ "key": "fakeKey",
828
+ "value": "fakeValue",
829
+ }],
830
+ instance_metadata_options={
831
+ "http_tokens": "required",
832
+ "http_put_response_hop_limit": 10,
833
+ },
834
+ autoscale_headrooms=[{
835
+ "num_of_units": 5,
836
+ "cpu_per_unit": 1000,
837
+ "memory_per_unit": 2048,
838
+ }],
839
+ strategies=[{
840
+ "spot_percentage": 50,
841
+ }],
842
+ tags=[{
843
+ "key": "Env",
844
+ "value": "production",
845
+ }],
830
846
  images=[
831
- spotinst.ecs.OceanLaunchSpecImageArgs(
832
- image_id="ami-12345",
833
- ),
834
- spotinst.ecs.OceanLaunchSpecImageArgs(
835
- image_id="ami-67890",
836
- ),
847
+ {
848
+ "image_id": "ami-12345",
849
+ },
850
+ {
851
+ "image_id": "ami-67890",
852
+ },
837
853
  ],
838
- scheduling_tasks=[spotinst.ecs.OceanLaunchSpecSchedulingTaskArgs(
839
- is_enabled=True,
840
- cron_expression="0 1 * * *",
841
- task_type="manualHeadroomUpdate",
842
- task_headrooms=[spotinst.ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
843
- num_of_units=5,
844
- cpu_per_unit=1000,
845
- memory_per_unit=2048,
846
- )],
847
- )])
854
+ scheduling_tasks=[{
855
+ "is_enabled": True,
856
+ "cron_expression": "0 1 * * *",
857
+ "task_type": "manualHeadroomUpdate",
858
+ "task_headrooms": [{
859
+ "num_of_units": 5,
860
+ "cpu_per_unit": 1000,
861
+ "memory_per_unit": 2048,
862
+ }],
863
+ }])
864
+ ```
865
+
866
+ ## Import
867
+
868
+ Launch_Specs can be imported using the Launch_Spec `id`, e.g.,
869
+
870
+ hcl
871
+
872
+ ```sh
873
+ $ pulumi import spotinst:ecs/oceanLaunchSpec:OceanLaunchSpec nameOfTheResource ols-1a2345
848
874
  ```
849
875
 
850
876
  :param str resource_name: The name of the resource.
@@ -862,24 +888,24 @@ class OceanLaunchSpec(pulumi.CustomResource):
862
888
  def _internal_init(__self__,
863
889
  resource_name: str,
864
890
  opts: Optional[pulumi.ResourceOptions] = None,
865
- attributes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAttributeArgs']]]]] = None,
866
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
867
- block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecBlockDeviceMappingArgs']]]]] = None,
868
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
869
- image_id: Optional[pulumi.Input[str]] = None,
870
- images: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecImageArgs']]]]] = None,
871
- instance_metadata_options: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecInstanceMetadataOptionsArgs']]] = None,
872
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
873
- name: Optional[pulumi.Input[str]] = None,
874
- ocean_id: Optional[pulumi.Input[str]] = None,
875
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
876
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
877
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
878
- security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
879
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
880
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
881
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTagArgs']]]]] = None,
882
- user_data: Optional[pulumi.Input[str]] = None,
891
+ attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAttributeArgs', 'OceanLaunchSpecAttributeArgsDict']]]]] = None,
892
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
893
+ block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecBlockDeviceMappingArgs', 'OceanLaunchSpecBlockDeviceMappingArgsDict']]]]] = None,
894
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
895
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
896
+ images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
897
+ instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
898
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
899
+ name: Optional[pulumi.Input[_builtins.str]] = None,
900
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
901
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
902
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
903
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
904
+ security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
905
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
906
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
907
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
908
+ user_data: Optional[pulumi.Input[_builtins.str]] = None,
883
909
  __props__=None):
884
910
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
885
911
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -919,24 +945,24 @@ class OceanLaunchSpec(pulumi.CustomResource):
919
945
  def get(resource_name: str,
920
946
  id: pulumi.Input[str],
921
947
  opts: Optional[pulumi.ResourceOptions] = None,
922
- attributes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAttributeArgs']]]]] = None,
923
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
924
- block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecBlockDeviceMappingArgs']]]]] = None,
925
- iam_instance_profile: Optional[pulumi.Input[str]] = None,
926
- image_id: Optional[pulumi.Input[str]] = None,
927
- images: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecImageArgs']]]]] = None,
928
- instance_metadata_options: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecInstanceMetadataOptionsArgs']]] = None,
929
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
930
- name: Optional[pulumi.Input[str]] = None,
931
- ocean_id: Optional[pulumi.Input[str]] = None,
932
- preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
933
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
934
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
935
- security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
936
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
937
- subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
938
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTagArgs']]]]] = None,
939
- user_data: Optional[pulumi.Input[str]] = None) -> 'OceanLaunchSpec':
948
+ attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAttributeArgs', 'OceanLaunchSpecAttributeArgsDict']]]]] = None,
949
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
950
+ block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecBlockDeviceMappingArgs', 'OceanLaunchSpecBlockDeviceMappingArgsDict']]]]] = None,
951
+ iam_instance_profile: Optional[pulumi.Input[_builtins.str]] = None,
952
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
953
+ images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]]] = None,
954
+ instance_metadata_options: Optional[pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']]] = None,
955
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
956
+ name: Optional[pulumi.Input[_builtins.str]] = None,
957
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
958
+ preferred_spot_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
959
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
960
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
961
+ security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
962
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
963
+ subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
964
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]]] = None,
965
+ user_data: Optional[pulumi.Input[_builtins.str]] = None) -> 'OceanLaunchSpec':
940
966
  """
941
967
  Get an existing OceanLaunchSpec resource's state with the given name, id, and optional extra
942
968
  properties used to qualify the lookup.
@@ -944,24 +970,24 @@ class OceanLaunchSpec(pulumi.CustomResource):
944
970
  :param str resource_name: The unique name of the resulting resource.
945
971
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
946
972
  :param pulumi.ResourceOptions opts: Options for the resource.
947
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAttributeArgs']]]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
948
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
949
- :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.
950
- :param pulumi.Input[str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
951
- :param pulumi.Input[str] image_id: ID of the image used to launch the instances.
952
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecImageArgs']]]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
953
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecInstanceMetadataOptionsArgs']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
954
- :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 Ocean cluster.
955
- :param pulumi.Input[str] name: The Ocean Launch Specification name.
956
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID .
957
- :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
958
- :param pulumi.Input[bool] restrict_scale_down: Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
959
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
960
- :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more security group ids.
961
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
962
- :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
963
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTagArgs']]]] tags: A key/value mapping of tags to assign to the resource.
964
- :param pulumi.Input[str] user_data: Base64-encoded MIME user data to make available to the instances.
973
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAttributeArgs', 'OceanLaunchSpecAttributeArgsDict']]]] attributes: Optionally adds labels to instances launched in an Ocean cluster.
974
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
975
+ :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.
976
+ :param pulumi.Input[_builtins.str] iam_instance_profile: The ARN or name of an IAM instance profile to associate with launched instances.
977
+ :param pulumi.Input[_builtins.str] image_id: ID of the image used to launch the instances.
978
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecImageArgs', 'OceanLaunchSpecImageArgsDict']]]] images: You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
979
+ :param pulumi.Input[Union['OceanLaunchSpecInstanceMetadataOptionsArgs', 'OceanLaunchSpecInstanceMetadataOptionsArgsDict']] instance_metadata_options: Ocean instance metadata options object for IMDSv2.
980
+ :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 Ocean cluster.
981
+ :param pulumi.Input[_builtins.str] name: The Ocean Launch Specification name.
982
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID .
983
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] preferred_spot_types: When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
984
+ :param pulumi.Input[_builtins.bool] restrict_scale_down: Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
985
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
986
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: One or more security group ids.
987
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
988
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] subnet_ids: Set subnets in launchSpec. Each element in the array should be a subnet ID.
989
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTagArgs', 'OceanLaunchSpecTagArgsDict']]]] tags: A key/value mapping of tags to assign to the resource.
990
+ :param pulumi.Input[_builtins.str] user_data: Base64-encoded MIME user data to make available to the instances.
965
991
  """
966
992
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
967
993
 
@@ -987,7 +1013,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
987
1013
  __props__.__dict__["user_data"] = user_data
988
1014
  return OceanLaunchSpec(resource_name, opts=opts, __props__=__props__)
989
1015
 
990
- @property
1016
+ @_builtins.property
991
1017
  @pulumi.getter
992
1018
  def attributes(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAttribute']]]:
993
1019
  """
@@ -995,7 +1021,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
995
1021
  """
996
1022
  return pulumi.get(self, "attributes")
997
1023
 
998
- @property
1024
+ @_builtins.property
999
1025
  @pulumi.getter(name="autoscaleHeadrooms")
1000
1026
  def autoscale_headrooms(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroom']]]:
1001
1027
  """
@@ -1003,7 +1029,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1003
1029
  """
1004
1030
  return pulumi.get(self, "autoscale_headrooms")
1005
1031
 
1006
- @property
1032
+ @_builtins.property
1007
1033
  @pulumi.getter(name="blockDeviceMappings")
1008
1034
  def block_device_mappings(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecBlockDeviceMapping']]]:
1009
1035
  """
@@ -1011,23 +1037,23 @@ class OceanLaunchSpec(pulumi.CustomResource):
1011
1037
  """
1012
1038
  return pulumi.get(self, "block_device_mappings")
1013
1039
 
1014
- @property
1040
+ @_builtins.property
1015
1041
  @pulumi.getter(name="iamInstanceProfile")
1016
- def iam_instance_profile(self) -> pulumi.Output[Optional[str]]:
1042
+ def iam_instance_profile(self) -> pulumi.Output[Optional[_builtins.str]]:
1017
1043
  """
1018
1044
  The ARN or name of an IAM instance profile to associate with launched instances.
1019
1045
  """
1020
1046
  return pulumi.get(self, "iam_instance_profile")
1021
1047
 
1022
- @property
1048
+ @_builtins.property
1023
1049
  @pulumi.getter(name="imageId")
1024
- def image_id(self) -> pulumi.Output[Optional[str]]:
1050
+ def image_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1025
1051
  """
1026
1052
  ID of the image used to launch the instances.
1027
1053
  """
1028
1054
  return pulumi.get(self, "image_id")
1029
1055
 
1030
- @property
1056
+ @_builtins.property
1031
1057
  @pulumi.getter
1032
1058
  def images(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecImage']]]:
1033
1059
  """
@@ -1035,7 +1061,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1035
1061
  """
1036
1062
  return pulumi.get(self, "images")
1037
1063
 
1038
- @property
1064
+ @_builtins.property
1039
1065
  @pulumi.getter(name="instanceMetadataOptions")
1040
1066
  def instance_metadata_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecInstanceMetadataOptions']]:
1041
1067
  """
@@ -1043,47 +1069,47 @@ class OceanLaunchSpec(pulumi.CustomResource):
1043
1069
  """
1044
1070
  return pulumi.get(self, "instance_metadata_options")
1045
1071
 
1046
- @property
1072
+ @_builtins.property
1047
1073
  @pulumi.getter(name="instanceTypes")
1048
- def instance_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1074
+ def instance_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1049
1075
  """
1050
1076
  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 Ocean cluster.
1051
1077
  """
1052
1078
  return pulumi.get(self, "instance_types")
1053
1079
 
1054
- @property
1080
+ @_builtins.property
1055
1081
  @pulumi.getter
1056
- def name(self) -> pulumi.Output[str]:
1082
+ def name(self) -> pulumi.Output[_builtins.str]:
1057
1083
  """
1058
1084
  The Ocean Launch Specification name.
1059
1085
  """
1060
1086
  return pulumi.get(self, "name")
1061
1087
 
1062
- @property
1088
+ @_builtins.property
1063
1089
  @pulumi.getter(name="oceanId")
1064
- def ocean_id(self) -> pulumi.Output[str]:
1090
+ def ocean_id(self) -> pulumi.Output[_builtins.str]:
1065
1091
  """
1066
1092
  The Ocean cluster ID .
1067
1093
  """
1068
1094
  return pulumi.get(self, "ocean_id")
1069
1095
 
1070
- @property
1096
+ @_builtins.property
1071
1097
  @pulumi.getter(name="preferredSpotTypes")
1072
- def preferred_spot_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1098
+ def preferred_spot_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1073
1099
  """
1074
1100
  When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
1075
1101
  """
1076
1102
  return pulumi.get(self, "preferred_spot_types")
1077
1103
 
1078
- @property
1104
+ @_builtins.property
1079
1105
  @pulumi.getter(name="restrictScaleDown")
1080
- def restrict_scale_down(self) -> pulumi.Output[Optional[bool]]:
1106
+ def restrict_scale_down(self) -> pulumi.Output[Optional[_builtins.bool]]:
1081
1107
  """
1082
- Boolean. When set to “True”, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1108
+ Boolean. When set to `true`, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
1083
1109
  """
1084
1110
  return pulumi.get(self, "restrict_scale_down")
1085
1111
 
1086
- @property
1112
+ @_builtins.property
1087
1113
  @pulumi.getter(name="schedulingTasks")
1088
1114
  def scheduling_tasks(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecSchedulingTask']]]:
1089
1115
  """
@@ -1091,15 +1117,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1091
1117
  """
1092
1118
  return pulumi.get(self, "scheduling_tasks")
1093
1119
 
1094
- @property
1120
+ @_builtins.property
1095
1121
  @pulumi.getter(name="securityGroupIds")
1096
- def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1122
+ def security_group_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1097
1123
  """
1098
1124
  One or more security group ids.
1099
1125
  """
1100
1126
  return pulumi.get(self, "security_group_ids")
1101
1127
 
1102
- @property
1128
+ @_builtins.property
1103
1129
  @pulumi.getter
1104
1130
  def strategies(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStrategy']]]:
1105
1131
  """
@@ -1107,15 +1133,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1107
1133
  """
1108
1134
  return pulumi.get(self, "strategies")
1109
1135
 
1110
- @property
1136
+ @_builtins.property
1111
1137
  @pulumi.getter(name="subnetIds")
1112
- def subnet_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1138
+ def subnet_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1113
1139
  """
1114
1140
  Set subnets in launchSpec. Each element in the array should be a subnet ID.
1115
1141
  """
1116
1142
  return pulumi.get(self, "subnet_ids")
1117
1143
 
1118
- @property
1144
+ @_builtins.property
1119
1145
  @pulumi.getter
1120
1146
  def tags(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecTag']]]:
1121
1147
  """
@@ -1123,9 +1149,9 @@ class OceanLaunchSpec(pulumi.CustomResource):
1123
1149
  """
1124
1150
  return pulumi.get(self, "tags")
1125
1151
 
1126
- @property
1152
+ @_builtins.property
1127
1153
  @pulumi.getter(name="userData")
1128
- def user_data(self) -> pulumi.Output[Optional[str]]:
1154
+ def user_data(self) -> pulumi.Output[Optional[_builtins.str]]:
1129
1155
  """
1130
1156
  Base64-encoded MIME user data to make available to the instances.
1131
1157
  """