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
 
@@ -20,6 +25,9 @@ __all__ = [
20
25
  'OceanLogCollection',
21
26
  'OceanSpark',
22
27
  'OceanWebhook',
28
+ 'OceanWorkspaces',
29
+ 'OceanWorkspacesStorage',
30
+ 'OceanWorkspacesStorageDefaults',
23
31
  ]
24
32
 
25
33
  @pulumi.output_type
@@ -44,28 +52,28 @@ class OceanCompute(dict):
44
52
  return super().get(key, default)
45
53
 
46
54
  def __init__(__self__, *,
47
- create_vngs: Optional[bool] = None,
48
- use_taints: Optional[bool] = None):
55
+ create_vngs: Optional[_builtins.bool] = None,
56
+ use_taints: Optional[_builtins.bool] = None):
49
57
  """
50
- :param bool create_vngs: - Enable/disable the creation of Ocean Spark VNGs during cluster creation.
51
- :param bool use_taints: - Enable/disable Ocean Spark taints on the Ocean Spark VNGs. By default, Ocean Spark uses taints to prevent non-Spark workloads from running on Ocean Spark VNGs.
58
+ :param _builtins.bool create_vngs: - Enable/disable the creation of Ocean Spark VNGs during cluster creation.
59
+ :param _builtins.bool use_taints: - Enable/disable Ocean Spark taints on the Ocean Spark VNGs. By default, Ocean Spark uses taints to prevent non-Spark workloads from running on Ocean Spark VNGs.
52
60
  """
53
61
  if create_vngs is not None:
54
62
  pulumi.set(__self__, "create_vngs", create_vngs)
55
63
  if use_taints is not None:
56
64
  pulumi.set(__self__, "use_taints", use_taints)
57
65
 
58
- @property
66
+ @_builtins.property
59
67
  @pulumi.getter(name="createVngs")
60
- def create_vngs(self) -> Optional[bool]:
68
+ def create_vngs(self) -> Optional[_builtins.bool]:
61
69
  """
62
70
  - Enable/disable the creation of Ocean Spark VNGs during cluster creation.
63
71
  """
64
72
  return pulumi.get(self, "create_vngs")
65
73
 
66
- @property
74
+ @_builtins.property
67
75
  @pulumi.getter(name="useTaints")
68
- def use_taints(self) -> Optional[bool]:
76
+ def use_taints(self) -> Optional[_builtins.bool]:
69
77
  """
70
78
  - Enable/disable Ocean Spark taints on the Ocean Spark VNGs. By default, Ocean Spark uses taints to prevent non-Spark workloads from running on Ocean Spark VNGs.
71
79
  """
@@ -102,9 +110,9 @@ class OceanIngress(dict):
102
110
  custom_endpoint: Optional['outputs.OceanIngressCustomEndpoint'] = None,
103
111
  load_balancer: Optional['outputs.OceanIngressLoadBalancer'] = None,
104
112
  private_link: Optional['outputs.OceanIngressPrivateLink'] = None,
105
- service_annotations: Optional[Mapping[str, str]] = None):
113
+ service_annotations: Optional[Mapping[str, _builtins.str]] = None):
106
114
  """
107
- :param Mapping[str, str] service_annotations: - **DEPRECATED**: Use `load_balancer.service_annotations` instead.
115
+ :param Mapping[str, _builtins.str] service_annotations: - **DEPRECATED**: Use `load_balancer.service_annotations` instead.
108
116
  """
109
117
  if controller is not None:
110
118
  pulumi.set(__self__, "controller", controller)
@@ -117,29 +125,29 @@ class OceanIngress(dict):
117
125
  if service_annotations is not None:
118
126
  pulumi.set(__self__, "service_annotations", service_annotations)
119
127
 
120
- @property
128
+ @_builtins.property
121
129
  @pulumi.getter
122
130
  def controller(self) -> Optional['outputs.OceanIngressController']:
123
131
  return pulumi.get(self, "controller")
124
132
 
125
- @property
133
+ @_builtins.property
126
134
  @pulumi.getter(name="customEndpoint")
127
135
  def custom_endpoint(self) -> Optional['outputs.OceanIngressCustomEndpoint']:
128
136
  return pulumi.get(self, "custom_endpoint")
129
137
 
130
- @property
138
+ @_builtins.property
131
139
  @pulumi.getter(name="loadBalancer")
132
140
  def load_balancer(self) -> Optional['outputs.OceanIngressLoadBalancer']:
133
141
  return pulumi.get(self, "load_balancer")
134
142
 
135
- @property
143
+ @_builtins.property
136
144
  @pulumi.getter(name="privateLink")
137
145
  def private_link(self) -> Optional['outputs.OceanIngressPrivateLink']:
138
146
  return pulumi.get(self, "private_link")
139
147
 
140
- @property
148
+ @_builtins.property
141
149
  @pulumi.getter(name="serviceAnnotations")
142
- def service_annotations(self) -> Optional[Mapping[str, str]]:
150
+ def service_annotations(self) -> Optional[Mapping[str, _builtins.str]]:
143
151
  """
144
152
  - **DEPRECATED**: Use `load_balancer.service_annotations` instead.
145
153
  """
@@ -149,16 +157,16 @@ class OceanIngress(dict):
149
157
  @pulumi.output_type
150
158
  class OceanIngressController(dict):
151
159
  def __init__(__self__, *,
152
- managed: Optional[bool] = None):
160
+ managed: Optional[_builtins.bool] = None):
153
161
  """
154
- :param bool managed: - Should an ingress controller managed by Ocean for Apache Spark be installed on the cluster.
162
+ :param _builtins.bool managed: - Should an ingress controller managed by Ocean for Apache Spark be installed on the cluster.
155
163
  """
156
164
  if managed is not None:
157
165
  pulumi.set(__self__, "managed", managed)
158
166
 
159
- @property
167
+ @_builtins.property
160
168
  @pulumi.getter
161
- def managed(self) -> Optional[bool]:
169
+ def managed(self) -> Optional[_builtins.bool]:
162
170
  """
163
171
  - Should an ingress controller managed by Ocean for Apache Spark be installed on the cluster.
164
172
  """
@@ -168,28 +176,28 @@ class OceanIngressController(dict):
168
176
  @pulumi.output_type
169
177
  class OceanIngressCustomEndpoint(dict):
170
178
  def __init__(__self__, *,
171
- address: Optional[str] = None,
172
- enabled: Optional[bool] = None):
179
+ address: Optional[_builtins.str] = None,
180
+ enabled: Optional[_builtins.bool] = None):
173
181
  """
174
- :param str address: - The address the Ocean for Apache Spark control plane will use when addressing the cluster.
175
- :param bool enabled: - Should the Ocean for Apache Spark control plane address the cluster using a custom endpoint. Use this to specify the DNS address of an externally provisioned (unmanaged) load balancer.
182
+ :param _builtins.str address: - The address the Ocean for Apache Spark control plane will use when addressing the cluster.
183
+ :param _builtins.bool enabled: - Should the Ocean for Apache Spark control plane address the cluster using a custom endpoint. Use this to specify the DNS address of an externally provisioned (unmanaged) load balancer.
176
184
  """
177
185
  if address is not None:
178
186
  pulumi.set(__self__, "address", address)
179
187
  if enabled is not None:
180
188
  pulumi.set(__self__, "enabled", enabled)
181
189
 
182
- @property
190
+ @_builtins.property
183
191
  @pulumi.getter
184
- def address(self) -> Optional[str]:
192
+ def address(self) -> Optional[_builtins.str]:
185
193
  """
186
194
  - The address the Ocean for Apache Spark control plane will use when addressing the cluster.
187
195
  """
188
196
  return pulumi.get(self, "address")
189
197
 
190
- @property
198
+ @_builtins.property
191
199
  @pulumi.getter
192
- def enabled(self) -> Optional[bool]:
200
+ def enabled(self) -> Optional[_builtins.bool]:
193
201
  """
194
202
  - Should the Ocean for Apache Spark control plane address the cluster using a custom endpoint. Use this to specify the DNS address of an externally provisioned (unmanaged) load balancer.
195
203
  """
@@ -218,13 +226,13 @@ class OceanIngressLoadBalancer(dict):
218
226
  return super().get(key, default)
219
227
 
220
228
  def __init__(__self__, *,
221
- managed: Optional[bool] = None,
222
- service_annotations: Optional[Mapping[str, str]] = None,
223
- target_group_arn: Optional[str] = None):
229
+ managed: Optional[_builtins.bool] = None,
230
+ service_annotations: Optional[Mapping[str, _builtins.str]] = None,
231
+ target_group_arn: Optional[_builtins.str] = None):
224
232
  """
225
- :param bool managed: - Should a load balancer managed by Ocean for Apache Spark be provisioned for the cluster. Set this to false if you want to use an existing load balancer (only available on AWS).
226
- :param Mapping[str, str] service_annotations: - Annotations to add to the ingress controller load balancer service. This is useful to configure properties of the managed load balancer, like the nature of the load balancer (e.g. ELB, NLB, ALB on AWS), the security groups, or various timeouts.
227
- :param str target_group_arn: - The ARN of a target group that the Ocean for Apache Spark ingress controller will be bound to. Set this to use an existing load balancer with Ocean for Apache Spark. Has no effect if using a managed load balancer. Only available on AWS.
233
+ :param _builtins.bool managed: - Should a load balancer managed by Ocean for Apache Spark be provisioned for the cluster. Set this to false if you want to use an existing load balancer (only available on AWS).
234
+ :param Mapping[str, _builtins.str] service_annotations: - Annotations to add to the ingress controller load balancer service. This is useful to configure properties of the managed load balancer, like the nature of the load balancer (e.g. ELB, NLB, ALB on AWS), the security groups, or various timeouts.
235
+ :param _builtins.str target_group_arn: - The ARN of a target group that the Ocean for Apache Spark ingress controller will be bound to. Set this to use an existing load balancer with Ocean for Apache Spark. Has no effect if using a managed load balancer. Only available on AWS.
228
236
  """
229
237
  if managed is not None:
230
238
  pulumi.set(__self__, "managed", managed)
@@ -233,25 +241,25 @@ class OceanIngressLoadBalancer(dict):
233
241
  if target_group_arn is not None:
234
242
  pulumi.set(__self__, "target_group_arn", target_group_arn)
235
243
 
236
- @property
244
+ @_builtins.property
237
245
  @pulumi.getter
238
- def managed(self) -> Optional[bool]:
246
+ def managed(self) -> Optional[_builtins.bool]:
239
247
  """
240
248
  - Should a load balancer managed by Ocean for Apache Spark be provisioned for the cluster. Set this to false if you want to use an existing load balancer (only available on AWS).
241
249
  """
242
250
  return pulumi.get(self, "managed")
243
251
 
244
- @property
252
+ @_builtins.property
245
253
  @pulumi.getter(name="serviceAnnotations")
246
- def service_annotations(self) -> Optional[Mapping[str, str]]:
254
+ def service_annotations(self) -> Optional[Mapping[str, _builtins.str]]:
247
255
  """
248
256
  - Annotations to add to the ingress controller load balancer service. This is useful to configure properties of the managed load balancer, like the nature of the load balancer (e.g. ELB, NLB, ALB on AWS), the security groups, or various timeouts.
249
257
  """
250
258
  return pulumi.get(self, "service_annotations")
251
259
 
252
- @property
260
+ @_builtins.property
253
261
  @pulumi.getter(name="targetGroupArn")
254
- def target_group_arn(self) -> Optional[str]:
262
+ def target_group_arn(self) -> Optional[_builtins.str]:
255
263
  """
256
264
  - The ARN of a target group that the Ocean for Apache Spark ingress controller will be bound to. Set this to use an existing load balancer with Ocean for Apache Spark. Has no effect if using a managed load balancer. Only available on AWS.
257
265
  """
@@ -278,28 +286,28 @@ class OceanIngressPrivateLink(dict):
278
286
  return super().get(key, default)
279
287
 
280
288
  def __init__(__self__, *,
281
- enabled: Optional[bool] = None,
282
- vpc_endpoint_service: Optional[str] = None):
289
+ enabled: Optional[_builtins.bool] = None,
290
+ vpc_endpoint_service: Optional[_builtins.str] = None):
283
291
  """
284
- :param bool enabled: - Should the Ocean for Apache Spark control plane address the cluster via an AWS Private Link. Only available on AWS.
285
- :param str vpc_endpoint_service: - The name of the VPC Endpoint Service the Ocean for Apache Spark control plane should bind to.
292
+ :param _builtins.bool enabled: - Should the Ocean for Apache Spark control plane address the cluster via an AWS Private Link. Only available on AWS.
293
+ :param _builtins.str vpc_endpoint_service: - The name of the VPC Endpoint Service the Ocean for Apache Spark control plane should bind to.
286
294
  """
287
295
  if enabled is not None:
288
296
  pulumi.set(__self__, "enabled", enabled)
289
297
  if vpc_endpoint_service is not None:
290
298
  pulumi.set(__self__, "vpc_endpoint_service", vpc_endpoint_service)
291
299
 
292
- @property
300
+ @_builtins.property
293
301
  @pulumi.getter
294
- def enabled(self) -> Optional[bool]:
302
+ def enabled(self) -> Optional[_builtins.bool]:
295
303
  """
296
304
  - Should the Ocean for Apache Spark control plane address the cluster via an AWS Private Link. Only available on AWS.
297
305
  """
298
306
  return pulumi.get(self, "enabled")
299
307
 
300
- @property
308
+ @_builtins.property
301
309
  @pulumi.getter(name="vpcEndpointService")
302
- def vpc_endpoint_service(self) -> Optional[str]:
310
+ def vpc_endpoint_service(self) -> Optional[_builtins.str]:
303
311
  """
304
312
  - The name of the VPC Endpoint Service the Ocean for Apache Spark control plane should bind to.
305
313
  """
@@ -326,16 +334,16 @@ class OceanLogCollection(dict):
326
334
  return super().get(key, default)
327
335
 
328
336
  def __init__(__self__, *,
329
- collect_app_logs: Optional[bool] = None):
337
+ collect_app_logs: Optional[_builtins.bool] = None):
330
338
  """
331
- :param bool collect_app_logs: - Enable/Disable collecting driver and executor logs. When enabled, logs are stored by NetApp and can be downloaded from the Spot console web interface. The logs are deleted after 30 days.
339
+ :param _builtins.bool collect_app_logs: - Enable/Disable collecting driver and executor logs. When enabled, logs are stored by NetApp and can be downloaded from the Spot console web interface. The logs are deleted after 30 days.
332
340
  """
333
341
  if collect_app_logs is not None:
334
342
  pulumi.set(__self__, "collect_app_logs", collect_app_logs)
335
343
 
336
- @property
344
+ @_builtins.property
337
345
  @pulumi.getter(name="collectAppLogs")
338
- def collect_app_logs(self) -> Optional[bool]:
346
+ def collect_app_logs(self) -> Optional[_builtins.bool]:
339
347
  """
340
348
  - Enable/Disable collecting driver and executor logs. When enabled, logs are stored by NetApp and can be downloaded from the Spot console web interface. The logs are deleted after 30 days.
341
349
  """
@@ -362,16 +370,16 @@ class OceanSpark(dict):
362
370
  return super().get(key, default)
363
371
 
364
372
  def __init__(__self__, *,
365
- additional_app_namespaces: Optional[Sequence[str]] = None):
373
+ additional_app_namespaces: Optional[Sequence[_builtins.str]] = None):
366
374
  """
367
- :param Sequence[str] additional_app_namespaces: - List of Kubernetes namespaces that should be configured to run Spark applications, in addition to the default Spark application namespace `spark-apps`.
375
+ :param Sequence[_builtins.str] additional_app_namespaces: - List of Kubernetes namespaces that should be configured to run Spark applications, in addition to the default Spark application namespace `spark-apps`.
368
376
  """
369
377
  if additional_app_namespaces is not None:
370
378
  pulumi.set(__self__, "additional_app_namespaces", additional_app_namespaces)
371
379
 
372
- @property
380
+ @_builtins.property
373
381
  @pulumi.getter(name="additionalAppNamespaces")
374
- def additional_app_namespaces(self) -> Optional[Sequence[str]]:
382
+ def additional_app_namespaces(self) -> Optional[Sequence[_builtins.str]]:
375
383
  """
376
384
  - List of Kubernetes namespaces that should be configured to run Spark applications, in addition to the default Spark application namespace `spark-apps`.
377
385
  """
@@ -400,31 +408,93 @@ class OceanWebhook(dict):
400
408
  return super().get(key, default)
401
409
 
402
410
  def __init__(__self__, *,
403
- host_network_ports: Optional[Sequence[int]] = None,
404
- use_host_network: Optional[bool] = None):
411
+ host_network_ports: Optional[Sequence[_builtins.int]] = None,
412
+ use_host_network: Optional[_builtins.bool] = None):
405
413
  """
406
- :param Sequence[int] host_network_ports: - List of ports allowed to use on the host network - if empty default is `25554`.
407
- :param bool use_host_network: - Enable/disable host networking for the Spark Operator. Host networking can be useful when using custom CNI plugins like Calico on EKS.
414
+ :param Sequence[_builtins.int] host_network_ports: - List of ports allowed to use on the host network - if empty default is `25554`.
415
+ :param _builtins.bool use_host_network: - Enable/disable host networking for the Spark Operator. Host networking can be useful when using custom CNI plugins like Calico on EKS.
408
416
  """
409
417
  if host_network_ports is not None:
410
418
  pulumi.set(__self__, "host_network_ports", host_network_ports)
411
419
  if use_host_network is not None:
412
420
  pulumi.set(__self__, "use_host_network", use_host_network)
413
421
 
414
- @property
422
+ @_builtins.property
415
423
  @pulumi.getter(name="hostNetworkPorts")
416
- def host_network_ports(self) -> Optional[Sequence[int]]:
424
+ def host_network_ports(self) -> Optional[Sequence[_builtins.int]]:
417
425
  """
418
426
  - List of ports allowed to use on the host network - if empty default is `25554`.
419
427
  """
420
428
  return pulumi.get(self, "host_network_ports")
421
429
 
422
- @property
430
+ @_builtins.property
423
431
  @pulumi.getter(name="useHostNetwork")
424
- def use_host_network(self) -> Optional[bool]:
432
+ def use_host_network(self) -> Optional[_builtins.bool]:
425
433
  """
426
434
  - Enable/disable host networking for the Spark Operator. Host networking can be useful when using custom CNI plugins like Calico on EKS.
427
435
  """
428
436
  return pulumi.get(self, "use_host_network")
429
437
 
430
438
 
439
+ @pulumi.output_type
440
+ class OceanWorkspaces(dict):
441
+ def __init__(__self__, *,
442
+ storage: Optional['outputs.OceanWorkspacesStorage'] = None):
443
+ if storage is not None:
444
+ pulumi.set(__self__, "storage", storage)
445
+
446
+ @_builtins.property
447
+ @pulumi.getter
448
+ def storage(self) -> Optional['outputs.OceanWorkspacesStorage']:
449
+ return pulumi.get(self, "storage")
450
+
451
+
452
+ @pulumi.output_type
453
+ class OceanWorkspacesStorage(dict):
454
+ def __init__(__self__, *,
455
+ defaults: Optional['outputs.OceanWorkspacesStorageDefaults'] = None):
456
+ if defaults is not None:
457
+ pulumi.set(__self__, "defaults", defaults)
458
+
459
+ @_builtins.property
460
+ @pulumi.getter
461
+ def defaults(self) -> Optional['outputs.OceanWorkspacesStorageDefaults']:
462
+ return pulumi.get(self, "defaults")
463
+
464
+
465
+ @pulumi.output_type
466
+ class OceanWorkspacesStorageDefaults(dict):
467
+ @staticmethod
468
+ def __key_warning(key: str):
469
+ suggest = None
470
+ if key == "storageClassName":
471
+ suggest = "storage_class_name"
472
+
473
+ if suggest:
474
+ pulumi.log.warn(f"Key '{key}' not found in OceanWorkspacesStorageDefaults. Access the value via the '{suggest}' property getter instead.")
475
+
476
+ def __getitem__(self, key: str) -> Any:
477
+ OceanWorkspacesStorageDefaults.__key_warning(key)
478
+ return super().__getitem__(key)
479
+
480
+ def get(self, key: str, default = None) -> Any:
481
+ OceanWorkspacesStorageDefaults.__key_warning(key)
482
+ return super().get(key, default)
483
+
484
+ def __init__(__self__, *,
485
+ storage_class_name: Optional[_builtins.str] = None):
486
+ """
487
+ :param _builtins.str storage_class_name: - The name of the default storage class to use for new workspaces. If not specified, the default storage class of the Kubernetes cluster will be used.
488
+ """
489
+ if storage_class_name is not None:
490
+ pulumi.set(__self__, "storage_class_name", storage_class_name)
491
+
492
+ @_builtins.property
493
+ @pulumi.getter(name="storageClassName")
494
+ def storage_class_name(self) -> Optional[_builtins.str]:
495
+ """
496
+ - The name of the default storage class to use for new workspaces. If not specified, the default storage class of the Kubernetes cluster will be used.
497
+ """
498
+ return pulumi.get(self, "storage_class_name")
499
+
500
+