pulumi-spotinst 3.115.0a1742873189__py3-none-any.whl → 3.128.0a1767140134__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. pulumi_spotinst/__init__.py +11 -1
  2. pulumi_spotinst/_inputs.py +2206 -1519
  3. pulumi_spotinst/_utilities.py +1 -1
  4. pulumi_spotinst/account.py +20 -19
  5. pulumi_spotinst/aws/__init__.py +2 -1
  6. pulumi_spotinst/aws/_inputs.py +3991 -3619
  7. pulumi_spotinst/aws/account.py +20 -19
  8. pulumi_spotinst/aws/beanstalk.py +254 -177
  9. pulumi_spotinst/aws/credentials.py +37 -36
  10. pulumi_spotinst/aws/elastigroup.py +938 -950
  11. pulumi_spotinst/aws/managed_instance.py +507 -506
  12. pulumi_spotinst/aws/mr_scalar.py +658 -653
  13. pulumi_spotinst/aws/ocean.py +624 -529
  14. pulumi_spotinst/aws/ocean_extended_resource_definition.py +37 -36
  15. pulumi_spotinst/aws/ocean_launch_spec.py +395 -300
  16. pulumi_spotinst/aws/outputs.py +2631 -2371
  17. pulumi_spotinst/aws/suspension.py +23 -22
  18. pulumi_spotinst/azure/__init__.py +2 -1
  19. pulumi_spotinst/azure/_inputs.py +607 -607
  20. pulumi_spotinst/azure/ocean_np.py +387 -386
  21. pulumi_spotinst/azure/ocean_np_virtual_node_group.py +323 -322
  22. pulumi_spotinst/azure/outputs.py +411 -411
  23. pulumi_spotinst/config/__init__.py +2 -1
  24. pulumi_spotinst/config/__init__.pyi +2 -2
  25. pulumi_spotinst/config/vars.py +6 -6
  26. pulumi_spotinst/credentials_azure.py +139 -89
  27. pulumi_spotinst/credentials_gcp.py +190 -189
  28. pulumi_spotinst/data_integration.py +40 -39
  29. pulumi_spotinst/ecs/__init__.py +2 -1
  30. pulumi_spotinst/ecs/_inputs.py +584 -584
  31. pulumi_spotinst/ecs/ocean.py +628 -415
  32. pulumi_spotinst/ecs/ocean_launch_spec.py +197 -196
  33. pulumi_spotinst/ecs/outputs.py +394 -394
  34. pulumi_spotinst/elastigroup_azure_v3.py +326 -325
  35. pulumi_spotinst/gcp/__init__.py +2 -1
  36. pulumi_spotinst/gcp/_inputs.py +573 -499
  37. pulumi_spotinst/gcp/elastigroup.py +491 -482
  38. pulumi_spotinst/gcp/outputs.py +395 -330
  39. pulumi_spotinst/gke/__init__.py +2 -1
  40. pulumi_spotinst/gke/_inputs.py +1120 -895
  41. pulumi_spotinst/gke/elastigroup.py +341 -340
  42. pulumi_spotinst/gke/ocean_import.py +204 -203
  43. pulumi_spotinst/gke/ocean_launch_spec.py +285 -213
  44. pulumi_spotinst/gke/ocean_launch_spec_import.py +37 -36
  45. pulumi_spotinst/gke/outputs.py +769 -583
  46. pulumi_spotinst/health_check.py +106 -65
  47. pulumi_spotinst/notification_center.py +344 -0
  48. pulumi_spotinst/ocean_right_sizing_rule.py +424 -77
  49. pulumi_spotinst/oceancd/__init__.py +2 -1
  50. pulumi_spotinst/oceancd/_inputs.py +764 -764
  51. pulumi_spotinst/oceancd/outputs.py +526 -526
  52. pulumi_spotinst/oceancd/rollout_spec.py +35 -34
  53. pulumi_spotinst/oceancd/strategy.py +22 -21
  54. pulumi_spotinst/oceancd/verification_provider.py +52 -51
  55. pulumi_spotinst/oceancd/verification_template.py +26 -25
  56. pulumi_spotinst/organization/__init__.py +2 -1
  57. pulumi_spotinst/organization/_inputs.py +68 -68
  58. pulumi_spotinst/organization/outputs.py +46 -46
  59. pulumi_spotinst/organization/policy.py +40 -39
  60. pulumi_spotinst/organization/programmatic_user.py +60 -59
  61. pulumi_spotinst/organization/user.py +108 -107
  62. pulumi_spotinst/organization/user_group.py +57 -56
  63. pulumi_spotinst/outputs.py +1472 -932
  64. pulumi_spotinst/provider.py +61 -40
  65. pulumi_spotinst/pulumi-plugin.json +1 -1
  66. pulumi_spotinst/spark/__init__.py +2 -1
  67. pulumi_spotinst/spark/_inputs.py +104 -104
  68. pulumi_spotinst/spark/ocean.py +38 -37
  69. pulumi_spotinst/spark/ocean_virtual_node_group.py +29 -28
  70. pulumi_spotinst/spark/outputs.py +72 -72
  71. pulumi_spotinst/stateful_node_azure.py +318 -343
  72. pulumi_spotinst/subscription.py +88 -87
  73. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/METADATA +3 -3
  74. pulumi_spotinst-3.128.0a1767140134.dist-info/RECORD +77 -0
  75. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/WHEEL +1 -1
  76. pulumi_spotinst-3.115.0a1742873189.dist-info/RECORD +0 -76
  77. {pulumi_spotinst-3.115.0a1742873189.dist-info → pulumi_spotinst-3.128.0a1767140134.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -21,51 +21,53 @@ __all__ = ['OceanLaunchSpecArgs', 'OceanLaunchSpec']
21
21
  @pulumi.input_type
22
22
  class OceanLaunchSpecArgs:
23
23
  def __init__(__self__, *,
24
- ocean_id: pulumi.Input[str],
24
+ ocean_id: pulumi.Input[_builtins.str],
25
25
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
26
26
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
27
27
  create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
28
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
29
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
30
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
30
31
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
31
- name: Optional[pulumi.Input[str]] = None,
32
+ name: Optional[pulumi.Input[_builtins.str]] = None,
32
33
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]] = None,
33
- node_pool_name: Optional[pulumi.Input[str]] = None,
34
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
34
35
  resource_limits: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']] = None,
35
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
36
- root_volume_size: Optional[pulumi.Input[int]] = None,
37
- root_volume_type: Optional[pulumi.Input[str]] = None,
36
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
37
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
38
+ root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
38
39
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
39
- service_account: Optional[pulumi.Input[str]] = None,
40
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
40
41
  shielded_instance_config: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']] = None,
41
- source_image: Optional[pulumi.Input[str]] = None,
42
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
42
43
  storage: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']] = None,
43
44
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
44
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
45
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
45
46
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
46
47
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None):
47
48
  """
48
49
  The set of arguments for constructing a OceanLaunchSpec resource.
49
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
50
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
50
51
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
51
52
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
52
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
53
+ :param pulumi.Input['OceanLaunchSpecFiltersArgs'] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
54
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
53
55
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
54
56
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
55
- :param pulumi.Input[str] name: The launch specification name.
57
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
56
58
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]] network_interfaces: Settings for network interfaces.
57
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
59
+ :param pulumi.Input[_builtins.str] node_pool_name: The node pool you wish to use in your Launch Spec.
58
60
  :param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
59
- :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.
60
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
61
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
61
+ :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.
62
+ :param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
63
+ :param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
62
64
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
63
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
65
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
64
66
  :param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
65
- :param pulumi.Input[str] source_image: Image URL.
67
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
66
68
  :param pulumi.Input['OceanLaunchSpecStorageArgs'] storage: The Ocean virtual node group storage object.
67
69
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: The Ocean Launch Spec Strategy object.
68
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
70
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
69
71
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in an Ocean cluster.
70
72
  """
71
73
  pulumi.set(__self__, "ocean_id", ocean_id)
@@ -75,6 +77,8 @@ class OceanLaunchSpecArgs:
75
77
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
76
78
  if create_options is not None:
77
79
  pulumi.set(__self__, "create_options", create_options)
80
+ if filters is not None:
81
+ pulumi.set(__self__, "filters", filters)
78
82
  if instance_types is not None:
79
83
  pulumi.set(__self__, "instance_types", instance_types)
80
84
  if labels is not None:
@@ -114,19 +118,19 @@ class OceanLaunchSpecArgs:
114
118
  if update_policy is not None:
115
119
  pulumi.set(__self__, "update_policy", update_policy)
116
120
 
117
- @property
121
+ @_builtins.property
118
122
  @pulumi.getter(name="oceanId")
119
- def ocean_id(self) -> pulumi.Input[str]:
123
+ def ocean_id(self) -> pulumi.Input[_builtins.str]:
120
124
  """
121
125
  The Ocean cluster ID.
122
126
  """
123
127
  return pulumi.get(self, "ocean_id")
124
128
 
125
129
  @ocean_id.setter
126
- def ocean_id(self, value: pulumi.Input[str]):
130
+ def ocean_id(self, value: pulumi.Input[_builtins.str]):
127
131
  pulumi.set(self, "ocean_id", value)
128
132
 
129
- @property
133
+ @_builtins.property
130
134
  @pulumi.getter(name="autoscaleHeadrooms")
131
135
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
132
136
  """
@@ -138,7 +142,7 @@ class OceanLaunchSpecArgs:
138
142
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
139
143
  pulumi.set(self, "autoscale_headrooms", value)
140
144
 
141
- @property
145
+ @_builtins.property
142
146
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
143
147
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
144
148
  """
@@ -150,7 +154,7 @@ class OceanLaunchSpecArgs:
150
154
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
151
155
  pulumi.set(self, "autoscale_headrooms_automatics", value)
152
156
 
153
- @property
157
+ @_builtins.property
154
158
  @pulumi.getter(name="createOptions")
155
159
  def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
156
160
  return pulumi.get(self, "create_options")
@@ -159,19 +163,31 @@ class OceanLaunchSpecArgs:
159
163
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
160
164
  pulumi.set(self, "create_options", value)
161
165
 
162
- @property
166
+ @_builtins.property
167
+ @pulumi.getter
168
+ def filters(self) -> Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]:
169
+ """
170
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
171
+ """
172
+ return pulumi.get(self, "filters")
173
+
174
+ @filters.setter
175
+ def filters(self, value: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]):
176
+ pulumi.set(self, "filters", value)
177
+
178
+ @_builtins.property
163
179
  @pulumi.getter(name="instanceTypes")
164
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
180
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
165
181
  """
166
182
  List of supported machine types for the Launch Spec.
167
183
  """
168
184
  return pulumi.get(self, "instance_types")
169
185
 
170
186
  @instance_types.setter
171
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
187
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
172
188
  pulumi.set(self, "instance_types", value)
173
189
 
174
- @property
190
+ @_builtins.property
175
191
  @pulumi.getter
176
192
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
177
193
  """
@@ -183,7 +199,7 @@ class OceanLaunchSpecArgs:
183
199
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
184
200
  pulumi.set(self, "labels", value)
185
201
 
186
- @property
202
+ @_builtins.property
187
203
  @pulumi.getter
188
204
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]:
189
205
  """
@@ -195,19 +211,19 @@ class OceanLaunchSpecArgs:
195
211
  def metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]):
196
212
  pulumi.set(self, "metadatas", value)
197
213
 
198
- @property
214
+ @_builtins.property
199
215
  @pulumi.getter
200
- def name(self) -> Optional[pulumi.Input[str]]:
216
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
201
217
  """
202
218
  The launch specification name.
203
219
  """
204
220
  return pulumi.get(self, "name")
205
221
 
206
222
  @name.setter
207
- def name(self, value: Optional[pulumi.Input[str]]):
223
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
208
224
  pulumi.set(self, "name", value)
209
225
 
210
- @property
226
+ @_builtins.property
211
227
  @pulumi.getter(name="networkInterfaces")
212
228
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]:
213
229
  """
@@ -219,19 +235,19 @@ class OceanLaunchSpecArgs:
219
235
  def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]):
220
236
  pulumi.set(self, "network_interfaces", value)
221
237
 
222
- @property
238
+ @_builtins.property
223
239
  @pulumi.getter(name="nodePoolName")
224
- def node_pool_name(self) -> Optional[pulumi.Input[str]]:
240
+ def node_pool_name(self) -> Optional[pulumi.Input[_builtins.str]]:
225
241
  """
226
242
  The node pool you wish to use in your Launch Spec.
227
243
  """
228
244
  return pulumi.get(self, "node_pool_name")
229
245
 
230
246
  @node_pool_name.setter
231
- def node_pool_name(self, value: Optional[pulumi.Input[str]]):
247
+ def node_pool_name(self, value: Optional[pulumi.Input[_builtins.str]]):
232
248
  pulumi.set(self, "node_pool_name", value)
233
249
 
234
- @property
250
+ @_builtins.property
235
251
  @pulumi.getter(name="resourceLimits")
236
252
  def resource_limits(self) -> Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]:
237
253
  """
@@ -243,43 +259,43 @@ class OceanLaunchSpecArgs:
243
259
  def resource_limits(self, value: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]):
244
260
  pulumi.set(self, "resource_limits", value)
245
261
 
246
- @property
262
+ @_builtins.property
247
263
  @pulumi.getter(name="restrictScaleDown")
248
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
264
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
249
265
  """
250
266
  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.
251
267
  """
252
268
  return pulumi.get(self, "restrict_scale_down")
253
269
 
254
270
  @restrict_scale_down.setter
255
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
271
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
256
272
  pulumi.set(self, "restrict_scale_down", value)
257
273
 
258
- @property
274
+ @_builtins.property
259
275
  @pulumi.getter(name="rootVolumeSize")
260
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
276
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
261
277
  """
262
278
  Root volume size (in GB).
263
279
  """
264
280
  return pulumi.get(self, "root_volume_size")
265
281
 
266
282
  @root_volume_size.setter
267
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
283
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
268
284
  pulumi.set(self, "root_volume_size", value)
269
285
 
270
- @property
286
+ @_builtins.property
271
287
  @pulumi.getter(name="rootVolumeType")
272
- def root_volume_type(self) -> Optional[pulumi.Input[str]]:
288
+ def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
273
289
  """
274
290
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
275
291
  """
276
292
  return pulumi.get(self, "root_volume_type")
277
293
 
278
294
  @root_volume_type.setter
279
- def root_volume_type(self, value: Optional[pulumi.Input[str]]):
295
+ def root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
280
296
  pulumi.set(self, "root_volume_type", value)
281
297
 
282
- @property
298
+ @_builtins.property
283
299
  @pulumi.getter(name="schedulingTasks")
284
300
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
285
301
  """
@@ -291,19 +307,19 @@ class OceanLaunchSpecArgs:
291
307
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
292
308
  pulumi.set(self, "scheduling_tasks", value)
293
309
 
294
- @property
310
+ @_builtins.property
295
311
  @pulumi.getter(name="serviceAccount")
296
- def service_account(self) -> Optional[pulumi.Input[str]]:
312
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
297
313
  """
298
314
  The account used by applications running on the VM to call GCP APIs.
299
315
  """
300
316
  return pulumi.get(self, "service_account")
301
317
 
302
318
  @service_account.setter
303
- def service_account(self, value: Optional[pulumi.Input[str]]):
319
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
304
320
  pulumi.set(self, "service_account", value)
305
321
 
306
- @property
322
+ @_builtins.property
307
323
  @pulumi.getter(name="shieldedInstanceConfig")
308
324
  def shielded_instance_config(self) -> Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]:
309
325
  """
@@ -315,19 +331,19 @@ class OceanLaunchSpecArgs:
315
331
  def shielded_instance_config(self, value: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]):
316
332
  pulumi.set(self, "shielded_instance_config", value)
317
333
 
318
- @property
334
+ @_builtins.property
319
335
  @pulumi.getter(name="sourceImage")
320
- def source_image(self) -> Optional[pulumi.Input[str]]:
336
+ def source_image(self) -> Optional[pulumi.Input[_builtins.str]]:
321
337
  """
322
338
  Image URL.
323
339
  """
324
340
  return pulumi.get(self, "source_image")
325
341
 
326
342
  @source_image.setter
327
- def source_image(self, value: Optional[pulumi.Input[str]]):
343
+ def source_image(self, value: Optional[pulumi.Input[_builtins.str]]):
328
344
  pulumi.set(self, "source_image", value)
329
345
 
330
- @property
346
+ @_builtins.property
331
347
  @pulumi.getter
332
348
  def storage(self) -> Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]:
333
349
  """
@@ -339,7 +355,7 @@ class OceanLaunchSpecArgs:
339
355
  def storage(self, value: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]):
340
356
  pulumi.set(self, "storage", value)
341
357
 
342
- @property
358
+ @_builtins.property
343
359
  @pulumi.getter
344
360
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
345
361
  """
@@ -351,19 +367,19 @@ class OceanLaunchSpecArgs:
351
367
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
352
368
  pulumi.set(self, "strategies", value)
353
369
 
354
- @property
370
+ @_builtins.property
355
371
  @pulumi.getter
356
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
372
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
357
373
  """
358
374
  Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
359
375
  """
360
376
  return pulumi.get(self, "tags")
361
377
 
362
378
  @tags.setter
363
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
379
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
364
380
  pulumi.set(self, "tags", value)
365
381
 
366
- @property
382
+ @_builtins.property
367
383
  @pulumi.getter
368
384
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
369
385
  """
@@ -375,7 +391,7 @@ class OceanLaunchSpecArgs:
375
391
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
376
392
  pulumi.set(self, "taints", value)
377
393
 
378
- @property
394
+ @_builtins.property
379
395
  @pulumi.getter(name="updatePolicy")
380
396
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
381
397
  return pulumi.get(self, "update_policy")
@@ -391,48 +407,50 @@ class _OceanLaunchSpecState:
391
407
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
392
408
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
393
409
  create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
394
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
410
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
411
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
395
412
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
396
413
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
397
- name: Optional[pulumi.Input[str]] = None,
414
+ name: Optional[pulumi.Input[_builtins.str]] = None,
398
415
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]] = None,
399
- node_pool_name: Optional[pulumi.Input[str]] = None,
400
- ocean_id: Optional[pulumi.Input[str]] = None,
416
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
417
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
401
418
  resource_limits: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']] = None,
402
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
403
- root_volume_size: Optional[pulumi.Input[int]] = None,
404
- root_volume_type: Optional[pulumi.Input[str]] = None,
419
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
420
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
421
+ root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
405
422
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
406
- service_account: Optional[pulumi.Input[str]] = None,
423
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
407
424
  shielded_instance_config: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']] = None,
408
- source_image: Optional[pulumi.Input[str]] = None,
425
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
409
426
  storage: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']] = None,
410
427
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
411
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
428
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
412
429
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
413
430
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None):
414
431
  """
415
432
  Input properties used for looking up and filtering OceanLaunchSpec resources.
416
433
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
417
434
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
418
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
435
+ :param pulumi.Input['OceanLaunchSpecFiltersArgs'] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
436
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
419
437
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
420
438
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
421
- :param pulumi.Input[str] name: The launch specification name.
439
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
422
440
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]] network_interfaces: Settings for network interfaces.
423
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
424
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
441
+ :param pulumi.Input[_builtins.str] node_pool_name: The node pool you wish to use in your Launch Spec.
442
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
425
443
  :param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
426
- :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.
427
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
428
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
444
+ :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.
445
+ :param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
446
+ :param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
429
447
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
430
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
448
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
431
449
  :param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
432
- :param pulumi.Input[str] source_image: Image URL.
450
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
433
451
  :param pulumi.Input['OceanLaunchSpecStorageArgs'] storage: The Ocean virtual node group storage object.
434
452
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: The Ocean Launch Spec Strategy object.
435
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
453
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
436
454
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in an Ocean cluster.
437
455
  """
438
456
  if autoscale_headrooms is not None:
@@ -441,6 +459,8 @@ class _OceanLaunchSpecState:
441
459
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
442
460
  if create_options is not None:
443
461
  pulumi.set(__self__, "create_options", create_options)
462
+ if filters is not None:
463
+ pulumi.set(__self__, "filters", filters)
444
464
  if instance_types is not None:
445
465
  pulumi.set(__self__, "instance_types", instance_types)
446
466
  if labels is not None:
@@ -482,7 +502,7 @@ class _OceanLaunchSpecState:
482
502
  if update_policy is not None:
483
503
  pulumi.set(__self__, "update_policy", update_policy)
484
504
 
485
- @property
505
+ @_builtins.property
486
506
  @pulumi.getter(name="autoscaleHeadrooms")
487
507
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
488
508
  """
@@ -494,7 +514,7 @@ class _OceanLaunchSpecState:
494
514
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
495
515
  pulumi.set(self, "autoscale_headrooms", value)
496
516
 
497
- @property
517
+ @_builtins.property
498
518
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
499
519
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
500
520
  """
@@ -506,7 +526,7 @@ class _OceanLaunchSpecState:
506
526
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
507
527
  pulumi.set(self, "autoscale_headrooms_automatics", value)
508
528
 
509
- @property
529
+ @_builtins.property
510
530
  @pulumi.getter(name="createOptions")
511
531
  def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
512
532
  return pulumi.get(self, "create_options")
@@ -515,19 +535,31 @@ class _OceanLaunchSpecState:
515
535
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
516
536
  pulumi.set(self, "create_options", value)
517
537
 
518
- @property
538
+ @_builtins.property
539
+ @pulumi.getter
540
+ def filters(self) -> Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]:
541
+ """
542
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
543
+ """
544
+ return pulumi.get(self, "filters")
545
+
546
+ @filters.setter
547
+ def filters(self, value: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]):
548
+ pulumi.set(self, "filters", value)
549
+
550
+ @_builtins.property
519
551
  @pulumi.getter(name="instanceTypes")
520
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
552
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
521
553
  """
522
554
  List of supported machine types for the Launch Spec.
523
555
  """
524
556
  return pulumi.get(self, "instance_types")
525
557
 
526
558
  @instance_types.setter
527
- def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
559
+ def instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
528
560
  pulumi.set(self, "instance_types", value)
529
561
 
530
- @property
562
+ @_builtins.property
531
563
  @pulumi.getter
532
564
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
533
565
  """
@@ -539,7 +571,7 @@ class _OceanLaunchSpecState:
539
571
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
540
572
  pulumi.set(self, "labels", value)
541
573
 
542
- @property
574
+ @_builtins.property
543
575
  @pulumi.getter
544
576
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]:
545
577
  """
@@ -551,19 +583,19 @@ class _OceanLaunchSpecState:
551
583
  def metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]):
552
584
  pulumi.set(self, "metadatas", value)
553
585
 
554
- @property
586
+ @_builtins.property
555
587
  @pulumi.getter
556
- def name(self) -> Optional[pulumi.Input[str]]:
588
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
557
589
  """
558
590
  The launch specification name.
559
591
  """
560
592
  return pulumi.get(self, "name")
561
593
 
562
594
  @name.setter
563
- def name(self, value: Optional[pulumi.Input[str]]):
595
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
564
596
  pulumi.set(self, "name", value)
565
597
 
566
- @property
598
+ @_builtins.property
567
599
  @pulumi.getter(name="networkInterfaces")
568
600
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]:
569
601
  """
@@ -575,31 +607,31 @@ class _OceanLaunchSpecState:
575
607
  def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]):
576
608
  pulumi.set(self, "network_interfaces", value)
577
609
 
578
- @property
610
+ @_builtins.property
579
611
  @pulumi.getter(name="nodePoolName")
580
- def node_pool_name(self) -> Optional[pulumi.Input[str]]:
612
+ def node_pool_name(self) -> Optional[pulumi.Input[_builtins.str]]:
581
613
  """
582
614
  The node pool you wish to use in your Launch Spec.
583
615
  """
584
616
  return pulumi.get(self, "node_pool_name")
585
617
 
586
618
  @node_pool_name.setter
587
- def node_pool_name(self, value: Optional[pulumi.Input[str]]):
619
+ def node_pool_name(self, value: Optional[pulumi.Input[_builtins.str]]):
588
620
  pulumi.set(self, "node_pool_name", value)
589
621
 
590
- @property
622
+ @_builtins.property
591
623
  @pulumi.getter(name="oceanId")
592
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
624
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
593
625
  """
594
626
  The Ocean cluster ID.
595
627
  """
596
628
  return pulumi.get(self, "ocean_id")
597
629
 
598
630
  @ocean_id.setter
599
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
631
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
600
632
  pulumi.set(self, "ocean_id", value)
601
633
 
602
- @property
634
+ @_builtins.property
603
635
  @pulumi.getter(name="resourceLimits")
604
636
  def resource_limits(self) -> Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]:
605
637
  """
@@ -611,43 +643,43 @@ class _OceanLaunchSpecState:
611
643
  def resource_limits(self, value: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]):
612
644
  pulumi.set(self, "resource_limits", value)
613
645
 
614
- @property
646
+ @_builtins.property
615
647
  @pulumi.getter(name="restrictScaleDown")
616
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
648
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
617
649
  """
618
650
  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.
619
651
  """
620
652
  return pulumi.get(self, "restrict_scale_down")
621
653
 
622
654
  @restrict_scale_down.setter
623
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
655
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
624
656
  pulumi.set(self, "restrict_scale_down", value)
625
657
 
626
- @property
658
+ @_builtins.property
627
659
  @pulumi.getter(name="rootVolumeSize")
628
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
660
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
629
661
  """
630
662
  Root volume size (in GB).
631
663
  """
632
664
  return pulumi.get(self, "root_volume_size")
633
665
 
634
666
  @root_volume_size.setter
635
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
667
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
636
668
  pulumi.set(self, "root_volume_size", value)
637
669
 
638
- @property
670
+ @_builtins.property
639
671
  @pulumi.getter(name="rootVolumeType")
640
- def root_volume_type(self) -> Optional[pulumi.Input[str]]:
672
+ def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
641
673
  """
642
674
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
643
675
  """
644
676
  return pulumi.get(self, "root_volume_type")
645
677
 
646
678
  @root_volume_type.setter
647
- def root_volume_type(self, value: Optional[pulumi.Input[str]]):
679
+ def root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
648
680
  pulumi.set(self, "root_volume_type", value)
649
681
 
650
- @property
682
+ @_builtins.property
651
683
  @pulumi.getter(name="schedulingTasks")
652
684
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
653
685
  """
@@ -659,19 +691,19 @@ class _OceanLaunchSpecState:
659
691
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
660
692
  pulumi.set(self, "scheduling_tasks", value)
661
693
 
662
- @property
694
+ @_builtins.property
663
695
  @pulumi.getter(name="serviceAccount")
664
- def service_account(self) -> Optional[pulumi.Input[str]]:
696
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
665
697
  """
666
698
  The account used by applications running on the VM to call GCP APIs.
667
699
  """
668
700
  return pulumi.get(self, "service_account")
669
701
 
670
702
  @service_account.setter
671
- def service_account(self, value: Optional[pulumi.Input[str]]):
703
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
672
704
  pulumi.set(self, "service_account", value)
673
705
 
674
- @property
706
+ @_builtins.property
675
707
  @pulumi.getter(name="shieldedInstanceConfig")
676
708
  def shielded_instance_config(self) -> Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]:
677
709
  """
@@ -683,19 +715,19 @@ class _OceanLaunchSpecState:
683
715
  def shielded_instance_config(self, value: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]):
684
716
  pulumi.set(self, "shielded_instance_config", value)
685
717
 
686
- @property
718
+ @_builtins.property
687
719
  @pulumi.getter(name="sourceImage")
688
- def source_image(self) -> Optional[pulumi.Input[str]]:
720
+ def source_image(self) -> Optional[pulumi.Input[_builtins.str]]:
689
721
  """
690
722
  Image URL.
691
723
  """
692
724
  return pulumi.get(self, "source_image")
693
725
 
694
726
  @source_image.setter
695
- def source_image(self, value: Optional[pulumi.Input[str]]):
727
+ def source_image(self, value: Optional[pulumi.Input[_builtins.str]]):
696
728
  pulumi.set(self, "source_image", value)
697
729
 
698
- @property
730
+ @_builtins.property
699
731
  @pulumi.getter
700
732
  def storage(self) -> Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]:
701
733
  """
@@ -707,7 +739,7 @@ class _OceanLaunchSpecState:
707
739
  def storage(self, value: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]):
708
740
  pulumi.set(self, "storage", value)
709
741
 
710
- @property
742
+ @_builtins.property
711
743
  @pulumi.getter
712
744
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
713
745
  """
@@ -719,19 +751,19 @@ class _OceanLaunchSpecState:
719
751
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
720
752
  pulumi.set(self, "strategies", value)
721
753
 
722
- @property
754
+ @_builtins.property
723
755
  @pulumi.getter
724
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
756
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
725
757
  """
726
758
  Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
727
759
  """
728
760
  return pulumi.get(self, "tags")
729
761
 
730
762
  @tags.setter
731
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
763
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
732
764
  pulumi.set(self, "tags", value)
733
765
 
734
- @property
766
+ @_builtins.property
735
767
  @pulumi.getter
736
768
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
737
769
  """
@@ -743,7 +775,7 @@ class _OceanLaunchSpecState:
743
775
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
744
776
  pulumi.set(self, "taints", value)
745
777
 
746
- @property
778
+ @_builtins.property
747
779
  @pulumi.getter(name="updatePolicy")
748
780
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
749
781
  return pulumi.get(self, "update_policy")
@@ -753,6 +785,7 @@ class _OceanLaunchSpecState:
753
785
  pulumi.set(self, "update_policy", value)
754
786
 
755
787
 
788
+ @pulumi.type_token("spotinst:gke/oceanLaunchSpec:OceanLaunchSpec")
756
789
  class OceanLaunchSpec(pulumi.CustomResource):
757
790
  @overload
758
791
  def __init__(__self__,
@@ -761,24 +794,25 @@ class OceanLaunchSpec(pulumi.CustomResource):
761
794
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
762
795
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
763
796
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
764
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
797
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
798
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
765
799
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
766
800
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
767
- name: Optional[pulumi.Input[str]] = None,
801
+ name: Optional[pulumi.Input[_builtins.str]] = None,
768
802
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
769
- node_pool_name: Optional[pulumi.Input[str]] = None,
770
- ocean_id: Optional[pulumi.Input[str]] = None,
803
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
804
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
771
805
  resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = None,
772
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
773
- root_volume_size: Optional[pulumi.Input[int]] = None,
774
- root_volume_type: Optional[pulumi.Input[str]] = None,
806
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
807
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
808
+ root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
775
809
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
776
- service_account: Optional[pulumi.Input[str]] = None,
810
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
777
811
  shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
778
- source_image: Optional[pulumi.Input[str]] = None,
812
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
779
813
  storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
780
814
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
781
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
815
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
782
816
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
783
817
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
784
818
  __props__=None):
@@ -845,6 +879,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
845
879
  }],
846
880
  strategies=[{
847
881
  "preemptible_percentage": 30,
882
+ "scaling_orientation": "balanced",
848
883
  }],
849
884
  scheduling_tasks=[{
850
885
  "is_enabled": True,
@@ -868,31 +903,43 @@ class OceanLaunchSpec(pulumi.CustomResource):
868
903
  "ip_cidr_range": "/25",
869
904
  "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
870
905
  }],
871
- }])
906
+ }],
907
+ filters={
908
+ "exclude_families": ["n2"],
909
+ "include_families": [
910
+ "c2",
911
+ "c3",
912
+ ],
913
+ "min_memory_gib": 8,
914
+ "max_memory_gib": 32,
915
+ "min_vcpu": 2,
916
+ "max_vcpu": 16,
917
+ })
872
918
  ```
873
919
 
874
920
  :param str resource_name: The name of the resource.
875
921
  :param pulumi.ResourceOptions opts: Options for the resource.
876
922
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
877
923
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
878
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
924
+ :param pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
925
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
879
926
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
880
927
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
881
- :param pulumi.Input[str] name: The launch specification name.
928
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
882
929
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]] network_interfaces: Settings for network interfaces.
883
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
884
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
930
+ :param pulumi.Input[_builtins.str] node_pool_name: The node pool you wish to use in your Launch Spec.
931
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
885
932
  :param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
886
- :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.
887
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
888
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
933
+ :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.
934
+ :param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
935
+ :param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
889
936
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
890
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
937
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
891
938
  :param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
892
- :param pulumi.Input[str] source_image: Image URL.
939
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
893
940
  :param pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']] storage: The Ocean virtual node group storage object.
894
941
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: The Ocean Launch Spec Strategy object.
895
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
942
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
896
943
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
897
944
  """
898
945
  ...
@@ -964,6 +1011,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
964
1011
  }],
965
1012
  strategies=[{
966
1013
  "preemptible_percentage": 30,
1014
+ "scaling_orientation": "balanced",
967
1015
  }],
968
1016
  scheduling_tasks=[{
969
1017
  "is_enabled": True,
@@ -987,7 +1035,18 @@ class OceanLaunchSpec(pulumi.CustomResource):
987
1035
  "ip_cidr_range": "/25",
988
1036
  "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
989
1037
  }],
990
- }])
1038
+ }],
1039
+ filters={
1040
+ "exclude_families": ["n2"],
1041
+ "include_families": [
1042
+ "c2",
1043
+ "c3",
1044
+ ],
1045
+ "min_memory_gib": 8,
1046
+ "max_memory_gib": 32,
1047
+ "min_vcpu": 2,
1048
+ "max_vcpu": 16,
1049
+ })
991
1050
  ```
992
1051
 
993
1052
  :param str resource_name: The name of the resource.
@@ -1008,24 +1067,25 @@ class OceanLaunchSpec(pulumi.CustomResource):
1008
1067
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1009
1068
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1010
1069
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1011
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1070
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1071
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1012
1072
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1013
1073
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
1014
- name: Optional[pulumi.Input[str]] = None,
1074
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1015
1075
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
1016
- node_pool_name: Optional[pulumi.Input[str]] = None,
1017
- ocean_id: Optional[pulumi.Input[str]] = None,
1076
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
1077
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1018
1078
  resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = None,
1019
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1020
- root_volume_size: Optional[pulumi.Input[int]] = None,
1021
- root_volume_type: Optional[pulumi.Input[str]] = None,
1079
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
1080
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1081
+ root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
1022
1082
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1023
- service_account: Optional[pulumi.Input[str]] = None,
1083
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
1024
1084
  shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
1025
- source_image: Optional[pulumi.Input[str]] = None,
1085
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
1026
1086
  storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
1027
1087
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1028
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1088
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1029
1089
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1030
1090
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
1031
1091
  __props__=None):
@@ -1040,6 +1100,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1040
1100
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1041
1101
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1042
1102
  __props__.__dict__["create_options"] = create_options
1103
+ __props__.__dict__["filters"] = filters
1043
1104
  __props__.__dict__["instance_types"] = instance_types
1044
1105
  __props__.__dict__["labels"] = labels
1045
1106
  __props__.__dict__["metadatas"] = metadatas
@@ -1075,24 +1136,25 @@ class OceanLaunchSpec(pulumi.CustomResource):
1075
1136
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1076
1137
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1077
1138
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1078
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1139
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1140
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1079
1141
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1080
1142
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
1081
- name: Optional[pulumi.Input[str]] = None,
1143
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1082
1144
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
1083
- node_pool_name: Optional[pulumi.Input[str]] = None,
1084
- ocean_id: Optional[pulumi.Input[str]] = None,
1145
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
1146
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1085
1147
  resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = None,
1086
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1087
- root_volume_size: Optional[pulumi.Input[int]] = None,
1088
- root_volume_type: Optional[pulumi.Input[str]] = None,
1148
+ restrict_scale_down: Optional[pulumi.Input[_builtins.bool]] = None,
1149
+ root_volume_size: Optional[pulumi.Input[_builtins.int]] = None,
1150
+ root_volume_type: Optional[pulumi.Input[_builtins.str]] = None,
1089
1151
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1090
- service_account: Optional[pulumi.Input[str]] = None,
1152
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
1091
1153
  shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
1092
- source_image: Optional[pulumi.Input[str]] = None,
1154
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
1093
1155
  storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
1094
1156
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1095
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1157
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1096
1158
  taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1097
1159
  update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None) -> 'OceanLaunchSpec':
1098
1160
  """
@@ -1104,24 +1166,25 @@ class OceanLaunchSpec(pulumi.CustomResource):
1104
1166
  :param pulumi.ResourceOptions opts: Options for the resource.
1105
1167
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
1106
1168
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
1107
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
1169
+ :param pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
1170
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
1108
1171
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
1109
1172
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
1110
- :param pulumi.Input[str] name: The launch specification name.
1173
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
1111
1174
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]] network_interfaces: Settings for network interfaces.
1112
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
1113
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
1175
+ :param pulumi.Input[_builtins.str] node_pool_name: The node pool you wish to use in your Launch Spec.
1176
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
1114
1177
  :param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
1115
- :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.
1116
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
1117
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
1178
+ :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.
1179
+ :param pulumi.Input[_builtins.int] root_volume_size: Root volume size (in GB).
1180
+ :param pulumi.Input[_builtins.str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
1118
1181
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1119
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
1182
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
1120
1183
  :param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
1121
- :param pulumi.Input[str] source_image: Image URL.
1184
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
1122
1185
  :param pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']] storage: The Ocean virtual node group storage object.
1123
1186
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: The Ocean Launch Spec Strategy object.
1124
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
1187
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
1125
1188
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
1126
1189
  """
1127
1190
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1131,6 +1194,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1131
1194
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1132
1195
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1133
1196
  __props__.__dict__["create_options"] = create_options
1197
+ __props__.__dict__["filters"] = filters
1134
1198
  __props__.__dict__["instance_types"] = instance_types
1135
1199
  __props__.__dict__["labels"] = labels
1136
1200
  __props__.__dict__["metadatas"] = metadatas
@@ -1153,7 +1217,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1153
1217
  __props__.__dict__["update_policy"] = update_policy
1154
1218
  return OceanLaunchSpec(resource_name, opts=opts, __props__=__props__)
1155
1219
 
1156
- @property
1220
+ @_builtins.property
1157
1221
  @pulumi.getter(name="autoscaleHeadrooms")
1158
1222
  def autoscale_headrooms(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroom']]]:
1159
1223
  """
@@ -1161,7 +1225,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1161
1225
  """
1162
1226
  return pulumi.get(self, "autoscale_headrooms")
1163
1227
 
1164
- @property
1228
+ @_builtins.property
1165
1229
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
1166
1230
  def autoscale_headrooms_automatics(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic']]]:
1167
1231
  """
@@ -1169,20 +1233,28 @@ class OceanLaunchSpec(pulumi.CustomResource):
1169
1233
  """
1170
1234
  return pulumi.get(self, "autoscale_headrooms_automatics")
1171
1235
 
1172
- @property
1236
+ @_builtins.property
1173
1237
  @pulumi.getter(name="createOptions")
1174
1238
  def create_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecCreateOptions']]:
1175
1239
  return pulumi.get(self, "create_options")
1176
1240
 
1177
- @property
1241
+ @_builtins.property
1242
+ @pulumi.getter
1243
+ def filters(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecFilters']]:
1244
+ """
1245
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
1246
+ """
1247
+ return pulumi.get(self, "filters")
1248
+
1249
+ @_builtins.property
1178
1250
  @pulumi.getter(name="instanceTypes")
1179
- def instance_types(self) -> pulumi.Output[Sequence[str]]:
1251
+ def instance_types(self) -> pulumi.Output[Sequence[_builtins.str]]:
1180
1252
  """
1181
1253
  List of supported machine types for the Launch Spec.
1182
1254
  """
1183
1255
  return pulumi.get(self, "instance_types")
1184
1256
 
1185
- @property
1257
+ @_builtins.property
1186
1258
  @pulumi.getter
1187
1259
  def labels(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecLabel']]:
1188
1260
  """
@@ -1190,7 +1262,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1190
1262
  """
1191
1263
  return pulumi.get(self, "labels")
1192
1264
 
1193
- @property
1265
+ @_builtins.property
1194
1266
  @pulumi.getter
1195
1267
  def metadatas(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecMetadata']]:
1196
1268
  """
@@ -1198,15 +1270,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1198
1270
  """
1199
1271
  return pulumi.get(self, "metadatas")
1200
1272
 
1201
- @property
1273
+ @_builtins.property
1202
1274
  @pulumi.getter
1203
- def name(self) -> pulumi.Output[str]:
1275
+ def name(self) -> pulumi.Output[_builtins.str]:
1204
1276
  """
1205
1277
  The launch specification name.
1206
1278
  """
1207
1279
  return pulumi.get(self, "name")
1208
1280
 
1209
- @property
1281
+ @_builtins.property
1210
1282
  @pulumi.getter(name="networkInterfaces")
1211
1283
  def network_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecNetworkInterface']]]:
1212
1284
  """
@@ -1214,23 +1286,23 @@ class OceanLaunchSpec(pulumi.CustomResource):
1214
1286
  """
1215
1287
  return pulumi.get(self, "network_interfaces")
1216
1288
 
1217
- @property
1289
+ @_builtins.property
1218
1290
  @pulumi.getter(name="nodePoolName")
1219
- def node_pool_name(self) -> pulumi.Output[Optional[str]]:
1291
+ def node_pool_name(self) -> pulumi.Output[Optional[_builtins.str]]:
1220
1292
  """
1221
1293
  The node pool you wish to use in your Launch Spec.
1222
1294
  """
1223
1295
  return pulumi.get(self, "node_pool_name")
1224
1296
 
1225
- @property
1297
+ @_builtins.property
1226
1298
  @pulumi.getter(name="oceanId")
1227
- def ocean_id(self) -> pulumi.Output[str]:
1299
+ def ocean_id(self) -> pulumi.Output[_builtins.str]:
1228
1300
  """
1229
1301
  The Ocean cluster ID.
1230
1302
  """
1231
1303
  return pulumi.get(self, "ocean_id")
1232
1304
 
1233
- @property
1305
+ @_builtins.property
1234
1306
  @pulumi.getter(name="resourceLimits")
1235
1307
  def resource_limits(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecResourceLimits']]:
1236
1308
  """
@@ -1238,31 +1310,31 @@ class OceanLaunchSpec(pulumi.CustomResource):
1238
1310
  """
1239
1311
  return pulumi.get(self, "resource_limits")
1240
1312
 
1241
- @property
1313
+ @_builtins.property
1242
1314
  @pulumi.getter(name="restrictScaleDown")
1243
- def restrict_scale_down(self) -> pulumi.Output[bool]:
1315
+ def restrict_scale_down(self) -> pulumi.Output[_builtins.bool]:
1244
1316
  """
1245
1317
  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.
1246
1318
  """
1247
1319
  return pulumi.get(self, "restrict_scale_down")
1248
1320
 
1249
- @property
1321
+ @_builtins.property
1250
1322
  @pulumi.getter(name="rootVolumeSize")
1251
- def root_volume_size(self) -> pulumi.Output[int]:
1323
+ def root_volume_size(self) -> pulumi.Output[_builtins.int]:
1252
1324
  """
1253
1325
  Root volume size (in GB).
1254
1326
  """
1255
1327
  return pulumi.get(self, "root_volume_size")
1256
1328
 
1257
- @property
1329
+ @_builtins.property
1258
1330
  @pulumi.getter(name="rootVolumeType")
1259
- def root_volume_type(self) -> pulumi.Output[str]:
1331
+ def root_volume_type(self) -> pulumi.Output[_builtins.str]:
1260
1332
  """
1261
1333
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
1262
1334
  """
1263
1335
  return pulumi.get(self, "root_volume_type")
1264
1336
 
1265
- @property
1337
+ @_builtins.property
1266
1338
  @pulumi.getter(name="schedulingTasks")
1267
1339
  def scheduling_tasks(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecSchedulingTask']]]:
1268
1340
  """
@@ -1270,15 +1342,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1270
1342
  """
1271
1343
  return pulumi.get(self, "scheduling_tasks")
1272
1344
 
1273
- @property
1345
+ @_builtins.property
1274
1346
  @pulumi.getter(name="serviceAccount")
1275
- def service_account(self) -> pulumi.Output[str]:
1347
+ def service_account(self) -> pulumi.Output[_builtins.str]:
1276
1348
  """
1277
1349
  The account used by applications running on the VM to call GCP APIs.
1278
1350
  """
1279
1351
  return pulumi.get(self, "service_account")
1280
1352
 
1281
- @property
1353
+ @_builtins.property
1282
1354
  @pulumi.getter(name="shieldedInstanceConfig")
1283
1355
  def shielded_instance_config(self) -> pulumi.Output['outputs.OceanLaunchSpecShieldedInstanceConfig']:
1284
1356
  """
@@ -1286,15 +1358,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1286
1358
  """
1287
1359
  return pulumi.get(self, "shielded_instance_config")
1288
1360
 
1289
- @property
1361
+ @_builtins.property
1290
1362
  @pulumi.getter(name="sourceImage")
1291
- def source_image(self) -> pulumi.Output[str]:
1363
+ def source_image(self) -> pulumi.Output[_builtins.str]:
1292
1364
  """
1293
1365
  Image URL.
1294
1366
  """
1295
1367
  return pulumi.get(self, "source_image")
1296
1368
 
1297
- @property
1369
+ @_builtins.property
1298
1370
  @pulumi.getter
1299
1371
  def storage(self) -> pulumi.Output['outputs.OceanLaunchSpecStorage']:
1300
1372
  """
@@ -1302,7 +1374,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1302
1374
  """
1303
1375
  return pulumi.get(self, "storage")
1304
1376
 
1305
- @property
1377
+ @_builtins.property
1306
1378
  @pulumi.getter
1307
1379
  def strategies(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStrategy']]]:
1308
1380
  """
@@ -1310,15 +1382,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1310
1382
  """
1311
1383
  return pulumi.get(self, "strategies")
1312
1384
 
1313
- @property
1385
+ @_builtins.property
1314
1386
  @pulumi.getter
1315
- def tags(self) -> pulumi.Output[Sequence[str]]:
1387
+ def tags(self) -> pulumi.Output[Sequence[_builtins.str]]:
1316
1388
  """
1317
1389
  Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
1318
1390
  """
1319
1391
  return pulumi.get(self, "tags")
1320
1392
 
1321
- @property
1393
+ @_builtins.property
1322
1394
  @pulumi.getter
1323
1395
  def taints(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecTaint']]:
1324
1396
  """
@@ -1326,7 +1398,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1326
1398
  """
1327
1399
  return pulumi.get(self, "taints")
1328
1400
 
1329
- @property
1401
+ @_builtins.property
1330
1402
  @pulumi.getter(name="updatePolicy")
1331
1403
  def update_policy(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecUpdatePolicy']]:
1332
1404
  return pulumi.get(self, "update_policy")