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,50 +21,53 @@ __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
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
21
26
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
22
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
+ create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
28
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
29
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
23
30
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
24
31
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
25
- name: Optional[pulumi.Input[str]] = None,
32
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
33
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]] = None,
27
- node_pool_name: Optional[pulumi.Input[str]] = None,
34
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
28
35
  resource_limits: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']] = None,
29
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
30
- root_volume_size: Optional[pulumi.Input[int]] = None,
31
- 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,
32
39
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
33
- service_account: Optional[pulumi.Input[str]] = None,
40
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
34
41
  shielded_instance_config: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']] = None,
35
- source_image: Optional[pulumi.Input[str]] = None,
42
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
36
43
  storage: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']] = None,
37
44
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
38
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
45
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
39
46
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
40
47
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None):
41
48
  """
42
49
  The set of arguments for constructing a OceanLaunchSpec resource.
43
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
50
+ :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
44
51
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
45
52
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
46
- :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.
47
55
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
48
56
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
49
- :param pulumi.Input[str] name: The launch specification name.
57
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
50
58
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]] network_interfaces: Settings for network interfaces.
51
- :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.
52
60
  :param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
53
- :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.
54
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
55
- :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"`.
56
64
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
57
- :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.
58
66
  :param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
59
- :param pulumi.Input[str] source_image: Image URL.
67
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
60
68
  :param pulumi.Input['OceanLaunchSpecStorageArgs'] storage: The Ocean virtual node group storage object.
61
69
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: The Ocean Launch Spec Strategy object.
62
- :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
63
71
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in an Ocean cluster.
64
72
  """
65
73
  pulumi.set(__self__, "ocean_id", ocean_id)
@@ -67,6 +75,10 @@ class OceanLaunchSpecArgs:
67
75
  pulumi.set(__self__, "autoscale_headrooms", autoscale_headrooms)
68
76
  if autoscale_headrooms_automatics is not None:
69
77
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
78
+ if create_options is not None:
79
+ pulumi.set(__self__, "create_options", create_options)
80
+ if filters is not None:
81
+ pulumi.set(__self__, "filters", filters)
70
82
  if instance_types is not None:
71
83
  pulumi.set(__self__, "instance_types", instance_types)
72
84
  if labels is not None:
@@ -106,19 +118,19 @@ class OceanLaunchSpecArgs:
106
118
  if update_policy is not None:
107
119
  pulumi.set(__self__, "update_policy", update_policy)
108
120
 
109
- @property
121
+ @_builtins.property
110
122
  @pulumi.getter(name="oceanId")
111
- def ocean_id(self) -> pulumi.Input[str]:
123
+ def ocean_id(self) -> pulumi.Input[_builtins.str]:
112
124
  """
113
125
  The Ocean cluster ID.
114
126
  """
115
127
  return pulumi.get(self, "ocean_id")
116
128
 
117
129
  @ocean_id.setter
118
- def ocean_id(self, value: pulumi.Input[str]):
130
+ def ocean_id(self, value: pulumi.Input[_builtins.str]):
119
131
  pulumi.set(self, "ocean_id", value)
120
132
 
121
- @property
133
+ @_builtins.property
122
134
  @pulumi.getter(name="autoscaleHeadrooms")
123
135
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
124
136
  """
@@ -130,7 +142,7 @@ class OceanLaunchSpecArgs:
130
142
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
131
143
  pulumi.set(self, "autoscale_headrooms", value)
132
144
 
133
- @property
145
+ @_builtins.property
134
146
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
135
147
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
136
148
  """
@@ -142,19 +154,40 @@ class OceanLaunchSpecArgs:
142
154
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
143
155
  pulumi.set(self, "autoscale_headrooms_automatics", value)
144
156
 
145
- @property
157
+ @_builtins.property
158
+ @pulumi.getter(name="createOptions")
159
+ def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
160
+ return pulumi.get(self, "create_options")
161
+
162
+ @create_options.setter
163
+ def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
164
+ pulumi.set(self, "create_options", value)
165
+
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
146
179
  @pulumi.getter(name="instanceTypes")
147
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
180
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
148
181
  """
149
182
  List of supported machine types for the Launch Spec.
150
183
  """
151
184
  return pulumi.get(self, "instance_types")
152
185
 
153
186
  @instance_types.setter
154
- 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]]]]):
155
188
  pulumi.set(self, "instance_types", value)
156
189
 
157
- @property
190
+ @_builtins.property
158
191
  @pulumi.getter
159
192
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
160
193
  """
@@ -166,7 +199,7 @@ class OceanLaunchSpecArgs:
166
199
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
167
200
  pulumi.set(self, "labels", value)
168
201
 
169
- @property
202
+ @_builtins.property
170
203
  @pulumi.getter
171
204
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]:
172
205
  """
@@ -178,19 +211,19 @@ class OceanLaunchSpecArgs:
178
211
  def metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]):
179
212
  pulumi.set(self, "metadatas", value)
180
213
 
181
- @property
214
+ @_builtins.property
182
215
  @pulumi.getter
183
- def name(self) -> Optional[pulumi.Input[str]]:
216
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
184
217
  """
185
218
  The launch specification name.
186
219
  """
187
220
  return pulumi.get(self, "name")
188
221
 
189
222
  @name.setter
190
- def name(self, value: Optional[pulumi.Input[str]]):
223
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
191
224
  pulumi.set(self, "name", value)
192
225
 
193
- @property
226
+ @_builtins.property
194
227
  @pulumi.getter(name="networkInterfaces")
195
228
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]:
196
229
  """
@@ -202,19 +235,19 @@ class OceanLaunchSpecArgs:
202
235
  def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]):
203
236
  pulumi.set(self, "network_interfaces", value)
204
237
 
205
- @property
238
+ @_builtins.property
206
239
  @pulumi.getter(name="nodePoolName")
207
- def node_pool_name(self) -> Optional[pulumi.Input[str]]:
240
+ def node_pool_name(self) -> Optional[pulumi.Input[_builtins.str]]:
208
241
  """
209
242
  The node pool you wish to use in your Launch Spec.
210
243
  """
211
244
  return pulumi.get(self, "node_pool_name")
212
245
 
213
246
  @node_pool_name.setter
214
- def node_pool_name(self, value: Optional[pulumi.Input[str]]):
247
+ def node_pool_name(self, value: Optional[pulumi.Input[_builtins.str]]):
215
248
  pulumi.set(self, "node_pool_name", value)
216
249
 
217
- @property
250
+ @_builtins.property
218
251
  @pulumi.getter(name="resourceLimits")
219
252
  def resource_limits(self) -> Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]:
220
253
  """
@@ -226,43 +259,43 @@ class OceanLaunchSpecArgs:
226
259
  def resource_limits(self, value: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]):
227
260
  pulumi.set(self, "resource_limits", value)
228
261
 
229
- @property
262
+ @_builtins.property
230
263
  @pulumi.getter(name="restrictScaleDown")
231
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
264
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
232
265
  """
233
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.
234
267
  """
235
268
  return pulumi.get(self, "restrict_scale_down")
236
269
 
237
270
  @restrict_scale_down.setter
238
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
271
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
239
272
  pulumi.set(self, "restrict_scale_down", value)
240
273
 
241
- @property
274
+ @_builtins.property
242
275
  @pulumi.getter(name="rootVolumeSize")
243
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
276
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
244
277
  """
245
278
  Root volume size (in GB).
246
279
  """
247
280
  return pulumi.get(self, "root_volume_size")
248
281
 
249
282
  @root_volume_size.setter
250
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
283
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
251
284
  pulumi.set(self, "root_volume_size", value)
252
285
 
253
- @property
286
+ @_builtins.property
254
287
  @pulumi.getter(name="rootVolumeType")
255
- def root_volume_type(self) -> Optional[pulumi.Input[str]]:
288
+ def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
256
289
  """
257
290
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
258
291
  """
259
292
  return pulumi.get(self, "root_volume_type")
260
293
 
261
294
  @root_volume_type.setter
262
- def root_volume_type(self, value: Optional[pulumi.Input[str]]):
295
+ def root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
263
296
  pulumi.set(self, "root_volume_type", value)
264
297
 
265
- @property
298
+ @_builtins.property
266
299
  @pulumi.getter(name="schedulingTasks")
267
300
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
268
301
  """
@@ -274,19 +307,19 @@ class OceanLaunchSpecArgs:
274
307
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
275
308
  pulumi.set(self, "scheduling_tasks", value)
276
309
 
277
- @property
310
+ @_builtins.property
278
311
  @pulumi.getter(name="serviceAccount")
279
- def service_account(self) -> Optional[pulumi.Input[str]]:
312
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
280
313
  """
281
314
  The account used by applications running on the VM to call GCP APIs.
282
315
  """
283
316
  return pulumi.get(self, "service_account")
284
317
 
285
318
  @service_account.setter
286
- def service_account(self, value: Optional[pulumi.Input[str]]):
319
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
287
320
  pulumi.set(self, "service_account", value)
288
321
 
289
- @property
322
+ @_builtins.property
290
323
  @pulumi.getter(name="shieldedInstanceConfig")
291
324
  def shielded_instance_config(self) -> Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]:
292
325
  """
@@ -298,19 +331,19 @@ class OceanLaunchSpecArgs:
298
331
  def shielded_instance_config(self, value: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]):
299
332
  pulumi.set(self, "shielded_instance_config", value)
300
333
 
301
- @property
334
+ @_builtins.property
302
335
  @pulumi.getter(name="sourceImage")
303
- def source_image(self) -> Optional[pulumi.Input[str]]:
336
+ def source_image(self) -> Optional[pulumi.Input[_builtins.str]]:
304
337
  """
305
338
  Image URL.
306
339
  """
307
340
  return pulumi.get(self, "source_image")
308
341
 
309
342
  @source_image.setter
310
- def source_image(self, value: Optional[pulumi.Input[str]]):
343
+ def source_image(self, value: Optional[pulumi.Input[_builtins.str]]):
311
344
  pulumi.set(self, "source_image", value)
312
345
 
313
- @property
346
+ @_builtins.property
314
347
  @pulumi.getter
315
348
  def storage(self) -> Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]:
316
349
  """
@@ -322,7 +355,7 @@ class OceanLaunchSpecArgs:
322
355
  def storage(self, value: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]):
323
356
  pulumi.set(self, "storage", value)
324
357
 
325
- @property
358
+ @_builtins.property
326
359
  @pulumi.getter
327
360
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
328
361
  """
@@ -334,19 +367,19 @@ class OceanLaunchSpecArgs:
334
367
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
335
368
  pulumi.set(self, "strategies", value)
336
369
 
337
- @property
370
+ @_builtins.property
338
371
  @pulumi.getter
339
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
372
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
340
373
  """
341
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
342
375
  """
343
376
  return pulumi.get(self, "tags")
344
377
 
345
378
  @tags.setter
346
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
379
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
347
380
  pulumi.set(self, "tags", value)
348
381
 
349
- @property
382
+ @_builtins.property
350
383
  @pulumi.getter
351
384
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
352
385
  """
@@ -358,7 +391,7 @@ class OceanLaunchSpecArgs:
358
391
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
359
392
  pulumi.set(self, "taints", value)
360
393
 
361
- @property
394
+ @_builtins.property
362
395
  @pulumi.getter(name="updatePolicy")
363
396
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
364
397
  return pulumi.get(self, "update_policy")
@@ -373,54 +406,61 @@ class _OceanLaunchSpecState:
373
406
  def __init__(__self__, *,
374
407
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
375
408
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
376
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
409
+ create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
410
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
411
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
377
412
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
378
413
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
379
- name: Optional[pulumi.Input[str]] = None,
414
+ name: Optional[pulumi.Input[_builtins.str]] = None,
380
415
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]] = None,
381
- node_pool_name: Optional[pulumi.Input[str]] = None,
382
- 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,
383
418
  resource_limits: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']] = None,
384
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
385
- root_volume_size: Optional[pulumi.Input[int]] = None,
386
- 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,
387
422
  scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]] = None,
388
- service_account: Optional[pulumi.Input[str]] = None,
423
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
389
424
  shielded_instance_config: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']] = None,
390
- source_image: Optional[pulumi.Input[str]] = None,
425
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
391
426
  storage: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']] = None,
392
427
  strategies: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]] = None,
393
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
428
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
394
429
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]] = None,
395
430
  update_policy: Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']] = None):
396
431
  """
397
432
  Input properties used for looking up and filtering OceanLaunchSpec resources.
398
433
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
399
434
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
400
- :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.
401
437
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
402
438
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
403
- :param pulumi.Input[str] name: The launch specification name.
439
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
404
440
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]] network_interfaces: Settings for network interfaces.
405
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
406
- :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.
407
443
  :param pulumi.Input['OceanLaunchSpecResourceLimitsArgs'] resource_limits: The Ocean virtual node group resource limits object.
408
- :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.
409
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
410
- :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"`.
411
447
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
412
- :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.
413
449
  :param pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs'] shielded_instance_config: The Ocean shielded instance configuration object.
414
- :param pulumi.Input[str] source_image: Image URL.
450
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
415
451
  :param pulumi.Input['OceanLaunchSpecStorageArgs'] storage: The Ocean virtual node group storage object.
416
452
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]] strategies: The Ocean Launch Spec Strategy object.
417
- :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
418
454
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]] taints: Optionally adds labels to instances launched in an Ocean cluster.
419
455
  """
420
456
  if autoscale_headrooms is not None:
421
457
  pulumi.set(__self__, "autoscale_headrooms", autoscale_headrooms)
422
458
  if autoscale_headrooms_automatics is not None:
423
459
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
460
+ if create_options is not None:
461
+ pulumi.set(__self__, "create_options", create_options)
462
+ if filters is not None:
463
+ pulumi.set(__self__, "filters", filters)
424
464
  if instance_types is not None:
425
465
  pulumi.set(__self__, "instance_types", instance_types)
426
466
  if labels is not None:
@@ -462,7 +502,7 @@ class _OceanLaunchSpecState:
462
502
  if update_policy is not None:
463
503
  pulumi.set(__self__, "update_policy", update_policy)
464
504
 
465
- @property
505
+ @_builtins.property
466
506
  @pulumi.getter(name="autoscaleHeadrooms")
467
507
  def autoscale_headrooms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]:
468
508
  """
@@ -474,7 +514,7 @@ class _OceanLaunchSpecState:
474
514
  def autoscale_headrooms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]]):
475
515
  pulumi.set(self, "autoscale_headrooms", value)
476
516
 
477
- @property
517
+ @_builtins.property
478
518
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
479
519
  def autoscale_headrooms_automatics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]:
480
520
  """
@@ -486,19 +526,40 @@ class _OceanLaunchSpecState:
486
526
  def autoscale_headrooms_automatics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]):
487
527
  pulumi.set(self, "autoscale_headrooms_automatics", value)
488
528
 
489
- @property
529
+ @_builtins.property
530
+ @pulumi.getter(name="createOptions")
531
+ def create_options(self) -> Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]:
532
+ return pulumi.get(self, "create_options")
533
+
534
+ @create_options.setter
535
+ def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
536
+ pulumi.set(self, "create_options", value)
537
+
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
490
551
  @pulumi.getter(name="instanceTypes")
491
- def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
552
+ def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
492
553
  """
493
554
  List of supported machine types for the Launch Spec.
494
555
  """
495
556
  return pulumi.get(self, "instance_types")
496
557
 
497
558
  @instance_types.setter
498
- 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]]]]):
499
560
  pulumi.set(self, "instance_types", value)
500
561
 
501
- @property
562
+ @_builtins.property
502
563
  @pulumi.getter
503
564
  def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]:
504
565
  """
@@ -510,7 +571,7 @@ class _OceanLaunchSpecState:
510
571
  def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]]):
511
572
  pulumi.set(self, "labels", value)
512
573
 
513
- @property
574
+ @_builtins.property
514
575
  @pulumi.getter
515
576
  def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]:
516
577
  """
@@ -522,19 +583,19 @@ class _OceanLaunchSpecState:
522
583
  def metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]]):
523
584
  pulumi.set(self, "metadatas", value)
524
585
 
525
- @property
586
+ @_builtins.property
526
587
  @pulumi.getter
527
- def name(self) -> Optional[pulumi.Input[str]]:
588
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
528
589
  """
529
590
  The launch specification name.
530
591
  """
531
592
  return pulumi.get(self, "name")
532
593
 
533
594
  @name.setter
534
- def name(self, value: Optional[pulumi.Input[str]]):
595
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
535
596
  pulumi.set(self, "name", value)
536
597
 
537
- @property
598
+ @_builtins.property
538
599
  @pulumi.getter(name="networkInterfaces")
539
600
  def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]:
540
601
  """
@@ -546,31 +607,31 @@ class _OceanLaunchSpecState:
546
607
  def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecNetworkInterfaceArgs']]]]):
547
608
  pulumi.set(self, "network_interfaces", value)
548
609
 
549
- @property
610
+ @_builtins.property
550
611
  @pulumi.getter(name="nodePoolName")
551
- def node_pool_name(self) -> Optional[pulumi.Input[str]]:
612
+ def node_pool_name(self) -> Optional[pulumi.Input[_builtins.str]]:
552
613
  """
553
614
  The node pool you wish to use in your Launch Spec.
554
615
  """
555
616
  return pulumi.get(self, "node_pool_name")
556
617
 
557
618
  @node_pool_name.setter
558
- def node_pool_name(self, value: Optional[pulumi.Input[str]]):
619
+ def node_pool_name(self, value: Optional[pulumi.Input[_builtins.str]]):
559
620
  pulumi.set(self, "node_pool_name", value)
560
621
 
561
- @property
622
+ @_builtins.property
562
623
  @pulumi.getter(name="oceanId")
563
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
624
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
564
625
  """
565
626
  The Ocean cluster ID.
566
627
  """
567
628
  return pulumi.get(self, "ocean_id")
568
629
 
569
630
  @ocean_id.setter
570
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
631
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
571
632
  pulumi.set(self, "ocean_id", value)
572
633
 
573
- @property
634
+ @_builtins.property
574
635
  @pulumi.getter(name="resourceLimits")
575
636
  def resource_limits(self) -> Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]:
576
637
  """
@@ -582,43 +643,43 @@ class _OceanLaunchSpecState:
582
643
  def resource_limits(self, value: Optional[pulumi.Input['OceanLaunchSpecResourceLimitsArgs']]):
583
644
  pulumi.set(self, "resource_limits", value)
584
645
 
585
- @property
646
+ @_builtins.property
586
647
  @pulumi.getter(name="restrictScaleDown")
587
- def restrict_scale_down(self) -> Optional[pulumi.Input[bool]]:
648
+ def restrict_scale_down(self) -> Optional[pulumi.Input[_builtins.bool]]:
588
649
  """
589
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.
590
651
  """
591
652
  return pulumi.get(self, "restrict_scale_down")
592
653
 
593
654
  @restrict_scale_down.setter
594
- def restrict_scale_down(self, value: Optional[pulumi.Input[bool]]):
655
+ def restrict_scale_down(self, value: Optional[pulumi.Input[_builtins.bool]]):
595
656
  pulumi.set(self, "restrict_scale_down", value)
596
657
 
597
- @property
658
+ @_builtins.property
598
659
  @pulumi.getter(name="rootVolumeSize")
599
- def root_volume_size(self) -> Optional[pulumi.Input[int]]:
660
+ def root_volume_size(self) -> Optional[pulumi.Input[_builtins.int]]:
600
661
  """
601
662
  Root volume size (in GB).
602
663
  """
603
664
  return pulumi.get(self, "root_volume_size")
604
665
 
605
666
  @root_volume_size.setter
606
- def root_volume_size(self, value: Optional[pulumi.Input[int]]):
667
+ def root_volume_size(self, value: Optional[pulumi.Input[_builtins.int]]):
607
668
  pulumi.set(self, "root_volume_size", value)
608
669
 
609
- @property
670
+ @_builtins.property
610
671
  @pulumi.getter(name="rootVolumeType")
611
- def root_volume_type(self) -> Optional[pulumi.Input[str]]:
672
+ def root_volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
612
673
  """
613
674
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
614
675
  """
615
676
  return pulumi.get(self, "root_volume_type")
616
677
 
617
678
  @root_volume_type.setter
618
- def root_volume_type(self, value: Optional[pulumi.Input[str]]):
679
+ def root_volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
619
680
  pulumi.set(self, "root_volume_type", value)
620
681
 
621
- @property
682
+ @_builtins.property
622
683
  @pulumi.getter(name="schedulingTasks")
623
684
  def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]:
624
685
  """
@@ -630,19 +691,19 @@ class _OceanLaunchSpecState:
630
691
  def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecSchedulingTaskArgs']]]]):
631
692
  pulumi.set(self, "scheduling_tasks", value)
632
693
 
633
- @property
694
+ @_builtins.property
634
695
  @pulumi.getter(name="serviceAccount")
635
- def service_account(self) -> Optional[pulumi.Input[str]]:
696
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
636
697
  """
637
698
  The account used by applications running on the VM to call GCP APIs.
638
699
  """
639
700
  return pulumi.get(self, "service_account")
640
701
 
641
702
  @service_account.setter
642
- def service_account(self, value: Optional[pulumi.Input[str]]):
703
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
643
704
  pulumi.set(self, "service_account", value)
644
705
 
645
- @property
706
+ @_builtins.property
646
707
  @pulumi.getter(name="shieldedInstanceConfig")
647
708
  def shielded_instance_config(self) -> Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]:
648
709
  """
@@ -654,19 +715,19 @@ class _OceanLaunchSpecState:
654
715
  def shielded_instance_config(self, value: Optional[pulumi.Input['OceanLaunchSpecShieldedInstanceConfigArgs']]):
655
716
  pulumi.set(self, "shielded_instance_config", value)
656
717
 
657
- @property
718
+ @_builtins.property
658
719
  @pulumi.getter(name="sourceImage")
659
- def source_image(self) -> Optional[pulumi.Input[str]]:
720
+ def source_image(self) -> Optional[pulumi.Input[_builtins.str]]:
660
721
  """
661
722
  Image URL.
662
723
  """
663
724
  return pulumi.get(self, "source_image")
664
725
 
665
726
  @source_image.setter
666
- def source_image(self, value: Optional[pulumi.Input[str]]):
727
+ def source_image(self, value: Optional[pulumi.Input[_builtins.str]]):
667
728
  pulumi.set(self, "source_image", value)
668
729
 
669
- @property
730
+ @_builtins.property
670
731
  @pulumi.getter
671
732
  def storage(self) -> Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]:
672
733
  """
@@ -678,7 +739,7 @@ class _OceanLaunchSpecState:
678
739
  def storage(self, value: Optional[pulumi.Input['OceanLaunchSpecStorageArgs']]):
679
740
  pulumi.set(self, "storage", value)
680
741
 
681
- @property
742
+ @_builtins.property
682
743
  @pulumi.getter
683
744
  def strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]:
684
745
  """
@@ -690,19 +751,19 @@ class _OceanLaunchSpecState:
690
751
  def strategies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecStrategyArgs']]]]):
691
752
  pulumi.set(self, "strategies", value)
692
753
 
693
- @property
754
+ @_builtins.property
694
755
  @pulumi.getter
695
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
756
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
696
757
  """
697
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
698
759
  """
699
760
  return pulumi.get(self, "tags")
700
761
 
701
762
  @tags.setter
702
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
763
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
703
764
  pulumi.set(self, "tags", value)
704
765
 
705
- @property
766
+ @_builtins.property
706
767
  @pulumi.getter
707
768
  def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]:
708
769
  """
@@ -714,7 +775,7 @@ class _OceanLaunchSpecState:
714
775
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecTaintArgs']]]]):
715
776
  pulumi.set(self, "taints", value)
716
777
 
717
- @property
778
+ @_builtins.property
718
779
  @pulumi.getter(name="updatePolicy")
719
780
  def update_policy(self) -> Optional[pulumi.Input['OceanLaunchSpecUpdatePolicyArgs']]:
720
781
  return pulumi.get(self, "update_policy")
@@ -724,33 +785,36 @@ class _OceanLaunchSpecState:
724
785
  pulumi.set(self, "update_policy", value)
725
786
 
726
787
 
788
+ @pulumi.type_token("spotinst:gke/oceanLaunchSpec:OceanLaunchSpec")
727
789
  class OceanLaunchSpec(pulumi.CustomResource):
728
790
  @overload
729
791
  def __init__(__self__,
730
792
  resource_name: str,
731
793
  opts: Optional[pulumi.ResourceOptions] = None,
732
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
733
- autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]] = None,
734
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
735
- labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecLabelArgs']]]]] = None,
736
- metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecMetadataArgs']]]]] = None,
737
- name: Optional[pulumi.Input[str]] = None,
738
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecNetworkInterfaceArgs']]]]] = None,
739
- node_pool_name: Optional[pulumi.Input[str]] = None,
740
- ocean_id: Optional[pulumi.Input[str]] = None,
741
- resource_limits: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecResourceLimitsArgs']]] = None,
742
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
743
- root_volume_size: Optional[pulumi.Input[int]] = None,
744
- root_volume_type: Optional[pulumi.Input[str]] = None,
745
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
746
- service_account: Optional[pulumi.Input[str]] = None,
747
- shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecShieldedInstanceConfigArgs']]] = None,
748
- source_image: Optional[pulumi.Input[str]] = None,
749
- storage: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecStorageArgs']]] = None,
750
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
751
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
752
- taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTaintArgs']]]]] = None,
753
- update_policy: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecUpdatePolicyArgs']]] = None,
794
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
795
+ autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
796
+ create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
797
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
798
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
799
+ labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
800
+ metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
801
+ name: Optional[pulumi.Input[_builtins.str]] = None,
802
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
803
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
804
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
805
+ resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = 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,
809
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
810
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
811
+ shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
812
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
813
+ storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
814
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
815
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
816
+ taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
817
+ update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
754
818
  __props__=None):
755
819
  """
756
820
  Manages a custom Spotinst Ocean GKE Launch Spec resource.
@@ -776,91 +840,107 @@ class OceanLaunchSpec(pulumi.CustomResource):
776
840
  "tag1",
777
841
  "tag2",
778
842
  ],
779
- shielded_instance_config=spotinst.gke.OceanLaunchSpecShieldedInstanceConfigArgs(
780
- enable_secure_boot=False,
781
- enable_integrity_monitoring=True,
782
- ),
783
- storage=spotinst.gke.OceanLaunchSpecStorageArgs(
784
- local_ssd_count=5,
785
- ),
786
- resource_limits=spotinst.gke.OceanLaunchSpecResourceLimitsArgs(
787
- max_instance_count=3,
788
- min_instance_count=0,
789
- ),
843
+ create_options={
844
+ "initial_nodes": 1,
845
+ },
846
+ shielded_instance_config={
847
+ "enable_secure_boot": False,
848
+ "enable_integrity_monitoring": True,
849
+ },
850
+ storage={
851
+ "local_ssd_count": 5,
852
+ },
853
+ resource_limits={
854
+ "max_instance_count": 3,
855
+ "min_instance_count": 0,
856
+ },
790
857
  service_account="default",
791
- metadatas=[spotinst.gke.OceanLaunchSpecMetadataArgs(
792
- key="gci-update-strategy",
793
- value="update_disabled",
794
- )],
795
- labels=[spotinst.gke.OceanLaunchSpecLabelArgs(
796
- key="labelKey",
797
- value="labelVal",
798
- )],
799
- taints=[spotinst.gke.OceanLaunchSpecTaintArgs(
800
- key="taintKey",
801
- value="taintVal",
802
- effect="taintEffect",
803
- )],
804
- autoscale_headrooms_automatics=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
805
- auto_headroom_percentage=5,
806
- )],
807
- autoscale_headrooms=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomArgs(
808
- num_of_units=5,
809
- cpu_per_unit=1000,
810
- gpu_per_unit=0,
811
- memory_per_unit=2048,
812
- )],
813
- strategies=[spotinst.gke.OceanLaunchSpecStrategyArgs(
814
- preemptible_percentage=30,
815
- )],
816
- scheduling_tasks=[spotinst.gke.OceanLaunchSpecSchedulingTaskArgs(
817
- is_enabled=True,
818
- cron_expression="0 1 * * *",
819
- task_type="manualHeadroomUpdate",
820
- task_headrooms=[spotinst.gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
821
- num_of_units=5,
822
- cpu_per_unit=1000,
823
- gpu_per_unit=0,
824
- memory_per_unit=2048,
825
- )],
826
- )],
827
- network_interfaces=[spotinst.gke.OceanLaunchSpecNetworkInterfaceArgs(
828
- network="test-vng-network",
829
- project_id="test-vng-network-project",
830
- access_configs=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs(
831
- name="external-nat-vng",
832
- type="ONE_TO_ONE_NAT",
833
- )],
834
- alias_ip_ranges=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs(
835
- ip_cidr_range="/25",
836
- subnetwork_range_name="gke-test-native-vpc-pods-123456-vng",
837
- )],
838
- )])
858
+ metadatas=[{
859
+ "key": "gci-update-strategy",
860
+ "value": "update_disabled",
861
+ }],
862
+ labels=[{
863
+ "key": "labelKey",
864
+ "value": "labelVal",
865
+ }],
866
+ taints=[{
867
+ "key": "taintKey",
868
+ "value": "taintVal",
869
+ "effect": "taintEffect",
870
+ }],
871
+ autoscale_headrooms_automatics=[{
872
+ "auto_headroom_percentage": 5,
873
+ }],
874
+ autoscale_headrooms=[{
875
+ "num_of_units": 5,
876
+ "cpu_per_unit": 1000,
877
+ "gpu_per_unit": 0,
878
+ "memory_per_unit": 2048,
879
+ }],
880
+ strategies=[{
881
+ "preemptible_percentage": 30,
882
+ "scaling_orientation": "balanced",
883
+ }],
884
+ scheduling_tasks=[{
885
+ "is_enabled": True,
886
+ "cron_expression": "0 1 * * *",
887
+ "task_type": "manualHeadroomUpdate",
888
+ "task_headrooms": [{
889
+ "num_of_units": 5,
890
+ "cpu_per_unit": 1000,
891
+ "gpu_per_unit": 0,
892
+ "memory_per_unit": 2048,
893
+ }],
894
+ }],
895
+ network_interfaces=[{
896
+ "network": "test-vng-network",
897
+ "project_id": "test-vng-network-project",
898
+ "access_configs": [{
899
+ "name": "external-nat-vng",
900
+ "type": "ONE_TO_ONE_NAT",
901
+ }],
902
+ "alias_ip_ranges": [{
903
+ "ip_cidr_range": "/25",
904
+ "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
905
+ }],
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
+ })
839
918
  ```
840
919
 
841
920
  :param str resource_name: The name of the resource.
842
921
  :param pulumi.ResourceOptions opts: Options for the resource.
843
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
844
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
845
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
846
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecLabelArgs']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
847
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecMetadataArgs']]]] metadatas: Cluster's metadata.
848
- :param pulumi.Input[str] name: The launch specification name.
849
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecNetworkInterfaceArgs']]]] network_interfaces: Settings for network interfaces.
850
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
851
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
852
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecResourceLimitsArgs']] resource_limits: The Ocean virtual node group resource limits object.
853
- :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.
854
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
855
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
856
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
857
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
858
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecShieldedInstanceConfigArgs']] shielded_instance_config: The Ocean shielded instance configuration object.
859
- :param pulumi.Input[str] source_image: Image URL.
860
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecStorageArgs']] storage: The Ocean virtual node group storage object.
861
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]] strategies: The Ocean Launch Spec Strategy object.
862
- :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
863
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTaintArgs']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
922
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
923
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per 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.
926
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
927
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
928
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
929
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]] network_interfaces: Settings for network interfaces.
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.
932
+ :param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
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"`.
936
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
937
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
938
+ :param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
939
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
940
+ :param pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']] storage: The Ocean virtual node group storage object.
941
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: The Ocean Launch Spec Strategy object.
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
943
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
864
944
  """
865
945
  ...
866
946
  @overload
@@ -892,66 +972,81 @@ class OceanLaunchSpec(pulumi.CustomResource):
892
972
  "tag1",
893
973
  "tag2",
894
974
  ],
895
- shielded_instance_config=spotinst.gke.OceanLaunchSpecShieldedInstanceConfigArgs(
896
- enable_secure_boot=False,
897
- enable_integrity_monitoring=True,
898
- ),
899
- storage=spotinst.gke.OceanLaunchSpecStorageArgs(
900
- local_ssd_count=5,
901
- ),
902
- resource_limits=spotinst.gke.OceanLaunchSpecResourceLimitsArgs(
903
- max_instance_count=3,
904
- min_instance_count=0,
905
- ),
975
+ create_options={
976
+ "initial_nodes": 1,
977
+ },
978
+ shielded_instance_config={
979
+ "enable_secure_boot": False,
980
+ "enable_integrity_monitoring": True,
981
+ },
982
+ storage={
983
+ "local_ssd_count": 5,
984
+ },
985
+ resource_limits={
986
+ "max_instance_count": 3,
987
+ "min_instance_count": 0,
988
+ },
906
989
  service_account="default",
907
- metadatas=[spotinst.gke.OceanLaunchSpecMetadataArgs(
908
- key="gci-update-strategy",
909
- value="update_disabled",
910
- )],
911
- labels=[spotinst.gke.OceanLaunchSpecLabelArgs(
912
- key="labelKey",
913
- value="labelVal",
914
- )],
915
- taints=[spotinst.gke.OceanLaunchSpecTaintArgs(
916
- key="taintKey",
917
- value="taintVal",
918
- effect="taintEffect",
919
- )],
920
- autoscale_headrooms_automatics=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
921
- auto_headroom_percentage=5,
922
- )],
923
- autoscale_headrooms=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomArgs(
924
- num_of_units=5,
925
- cpu_per_unit=1000,
926
- gpu_per_unit=0,
927
- memory_per_unit=2048,
928
- )],
929
- strategies=[spotinst.gke.OceanLaunchSpecStrategyArgs(
930
- preemptible_percentage=30,
931
- )],
932
- scheduling_tasks=[spotinst.gke.OceanLaunchSpecSchedulingTaskArgs(
933
- is_enabled=True,
934
- cron_expression="0 1 * * *",
935
- task_type="manualHeadroomUpdate",
936
- task_headrooms=[spotinst.gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
937
- num_of_units=5,
938
- cpu_per_unit=1000,
939
- gpu_per_unit=0,
940
- memory_per_unit=2048,
941
- )],
942
- )],
943
- network_interfaces=[spotinst.gke.OceanLaunchSpecNetworkInterfaceArgs(
944
- network="test-vng-network",
945
- project_id="test-vng-network-project",
946
- access_configs=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs(
947
- name="external-nat-vng",
948
- type="ONE_TO_ONE_NAT",
949
- )],
950
- alias_ip_ranges=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs(
951
- ip_cidr_range="/25",
952
- subnetwork_range_name="gke-test-native-vpc-pods-123456-vng",
953
- )],
954
- )])
990
+ metadatas=[{
991
+ "key": "gci-update-strategy",
992
+ "value": "update_disabled",
993
+ }],
994
+ labels=[{
995
+ "key": "labelKey",
996
+ "value": "labelVal",
997
+ }],
998
+ taints=[{
999
+ "key": "taintKey",
1000
+ "value": "taintVal",
1001
+ "effect": "taintEffect",
1002
+ }],
1003
+ autoscale_headrooms_automatics=[{
1004
+ "auto_headroom_percentage": 5,
1005
+ }],
1006
+ autoscale_headrooms=[{
1007
+ "num_of_units": 5,
1008
+ "cpu_per_unit": 1000,
1009
+ "gpu_per_unit": 0,
1010
+ "memory_per_unit": 2048,
1011
+ }],
1012
+ strategies=[{
1013
+ "preemptible_percentage": 30,
1014
+ "scaling_orientation": "balanced",
1015
+ }],
1016
+ scheduling_tasks=[{
1017
+ "is_enabled": True,
1018
+ "cron_expression": "0 1 * * *",
1019
+ "task_type": "manualHeadroomUpdate",
1020
+ "task_headrooms": [{
1021
+ "num_of_units": 5,
1022
+ "cpu_per_unit": 1000,
1023
+ "gpu_per_unit": 0,
1024
+ "memory_per_unit": 2048,
1025
+ }],
1026
+ }],
1027
+ network_interfaces=[{
1028
+ "network": "test-vng-network",
1029
+ "project_id": "test-vng-network-project",
1030
+ "access_configs": [{
1031
+ "name": "external-nat-vng",
1032
+ "type": "ONE_TO_ONE_NAT",
1033
+ }],
1034
+ "alias_ip_ranges": [{
1035
+ "ip_cidr_range": "/25",
1036
+ "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
1037
+ }],
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
+ })
955
1050
  ```
956
1051
 
957
1052
  :param str resource_name: The name of the resource.
@@ -969,28 +1064,30 @@ class OceanLaunchSpec(pulumi.CustomResource):
969
1064
  def _internal_init(__self__,
970
1065
  resource_name: str,
971
1066
  opts: Optional[pulumi.ResourceOptions] = None,
972
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
973
- autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]] = None,
974
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
975
- labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecLabelArgs']]]]] = None,
976
- metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecMetadataArgs']]]]] = None,
977
- name: Optional[pulumi.Input[str]] = None,
978
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecNetworkInterfaceArgs']]]]] = None,
979
- node_pool_name: Optional[pulumi.Input[str]] = None,
980
- ocean_id: Optional[pulumi.Input[str]] = None,
981
- resource_limits: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecResourceLimitsArgs']]] = None,
982
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
983
- root_volume_size: Optional[pulumi.Input[int]] = None,
984
- root_volume_type: Optional[pulumi.Input[str]] = None,
985
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
986
- service_account: Optional[pulumi.Input[str]] = None,
987
- shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecShieldedInstanceConfigArgs']]] = None,
988
- source_image: Optional[pulumi.Input[str]] = None,
989
- storage: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecStorageArgs']]] = None,
990
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
991
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
992
- taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTaintArgs']]]]] = None,
993
- update_policy: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecUpdatePolicyArgs']]] = None,
1067
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1068
+ autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1069
+ create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1070
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1071
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1072
+ labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1073
+ metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
1074
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1075
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
1076
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
1077
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1078
+ resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = 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,
1082
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1083
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
1084
+ shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
1085
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
1086
+ storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
1087
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1088
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1089
+ taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1090
+ update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None,
994
1091
  __props__=None):
995
1092
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
996
1093
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1002,6 +1099,8 @@ class OceanLaunchSpec(pulumi.CustomResource):
1002
1099
 
1003
1100
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1004
1101
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1102
+ __props__.__dict__["create_options"] = create_options
1103
+ __props__.__dict__["filters"] = filters
1005
1104
  __props__.__dict__["instance_types"] = instance_types
1006
1105
  __props__.__dict__["labels"] = labels
1007
1106
  __props__.__dict__["metadatas"] = metadatas
@@ -1034,28 +1133,30 @@ class OceanLaunchSpec(pulumi.CustomResource):
1034
1133
  def get(resource_name: str,
1035
1134
  id: pulumi.Input[str],
1036
1135
  opts: Optional[pulumi.ResourceOptions] = None,
1037
- autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]]] = None,
1038
- autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]]] = None,
1039
- instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1040
- labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecLabelArgs']]]]] = None,
1041
- metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecMetadataArgs']]]]] = None,
1042
- name: Optional[pulumi.Input[str]] = None,
1043
- network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecNetworkInterfaceArgs']]]]] = None,
1044
- node_pool_name: Optional[pulumi.Input[str]] = None,
1045
- ocean_id: Optional[pulumi.Input[str]] = None,
1046
- resource_limits: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecResourceLimitsArgs']]] = None,
1047
- restrict_scale_down: Optional[pulumi.Input[bool]] = None,
1048
- root_volume_size: Optional[pulumi.Input[int]] = None,
1049
- root_volume_type: Optional[pulumi.Input[str]] = None,
1050
- scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]]] = None,
1051
- service_account: Optional[pulumi.Input[str]] = None,
1052
- shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecShieldedInstanceConfigArgs']]] = None,
1053
- source_image: Optional[pulumi.Input[str]] = None,
1054
- storage: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecStorageArgs']]] = None,
1055
- strategies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]]] = None,
1056
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1057
- taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTaintArgs']]]]] = None,
1058
- update_policy: Optional[pulumi.Input[pulumi.InputType['OceanLaunchSpecUpdatePolicyArgs']]] = None) -> 'OceanLaunchSpec':
1136
+ autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1137
+ autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1138
+ create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1139
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1140
+ instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1141
+ labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1142
+ metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
1143
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1144
+ network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]]] = None,
1145
+ node_pool_name: Optional[pulumi.Input[_builtins.str]] = None,
1146
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
1147
+ resource_limits: Optional[pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']]] = 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,
1151
+ scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]]] = None,
1152
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
1153
+ shielded_instance_config: Optional[pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']]] = None,
1154
+ source_image: Optional[pulumi.Input[_builtins.str]] = None,
1155
+ storage: Optional[pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']]] = None,
1156
+ strategies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]]] = None,
1157
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1158
+ taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]]] = None,
1159
+ update_policy: Optional[pulumi.Input[Union['OceanLaunchSpecUpdatePolicyArgs', 'OceanLaunchSpecUpdatePolicyArgsDict']]] = None) -> 'OceanLaunchSpec':
1059
1160
  """
1060
1161
  Get an existing OceanLaunchSpec resource's state with the given name, id, and optional extra
1061
1162
  properties used to qualify the lookup.
@@ -1063,27 +1164,28 @@ class OceanLaunchSpec(pulumi.CustomResource):
1063
1164
  :param str resource_name: The unique name of the resulting resource.
1064
1165
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1065
1166
  :param pulumi.ResourceOptions opts: Options for the resource.
1066
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomArgs']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
1067
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
1068
- :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: List of supported machine types for the Launch Spec.
1069
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecLabelArgs']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
1070
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecMetadataArgs']]]] metadatas: Cluster's metadata.
1071
- :param pulumi.Input[str] name: The launch specification name.
1072
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecNetworkInterfaceArgs']]]] network_interfaces: Settings for network interfaces.
1073
- :param pulumi.Input[str] node_pool_name: The node pool you wish to use in your Launch Spec.
1074
- :param pulumi.Input[str] ocean_id: The Ocean cluster ID.
1075
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecResourceLimitsArgs']] resource_limits: The Ocean virtual node group resource limits object.
1076
- :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.
1077
- :param pulumi.Input[int] root_volume_size: Root volume size (in GB).
1078
- :param pulumi.Input[str] root_volume_type: Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
1079
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecSchedulingTaskArgs']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1080
- :param pulumi.Input[str] service_account: The account used by applications running on the VM to call GCP APIs.
1081
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecShieldedInstanceConfigArgs']] shielded_instance_config: The Ocean shielded instance configuration object.
1082
- :param pulumi.Input[str] source_image: Image URL.
1083
- :param pulumi.Input[pulumi.InputType['OceanLaunchSpecStorageArgs']] storage: The Ocean virtual node group storage object.
1084
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecStrategyArgs']]]] strategies: The Ocean Launch Spec Strategy object.
1085
- :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
1086
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OceanLaunchSpecTaintArgs']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
1167
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
1168
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per 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.
1171
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
1172
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
1173
+ :param pulumi.Input[_builtins.str] name: The launch specification name.
1174
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecNetworkInterfaceArgs', 'OceanLaunchSpecNetworkInterfaceArgsDict']]]] network_interfaces: Settings for network interfaces.
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.
1177
+ :param pulumi.Input[Union['OceanLaunchSpecResourceLimitsArgs', 'OceanLaunchSpecResourceLimitsArgsDict']] resource_limits: The Ocean virtual node group resource limits object.
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"`.
1181
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecSchedulingTaskArgs', 'OceanLaunchSpecSchedulingTaskArgsDict']]]] scheduling_tasks: Used to define scheduled tasks such as a manual headroom update.
1182
+ :param pulumi.Input[_builtins.str] service_account: The account used by applications running on the VM to call GCP APIs.
1183
+ :param pulumi.Input[Union['OceanLaunchSpecShieldedInstanceConfigArgs', 'OceanLaunchSpecShieldedInstanceConfigArgsDict']] shielded_instance_config: The Ocean shielded instance configuration object.
1184
+ :param pulumi.Input[_builtins.str] source_image: Image URL.
1185
+ :param pulumi.Input[Union['OceanLaunchSpecStorageArgs', 'OceanLaunchSpecStorageArgsDict']] storage: The Ocean virtual node group storage object.
1186
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecStrategyArgs', 'OceanLaunchSpecStrategyArgsDict']]]] strategies: The Ocean Launch Spec Strategy object.
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
1188
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecTaintArgs', 'OceanLaunchSpecTaintArgsDict']]]] taints: Optionally adds labels to instances launched in an Ocean cluster.
1087
1189
  """
1088
1190
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1089
1191
 
@@ -1091,6 +1193,8 @@ class OceanLaunchSpec(pulumi.CustomResource):
1091
1193
 
1092
1194
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1093
1195
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1196
+ __props__.__dict__["create_options"] = create_options
1197
+ __props__.__dict__["filters"] = filters
1094
1198
  __props__.__dict__["instance_types"] = instance_types
1095
1199
  __props__.__dict__["labels"] = labels
1096
1200
  __props__.__dict__["metadatas"] = metadatas
@@ -1113,7 +1217,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1113
1217
  __props__.__dict__["update_policy"] = update_policy
1114
1218
  return OceanLaunchSpec(resource_name, opts=opts, __props__=__props__)
1115
1219
 
1116
- @property
1220
+ @_builtins.property
1117
1221
  @pulumi.getter(name="autoscaleHeadrooms")
1118
1222
  def autoscale_headrooms(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroom']]]:
1119
1223
  """
@@ -1121,7 +1225,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1121
1225
  """
1122
1226
  return pulumi.get(self, "autoscale_headrooms")
1123
1227
 
1124
- @property
1228
+ @_builtins.property
1125
1229
  @pulumi.getter(name="autoscaleHeadroomsAutomatics")
1126
1230
  def autoscale_headrooms_automatics(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic']]]:
1127
1231
  """
@@ -1129,15 +1233,28 @@ class OceanLaunchSpec(pulumi.CustomResource):
1129
1233
  """
1130
1234
  return pulumi.get(self, "autoscale_headrooms_automatics")
1131
1235
 
1132
- @property
1236
+ @_builtins.property
1237
+ @pulumi.getter(name="createOptions")
1238
+ def create_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecCreateOptions']]:
1239
+ return pulumi.get(self, "create_options")
1240
+
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
1133
1250
  @pulumi.getter(name="instanceTypes")
1134
- def instance_types(self) -> pulumi.Output[Sequence[str]]:
1251
+ def instance_types(self) -> pulumi.Output[Sequence[_builtins.str]]:
1135
1252
  """
1136
1253
  List of supported machine types for the Launch Spec.
1137
1254
  """
1138
1255
  return pulumi.get(self, "instance_types")
1139
1256
 
1140
- @property
1257
+ @_builtins.property
1141
1258
  @pulumi.getter
1142
1259
  def labels(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecLabel']]:
1143
1260
  """
@@ -1145,7 +1262,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1145
1262
  """
1146
1263
  return pulumi.get(self, "labels")
1147
1264
 
1148
- @property
1265
+ @_builtins.property
1149
1266
  @pulumi.getter
1150
1267
  def metadatas(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecMetadata']]:
1151
1268
  """
@@ -1153,15 +1270,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1153
1270
  """
1154
1271
  return pulumi.get(self, "metadatas")
1155
1272
 
1156
- @property
1273
+ @_builtins.property
1157
1274
  @pulumi.getter
1158
- def name(self) -> pulumi.Output[str]:
1275
+ def name(self) -> pulumi.Output[_builtins.str]:
1159
1276
  """
1160
1277
  The launch specification name.
1161
1278
  """
1162
1279
  return pulumi.get(self, "name")
1163
1280
 
1164
- @property
1281
+ @_builtins.property
1165
1282
  @pulumi.getter(name="networkInterfaces")
1166
1283
  def network_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecNetworkInterface']]]:
1167
1284
  """
@@ -1169,23 +1286,23 @@ class OceanLaunchSpec(pulumi.CustomResource):
1169
1286
  """
1170
1287
  return pulumi.get(self, "network_interfaces")
1171
1288
 
1172
- @property
1289
+ @_builtins.property
1173
1290
  @pulumi.getter(name="nodePoolName")
1174
- def node_pool_name(self) -> pulumi.Output[Optional[str]]:
1291
+ def node_pool_name(self) -> pulumi.Output[Optional[_builtins.str]]:
1175
1292
  """
1176
1293
  The node pool you wish to use in your Launch Spec.
1177
1294
  """
1178
1295
  return pulumi.get(self, "node_pool_name")
1179
1296
 
1180
- @property
1297
+ @_builtins.property
1181
1298
  @pulumi.getter(name="oceanId")
1182
- def ocean_id(self) -> pulumi.Output[str]:
1299
+ def ocean_id(self) -> pulumi.Output[_builtins.str]:
1183
1300
  """
1184
1301
  The Ocean cluster ID.
1185
1302
  """
1186
1303
  return pulumi.get(self, "ocean_id")
1187
1304
 
1188
- @property
1305
+ @_builtins.property
1189
1306
  @pulumi.getter(name="resourceLimits")
1190
1307
  def resource_limits(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecResourceLimits']]:
1191
1308
  """
@@ -1193,31 +1310,31 @@ class OceanLaunchSpec(pulumi.CustomResource):
1193
1310
  """
1194
1311
  return pulumi.get(self, "resource_limits")
1195
1312
 
1196
- @property
1313
+ @_builtins.property
1197
1314
  @pulumi.getter(name="restrictScaleDown")
1198
- def restrict_scale_down(self) -> pulumi.Output[bool]:
1315
+ def restrict_scale_down(self) -> pulumi.Output[_builtins.bool]:
1199
1316
  """
1200
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.
1201
1318
  """
1202
1319
  return pulumi.get(self, "restrict_scale_down")
1203
1320
 
1204
- @property
1321
+ @_builtins.property
1205
1322
  @pulumi.getter(name="rootVolumeSize")
1206
- def root_volume_size(self) -> pulumi.Output[int]:
1323
+ def root_volume_size(self) -> pulumi.Output[_builtins.int]:
1207
1324
  """
1208
1325
  Root volume size (in GB).
1209
1326
  """
1210
1327
  return pulumi.get(self, "root_volume_size")
1211
1328
 
1212
- @property
1329
+ @_builtins.property
1213
1330
  @pulumi.getter(name="rootVolumeType")
1214
- def root_volume_type(self) -> pulumi.Output[str]:
1331
+ def root_volume_type(self) -> pulumi.Output[_builtins.str]:
1215
1332
  """
1216
1333
  Root volume disk type. Valid values: `"pd-standard"`, `"pd-ssd"`.
1217
1334
  """
1218
1335
  return pulumi.get(self, "root_volume_type")
1219
1336
 
1220
- @property
1337
+ @_builtins.property
1221
1338
  @pulumi.getter(name="schedulingTasks")
1222
1339
  def scheduling_tasks(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecSchedulingTask']]]:
1223
1340
  """
@@ -1225,15 +1342,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1225
1342
  """
1226
1343
  return pulumi.get(self, "scheduling_tasks")
1227
1344
 
1228
- @property
1345
+ @_builtins.property
1229
1346
  @pulumi.getter(name="serviceAccount")
1230
- def service_account(self) -> pulumi.Output[str]:
1347
+ def service_account(self) -> pulumi.Output[_builtins.str]:
1231
1348
  """
1232
1349
  The account used by applications running on the VM to call GCP APIs.
1233
1350
  """
1234
1351
  return pulumi.get(self, "service_account")
1235
1352
 
1236
- @property
1353
+ @_builtins.property
1237
1354
  @pulumi.getter(name="shieldedInstanceConfig")
1238
1355
  def shielded_instance_config(self) -> pulumi.Output['outputs.OceanLaunchSpecShieldedInstanceConfig']:
1239
1356
  """
@@ -1241,15 +1358,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1241
1358
  """
1242
1359
  return pulumi.get(self, "shielded_instance_config")
1243
1360
 
1244
- @property
1361
+ @_builtins.property
1245
1362
  @pulumi.getter(name="sourceImage")
1246
- def source_image(self) -> pulumi.Output[str]:
1363
+ def source_image(self) -> pulumi.Output[_builtins.str]:
1247
1364
  """
1248
1365
  Image URL.
1249
1366
  """
1250
1367
  return pulumi.get(self, "source_image")
1251
1368
 
1252
- @property
1369
+ @_builtins.property
1253
1370
  @pulumi.getter
1254
1371
  def storage(self) -> pulumi.Output['outputs.OceanLaunchSpecStorage']:
1255
1372
  """
@@ -1257,7 +1374,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1257
1374
  """
1258
1375
  return pulumi.get(self, "storage")
1259
1376
 
1260
- @property
1377
+ @_builtins.property
1261
1378
  @pulumi.getter
1262
1379
  def strategies(self) -> pulumi.Output[Optional[Sequence['outputs.OceanLaunchSpecStrategy']]]:
1263
1380
  """
@@ -1265,15 +1382,15 @@ class OceanLaunchSpec(pulumi.CustomResource):
1265
1382
  """
1266
1383
  return pulumi.get(self, "strategies")
1267
1384
 
1268
- @property
1385
+ @_builtins.property
1269
1386
  @pulumi.getter
1270
- def tags(self) -> pulumi.Output[Sequence[str]]:
1387
+ def tags(self) -> pulumi.Output[Sequence[_builtins.str]]:
1271
1388
  """
1272
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
1273
1390
  """
1274
1391
  return pulumi.get(self, "tags")
1275
1392
 
1276
- @property
1393
+ @_builtins.property
1277
1394
  @pulumi.getter
1278
1395
  def taints(self) -> pulumi.Output[Sequence['outputs.OceanLaunchSpecTaint']]:
1279
1396
  """
@@ -1281,7 +1398,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1281
1398
  """
1282
1399
  return pulumi.get(self, "taints")
1283
1400
 
1284
- @property
1401
+ @_builtins.property
1285
1402
  @pulumi.getter(name="updatePolicy")
1286
1403
  def update_policy(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecUpdatePolicy']]:
1287
1404
  return pulumi.get(self, "update_policy")