pulumiverse-cpln 0.0.0__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 (44) hide show
  1. pulumiverse_cpln/__init__.py +241 -0
  2. pulumiverse_cpln/_inputs.py +18692 -0
  3. pulumiverse_cpln/_utilities.py +331 -0
  4. pulumiverse_cpln/agent.py +330 -0
  5. pulumiverse_cpln/audit_context.py +300 -0
  6. pulumiverse_cpln/cloud_account.py +546 -0
  7. pulumiverse_cpln/config/__init__.py +9 -0
  8. pulumiverse_cpln/config/__init__.pyi +48 -0
  9. pulumiverse_cpln/config/vars.py +64 -0
  10. pulumiverse_cpln/custom_location.py +424 -0
  11. pulumiverse_cpln/domain.py +377 -0
  12. pulumiverse_cpln/domain_route.py +645 -0
  13. pulumiverse_cpln/get_cloud_account.py +107 -0
  14. pulumiverse_cpln/get_gvc.py +423 -0
  15. pulumiverse_cpln/get_image.py +284 -0
  16. pulumiverse_cpln/get_images.py +261 -0
  17. pulumiverse_cpln/get_location.py +273 -0
  18. pulumiverse_cpln/get_locations.py +171 -0
  19. pulumiverse_cpln/get_org.py +250 -0
  20. pulumiverse_cpln/get_secret.py +555 -0
  21. pulumiverse_cpln/group.py +539 -0
  22. pulumiverse_cpln/gvc.py +771 -0
  23. pulumiverse_cpln/identity.py +688 -0
  24. pulumiverse_cpln/ip_set.py +521 -0
  25. pulumiverse_cpln/location.py +435 -0
  26. pulumiverse_cpln/mk8s.py +848 -0
  27. pulumiverse_cpln/mk8s_kubeconfig.py +362 -0
  28. pulumiverse_cpln/org.py +594 -0
  29. pulumiverse_cpln/org_logging.py +616 -0
  30. pulumiverse_cpln/org_tracing.py +347 -0
  31. pulumiverse_cpln/outputs.py +14498 -0
  32. pulumiverse_cpln/policy.py +620 -0
  33. pulumiverse_cpln/provider.py +271 -0
  34. pulumiverse_cpln/pulumi-plugin.json +5 -0
  35. pulumiverse_cpln/py.typed +0 -0
  36. pulumiverse_cpln/secret.py +915 -0
  37. pulumiverse_cpln/service_account.py +328 -0
  38. pulumiverse_cpln/service_account_key.py +285 -0
  39. pulumiverse_cpln/volume_set.py +765 -0
  40. pulumiverse_cpln/workload.py +1033 -0
  41. pulumiverse_cpln-0.0.0.dist-info/METADATA +83 -0
  42. pulumiverse_cpln-0.0.0.dist-info/RECORD +44 -0
  43. pulumiverse_cpln-0.0.0.dist-info/WHEEL +5 -0
  44. pulumiverse_cpln-0.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1033 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from . import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['WorkloadArgs', 'Workload']
21
+
22
+ @pulumi.input_type
23
+ class WorkloadArgs:
24
+ def __init__(__self__, *,
25
+ gvc: pulumi.Input[builtins.str],
26
+ type: pulumi.Input[builtins.str],
27
+ containers: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]] = None,
28
+ description: Optional[pulumi.Input[builtins.str]] = None,
29
+ extras: Optional[pulumi.Input[builtins.str]] = None,
30
+ firewall_spec: Optional[pulumi.Input['WorkloadFirewallSpecArgs']] = None,
31
+ identity_link: Optional[pulumi.Input[builtins.str]] = None,
32
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]] = None,
33
+ load_balancer: Optional[pulumi.Input['WorkloadLoadBalancerArgs']] = None,
34
+ local_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]] = None,
35
+ name: Optional[pulumi.Input[builtins.str]] = None,
36
+ options: Optional[pulumi.Input['WorkloadOptionsArgs']] = None,
37
+ request_retry_policy: Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']] = None,
38
+ rollout_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]] = None,
39
+ security_options: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']] = None,
40
+ sidecar: Optional[pulumi.Input['WorkloadSidecarArgs']] = None,
41
+ support_dynamic_tags: Optional[pulumi.Input[builtins.bool]] = None,
42
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
43
+ """
44
+ The set of arguments for constructing a Workload resource.
45
+ :param pulumi.Input[builtins.str] gvc: Name of the associated GVC.
46
+ :param pulumi.Input[builtins.str] type: Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
47
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]] containers: An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
48
+ :param pulumi.Input[builtins.str] description: Description of the workload.
49
+ :param pulumi.Input[builtins.str] extras: Extra Kubernetes modifications. Only used for BYOK.
50
+ :param pulumi.Input['WorkloadFirewallSpecArgs'] firewall_spec: Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
51
+ Access is restricted by default.
52
+ :param pulumi.Input[builtins.str] identity_link: The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
53
+ multiple cloud providers.
54
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]] jobs: [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
55
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]] local_options: Override defaultOptions for the workload in specific Control Plane Locations.
56
+ :param pulumi.Input[builtins.str] name: Name of the workload.
57
+ :param pulumi.Input['WorkloadOptionsArgs'] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
58
+ characteristics of the workload.
59
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]] rollout_options: Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
60
+ replicas, surge replicas, and scaling policies.
61
+ :param pulumi.Input['WorkloadSecurityOptionsArgs'] security_options: Allows for the configuration of the `file system group id` and `geo location`.
62
+ :param pulumi.Input[builtins.bool] support_dynamic_tags: Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
63
+ false.
64
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
65
+ """
66
+ pulumi.set(__self__, "gvc", gvc)
67
+ pulumi.set(__self__, "type", type)
68
+ if containers is not None:
69
+ pulumi.set(__self__, "containers", containers)
70
+ if description is not None:
71
+ pulumi.set(__self__, "description", description)
72
+ if extras is not None:
73
+ pulumi.set(__self__, "extras", extras)
74
+ if firewall_spec is not None:
75
+ pulumi.set(__self__, "firewall_spec", firewall_spec)
76
+ if identity_link is not None:
77
+ pulumi.set(__self__, "identity_link", identity_link)
78
+ if jobs is not None:
79
+ pulumi.set(__self__, "jobs", jobs)
80
+ if load_balancer is not None:
81
+ pulumi.set(__self__, "load_balancer", load_balancer)
82
+ if local_options is not None:
83
+ pulumi.set(__self__, "local_options", local_options)
84
+ if name is not None:
85
+ pulumi.set(__self__, "name", name)
86
+ if options is not None:
87
+ pulumi.set(__self__, "options", options)
88
+ if request_retry_policy is not None:
89
+ pulumi.set(__self__, "request_retry_policy", request_retry_policy)
90
+ if rollout_options is not None:
91
+ pulumi.set(__self__, "rollout_options", rollout_options)
92
+ if security_options is not None:
93
+ pulumi.set(__self__, "security_options", security_options)
94
+ if sidecar is not None:
95
+ pulumi.set(__self__, "sidecar", sidecar)
96
+ if support_dynamic_tags is not None:
97
+ pulumi.set(__self__, "support_dynamic_tags", support_dynamic_tags)
98
+ if tags is not None:
99
+ pulumi.set(__self__, "tags", tags)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def gvc(self) -> pulumi.Input[builtins.str]:
104
+ """
105
+ Name of the associated GVC.
106
+ """
107
+ return pulumi.get(self, "gvc")
108
+
109
+ @gvc.setter
110
+ def gvc(self, value: pulumi.Input[builtins.str]):
111
+ pulumi.set(self, "gvc", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def type(self) -> pulumi.Input[builtins.str]:
116
+ """
117
+ Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
118
+ """
119
+ return pulumi.get(self, "type")
120
+
121
+ @type.setter
122
+ def type(self, value: pulumi.Input[builtins.str]):
123
+ pulumi.set(self, "type", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def containers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]]:
128
+ """
129
+ An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
130
+ """
131
+ return pulumi.get(self, "containers")
132
+
133
+ @containers.setter
134
+ def containers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]]):
135
+ pulumi.set(self, "containers", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
140
+ """
141
+ Description of the workload.
142
+ """
143
+ return pulumi.get(self, "description")
144
+
145
+ @description.setter
146
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
147
+ pulumi.set(self, "description", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def extras(self) -> Optional[pulumi.Input[builtins.str]]:
152
+ """
153
+ Extra Kubernetes modifications. Only used for BYOK.
154
+ """
155
+ return pulumi.get(self, "extras")
156
+
157
+ @extras.setter
158
+ def extras(self, value: Optional[pulumi.Input[builtins.str]]):
159
+ pulumi.set(self, "extras", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="firewallSpec")
163
+ def firewall_spec(self) -> Optional[pulumi.Input['WorkloadFirewallSpecArgs']]:
164
+ """
165
+ Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
166
+ Access is restricted by default.
167
+ """
168
+ return pulumi.get(self, "firewall_spec")
169
+
170
+ @firewall_spec.setter
171
+ def firewall_spec(self, value: Optional[pulumi.Input['WorkloadFirewallSpecArgs']]):
172
+ pulumi.set(self, "firewall_spec", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="identityLink")
176
+ def identity_link(self) -> Optional[pulumi.Input[builtins.str]]:
177
+ """
178
+ The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
179
+ multiple cloud providers.
180
+ """
181
+ return pulumi.get(self, "identity_link")
182
+
183
+ @identity_link.setter
184
+ def identity_link(self, value: Optional[pulumi.Input[builtins.str]]):
185
+ pulumi.set(self, "identity_link", value)
186
+
187
+ @property
188
+ @pulumi.getter
189
+ def jobs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]]:
190
+ """
191
+ [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
192
+ """
193
+ return pulumi.get(self, "jobs")
194
+
195
+ @jobs.setter
196
+ def jobs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]]):
197
+ pulumi.set(self, "jobs", value)
198
+
199
+ @property
200
+ @pulumi.getter(name="loadBalancer")
201
+ def load_balancer(self) -> Optional[pulumi.Input['WorkloadLoadBalancerArgs']]:
202
+ return pulumi.get(self, "load_balancer")
203
+
204
+ @load_balancer.setter
205
+ def load_balancer(self, value: Optional[pulumi.Input['WorkloadLoadBalancerArgs']]):
206
+ pulumi.set(self, "load_balancer", value)
207
+
208
+ @property
209
+ @pulumi.getter(name="localOptions")
210
+ def local_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]]:
211
+ """
212
+ Override defaultOptions for the workload in specific Control Plane Locations.
213
+ """
214
+ return pulumi.get(self, "local_options")
215
+
216
+ @local_options.setter
217
+ def local_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]]):
218
+ pulumi.set(self, "local_options", value)
219
+
220
+ @property
221
+ @pulumi.getter
222
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
223
+ """
224
+ Name of the workload.
225
+ """
226
+ return pulumi.get(self, "name")
227
+
228
+ @name.setter
229
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
230
+ pulumi.set(self, "name", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def options(self) -> Optional[pulumi.Input['WorkloadOptionsArgs']]:
235
+ """
236
+ Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
237
+ characteristics of the workload.
238
+ """
239
+ return pulumi.get(self, "options")
240
+
241
+ @options.setter
242
+ def options(self, value: Optional[pulumi.Input['WorkloadOptionsArgs']]):
243
+ pulumi.set(self, "options", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="requestRetryPolicy")
247
+ def request_retry_policy(self) -> Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']]:
248
+ return pulumi.get(self, "request_retry_policy")
249
+
250
+ @request_retry_policy.setter
251
+ def request_retry_policy(self, value: Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']]):
252
+ pulumi.set(self, "request_retry_policy", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="rolloutOptions")
256
+ def rollout_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]]:
257
+ """
258
+ Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
259
+ replicas, surge replicas, and scaling policies.
260
+ """
261
+ return pulumi.get(self, "rollout_options")
262
+
263
+ @rollout_options.setter
264
+ def rollout_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]]):
265
+ pulumi.set(self, "rollout_options", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="securityOptions")
269
+ def security_options(self) -> Optional[pulumi.Input['WorkloadSecurityOptionsArgs']]:
270
+ """
271
+ Allows for the configuration of the `file system group id` and `geo location`.
272
+ """
273
+ return pulumi.get(self, "security_options")
274
+
275
+ @security_options.setter
276
+ def security_options(self, value: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']]):
277
+ pulumi.set(self, "security_options", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def sidecar(self) -> Optional[pulumi.Input['WorkloadSidecarArgs']]:
282
+ return pulumi.get(self, "sidecar")
283
+
284
+ @sidecar.setter
285
+ def sidecar(self, value: Optional[pulumi.Input['WorkloadSidecarArgs']]):
286
+ pulumi.set(self, "sidecar", value)
287
+
288
+ @property
289
+ @pulumi.getter(name="supportDynamicTags")
290
+ def support_dynamic_tags(self) -> Optional[pulumi.Input[builtins.bool]]:
291
+ """
292
+ Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
293
+ false.
294
+ """
295
+ return pulumi.get(self, "support_dynamic_tags")
296
+
297
+ @support_dynamic_tags.setter
298
+ def support_dynamic_tags(self, value: Optional[pulumi.Input[builtins.bool]]):
299
+ pulumi.set(self, "support_dynamic_tags", value)
300
+
301
+ @property
302
+ @pulumi.getter
303
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
304
+ """
305
+ Key-value map of resource tags.
306
+ """
307
+ return pulumi.get(self, "tags")
308
+
309
+ @tags.setter
310
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
311
+ pulumi.set(self, "tags", value)
312
+
313
+
314
+ @pulumi.input_type
315
+ class _WorkloadState:
316
+ def __init__(__self__, *,
317
+ containers: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]] = None,
318
+ cpln_id: Optional[pulumi.Input[builtins.str]] = None,
319
+ description: Optional[pulumi.Input[builtins.str]] = None,
320
+ extras: Optional[pulumi.Input[builtins.str]] = None,
321
+ firewall_spec: Optional[pulumi.Input['WorkloadFirewallSpecArgs']] = None,
322
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
323
+ identity_link: Optional[pulumi.Input[builtins.str]] = None,
324
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]] = None,
325
+ load_balancer: Optional[pulumi.Input['WorkloadLoadBalancerArgs']] = None,
326
+ local_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]] = None,
327
+ name: Optional[pulumi.Input[builtins.str]] = None,
328
+ options: Optional[pulumi.Input['WorkloadOptionsArgs']] = None,
329
+ request_retry_policy: Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']] = None,
330
+ rollout_options: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]] = None,
331
+ security_options: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']] = None,
332
+ self_link: Optional[pulumi.Input[builtins.str]] = None,
333
+ sidecar: Optional[pulumi.Input['WorkloadSidecarArgs']] = None,
334
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadStatusArgs']]]] = None,
335
+ support_dynamic_tags: Optional[pulumi.Input[builtins.bool]] = None,
336
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
337
+ type: Optional[pulumi.Input[builtins.str]] = None):
338
+ """
339
+ Input properties used for looking up and filtering Workload resources.
340
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]] containers: An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
341
+ :param pulumi.Input[builtins.str] cpln_id: The ID, in GUID format, of the workload.
342
+ :param pulumi.Input[builtins.str] description: Description of the workload.
343
+ :param pulumi.Input[builtins.str] extras: Extra Kubernetes modifications. Only used for BYOK.
344
+ :param pulumi.Input['WorkloadFirewallSpecArgs'] firewall_spec: Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
345
+ Access is restricted by default.
346
+ :param pulumi.Input[builtins.str] gvc: Name of the associated GVC.
347
+ :param pulumi.Input[builtins.str] identity_link: The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
348
+ multiple cloud providers.
349
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]] jobs: [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
350
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]] local_options: Override defaultOptions for the workload in specific Control Plane Locations.
351
+ :param pulumi.Input[builtins.str] name: Name of the workload.
352
+ :param pulumi.Input['WorkloadOptionsArgs'] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
353
+ characteristics of the workload.
354
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]] rollout_options: Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
355
+ replicas, surge replicas, and scaling policies.
356
+ :param pulumi.Input['WorkloadSecurityOptionsArgs'] security_options: Allows for the configuration of the `file system group id` and `geo location`.
357
+ :param pulumi.Input[builtins.str] self_link: Full link to this resource. Can be referenced by other resources.
358
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadStatusArgs']]] statuses: Status of the workload.
359
+ :param pulumi.Input[builtins.bool] support_dynamic_tags: Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
360
+ false.
361
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
362
+ :param pulumi.Input[builtins.str] type: Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
363
+ """
364
+ if containers is not None:
365
+ pulumi.set(__self__, "containers", containers)
366
+ if cpln_id is not None:
367
+ pulumi.set(__self__, "cpln_id", cpln_id)
368
+ if description is not None:
369
+ pulumi.set(__self__, "description", description)
370
+ if extras is not None:
371
+ pulumi.set(__self__, "extras", extras)
372
+ if firewall_spec is not None:
373
+ pulumi.set(__self__, "firewall_spec", firewall_spec)
374
+ if gvc is not None:
375
+ pulumi.set(__self__, "gvc", gvc)
376
+ if identity_link is not None:
377
+ pulumi.set(__self__, "identity_link", identity_link)
378
+ if jobs is not None:
379
+ pulumi.set(__self__, "jobs", jobs)
380
+ if load_balancer is not None:
381
+ pulumi.set(__self__, "load_balancer", load_balancer)
382
+ if local_options is not None:
383
+ pulumi.set(__self__, "local_options", local_options)
384
+ if name is not None:
385
+ pulumi.set(__self__, "name", name)
386
+ if options is not None:
387
+ pulumi.set(__self__, "options", options)
388
+ if request_retry_policy is not None:
389
+ pulumi.set(__self__, "request_retry_policy", request_retry_policy)
390
+ if rollout_options is not None:
391
+ pulumi.set(__self__, "rollout_options", rollout_options)
392
+ if security_options is not None:
393
+ pulumi.set(__self__, "security_options", security_options)
394
+ if self_link is not None:
395
+ pulumi.set(__self__, "self_link", self_link)
396
+ if sidecar is not None:
397
+ pulumi.set(__self__, "sidecar", sidecar)
398
+ if statuses is not None:
399
+ pulumi.set(__self__, "statuses", statuses)
400
+ if support_dynamic_tags is not None:
401
+ pulumi.set(__self__, "support_dynamic_tags", support_dynamic_tags)
402
+ if tags is not None:
403
+ pulumi.set(__self__, "tags", tags)
404
+ if type is not None:
405
+ pulumi.set(__self__, "type", type)
406
+
407
+ @property
408
+ @pulumi.getter
409
+ def containers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]]:
410
+ """
411
+ An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
412
+ """
413
+ return pulumi.get(self, "containers")
414
+
415
+ @containers.setter
416
+ def containers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadContainerArgs']]]]):
417
+ pulumi.set(self, "containers", value)
418
+
419
+ @property
420
+ @pulumi.getter(name="cplnId")
421
+ def cpln_id(self) -> Optional[pulumi.Input[builtins.str]]:
422
+ """
423
+ The ID, in GUID format, of the workload.
424
+ """
425
+ return pulumi.get(self, "cpln_id")
426
+
427
+ @cpln_id.setter
428
+ def cpln_id(self, value: Optional[pulumi.Input[builtins.str]]):
429
+ pulumi.set(self, "cpln_id", value)
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
434
+ """
435
+ Description of the workload.
436
+ """
437
+ return pulumi.get(self, "description")
438
+
439
+ @description.setter
440
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
441
+ pulumi.set(self, "description", value)
442
+
443
+ @property
444
+ @pulumi.getter
445
+ def extras(self) -> Optional[pulumi.Input[builtins.str]]:
446
+ """
447
+ Extra Kubernetes modifications. Only used for BYOK.
448
+ """
449
+ return pulumi.get(self, "extras")
450
+
451
+ @extras.setter
452
+ def extras(self, value: Optional[pulumi.Input[builtins.str]]):
453
+ pulumi.set(self, "extras", value)
454
+
455
+ @property
456
+ @pulumi.getter(name="firewallSpec")
457
+ def firewall_spec(self) -> Optional[pulumi.Input['WorkloadFirewallSpecArgs']]:
458
+ """
459
+ Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
460
+ Access is restricted by default.
461
+ """
462
+ return pulumi.get(self, "firewall_spec")
463
+
464
+ @firewall_spec.setter
465
+ def firewall_spec(self, value: Optional[pulumi.Input['WorkloadFirewallSpecArgs']]):
466
+ pulumi.set(self, "firewall_spec", value)
467
+
468
+ @property
469
+ @pulumi.getter
470
+ def gvc(self) -> Optional[pulumi.Input[builtins.str]]:
471
+ """
472
+ Name of the associated GVC.
473
+ """
474
+ return pulumi.get(self, "gvc")
475
+
476
+ @gvc.setter
477
+ def gvc(self, value: Optional[pulumi.Input[builtins.str]]):
478
+ pulumi.set(self, "gvc", value)
479
+
480
+ @property
481
+ @pulumi.getter(name="identityLink")
482
+ def identity_link(self) -> Optional[pulumi.Input[builtins.str]]:
483
+ """
484
+ The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
485
+ multiple cloud providers.
486
+ """
487
+ return pulumi.get(self, "identity_link")
488
+
489
+ @identity_link.setter
490
+ def identity_link(self, value: Optional[pulumi.Input[builtins.str]]):
491
+ pulumi.set(self, "identity_link", value)
492
+
493
+ @property
494
+ @pulumi.getter
495
+ def jobs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]]:
496
+ """
497
+ [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
498
+ """
499
+ return pulumi.get(self, "jobs")
500
+
501
+ @jobs.setter
502
+ def jobs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadJobArgs']]]]):
503
+ pulumi.set(self, "jobs", value)
504
+
505
+ @property
506
+ @pulumi.getter(name="loadBalancer")
507
+ def load_balancer(self) -> Optional[pulumi.Input['WorkloadLoadBalancerArgs']]:
508
+ return pulumi.get(self, "load_balancer")
509
+
510
+ @load_balancer.setter
511
+ def load_balancer(self, value: Optional[pulumi.Input['WorkloadLoadBalancerArgs']]):
512
+ pulumi.set(self, "load_balancer", value)
513
+
514
+ @property
515
+ @pulumi.getter(name="localOptions")
516
+ def local_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]]:
517
+ """
518
+ Override defaultOptions for the workload in specific Control Plane Locations.
519
+ """
520
+ return pulumi.get(self, "local_options")
521
+
522
+ @local_options.setter
523
+ def local_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadLocalOptionArgs']]]]):
524
+ pulumi.set(self, "local_options", value)
525
+
526
+ @property
527
+ @pulumi.getter
528
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
529
+ """
530
+ Name of the workload.
531
+ """
532
+ return pulumi.get(self, "name")
533
+
534
+ @name.setter
535
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
536
+ pulumi.set(self, "name", value)
537
+
538
+ @property
539
+ @pulumi.getter
540
+ def options(self) -> Optional[pulumi.Input['WorkloadOptionsArgs']]:
541
+ """
542
+ Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
543
+ characteristics of the workload.
544
+ """
545
+ return pulumi.get(self, "options")
546
+
547
+ @options.setter
548
+ def options(self, value: Optional[pulumi.Input['WorkloadOptionsArgs']]):
549
+ pulumi.set(self, "options", value)
550
+
551
+ @property
552
+ @pulumi.getter(name="requestRetryPolicy")
553
+ def request_retry_policy(self) -> Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']]:
554
+ return pulumi.get(self, "request_retry_policy")
555
+
556
+ @request_retry_policy.setter
557
+ def request_retry_policy(self, value: Optional[pulumi.Input['WorkloadRequestRetryPolicyArgs']]):
558
+ pulumi.set(self, "request_retry_policy", value)
559
+
560
+ @property
561
+ @pulumi.getter(name="rolloutOptions")
562
+ def rollout_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]]:
563
+ """
564
+ Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
565
+ replicas, surge replicas, and scaling policies.
566
+ """
567
+ return pulumi.get(self, "rollout_options")
568
+
569
+ @rollout_options.setter
570
+ def rollout_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadRolloutOptionArgs']]]]):
571
+ pulumi.set(self, "rollout_options", value)
572
+
573
+ @property
574
+ @pulumi.getter(name="securityOptions")
575
+ def security_options(self) -> Optional[pulumi.Input['WorkloadSecurityOptionsArgs']]:
576
+ """
577
+ Allows for the configuration of the `file system group id` and `geo location`.
578
+ """
579
+ return pulumi.get(self, "security_options")
580
+
581
+ @security_options.setter
582
+ def security_options(self, value: Optional[pulumi.Input['WorkloadSecurityOptionsArgs']]):
583
+ pulumi.set(self, "security_options", value)
584
+
585
+ @property
586
+ @pulumi.getter(name="selfLink")
587
+ def self_link(self) -> Optional[pulumi.Input[builtins.str]]:
588
+ """
589
+ Full link to this resource. Can be referenced by other resources.
590
+ """
591
+ return pulumi.get(self, "self_link")
592
+
593
+ @self_link.setter
594
+ def self_link(self, value: Optional[pulumi.Input[builtins.str]]):
595
+ pulumi.set(self, "self_link", value)
596
+
597
+ @property
598
+ @pulumi.getter
599
+ def sidecar(self) -> Optional[pulumi.Input['WorkloadSidecarArgs']]:
600
+ return pulumi.get(self, "sidecar")
601
+
602
+ @sidecar.setter
603
+ def sidecar(self, value: Optional[pulumi.Input['WorkloadSidecarArgs']]):
604
+ pulumi.set(self, "sidecar", value)
605
+
606
+ @property
607
+ @pulumi.getter
608
+ def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadStatusArgs']]]]:
609
+ """
610
+ Status of the workload.
611
+ """
612
+ return pulumi.get(self, "statuses")
613
+
614
+ @statuses.setter
615
+ def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadStatusArgs']]]]):
616
+ pulumi.set(self, "statuses", value)
617
+
618
+ @property
619
+ @pulumi.getter(name="supportDynamicTags")
620
+ def support_dynamic_tags(self) -> Optional[pulumi.Input[builtins.bool]]:
621
+ """
622
+ Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
623
+ false.
624
+ """
625
+ return pulumi.get(self, "support_dynamic_tags")
626
+
627
+ @support_dynamic_tags.setter
628
+ def support_dynamic_tags(self, value: Optional[pulumi.Input[builtins.bool]]):
629
+ pulumi.set(self, "support_dynamic_tags", value)
630
+
631
+ @property
632
+ @pulumi.getter
633
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
634
+ """
635
+ Key-value map of resource tags.
636
+ """
637
+ return pulumi.get(self, "tags")
638
+
639
+ @tags.setter
640
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
641
+ pulumi.set(self, "tags", value)
642
+
643
+ @property
644
+ @pulumi.getter
645
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
646
+ """
647
+ Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
648
+ """
649
+ return pulumi.get(self, "type")
650
+
651
+ @type.setter
652
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
653
+ pulumi.set(self, "type", value)
654
+
655
+
656
+ @pulumi.type_token("cpln:index/workload:Workload")
657
+ class Workload(pulumi.CustomResource):
658
+ @overload
659
+ def __init__(__self__,
660
+ resource_name: str,
661
+ opts: Optional[pulumi.ResourceOptions] = None,
662
+ containers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadContainerArgs', 'WorkloadContainerArgsDict']]]]] = None,
663
+ description: Optional[pulumi.Input[builtins.str]] = None,
664
+ extras: Optional[pulumi.Input[builtins.str]] = None,
665
+ firewall_spec: Optional[pulumi.Input[Union['WorkloadFirewallSpecArgs', 'WorkloadFirewallSpecArgsDict']]] = None,
666
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
667
+ identity_link: Optional[pulumi.Input[builtins.str]] = None,
668
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadJobArgs', 'WorkloadJobArgsDict']]]]] = None,
669
+ load_balancer: Optional[pulumi.Input[Union['WorkloadLoadBalancerArgs', 'WorkloadLoadBalancerArgsDict']]] = None,
670
+ local_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadLocalOptionArgs', 'WorkloadLocalOptionArgsDict']]]]] = None,
671
+ name: Optional[pulumi.Input[builtins.str]] = None,
672
+ options: Optional[pulumi.Input[Union['WorkloadOptionsArgs', 'WorkloadOptionsArgsDict']]] = None,
673
+ request_retry_policy: Optional[pulumi.Input[Union['WorkloadRequestRetryPolicyArgs', 'WorkloadRequestRetryPolicyArgsDict']]] = None,
674
+ rollout_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadRolloutOptionArgs', 'WorkloadRolloutOptionArgsDict']]]]] = None,
675
+ security_options: Optional[pulumi.Input[Union['WorkloadSecurityOptionsArgs', 'WorkloadSecurityOptionsArgsDict']]] = None,
676
+ sidecar: Optional[pulumi.Input[Union['WorkloadSidecarArgs', 'WorkloadSidecarArgsDict']]] = None,
677
+ support_dynamic_tags: Optional[pulumi.Input[builtins.bool]] = None,
678
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
679
+ type: Optional[pulumi.Input[builtins.str]] = None,
680
+ __props__=None):
681
+ """
682
+ Create a Workload resource with the given unique name, props, and options.
683
+ :param str resource_name: The name of the resource.
684
+ :param pulumi.ResourceOptions opts: Options for the resource.
685
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadContainerArgs', 'WorkloadContainerArgsDict']]]] containers: An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
686
+ :param pulumi.Input[builtins.str] description: Description of the workload.
687
+ :param pulumi.Input[builtins.str] extras: Extra Kubernetes modifications. Only used for BYOK.
688
+ :param pulumi.Input[Union['WorkloadFirewallSpecArgs', 'WorkloadFirewallSpecArgsDict']] firewall_spec: Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
689
+ Access is restricted by default.
690
+ :param pulumi.Input[builtins.str] gvc: Name of the associated GVC.
691
+ :param pulumi.Input[builtins.str] identity_link: The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
692
+ multiple cloud providers.
693
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadJobArgs', 'WorkloadJobArgsDict']]]] jobs: [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
694
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadLocalOptionArgs', 'WorkloadLocalOptionArgsDict']]]] local_options: Override defaultOptions for the workload in specific Control Plane Locations.
695
+ :param pulumi.Input[builtins.str] name: Name of the workload.
696
+ :param pulumi.Input[Union['WorkloadOptionsArgs', 'WorkloadOptionsArgsDict']] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
697
+ characteristics of the workload.
698
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadRolloutOptionArgs', 'WorkloadRolloutOptionArgsDict']]]] rollout_options: Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
699
+ replicas, surge replicas, and scaling policies.
700
+ :param pulumi.Input[Union['WorkloadSecurityOptionsArgs', 'WorkloadSecurityOptionsArgsDict']] security_options: Allows for the configuration of the `file system group id` and `geo location`.
701
+ :param pulumi.Input[builtins.bool] support_dynamic_tags: Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
702
+ false.
703
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
704
+ :param pulumi.Input[builtins.str] type: Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
705
+ """
706
+ ...
707
+ @overload
708
+ def __init__(__self__,
709
+ resource_name: str,
710
+ args: WorkloadArgs,
711
+ opts: Optional[pulumi.ResourceOptions] = None):
712
+ """
713
+ Create a Workload resource with the given unique name, props, and options.
714
+ :param str resource_name: The name of the resource.
715
+ :param WorkloadArgs args: The arguments to use to populate this resource's properties.
716
+ :param pulumi.ResourceOptions opts: Options for the resource.
717
+ """
718
+ ...
719
+ def __init__(__self__, resource_name: str, *args, **kwargs):
720
+ resource_args, opts = _utilities.get_resource_args_opts(WorkloadArgs, pulumi.ResourceOptions, *args, **kwargs)
721
+ if resource_args is not None:
722
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
723
+ else:
724
+ __self__._internal_init(resource_name, *args, **kwargs)
725
+
726
+ def _internal_init(__self__,
727
+ resource_name: str,
728
+ opts: Optional[pulumi.ResourceOptions] = None,
729
+ containers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadContainerArgs', 'WorkloadContainerArgsDict']]]]] = None,
730
+ description: Optional[pulumi.Input[builtins.str]] = None,
731
+ extras: Optional[pulumi.Input[builtins.str]] = None,
732
+ firewall_spec: Optional[pulumi.Input[Union['WorkloadFirewallSpecArgs', 'WorkloadFirewallSpecArgsDict']]] = None,
733
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
734
+ identity_link: Optional[pulumi.Input[builtins.str]] = None,
735
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadJobArgs', 'WorkloadJobArgsDict']]]]] = None,
736
+ load_balancer: Optional[pulumi.Input[Union['WorkloadLoadBalancerArgs', 'WorkloadLoadBalancerArgsDict']]] = None,
737
+ local_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadLocalOptionArgs', 'WorkloadLocalOptionArgsDict']]]]] = None,
738
+ name: Optional[pulumi.Input[builtins.str]] = None,
739
+ options: Optional[pulumi.Input[Union['WorkloadOptionsArgs', 'WorkloadOptionsArgsDict']]] = None,
740
+ request_retry_policy: Optional[pulumi.Input[Union['WorkloadRequestRetryPolicyArgs', 'WorkloadRequestRetryPolicyArgsDict']]] = None,
741
+ rollout_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadRolloutOptionArgs', 'WorkloadRolloutOptionArgsDict']]]]] = None,
742
+ security_options: Optional[pulumi.Input[Union['WorkloadSecurityOptionsArgs', 'WorkloadSecurityOptionsArgsDict']]] = None,
743
+ sidecar: Optional[pulumi.Input[Union['WorkloadSidecarArgs', 'WorkloadSidecarArgsDict']]] = None,
744
+ support_dynamic_tags: Optional[pulumi.Input[builtins.bool]] = None,
745
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
746
+ type: Optional[pulumi.Input[builtins.str]] = None,
747
+ __props__=None):
748
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
749
+ if not isinstance(opts, pulumi.ResourceOptions):
750
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
751
+ if opts.id is None:
752
+ if __props__ is not None:
753
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
754
+ __props__ = WorkloadArgs.__new__(WorkloadArgs)
755
+
756
+ __props__.__dict__["containers"] = containers
757
+ __props__.__dict__["description"] = description
758
+ __props__.__dict__["extras"] = extras
759
+ __props__.__dict__["firewall_spec"] = firewall_spec
760
+ if gvc is None and not opts.urn:
761
+ raise TypeError("Missing required property 'gvc'")
762
+ __props__.__dict__["gvc"] = gvc
763
+ __props__.__dict__["identity_link"] = identity_link
764
+ __props__.__dict__["jobs"] = jobs
765
+ __props__.__dict__["load_balancer"] = load_balancer
766
+ __props__.__dict__["local_options"] = local_options
767
+ __props__.__dict__["name"] = name
768
+ __props__.__dict__["options"] = options
769
+ __props__.__dict__["request_retry_policy"] = request_retry_policy
770
+ __props__.__dict__["rollout_options"] = rollout_options
771
+ __props__.__dict__["security_options"] = security_options
772
+ __props__.__dict__["sidecar"] = sidecar
773
+ __props__.__dict__["support_dynamic_tags"] = support_dynamic_tags
774
+ __props__.__dict__["tags"] = tags
775
+ if type is None and not opts.urn:
776
+ raise TypeError("Missing required property 'type'")
777
+ __props__.__dict__["type"] = type
778
+ __props__.__dict__["cpln_id"] = None
779
+ __props__.__dict__["self_link"] = None
780
+ __props__.__dict__["statuses"] = None
781
+ super(Workload, __self__).__init__(
782
+ 'cpln:index/workload:Workload',
783
+ resource_name,
784
+ __props__,
785
+ opts)
786
+
787
+ @staticmethod
788
+ def get(resource_name: str,
789
+ id: pulumi.Input[str],
790
+ opts: Optional[pulumi.ResourceOptions] = None,
791
+ containers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadContainerArgs', 'WorkloadContainerArgsDict']]]]] = None,
792
+ cpln_id: Optional[pulumi.Input[builtins.str]] = None,
793
+ description: Optional[pulumi.Input[builtins.str]] = None,
794
+ extras: Optional[pulumi.Input[builtins.str]] = None,
795
+ firewall_spec: Optional[pulumi.Input[Union['WorkloadFirewallSpecArgs', 'WorkloadFirewallSpecArgsDict']]] = None,
796
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
797
+ identity_link: Optional[pulumi.Input[builtins.str]] = None,
798
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadJobArgs', 'WorkloadJobArgsDict']]]]] = None,
799
+ load_balancer: Optional[pulumi.Input[Union['WorkloadLoadBalancerArgs', 'WorkloadLoadBalancerArgsDict']]] = None,
800
+ local_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadLocalOptionArgs', 'WorkloadLocalOptionArgsDict']]]]] = None,
801
+ name: Optional[pulumi.Input[builtins.str]] = None,
802
+ options: Optional[pulumi.Input[Union['WorkloadOptionsArgs', 'WorkloadOptionsArgsDict']]] = None,
803
+ request_retry_policy: Optional[pulumi.Input[Union['WorkloadRequestRetryPolicyArgs', 'WorkloadRequestRetryPolicyArgsDict']]] = None,
804
+ rollout_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadRolloutOptionArgs', 'WorkloadRolloutOptionArgsDict']]]]] = None,
805
+ security_options: Optional[pulumi.Input[Union['WorkloadSecurityOptionsArgs', 'WorkloadSecurityOptionsArgsDict']]] = None,
806
+ self_link: Optional[pulumi.Input[builtins.str]] = None,
807
+ sidecar: Optional[pulumi.Input[Union['WorkloadSidecarArgs', 'WorkloadSidecarArgsDict']]] = None,
808
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadStatusArgs', 'WorkloadStatusArgsDict']]]]] = None,
809
+ support_dynamic_tags: Optional[pulumi.Input[builtins.bool]] = None,
810
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
811
+ type: Optional[pulumi.Input[builtins.str]] = None) -> 'Workload':
812
+ """
813
+ Get an existing Workload resource's state with the given name, id, and optional extra
814
+ properties used to qualify the lookup.
815
+
816
+ :param str resource_name: The unique name of the resulting resource.
817
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
818
+ :param pulumi.ResourceOptions opts: Options for the resource.
819
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadContainerArgs', 'WorkloadContainerArgsDict']]]] containers: An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
820
+ :param pulumi.Input[builtins.str] cpln_id: The ID, in GUID format, of the workload.
821
+ :param pulumi.Input[builtins.str] description: Description of the workload.
822
+ :param pulumi.Input[builtins.str] extras: Extra Kubernetes modifications. Only used for BYOK.
823
+ :param pulumi.Input[Union['WorkloadFirewallSpecArgs', 'WorkloadFirewallSpecArgsDict']] firewall_spec: Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
824
+ Access is restricted by default.
825
+ :param pulumi.Input[builtins.str] gvc: Name of the associated GVC.
826
+ :param pulumi.Input[builtins.str] identity_link: The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
827
+ multiple cloud providers.
828
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadJobArgs', 'WorkloadJobArgsDict']]]] jobs: [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
829
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadLocalOptionArgs', 'WorkloadLocalOptionArgsDict']]]] local_options: Override defaultOptions for the workload in specific Control Plane Locations.
830
+ :param pulumi.Input[builtins.str] name: Name of the workload.
831
+ :param pulumi.Input[Union['WorkloadOptionsArgs', 'WorkloadOptionsArgsDict']] options: Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
832
+ characteristics of the workload.
833
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadRolloutOptionArgs', 'WorkloadRolloutOptionArgsDict']]]] rollout_options: Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
834
+ replicas, surge replicas, and scaling policies.
835
+ :param pulumi.Input[Union['WorkloadSecurityOptionsArgs', 'WorkloadSecurityOptionsArgsDict']] security_options: Allows for the configuration of the `file system group id` and `geo location`.
836
+ :param pulumi.Input[builtins.str] self_link: Full link to this resource. Can be referenced by other resources.
837
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadStatusArgs', 'WorkloadStatusArgsDict']]]] statuses: Status of the workload.
838
+ :param pulumi.Input[builtins.bool] support_dynamic_tags: Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
839
+ false.
840
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
841
+ :param pulumi.Input[builtins.str] type: Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
842
+ """
843
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
844
+
845
+ __props__ = _WorkloadState.__new__(_WorkloadState)
846
+
847
+ __props__.__dict__["containers"] = containers
848
+ __props__.__dict__["cpln_id"] = cpln_id
849
+ __props__.__dict__["description"] = description
850
+ __props__.__dict__["extras"] = extras
851
+ __props__.__dict__["firewall_spec"] = firewall_spec
852
+ __props__.__dict__["gvc"] = gvc
853
+ __props__.__dict__["identity_link"] = identity_link
854
+ __props__.__dict__["jobs"] = jobs
855
+ __props__.__dict__["load_balancer"] = load_balancer
856
+ __props__.__dict__["local_options"] = local_options
857
+ __props__.__dict__["name"] = name
858
+ __props__.__dict__["options"] = options
859
+ __props__.__dict__["request_retry_policy"] = request_retry_policy
860
+ __props__.__dict__["rollout_options"] = rollout_options
861
+ __props__.__dict__["security_options"] = security_options
862
+ __props__.__dict__["self_link"] = self_link
863
+ __props__.__dict__["sidecar"] = sidecar
864
+ __props__.__dict__["statuses"] = statuses
865
+ __props__.__dict__["support_dynamic_tags"] = support_dynamic_tags
866
+ __props__.__dict__["tags"] = tags
867
+ __props__.__dict__["type"] = type
868
+ return Workload(resource_name, opts=opts, __props__=__props__)
869
+
870
+ @property
871
+ @pulumi.getter
872
+ def containers(self) -> pulumi.Output[Optional[Sequence['outputs.WorkloadContainer']]]:
873
+ """
874
+ An isolated and lightweight runtime environment that encapsulates an application and its dependencies.
875
+ """
876
+ return pulumi.get(self, "containers")
877
+
878
+ @property
879
+ @pulumi.getter(name="cplnId")
880
+ def cpln_id(self) -> pulumi.Output[builtins.str]:
881
+ """
882
+ The ID, in GUID format, of the workload.
883
+ """
884
+ return pulumi.get(self, "cpln_id")
885
+
886
+ @property
887
+ @pulumi.getter
888
+ def description(self) -> pulumi.Output[builtins.str]:
889
+ """
890
+ Description of the workload.
891
+ """
892
+ return pulumi.get(self, "description")
893
+
894
+ @property
895
+ @pulumi.getter
896
+ def extras(self) -> pulumi.Output[Optional[builtins.str]]:
897
+ """
898
+ Extra Kubernetes modifications. Only used for BYOK.
899
+ """
900
+ return pulumi.get(self, "extras")
901
+
902
+ @property
903
+ @pulumi.getter(name="firewallSpec")
904
+ def firewall_spec(self) -> pulumi.Output[Optional['outputs.WorkloadFirewallSpec']]:
905
+ """
906
+ Control of inbound and outbound access to the workload for external (public) and internal (service to service) traffic.
907
+ Access is restricted by default.
908
+ """
909
+ return pulumi.get(self, "firewall_spec")
910
+
911
+ @property
912
+ @pulumi.getter
913
+ def gvc(self) -> pulumi.Output[builtins.str]:
914
+ """
915
+ Name of the associated GVC.
916
+ """
917
+ return pulumi.get(self, "gvc")
918
+
919
+ @property
920
+ @pulumi.getter(name="identityLink")
921
+ def identity_link(self) -> pulumi.Output[Optional[builtins.str]]:
922
+ """
923
+ The identityLink is used as the access scope for 3rd party cloud resources. A single identity can provide access to
924
+ multiple cloud providers.
925
+ """
926
+ return pulumi.get(self, "identity_link")
927
+
928
+ @property
929
+ @pulumi.getter
930
+ def jobs(self) -> pulumi.Output[Optional[Sequence['outputs.WorkloadJob']]]:
931
+ """
932
+ [Cron Job Reference Page](https://docs.controlplane.com/reference/workload#cron).
933
+ """
934
+ return pulumi.get(self, "jobs")
935
+
936
+ @property
937
+ @pulumi.getter(name="loadBalancer")
938
+ def load_balancer(self) -> pulumi.Output[Optional['outputs.WorkloadLoadBalancer']]:
939
+ return pulumi.get(self, "load_balancer")
940
+
941
+ @property
942
+ @pulumi.getter(name="localOptions")
943
+ def local_options(self) -> pulumi.Output[Optional[Sequence['outputs.WorkloadLocalOption']]]:
944
+ """
945
+ Override defaultOptions for the workload in specific Control Plane Locations.
946
+ """
947
+ return pulumi.get(self, "local_options")
948
+
949
+ @property
950
+ @pulumi.getter
951
+ def name(self) -> pulumi.Output[builtins.str]:
952
+ """
953
+ Name of the workload.
954
+ """
955
+ return pulumi.get(self, "name")
956
+
957
+ @property
958
+ @pulumi.getter
959
+ def options(self) -> pulumi.Output[Optional['outputs.WorkloadOptions']]:
960
+ """
961
+ Configurable settings or parameters that allow fine-tuning and customization of the behavior, performance, and
962
+ characteristics of the workload.
963
+ """
964
+ return pulumi.get(self, "options")
965
+
966
+ @property
967
+ @pulumi.getter(name="requestRetryPolicy")
968
+ def request_retry_policy(self) -> pulumi.Output[Optional['outputs.WorkloadRequestRetryPolicy']]:
969
+ return pulumi.get(self, "request_retry_policy")
970
+
971
+ @property
972
+ @pulumi.getter(name="rolloutOptions")
973
+ def rollout_options(self) -> pulumi.Output[Optional[Sequence['outputs.WorkloadRolloutOption']]]:
974
+ """
975
+ Defines the parameters for updating applications and services, including settings for minimum readiness, unavailable
976
+ replicas, surge replicas, and scaling policies.
977
+ """
978
+ return pulumi.get(self, "rollout_options")
979
+
980
+ @property
981
+ @pulumi.getter(name="securityOptions")
982
+ def security_options(self) -> pulumi.Output[Optional['outputs.WorkloadSecurityOptions']]:
983
+ """
984
+ Allows for the configuration of the `file system group id` and `geo location`.
985
+ """
986
+ return pulumi.get(self, "security_options")
987
+
988
+ @property
989
+ @pulumi.getter(name="selfLink")
990
+ def self_link(self) -> pulumi.Output[builtins.str]:
991
+ """
992
+ Full link to this resource. Can be referenced by other resources.
993
+ """
994
+ return pulumi.get(self, "self_link")
995
+
996
+ @property
997
+ @pulumi.getter
998
+ def sidecar(self) -> pulumi.Output[Optional['outputs.WorkloadSidecar']]:
999
+ return pulumi.get(self, "sidecar")
1000
+
1001
+ @property
1002
+ @pulumi.getter
1003
+ def statuses(self) -> pulumi.Output[Sequence['outputs.WorkloadStatus']]:
1004
+ """
1005
+ Status of the workload.
1006
+ """
1007
+ return pulumi.get(self, "statuses")
1008
+
1009
+ @property
1010
+ @pulumi.getter(name="supportDynamicTags")
1011
+ def support_dynamic_tags(self) -> pulumi.Output[builtins.bool]:
1012
+ """
1013
+ Workload will automatically redeploy when one of the container images is updated in the container registry. Default:
1014
+ false.
1015
+ """
1016
+ return pulumi.get(self, "support_dynamic_tags")
1017
+
1018
+ @property
1019
+ @pulumi.getter
1020
+ def tags(self) -> pulumi.Output[Mapping[str, builtins.str]]:
1021
+ """
1022
+ Key-value map of resource tags.
1023
+ """
1024
+ return pulumi.get(self, "tags")
1025
+
1026
+ @property
1027
+ @pulumi.getter
1028
+ def type(self) -> pulumi.Output[builtins.str]:
1029
+ """
1030
+ Workload Type. Either `serverless`, `standard`, `stateful`, or `cron`.
1031
+ """
1032
+ return pulumi.get(self, "type")
1033
+