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,620 @@
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__ = ['PolicyArgs', 'Policy']
21
+
22
+ @pulumi.input_type
23
+ class PolicyArgs:
24
+ def __init__(__self__, *,
25
+ target_kind: pulumi.Input[builtins.str],
26
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]] = None,
27
+ description: Optional[pulumi.Input[builtins.str]] = None,
28
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
29
+ name: Optional[pulumi.Input[builtins.str]] = None,
30
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
31
+ target: Optional[pulumi.Input[builtins.str]] = None,
32
+ target_links: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
33
+ target_query: Optional[pulumi.Input['PolicyTargetQueryArgs']] = None):
34
+ """
35
+ The set of arguments for constructing a Policy resource.
36
+ :param pulumi.Input[builtins.str] target_kind: The kind of resource to target (e.g., gvc, serviceaccount, etc.).
37
+ :param pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]] bindings: The association between a target kind and the bound permissions to service principals.
38
+ :param pulumi.Input[builtins.str] description: Description of the Policy.
39
+ :param pulumi.Input[builtins.str] gvc: The GVC for `identity`, `workload` and `volumeset` target kinds only.
40
+ :param pulumi.Input[builtins.str] name: Name of the Policy.
41
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
42
+ :param pulumi.Input[builtins.str] target: Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
43
+ do not include the attribute.
44
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] target_links: List of the targets this policy will be applied to. Not used if `target` is set to `all`.
45
+ :param pulumi.Input['PolicyTargetQueryArgs'] target_query: A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
46
+ """
47
+ pulumi.set(__self__, "target_kind", target_kind)
48
+ if bindings is not None:
49
+ pulumi.set(__self__, "bindings", bindings)
50
+ if description is not None:
51
+ pulumi.set(__self__, "description", description)
52
+ if gvc is not None:
53
+ pulumi.set(__self__, "gvc", gvc)
54
+ if name is not None:
55
+ pulumi.set(__self__, "name", name)
56
+ if tags is not None:
57
+ pulumi.set(__self__, "tags", tags)
58
+ if target is not None:
59
+ pulumi.set(__self__, "target", target)
60
+ if target_links is not None:
61
+ pulumi.set(__self__, "target_links", target_links)
62
+ if target_query is not None:
63
+ pulumi.set(__self__, "target_query", target_query)
64
+
65
+ @property
66
+ @pulumi.getter(name="targetKind")
67
+ def target_kind(self) -> pulumi.Input[builtins.str]:
68
+ """
69
+ The kind of resource to target (e.g., gvc, serviceaccount, etc.).
70
+ """
71
+ return pulumi.get(self, "target_kind")
72
+
73
+ @target_kind.setter
74
+ def target_kind(self, value: pulumi.Input[builtins.str]):
75
+ pulumi.set(self, "target_kind", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]]:
80
+ """
81
+ The association between a target kind and the bound permissions to service principals.
82
+ """
83
+ return pulumi.get(self, "bindings")
84
+
85
+ @bindings.setter
86
+ def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]]):
87
+ pulumi.set(self, "bindings", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
92
+ """
93
+ Description of the Policy.
94
+ """
95
+ return pulumi.get(self, "description")
96
+
97
+ @description.setter
98
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
99
+ pulumi.set(self, "description", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def gvc(self) -> Optional[pulumi.Input[builtins.str]]:
104
+ """
105
+ The GVC for `identity`, `workload` and `volumeset` target kinds only.
106
+ """
107
+ return pulumi.get(self, "gvc")
108
+
109
+ @gvc.setter
110
+ def gvc(self, value: Optional[pulumi.Input[builtins.str]]):
111
+ pulumi.set(self, "gvc", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
116
+ """
117
+ Name of the Policy.
118
+ """
119
+ return pulumi.get(self, "name")
120
+
121
+ @name.setter
122
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
123
+ pulumi.set(self, "name", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
128
+ """
129
+ Key-value map of resource tags.
130
+ """
131
+ return pulumi.get(self, "tags")
132
+
133
+ @tags.setter
134
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
135
+ pulumi.set(self, "tags", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def target(self) -> Optional[pulumi.Input[builtins.str]]:
140
+ """
141
+ Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
142
+ do not include the attribute.
143
+ """
144
+ return pulumi.get(self, "target")
145
+
146
+ @target.setter
147
+ def target(self, value: Optional[pulumi.Input[builtins.str]]):
148
+ pulumi.set(self, "target", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="targetLinks")
152
+ def target_links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
153
+ """
154
+ List of the targets this policy will be applied to. Not used if `target` is set to `all`.
155
+ """
156
+ return pulumi.get(self, "target_links")
157
+
158
+ @target_links.setter
159
+ def target_links(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
160
+ pulumi.set(self, "target_links", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="targetQuery")
164
+ def target_query(self) -> Optional[pulumi.Input['PolicyTargetQueryArgs']]:
165
+ """
166
+ A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
167
+ """
168
+ return pulumi.get(self, "target_query")
169
+
170
+ @target_query.setter
171
+ def target_query(self, value: Optional[pulumi.Input['PolicyTargetQueryArgs']]):
172
+ pulumi.set(self, "target_query", value)
173
+
174
+
175
+ @pulumi.input_type
176
+ class _PolicyState:
177
+ def __init__(__self__, *,
178
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]] = None,
179
+ cpln_id: Optional[pulumi.Input[builtins.str]] = None,
180
+ description: Optional[pulumi.Input[builtins.str]] = None,
181
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
182
+ name: Optional[pulumi.Input[builtins.str]] = None,
183
+ origin: Optional[pulumi.Input[builtins.str]] = None,
184
+ self_link: Optional[pulumi.Input[builtins.str]] = None,
185
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
186
+ target: Optional[pulumi.Input[builtins.str]] = None,
187
+ target_kind: Optional[pulumi.Input[builtins.str]] = None,
188
+ target_links: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
189
+ target_query: Optional[pulumi.Input['PolicyTargetQueryArgs']] = None):
190
+ """
191
+ Input properties used for looking up and filtering Policy resources.
192
+ :param pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]] bindings: The association between a target kind and the bound permissions to service principals.
193
+ :param pulumi.Input[builtins.str] cpln_id: The ID, in GUID format, of the Policy.
194
+ :param pulumi.Input[builtins.str] description: Description of the Policy.
195
+ :param pulumi.Input[builtins.str] gvc: The GVC for `identity`, `workload` and `volumeset` target kinds only.
196
+ :param pulumi.Input[builtins.str] name: Name of the Policy.
197
+ :param pulumi.Input[builtins.str] origin: Origin of the Policy. Either `builtin` or `default`.
198
+ :param pulumi.Input[builtins.str] self_link: Full link to this resource. Can be referenced by other resources.
199
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
200
+ :param pulumi.Input[builtins.str] target: Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
201
+ do not include the attribute.
202
+ :param pulumi.Input[builtins.str] target_kind: The kind of resource to target (e.g., gvc, serviceaccount, etc.).
203
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] target_links: List of the targets this policy will be applied to. Not used if `target` is set to `all`.
204
+ :param pulumi.Input['PolicyTargetQueryArgs'] target_query: A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
205
+ """
206
+ if bindings is not None:
207
+ pulumi.set(__self__, "bindings", bindings)
208
+ if cpln_id is not None:
209
+ pulumi.set(__self__, "cpln_id", cpln_id)
210
+ if description is not None:
211
+ pulumi.set(__self__, "description", description)
212
+ if gvc is not None:
213
+ pulumi.set(__self__, "gvc", gvc)
214
+ if name is not None:
215
+ pulumi.set(__self__, "name", name)
216
+ if origin is not None:
217
+ pulumi.set(__self__, "origin", origin)
218
+ if self_link is not None:
219
+ pulumi.set(__self__, "self_link", self_link)
220
+ if tags is not None:
221
+ pulumi.set(__self__, "tags", tags)
222
+ if target is not None:
223
+ pulumi.set(__self__, "target", target)
224
+ if target_kind is not None:
225
+ pulumi.set(__self__, "target_kind", target_kind)
226
+ if target_links is not None:
227
+ pulumi.set(__self__, "target_links", target_links)
228
+ if target_query is not None:
229
+ pulumi.set(__self__, "target_query", target_query)
230
+
231
+ @property
232
+ @pulumi.getter
233
+ def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]]:
234
+ """
235
+ The association between a target kind and the bound permissions to service principals.
236
+ """
237
+ return pulumi.get(self, "bindings")
238
+
239
+ @bindings.setter
240
+ def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyBindingArgs']]]]):
241
+ pulumi.set(self, "bindings", value)
242
+
243
+ @property
244
+ @pulumi.getter(name="cplnId")
245
+ def cpln_id(self) -> Optional[pulumi.Input[builtins.str]]:
246
+ """
247
+ The ID, in GUID format, of the Policy.
248
+ """
249
+ return pulumi.get(self, "cpln_id")
250
+
251
+ @cpln_id.setter
252
+ def cpln_id(self, value: Optional[pulumi.Input[builtins.str]]):
253
+ pulumi.set(self, "cpln_id", value)
254
+
255
+ @property
256
+ @pulumi.getter
257
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
258
+ """
259
+ Description of the Policy.
260
+ """
261
+ return pulumi.get(self, "description")
262
+
263
+ @description.setter
264
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
265
+ pulumi.set(self, "description", value)
266
+
267
+ @property
268
+ @pulumi.getter
269
+ def gvc(self) -> Optional[pulumi.Input[builtins.str]]:
270
+ """
271
+ The GVC for `identity`, `workload` and `volumeset` target kinds only.
272
+ """
273
+ return pulumi.get(self, "gvc")
274
+
275
+ @gvc.setter
276
+ def gvc(self, value: Optional[pulumi.Input[builtins.str]]):
277
+ pulumi.set(self, "gvc", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
282
+ """
283
+ Name of the Policy.
284
+ """
285
+ return pulumi.get(self, "name")
286
+
287
+ @name.setter
288
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
289
+ pulumi.set(self, "name", value)
290
+
291
+ @property
292
+ @pulumi.getter
293
+ def origin(self) -> Optional[pulumi.Input[builtins.str]]:
294
+ """
295
+ Origin of the Policy. Either `builtin` or `default`.
296
+ """
297
+ return pulumi.get(self, "origin")
298
+
299
+ @origin.setter
300
+ def origin(self, value: Optional[pulumi.Input[builtins.str]]):
301
+ pulumi.set(self, "origin", value)
302
+
303
+ @property
304
+ @pulumi.getter(name="selfLink")
305
+ def self_link(self) -> Optional[pulumi.Input[builtins.str]]:
306
+ """
307
+ Full link to this resource. Can be referenced by other resources.
308
+ """
309
+ return pulumi.get(self, "self_link")
310
+
311
+ @self_link.setter
312
+ def self_link(self, value: Optional[pulumi.Input[builtins.str]]):
313
+ pulumi.set(self, "self_link", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
318
+ """
319
+ Key-value map of resource tags.
320
+ """
321
+ return pulumi.get(self, "tags")
322
+
323
+ @tags.setter
324
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
325
+ pulumi.set(self, "tags", value)
326
+
327
+ @property
328
+ @pulumi.getter
329
+ def target(self) -> Optional[pulumi.Input[builtins.str]]:
330
+ """
331
+ Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
332
+ do not include the attribute.
333
+ """
334
+ return pulumi.get(self, "target")
335
+
336
+ @target.setter
337
+ def target(self, value: Optional[pulumi.Input[builtins.str]]):
338
+ pulumi.set(self, "target", value)
339
+
340
+ @property
341
+ @pulumi.getter(name="targetKind")
342
+ def target_kind(self) -> Optional[pulumi.Input[builtins.str]]:
343
+ """
344
+ The kind of resource to target (e.g., gvc, serviceaccount, etc.).
345
+ """
346
+ return pulumi.get(self, "target_kind")
347
+
348
+ @target_kind.setter
349
+ def target_kind(self, value: Optional[pulumi.Input[builtins.str]]):
350
+ pulumi.set(self, "target_kind", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="targetLinks")
354
+ def target_links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
355
+ """
356
+ List of the targets this policy will be applied to. Not used if `target` is set to `all`.
357
+ """
358
+ return pulumi.get(self, "target_links")
359
+
360
+ @target_links.setter
361
+ def target_links(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
362
+ pulumi.set(self, "target_links", value)
363
+
364
+ @property
365
+ @pulumi.getter(name="targetQuery")
366
+ def target_query(self) -> Optional[pulumi.Input['PolicyTargetQueryArgs']]:
367
+ """
368
+ A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
369
+ """
370
+ return pulumi.get(self, "target_query")
371
+
372
+ @target_query.setter
373
+ def target_query(self, value: Optional[pulumi.Input['PolicyTargetQueryArgs']]):
374
+ pulumi.set(self, "target_query", value)
375
+
376
+
377
+ @pulumi.type_token("cpln:index/policy:Policy")
378
+ class Policy(pulumi.CustomResource):
379
+ @overload
380
+ def __init__(__self__,
381
+ resource_name: str,
382
+ opts: Optional[pulumi.ResourceOptions] = None,
383
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyBindingArgs', 'PolicyBindingArgsDict']]]]] = None,
384
+ description: Optional[pulumi.Input[builtins.str]] = None,
385
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
386
+ name: Optional[pulumi.Input[builtins.str]] = None,
387
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
388
+ target: Optional[pulumi.Input[builtins.str]] = None,
389
+ target_kind: Optional[pulumi.Input[builtins.str]] = None,
390
+ target_links: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
391
+ target_query: Optional[pulumi.Input[Union['PolicyTargetQueryArgs', 'PolicyTargetQueryArgsDict']]] = None,
392
+ __props__=None):
393
+ """
394
+ Create a Policy resource with the given unique name, props, and options.
395
+ :param str resource_name: The name of the resource.
396
+ :param pulumi.ResourceOptions opts: Options for the resource.
397
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PolicyBindingArgs', 'PolicyBindingArgsDict']]]] bindings: The association between a target kind and the bound permissions to service principals.
398
+ :param pulumi.Input[builtins.str] description: Description of the Policy.
399
+ :param pulumi.Input[builtins.str] gvc: The GVC for `identity`, `workload` and `volumeset` target kinds only.
400
+ :param pulumi.Input[builtins.str] name: Name of the Policy.
401
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
402
+ :param pulumi.Input[builtins.str] target: Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
403
+ do not include the attribute.
404
+ :param pulumi.Input[builtins.str] target_kind: The kind of resource to target (e.g., gvc, serviceaccount, etc.).
405
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] target_links: List of the targets this policy will be applied to. Not used if `target` is set to `all`.
406
+ :param pulumi.Input[Union['PolicyTargetQueryArgs', 'PolicyTargetQueryArgsDict']] target_query: A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
407
+ """
408
+ ...
409
+ @overload
410
+ def __init__(__self__,
411
+ resource_name: str,
412
+ args: PolicyArgs,
413
+ opts: Optional[pulumi.ResourceOptions] = None):
414
+ """
415
+ Create a Policy resource with the given unique name, props, and options.
416
+ :param str resource_name: The name of the resource.
417
+ :param PolicyArgs args: The arguments to use to populate this resource's properties.
418
+ :param pulumi.ResourceOptions opts: Options for the resource.
419
+ """
420
+ ...
421
+ def __init__(__self__, resource_name: str, *args, **kwargs):
422
+ resource_args, opts = _utilities.get_resource_args_opts(PolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
423
+ if resource_args is not None:
424
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
425
+ else:
426
+ __self__._internal_init(resource_name, *args, **kwargs)
427
+
428
+ def _internal_init(__self__,
429
+ resource_name: str,
430
+ opts: Optional[pulumi.ResourceOptions] = None,
431
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyBindingArgs', 'PolicyBindingArgsDict']]]]] = None,
432
+ description: Optional[pulumi.Input[builtins.str]] = None,
433
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
434
+ name: Optional[pulumi.Input[builtins.str]] = None,
435
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
436
+ target: Optional[pulumi.Input[builtins.str]] = None,
437
+ target_kind: Optional[pulumi.Input[builtins.str]] = None,
438
+ target_links: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
439
+ target_query: Optional[pulumi.Input[Union['PolicyTargetQueryArgs', 'PolicyTargetQueryArgsDict']]] = None,
440
+ __props__=None):
441
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
442
+ if not isinstance(opts, pulumi.ResourceOptions):
443
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
444
+ if opts.id is None:
445
+ if __props__ is not None:
446
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
447
+ __props__ = PolicyArgs.__new__(PolicyArgs)
448
+
449
+ __props__.__dict__["bindings"] = bindings
450
+ __props__.__dict__["description"] = description
451
+ __props__.__dict__["gvc"] = gvc
452
+ __props__.__dict__["name"] = name
453
+ __props__.__dict__["tags"] = tags
454
+ __props__.__dict__["target"] = target
455
+ if target_kind is None and not opts.urn:
456
+ raise TypeError("Missing required property 'target_kind'")
457
+ __props__.__dict__["target_kind"] = target_kind
458
+ __props__.__dict__["target_links"] = target_links
459
+ __props__.__dict__["target_query"] = target_query
460
+ __props__.__dict__["cpln_id"] = None
461
+ __props__.__dict__["origin"] = None
462
+ __props__.__dict__["self_link"] = None
463
+ super(Policy, __self__).__init__(
464
+ 'cpln:index/policy:Policy',
465
+ resource_name,
466
+ __props__,
467
+ opts)
468
+
469
+ @staticmethod
470
+ def get(resource_name: str,
471
+ id: pulumi.Input[str],
472
+ opts: Optional[pulumi.ResourceOptions] = None,
473
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyBindingArgs', 'PolicyBindingArgsDict']]]]] = None,
474
+ cpln_id: Optional[pulumi.Input[builtins.str]] = None,
475
+ description: Optional[pulumi.Input[builtins.str]] = None,
476
+ gvc: Optional[pulumi.Input[builtins.str]] = None,
477
+ name: Optional[pulumi.Input[builtins.str]] = None,
478
+ origin: Optional[pulumi.Input[builtins.str]] = None,
479
+ self_link: Optional[pulumi.Input[builtins.str]] = None,
480
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
481
+ target: Optional[pulumi.Input[builtins.str]] = None,
482
+ target_kind: Optional[pulumi.Input[builtins.str]] = None,
483
+ target_links: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
484
+ target_query: Optional[pulumi.Input[Union['PolicyTargetQueryArgs', 'PolicyTargetQueryArgsDict']]] = None) -> 'Policy':
485
+ """
486
+ Get an existing Policy resource's state with the given name, id, and optional extra
487
+ properties used to qualify the lookup.
488
+
489
+ :param str resource_name: The unique name of the resulting resource.
490
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
491
+ :param pulumi.ResourceOptions opts: Options for the resource.
492
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PolicyBindingArgs', 'PolicyBindingArgsDict']]]] bindings: The association between a target kind and the bound permissions to service principals.
493
+ :param pulumi.Input[builtins.str] cpln_id: The ID, in GUID format, of the Policy.
494
+ :param pulumi.Input[builtins.str] description: Description of the Policy.
495
+ :param pulumi.Input[builtins.str] gvc: The GVC for `identity`, `workload` and `volumeset` target kinds only.
496
+ :param pulumi.Input[builtins.str] name: Name of the Policy.
497
+ :param pulumi.Input[builtins.str] origin: Origin of the Policy. Either `builtin` or `default`.
498
+ :param pulumi.Input[builtins.str] self_link: Full link to this resource. Can be referenced by other resources.
499
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Key-value map of resource tags.
500
+ :param pulumi.Input[builtins.str] target: Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
501
+ do not include the attribute.
502
+ :param pulumi.Input[builtins.str] target_kind: The kind of resource to target (e.g., gvc, serviceaccount, etc.).
503
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] target_links: List of the targets this policy will be applied to. Not used if `target` is set to `all`.
504
+ :param pulumi.Input[Union['PolicyTargetQueryArgs', 'PolicyTargetQueryArgsDict']] target_query: A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
505
+ """
506
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
507
+
508
+ __props__ = _PolicyState.__new__(_PolicyState)
509
+
510
+ __props__.__dict__["bindings"] = bindings
511
+ __props__.__dict__["cpln_id"] = cpln_id
512
+ __props__.__dict__["description"] = description
513
+ __props__.__dict__["gvc"] = gvc
514
+ __props__.__dict__["name"] = name
515
+ __props__.__dict__["origin"] = origin
516
+ __props__.__dict__["self_link"] = self_link
517
+ __props__.__dict__["tags"] = tags
518
+ __props__.__dict__["target"] = target
519
+ __props__.__dict__["target_kind"] = target_kind
520
+ __props__.__dict__["target_links"] = target_links
521
+ __props__.__dict__["target_query"] = target_query
522
+ return Policy(resource_name, opts=opts, __props__=__props__)
523
+
524
+ @property
525
+ @pulumi.getter
526
+ def bindings(self) -> pulumi.Output[Optional[Sequence['outputs.PolicyBinding']]]:
527
+ """
528
+ The association between a target kind and the bound permissions to service principals.
529
+ """
530
+ return pulumi.get(self, "bindings")
531
+
532
+ @property
533
+ @pulumi.getter(name="cplnId")
534
+ def cpln_id(self) -> pulumi.Output[builtins.str]:
535
+ """
536
+ The ID, in GUID format, of the Policy.
537
+ """
538
+ return pulumi.get(self, "cpln_id")
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def description(self) -> pulumi.Output[builtins.str]:
543
+ """
544
+ Description of the Policy.
545
+ """
546
+ return pulumi.get(self, "description")
547
+
548
+ @property
549
+ @pulumi.getter
550
+ def gvc(self) -> pulumi.Output[Optional[builtins.str]]:
551
+ """
552
+ The GVC for `identity`, `workload` and `volumeset` target kinds only.
553
+ """
554
+ return pulumi.get(self, "gvc")
555
+
556
+ @property
557
+ @pulumi.getter
558
+ def name(self) -> pulumi.Output[builtins.str]:
559
+ """
560
+ Name of the Policy.
561
+ """
562
+ return pulumi.get(self, "name")
563
+
564
+ @property
565
+ @pulumi.getter
566
+ def origin(self) -> pulumi.Output[builtins.str]:
567
+ """
568
+ Origin of the Policy. Either `builtin` or `default`.
569
+ """
570
+ return pulumi.get(self, "origin")
571
+
572
+ @property
573
+ @pulumi.getter(name="selfLink")
574
+ def self_link(self) -> pulumi.Output[builtins.str]:
575
+ """
576
+ Full link to this resource. Can be referenced by other resources.
577
+ """
578
+ return pulumi.get(self, "self_link")
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def tags(self) -> pulumi.Output[Mapping[str, builtins.str]]:
583
+ """
584
+ Key-value map of resource tags.
585
+ """
586
+ return pulumi.get(self, "tags")
587
+
588
+ @property
589
+ @pulumi.getter
590
+ def target(self) -> pulumi.Output[Optional[builtins.str]]:
591
+ """
592
+ Set this value of this attribute to `all` if this policy should target all objects of the given target_kind. Otherwise,
593
+ do not include the attribute.
594
+ """
595
+ return pulumi.get(self, "target")
596
+
597
+ @property
598
+ @pulumi.getter(name="targetKind")
599
+ def target_kind(self) -> pulumi.Output[builtins.str]:
600
+ """
601
+ The kind of resource to target (e.g., gvc, serviceaccount, etc.).
602
+ """
603
+ return pulumi.get(self, "target_kind")
604
+
605
+ @property
606
+ @pulumi.getter(name="targetLinks")
607
+ def target_links(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
608
+ """
609
+ List of the targets this policy will be applied to. Not used if `target` is set to `all`.
610
+ """
611
+ return pulumi.get(self, "target_links")
612
+
613
+ @property
614
+ @pulumi.getter(name="targetQuery")
615
+ def target_query(self) -> pulumi.Output[Optional['outputs.PolicyTargetQuery']]:
616
+ """
617
+ A defined set of criteria or conditions used to identify the target entities or resources to which the policy applies.
618
+ """
619
+ return pulumi.get(self, "target_query")
620
+