pulumi-gcp 8.24.0a1742970634__py3-none-any.whl → 8.24.0a1743177741__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,971 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['V2PolicyOrchestratorArgs', 'V2PolicyOrchestrator']
20
+
21
+ @pulumi.input_type
22
+ class V2PolicyOrchestratorArgs:
23
+ def __init__(__self__, *,
24
+ action: pulumi.Input[str],
25
+ orchestrated_resource: pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs'],
26
+ policy_orchestrator_id: pulumi.Input[str],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ orchestration_scope: Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']] = None,
30
+ project: Optional[pulumi.Input[str]] = None,
31
+ state: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a V2PolicyOrchestrator resource.
34
+ :param pulumi.Input[str] action: Required. Action to be done by the orchestrator in
35
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
36
+ `orchestration_scope`. Allowed values:
37
+ - `UPSERT` - Orchestrator will create or update target resources.
38
+ - `DELETE` - Orchestrator will delete target resources, if they exist
39
+ :param pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs'] orchestrated_resource: Represents a resource that is being orchestrated by the policy orchestrator.
40
+ Structure is documented below.
41
+ :param pulumi.Input[str] policy_orchestrator_id: Required. The logical identifier of the policy orchestrator, with the following
42
+ restrictions:
43
+ * Must contain only lowercase letters, numbers, and hyphens.
44
+ * Must start with a letter.
45
+ * Must be between 1-63 characters.
46
+ * Must end with a number or a letter.
47
+ * Must be unique within the parent.
48
+ :param pulumi.Input[str] description: Optional. Freeform text describing the purpose of the resource.
49
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
50
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
51
+ :param pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs'] orchestration_scope: Defines a set of selectors which drive which resources are in scope of policy orchestration.
52
+ :param pulumi.Input[str] state: (Output)
53
+ Output only. State of the iteration.
54
+ Possible values:
55
+ STATE_UNSPECIFIED
56
+ PROCESSING
57
+ COMPLETED
58
+ FAILED
59
+ CANCELLED
60
+ UNKNOWN
61
+ """
62
+ pulumi.set(__self__, "action", action)
63
+ pulumi.set(__self__, "orchestrated_resource", orchestrated_resource)
64
+ pulumi.set(__self__, "policy_orchestrator_id", policy_orchestrator_id)
65
+ if description is not None:
66
+ pulumi.set(__self__, "description", description)
67
+ if labels is not None:
68
+ pulumi.set(__self__, "labels", labels)
69
+ if orchestration_scope is not None:
70
+ pulumi.set(__self__, "orchestration_scope", orchestration_scope)
71
+ if project is not None:
72
+ pulumi.set(__self__, "project", project)
73
+ if state is not None:
74
+ pulumi.set(__self__, "state", state)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def action(self) -> pulumi.Input[str]:
79
+ """
80
+ Required. Action to be done by the orchestrator in
81
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
82
+ `orchestration_scope`. Allowed values:
83
+ - `UPSERT` - Orchestrator will create or update target resources.
84
+ - `DELETE` - Orchestrator will delete target resources, if they exist
85
+ """
86
+ return pulumi.get(self, "action")
87
+
88
+ @action.setter
89
+ def action(self, value: pulumi.Input[str]):
90
+ pulumi.set(self, "action", value)
91
+
92
+ @property
93
+ @pulumi.getter(name="orchestratedResource")
94
+ def orchestrated_resource(self) -> pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs']:
95
+ """
96
+ Represents a resource that is being orchestrated by the policy orchestrator.
97
+ Structure is documented below.
98
+ """
99
+ return pulumi.get(self, "orchestrated_resource")
100
+
101
+ @orchestrated_resource.setter
102
+ def orchestrated_resource(self, value: pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs']):
103
+ pulumi.set(self, "orchestrated_resource", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="policyOrchestratorId")
107
+ def policy_orchestrator_id(self) -> pulumi.Input[str]:
108
+ """
109
+ Required. The logical identifier of the policy orchestrator, with the following
110
+ restrictions:
111
+ * Must contain only lowercase letters, numbers, and hyphens.
112
+ * Must start with a letter.
113
+ * Must be between 1-63 characters.
114
+ * Must end with a number or a letter.
115
+ * Must be unique within the parent.
116
+ """
117
+ return pulumi.get(self, "policy_orchestrator_id")
118
+
119
+ @policy_orchestrator_id.setter
120
+ def policy_orchestrator_id(self, value: pulumi.Input[str]):
121
+ pulumi.set(self, "policy_orchestrator_id", value)
122
+
123
+ @property
124
+ @pulumi.getter
125
+ def description(self) -> Optional[pulumi.Input[str]]:
126
+ """
127
+ Optional. Freeform text describing the purpose of the resource.
128
+ """
129
+ return pulumi.get(self, "description")
130
+
131
+ @description.setter
132
+ def description(self, value: Optional[pulumi.Input[str]]):
133
+ pulumi.set(self, "description", value)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
138
+ """
139
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
140
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
141
+ """
142
+ return pulumi.get(self, "labels")
143
+
144
+ @labels.setter
145
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
146
+ pulumi.set(self, "labels", value)
147
+
148
+ @property
149
+ @pulumi.getter(name="orchestrationScope")
150
+ def orchestration_scope(self) -> Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']]:
151
+ """
152
+ Defines a set of selectors which drive which resources are in scope of policy orchestration.
153
+ """
154
+ return pulumi.get(self, "orchestration_scope")
155
+
156
+ @orchestration_scope.setter
157
+ def orchestration_scope(self, value: Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']]):
158
+ pulumi.set(self, "orchestration_scope", value)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def project(self) -> Optional[pulumi.Input[str]]:
163
+ return pulumi.get(self, "project")
164
+
165
+ @project.setter
166
+ def project(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "project", value)
168
+
169
+ @property
170
+ @pulumi.getter
171
+ def state(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ (Output)
174
+ Output only. State of the iteration.
175
+ Possible values:
176
+ STATE_UNSPECIFIED
177
+ PROCESSING
178
+ COMPLETED
179
+ FAILED
180
+ CANCELLED
181
+ UNKNOWN
182
+ """
183
+ return pulumi.get(self, "state")
184
+
185
+ @state.setter
186
+ def state(self, value: Optional[pulumi.Input[str]]):
187
+ pulumi.set(self, "state", value)
188
+
189
+
190
+ @pulumi.input_type
191
+ class _V2PolicyOrchestratorState:
192
+ def __init__(__self__, *,
193
+ action: Optional[pulumi.Input[str]] = None,
194
+ create_time: Optional[pulumi.Input[str]] = None,
195
+ description: Optional[pulumi.Input[str]] = None,
196
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
197
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
198
+ name: Optional[pulumi.Input[str]] = None,
199
+ orchestrated_resource: Optional[pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs']] = None,
200
+ orchestration_scope: Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']] = None,
201
+ orchestration_states: Optional[pulumi.Input[Sequence[pulumi.Input['V2PolicyOrchestratorOrchestrationStateArgs']]]] = None,
202
+ policy_orchestrator_id: Optional[pulumi.Input[str]] = None,
203
+ project: Optional[pulumi.Input[str]] = None,
204
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
205
+ reconciling: Optional[pulumi.Input[bool]] = None,
206
+ state: Optional[pulumi.Input[str]] = None,
207
+ update_time: Optional[pulumi.Input[str]] = None):
208
+ """
209
+ Input properties used for looking up and filtering V2PolicyOrchestrator resources.
210
+ :param pulumi.Input[str] action: Required. Action to be done by the orchestrator in
211
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
212
+ `orchestration_scope`. Allowed values:
213
+ - `UPSERT` - Orchestrator will create or update target resources.
214
+ - `DELETE` - Orchestrator will delete target resources, if they exist
215
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the policy orchestrator resource was created.
216
+ :param pulumi.Input[str] description: Optional. Freeform text describing the purpose of the resource.
217
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
218
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
219
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
220
+ :param pulumi.Input[str] name: Immutable. Identifier. In form of
221
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
222
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
223
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
224
+ :param pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs'] orchestrated_resource: Represents a resource that is being orchestrated by the policy orchestrator.
225
+ Structure is documented below.
226
+ :param pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs'] orchestration_scope: Defines a set of selectors which drive which resources are in scope of policy orchestration.
227
+ :param pulumi.Input[Sequence[pulumi.Input['V2PolicyOrchestratorOrchestrationStateArgs']]] orchestration_states: Describes the state of the orchestration process.
228
+ Structure is documented below.
229
+ :param pulumi.Input[str] policy_orchestrator_id: Required. The logical identifier of the policy orchestrator, with the following
230
+ restrictions:
231
+ * Must contain only lowercase letters, numbers, and hyphens.
232
+ * Must start with a letter.
233
+ * Must be between 1-63 characters.
234
+ * Must end with a number or a letter.
235
+ * Must be unique within the parent.
236
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
237
+ and default labels configured on the provider.
238
+ :param pulumi.Input[bool] reconciling: Output only. Set to true, if the there are ongoing changes being applied by the
239
+ orchestrator.
240
+ :param pulumi.Input[str] state: (Output)
241
+ Output only. State of the iteration.
242
+ Possible values:
243
+ STATE_UNSPECIFIED
244
+ PROCESSING
245
+ COMPLETED
246
+ FAILED
247
+ CANCELLED
248
+ UNKNOWN
249
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the policy orchestrator resource was last modified.
250
+ """
251
+ if action is not None:
252
+ pulumi.set(__self__, "action", action)
253
+ if create_time is not None:
254
+ pulumi.set(__self__, "create_time", create_time)
255
+ if description is not None:
256
+ pulumi.set(__self__, "description", description)
257
+ if effective_labels is not None:
258
+ pulumi.set(__self__, "effective_labels", effective_labels)
259
+ if labels is not None:
260
+ pulumi.set(__self__, "labels", labels)
261
+ if name is not None:
262
+ pulumi.set(__self__, "name", name)
263
+ if orchestrated_resource is not None:
264
+ pulumi.set(__self__, "orchestrated_resource", orchestrated_resource)
265
+ if orchestration_scope is not None:
266
+ pulumi.set(__self__, "orchestration_scope", orchestration_scope)
267
+ if orchestration_states is not None:
268
+ pulumi.set(__self__, "orchestration_states", orchestration_states)
269
+ if policy_orchestrator_id is not None:
270
+ pulumi.set(__self__, "policy_orchestrator_id", policy_orchestrator_id)
271
+ if project is not None:
272
+ pulumi.set(__self__, "project", project)
273
+ if pulumi_labels is not None:
274
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
275
+ if reconciling is not None:
276
+ pulumi.set(__self__, "reconciling", reconciling)
277
+ if state is not None:
278
+ pulumi.set(__self__, "state", state)
279
+ if update_time is not None:
280
+ pulumi.set(__self__, "update_time", update_time)
281
+
282
+ @property
283
+ @pulumi.getter
284
+ def action(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ Required. Action to be done by the orchestrator in
287
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
288
+ `orchestration_scope`. Allowed values:
289
+ - `UPSERT` - Orchestrator will create or update target resources.
290
+ - `DELETE` - Orchestrator will delete target resources, if they exist
291
+ """
292
+ return pulumi.get(self, "action")
293
+
294
+ @action.setter
295
+ def action(self, value: Optional[pulumi.Input[str]]):
296
+ pulumi.set(self, "action", value)
297
+
298
+ @property
299
+ @pulumi.getter(name="createTime")
300
+ def create_time(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ Output only. Timestamp when the policy orchestrator resource was created.
303
+ """
304
+ return pulumi.get(self, "create_time")
305
+
306
+ @create_time.setter
307
+ def create_time(self, value: Optional[pulumi.Input[str]]):
308
+ pulumi.set(self, "create_time", value)
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def description(self) -> Optional[pulumi.Input[str]]:
313
+ """
314
+ Optional. Freeform text describing the purpose of the resource.
315
+ """
316
+ return pulumi.get(self, "description")
317
+
318
+ @description.setter
319
+ def description(self, value: Optional[pulumi.Input[str]]):
320
+ pulumi.set(self, "description", value)
321
+
322
+ @property
323
+ @pulumi.getter(name="effectiveLabels")
324
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
325
+ """
326
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
327
+ """
328
+ return pulumi.get(self, "effective_labels")
329
+
330
+ @effective_labels.setter
331
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
332
+ pulumi.set(self, "effective_labels", value)
333
+
334
+ @property
335
+ @pulumi.getter
336
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
337
+ """
338
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
339
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
340
+ """
341
+ return pulumi.get(self, "labels")
342
+
343
+ @labels.setter
344
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
345
+ pulumi.set(self, "labels", value)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def name(self) -> Optional[pulumi.Input[str]]:
350
+ """
351
+ Immutable. Identifier. In form of
352
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
353
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
354
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
355
+ """
356
+ return pulumi.get(self, "name")
357
+
358
+ @name.setter
359
+ def name(self, value: Optional[pulumi.Input[str]]):
360
+ pulumi.set(self, "name", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="orchestratedResource")
364
+ def orchestrated_resource(self) -> Optional[pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs']]:
365
+ """
366
+ Represents a resource that is being orchestrated by the policy orchestrator.
367
+ Structure is documented below.
368
+ """
369
+ return pulumi.get(self, "orchestrated_resource")
370
+
371
+ @orchestrated_resource.setter
372
+ def orchestrated_resource(self, value: Optional[pulumi.Input['V2PolicyOrchestratorOrchestratedResourceArgs']]):
373
+ pulumi.set(self, "orchestrated_resource", value)
374
+
375
+ @property
376
+ @pulumi.getter(name="orchestrationScope")
377
+ def orchestration_scope(self) -> Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']]:
378
+ """
379
+ Defines a set of selectors which drive which resources are in scope of policy orchestration.
380
+ """
381
+ return pulumi.get(self, "orchestration_scope")
382
+
383
+ @orchestration_scope.setter
384
+ def orchestration_scope(self, value: Optional[pulumi.Input['V2PolicyOrchestratorOrchestrationScopeArgs']]):
385
+ pulumi.set(self, "orchestration_scope", value)
386
+
387
+ @property
388
+ @pulumi.getter(name="orchestrationStates")
389
+ def orchestration_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2PolicyOrchestratorOrchestrationStateArgs']]]]:
390
+ """
391
+ Describes the state of the orchestration process.
392
+ Structure is documented below.
393
+ """
394
+ return pulumi.get(self, "orchestration_states")
395
+
396
+ @orchestration_states.setter
397
+ def orchestration_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2PolicyOrchestratorOrchestrationStateArgs']]]]):
398
+ pulumi.set(self, "orchestration_states", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="policyOrchestratorId")
402
+ def policy_orchestrator_id(self) -> Optional[pulumi.Input[str]]:
403
+ """
404
+ Required. The logical identifier of the policy orchestrator, with the following
405
+ restrictions:
406
+ * Must contain only lowercase letters, numbers, and hyphens.
407
+ * Must start with a letter.
408
+ * Must be between 1-63 characters.
409
+ * Must end with a number or a letter.
410
+ * Must be unique within the parent.
411
+ """
412
+ return pulumi.get(self, "policy_orchestrator_id")
413
+
414
+ @policy_orchestrator_id.setter
415
+ def policy_orchestrator_id(self, value: Optional[pulumi.Input[str]]):
416
+ pulumi.set(self, "policy_orchestrator_id", value)
417
+
418
+ @property
419
+ @pulumi.getter
420
+ def project(self) -> Optional[pulumi.Input[str]]:
421
+ return pulumi.get(self, "project")
422
+
423
+ @project.setter
424
+ def project(self, value: Optional[pulumi.Input[str]]):
425
+ pulumi.set(self, "project", value)
426
+
427
+ @property
428
+ @pulumi.getter(name="pulumiLabels")
429
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
430
+ """
431
+ The combination of labels configured directly on the resource
432
+ and default labels configured on the provider.
433
+ """
434
+ return pulumi.get(self, "pulumi_labels")
435
+
436
+ @pulumi_labels.setter
437
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
438
+ pulumi.set(self, "pulumi_labels", value)
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
443
+ """
444
+ Output only. Set to true, if the there are ongoing changes being applied by the
445
+ orchestrator.
446
+ """
447
+ return pulumi.get(self, "reconciling")
448
+
449
+ @reconciling.setter
450
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
451
+ pulumi.set(self, "reconciling", value)
452
+
453
+ @property
454
+ @pulumi.getter
455
+ def state(self) -> Optional[pulumi.Input[str]]:
456
+ """
457
+ (Output)
458
+ Output only. State of the iteration.
459
+ Possible values:
460
+ STATE_UNSPECIFIED
461
+ PROCESSING
462
+ COMPLETED
463
+ FAILED
464
+ CANCELLED
465
+ UNKNOWN
466
+ """
467
+ return pulumi.get(self, "state")
468
+
469
+ @state.setter
470
+ def state(self, value: Optional[pulumi.Input[str]]):
471
+ pulumi.set(self, "state", value)
472
+
473
+ @property
474
+ @pulumi.getter(name="updateTime")
475
+ def update_time(self) -> Optional[pulumi.Input[str]]:
476
+ """
477
+ Output only. Timestamp when the policy orchestrator resource was last modified.
478
+ """
479
+ return pulumi.get(self, "update_time")
480
+
481
+ @update_time.setter
482
+ def update_time(self, value: Optional[pulumi.Input[str]]):
483
+ pulumi.set(self, "update_time", value)
484
+
485
+
486
+ class V2PolicyOrchestrator(pulumi.CustomResource):
487
+ @overload
488
+ def __init__(__self__,
489
+ resource_name: str,
490
+ opts: Optional[pulumi.ResourceOptions] = None,
491
+ action: Optional[pulumi.Input[str]] = None,
492
+ description: Optional[pulumi.Input[str]] = None,
493
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
494
+ orchestrated_resource: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestratedResourceArgs', 'V2PolicyOrchestratorOrchestratedResourceArgsDict']]] = None,
495
+ orchestration_scope: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestrationScopeArgs', 'V2PolicyOrchestratorOrchestrationScopeArgsDict']]] = None,
496
+ policy_orchestrator_id: Optional[pulumi.Input[str]] = None,
497
+ project: Optional[pulumi.Input[str]] = None,
498
+ state: Optional[pulumi.Input[str]] = None,
499
+ __props__=None):
500
+ """
501
+ ## Example Usage
502
+
503
+ ### Osconfigv2 Policy Orchestrator Basic
504
+
505
+ ```python
506
+ import pulumi
507
+ import pulumi_gcp as gcp
508
+
509
+ policy_orchestrator = gcp.osconfig.V2PolicyOrchestrator("policy_orchestrator",
510
+ policy_orchestrator_id="po",
511
+ state="ACTIVE",
512
+ action="UPSERT",
513
+ orchestrated_resource={
514
+ "id": "test-orchestrated-resource",
515
+ "os_policy_assignment_v1_payload": {
516
+ "os_policies": [{
517
+ "id": "test-os-policy",
518
+ "mode": "VALIDATION",
519
+ "resource_groups": [{
520
+ "resources": [{
521
+ "id": "resource-tf",
522
+ "file": {
523
+ "content": "file-content-tf",
524
+ "path": "file-path-tf-1",
525
+ "state": "PRESENT",
526
+ },
527
+ }],
528
+ }],
529
+ }],
530
+ "instance_filter": {
531
+ "inventories": [{
532
+ "os_short_name": "windows-10",
533
+ }],
534
+ },
535
+ "rollout": {
536
+ "disruption_budget": {
537
+ "percent": 100,
538
+ },
539
+ "min_wait_duration": "60s",
540
+ },
541
+ },
542
+ },
543
+ labels={
544
+ "state": "active",
545
+ })
546
+ ```
547
+
548
+ ## Import
549
+
550
+ PolicyOrchestrator can be imported using any of these accepted formats:
551
+
552
+ * `projects/{{project}}/locations/global/policyOrchestrators/{{policy_orchestrator_id}}`
553
+
554
+ * `{{project}}/{{policy_orchestrator_id}}`
555
+
556
+ * `{{policy_orchestrator_id}}`
557
+
558
+ When using the `pulumi import` command, PolicyOrchestrator can be imported using one of the formats above. For example:
559
+
560
+ ```sh
561
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default projects/{{project}}/locations/global/policyOrchestrators/{{policy_orchestrator_id}}
562
+ ```
563
+
564
+ ```sh
565
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default {{project}}/{{policy_orchestrator_id}}
566
+ ```
567
+
568
+ ```sh
569
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default {{policy_orchestrator_id}}
570
+ ```
571
+
572
+ :param str resource_name: The name of the resource.
573
+ :param pulumi.ResourceOptions opts: Options for the resource.
574
+ :param pulumi.Input[str] action: Required. Action to be done by the orchestrator in
575
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
576
+ `orchestration_scope`. Allowed values:
577
+ - `UPSERT` - Orchestrator will create or update target resources.
578
+ - `DELETE` - Orchestrator will delete target resources, if they exist
579
+ :param pulumi.Input[str] description: Optional. Freeform text describing the purpose of the resource.
580
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
581
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
582
+ :param pulumi.Input[Union['V2PolicyOrchestratorOrchestratedResourceArgs', 'V2PolicyOrchestratorOrchestratedResourceArgsDict']] orchestrated_resource: Represents a resource that is being orchestrated by the policy orchestrator.
583
+ Structure is documented below.
584
+ :param pulumi.Input[Union['V2PolicyOrchestratorOrchestrationScopeArgs', 'V2PolicyOrchestratorOrchestrationScopeArgsDict']] orchestration_scope: Defines a set of selectors which drive which resources are in scope of policy orchestration.
585
+ :param pulumi.Input[str] policy_orchestrator_id: Required. The logical identifier of the policy orchestrator, with the following
586
+ restrictions:
587
+ * Must contain only lowercase letters, numbers, and hyphens.
588
+ * Must start with a letter.
589
+ * Must be between 1-63 characters.
590
+ * Must end with a number or a letter.
591
+ * Must be unique within the parent.
592
+ :param pulumi.Input[str] state: (Output)
593
+ Output only. State of the iteration.
594
+ Possible values:
595
+ STATE_UNSPECIFIED
596
+ PROCESSING
597
+ COMPLETED
598
+ FAILED
599
+ CANCELLED
600
+ UNKNOWN
601
+ """
602
+ ...
603
+ @overload
604
+ def __init__(__self__,
605
+ resource_name: str,
606
+ args: V2PolicyOrchestratorArgs,
607
+ opts: Optional[pulumi.ResourceOptions] = None):
608
+ """
609
+ ## Example Usage
610
+
611
+ ### Osconfigv2 Policy Orchestrator Basic
612
+
613
+ ```python
614
+ import pulumi
615
+ import pulumi_gcp as gcp
616
+
617
+ policy_orchestrator = gcp.osconfig.V2PolicyOrchestrator("policy_orchestrator",
618
+ policy_orchestrator_id="po",
619
+ state="ACTIVE",
620
+ action="UPSERT",
621
+ orchestrated_resource={
622
+ "id": "test-orchestrated-resource",
623
+ "os_policy_assignment_v1_payload": {
624
+ "os_policies": [{
625
+ "id": "test-os-policy",
626
+ "mode": "VALIDATION",
627
+ "resource_groups": [{
628
+ "resources": [{
629
+ "id": "resource-tf",
630
+ "file": {
631
+ "content": "file-content-tf",
632
+ "path": "file-path-tf-1",
633
+ "state": "PRESENT",
634
+ },
635
+ }],
636
+ }],
637
+ }],
638
+ "instance_filter": {
639
+ "inventories": [{
640
+ "os_short_name": "windows-10",
641
+ }],
642
+ },
643
+ "rollout": {
644
+ "disruption_budget": {
645
+ "percent": 100,
646
+ },
647
+ "min_wait_duration": "60s",
648
+ },
649
+ },
650
+ },
651
+ labels={
652
+ "state": "active",
653
+ })
654
+ ```
655
+
656
+ ## Import
657
+
658
+ PolicyOrchestrator can be imported using any of these accepted formats:
659
+
660
+ * `projects/{{project}}/locations/global/policyOrchestrators/{{policy_orchestrator_id}}`
661
+
662
+ * `{{project}}/{{policy_orchestrator_id}}`
663
+
664
+ * `{{policy_orchestrator_id}}`
665
+
666
+ When using the `pulumi import` command, PolicyOrchestrator can be imported using one of the formats above. For example:
667
+
668
+ ```sh
669
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default projects/{{project}}/locations/global/policyOrchestrators/{{policy_orchestrator_id}}
670
+ ```
671
+
672
+ ```sh
673
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default {{project}}/{{policy_orchestrator_id}}
674
+ ```
675
+
676
+ ```sh
677
+ $ pulumi import gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator default {{policy_orchestrator_id}}
678
+ ```
679
+
680
+ :param str resource_name: The name of the resource.
681
+ :param V2PolicyOrchestratorArgs args: The arguments to use to populate this resource's properties.
682
+ :param pulumi.ResourceOptions opts: Options for the resource.
683
+ """
684
+ ...
685
+ def __init__(__self__, resource_name: str, *args, **kwargs):
686
+ resource_args, opts = _utilities.get_resource_args_opts(V2PolicyOrchestratorArgs, pulumi.ResourceOptions, *args, **kwargs)
687
+ if resource_args is not None:
688
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
689
+ else:
690
+ __self__._internal_init(resource_name, *args, **kwargs)
691
+
692
+ def _internal_init(__self__,
693
+ resource_name: str,
694
+ opts: Optional[pulumi.ResourceOptions] = None,
695
+ action: Optional[pulumi.Input[str]] = None,
696
+ description: Optional[pulumi.Input[str]] = None,
697
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
698
+ orchestrated_resource: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestratedResourceArgs', 'V2PolicyOrchestratorOrchestratedResourceArgsDict']]] = None,
699
+ orchestration_scope: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestrationScopeArgs', 'V2PolicyOrchestratorOrchestrationScopeArgsDict']]] = None,
700
+ policy_orchestrator_id: Optional[pulumi.Input[str]] = None,
701
+ project: Optional[pulumi.Input[str]] = None,
702
+ state: Optional[pulumi.Input[str]] = None,
703
+ __props__=None):
704
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
705
+ if not isinstance(opts, pulumi.ResourceOptions):
706
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
707
+ if opts.id is None:
708
+ if __props__ is not None:
709
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
710
+ __props__ = V2PolicyOrchestratorArgs.__new__(V2PolicyOrchestratorArgs)
711
+
712
+ if action is None and not opts.urn:
713
+ raise TypeError("Missing required property 'action'")
714
+ __props__.__dict__["action"] = action
715
+ __props__.__dict__["description"] = description
716
+ __props__.__dict__["labels"] = labels
717
+ if orchestrated_resource is None and not opts.urn:
718
+ raise TypeError("Missing required property 'orchestrated_resource'")
719
+ __props__.__dict__["orchestrated_resource"] = orchestrated_resource
720
+ __props__.__dict__["orchestration_scope"] = orchestration_scope
721
+ if policy_orchestrator_id is None and not opts.urn:
722
+ raise TypeError("Missing required property 'policy_orchestrator_id'")
723
+ __props__.__dict__["policy_orchestrator_id"] = policy_orchestrator_id
724
+ __props__.__dict__["project"] = project
725
+ __props__.__dict__["state"] = state
726
+ __props__.__dict__["create_time"] = None
727
+ __props__.__dict__["effective_labels"] = None
728
+ __props__.__dict__["name"] = None
729
+ __props__.__dict__["orchestration_states"] = None
730
+ __props__.__dict__["pulumi_labels"] = None
731
+ __props__.__dict__["reconciling"] = None
732
+ __props__.__dict__["update_time"] = None
733
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
734
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
735
+ super(V2PolicyOrchestrator, __self__).__init__(
736
+ 'gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator',
737
+ resource_name,
738
+ __props__,
739
+ opts)
740
+
741
+ @staticmethod
742
+ def get(resource_name: str,
743
+ id: pulumi.Input[str],
744
+ opts: Optional[pulumi.ResourceOptions] = None,
745
+ action: Optional[pulumi.Input[str]] = None,
746
+ create_time: Optional[pulumi.Input[str]] = None,
747
+ description: Optional[pulumi.Input[str]] = None,
748
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
749
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
750
+ name: Optional[pulumi.Input[str]] = None,
751
+ orchestrated_resource: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestratedResourceArgs', 'V2PolicyOrchestratorOrchestratedResourceArgsDict']]] = None,
752
+ orchestration_scope: Optional[pulumi.Input[Union['V2PolicyOrchestratorOrchestrationScopeArgs', 'V2PolicyOrchestratorOrchestrationScopeArgsDict']]] = None,
753
+ orchestration_states: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V2PolicyOrchestratorOrchestrationStateArgs', 'V2PolicyOrchestratorOrchestrationStateArgsDict']]]]] = None,
754
+ policy_orchestrator_id: Optional[pulumi.Input[str]] = None,
755
+ project: Optional[pulumi.Input[str]] = None,
756
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
757
+ reconciling: Optional[pulumi.Input[bool]] = None,
758
+ state: Optional[pulumi.Input[str]] = None,
759
+ update_time: Optional[pulumi.Input[str]] = None) -> 'V2PolicyOrchestrator':
760
+ """
761
+ Get an existing V2PolicyOrchestrator resource's state with the given name, id, and optional extra
762
+ properties used to qualify the lookup.
763
+
764
+ :param str resource_name: The unique name of the resulting resource.
765
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
766
+ :param pulumi.ResourceOptions opts: Options for the resource.
767
+ :param pulumi.Input[str] action: Required. Action to be done by the orchestrator in
768
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
769
+ `orchestration_scope`. Allowed values:
770
+ - `UPSERT` - Orchestrator will create or update target resources.
771
+ - `DELETE` - Orchestrator will delete target resources, if they exist
772
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the policy orchestrator resource was created.
773
+ :param pulumi.Input[str] description: Optional. Freeform text describing the purpose of the resource.
774
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
775
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
776
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
777
+ :param pulumi.Input[str] name: Immutable. Identifier. In form of
778
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
779
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
780
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
781
+ :param pulumi.Input[Union['V2PolicyOrchestratorOrchestratedResourceArgs', 'V2PolicyOrchestratorOrchestratedResourceArgsDict']] orchestrated_resource: Represents a resource that is being orchestrated by the policy orchestrator.
782
+ Structure is documented below.
783
+ :param pulumi.Input[Union['V2PolicyOrchestratorOrchestrationScopeArgs', 'V2PolicyOrchestratorOrchestrationScopeArgsDict']] orchestration_scope: Defines a set of selectors which drive which resources are in scope of policy orchestration.
784
+ :param pulumi.Input[Sequence[pulumi.Input[Union['V2PolicyOrchestratorOrchestrationStateArgs', 'V2PolicyOrchestratorOrchestrationStateArgsDict']]]] orchestration_states: Describes the state of the orchestration process.
785
+ Structure is documented below.
786
+ :param pulumi.Input[str] policy_orchestrator_id: Required. The logical identifier of the policy orchestrator, with the following
787
+ restrictions:
788
+ * Must contain only lowercase letters, numbers, and hyphens.
789
+ * Must start with a letter.
790
+ * Must be between 1-63 characters.
791
+ * Must end with a number or a letter.
792
+ * Must be unique within the parent.
793
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
794
+ and default labels configured on the provider.
795
+ :param pulumi.Input[bool] reconciling: Output only. Set to true, if the there are ongoing changes being applied by the
796
+ orchestrator.
797
+ :param pulumi.Input[str] state: (Output)
798
+ Output only. State of the iteration.
799
+ Possible values:
800
+ STATE_UNSPECIFIED
801
+ PROCESSING
802
+ COMPLETED
803
+ FAILED
804
+ CANCELLED
805
+ UNKNOWN
806
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the policy orchestrator resource was last modified.
807
+ """
808
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
809
+
810
+ __props__ = _V2PolicyOrchestratorState.__new__(_V2PolicyOrchestratorState)
811
+
812
+ __props__.__dict__["action"] = action
813
+ __props__.__dict__["create_time"] = create_time
814
+ __props__.__dict__["description"] = description
815
+ __props__.__dict__["effective_labels"] = effective_labels
816
+ __props__.__dict__["labels"] = labels
817
+ __props__.__dict__["name"] = name
818
+ __props__.__dict__["orchestrated_resource"] = orchestrated_resource
819
+ __props__.__dict__["orchestration_scope"] = orchestration_scope
820
+ __props__.__dict__["orchestration_states"] = orchestration_states
821
+ __props__.__dict__["policy_orchestrator_id"] = policy_orchestrator_id
822
+ __props__.__dict__["project"] = project
823
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
824
+ __props__.__dict__["reconciling"] = reconciling
825
+ __props__.__dict__["state"] = state
826
+ __props__.__dict__["update_time"] = update_time
827
+ return V2PolicyOrchestrator(resource_name, opts=opts, __props__=__props__)
828
+
829
+ @property
830
+ @pulumi.getter
831
+ def action(self) -> pulumi.Output[str]:
832
+ """
833
+ Required. Action to be done by the orchestrator in
834
+ `projects/{project_id}/zones/{zone_id}` locations defined by the
835
+ `orchestration_scope`. Allowed values:
836
+ - `UPSERT` - Orchestrator will create or update target resources.
837
+ - `DELETE` - Orchestrator will delete target resources, if they exist
838
+ """
839
+ return pulumi.get(self, "action")
840
+
841
+ @property
842
+ @pulumi.getter(name="createTime")
843
+ def create_time(self) -> pulumi.Output[str]:
844
+ """
845
+ Output only. Timestamp when the policy orchestrator resource was created.
846
+ """
847
+ return pulumi.get(self, "create_time")
848
+
849
+ @property
850
+ @pulumi.getter
851
+ def description(self) -> pulumi.Output[Optional[str]]:
852
+ """
853
+ Optional. Freeform text describing the purpose of the resource.
854
+ """
855
+ return pulumi.get(self, "description")
856
+
857
+ @property
858
+ @pulumi.getter(name="effectiveLabels")
859
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
860
+ """
861
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
862
+ """
863
+ return pulumi.get(self, "effective_labels")
864
+
865
+ @property
866
+ @pulumi.getter
867
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
868
+ """
869
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
870
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
871
+ """
872
+ return pulumi.get(self, "labels")
873
+
874
+ @property
875
+ @pulumi.getter
876
+ def name(self) -> pulumi.Output[str]:
877
+ """
878
+ Immutable. Identifier. In form of
879
+ * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}`
880
+ * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}`
881
+ * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`
882
+ """
883
+ return pulumi.get(self, "name")
884
+
885
+ @property
886
+ @pulumi.getter(name="orchestratedResource")
887
+ def orchestrated_resource(self) -> pulumi.Output['outputs.V2PolicyOrchestratorOrchestratedResource']:
888
+ """
889
+ Represents a resource that is being orchestrated by the policy orchestrator.
890
+ Structure is documented below.
891
+ """
892
+ return pulumi.get(self, "orchestrated_resource")
893
+
894
+ @property
895
+ @pulumi.getter(name="orchestrationScope")
896
+ def orchestration_scope(self) -> pulumi.Output[Optional['outputs.V2PolicyOrchestratorOrchestrationScope']]:
897
+ """
898
+ Defines a set of selectors which drive which resources are in scope of policy orchestration.
899
+ """
900
+ return pulumi.get(self, "orchestration_scope")
901
+
902
+ @property
903
+ @pulumi.getter(name="orchestrationStates")
904
+ def orchestration_states(self) -> pulumi.Output[Sequence['outputs.V2PolicyOrchestratorOrchestrationState']]:
905
+ """
906
+ Describes the state of the orchestration process.
907
+ Structure is documented below.
908
+ """
909
+ return pulumi.get(self, "orchestration_states")
910
+
911
+ @property
912
+ @pulumi.getter(name="policyOrchestratorId")
913
+ def policy_orchestrator_id(self) -> pulumi.Output[str]:
914
+ """
915
+ Required. The logical identifier of the policy orchestrator, with the following
916
+ restrictions:
917
+ * Must contain only lowercase letters, numbers, and hyphens.
918
+ * Must start with a letter.
919
+ * Must be between 1-63 characters.
920
+ * Must end with a number or a letter.
921
+ * Must be unique within the parent.
922
+ """
923
+ return pulumi.get(self, "policy_orchestrator_id")
924
+
925
+ @property
926
+ @pulumi.getter
927
+ def project(self) -> pulumi.Output[str]:
928
+ return pulumi.get(self, "project")
929
+
930
+ @property
931
+ @pulumi.getter(name="pulumiLabels")
932
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
933
+ """
934
+ The combination of labels configured directly on the resource
935
+ and default labels configured on the provider.
936
+ """
937
+ return pulumi.get(self, "pulumi_labels")
938
+
939
+ @property
940
+ @pulumi.getter
941
+ def reconciling(self) -> pulumi.Output[bool]:
942
+ """
943
+ Output only. Set to true, if the there are ongoing changes being applied by the
944
+ orchestrator.
945
+ """
946
+ return pulumi.get(self, "reconciling")
947
+
948
+ @property
949
+ @pulumi.getter
950
+ def state(self) -> pulumi.Output[Optional[str]]:
951
+ """
952
+ (Output)
953
+ Output only. State of the iteration.
954
+ Possible values:
955
+ STATE_UNSPECIFIED
956
+ PROCESSING
957
+ COMPLETED
958
+ FAILED
959
+ CANCELLED
960
+ UNKNOWN
961
+ """
962
+ return pulumi.get(self, "state")
963
+
964
+ @property
965
+ @pulumi.getter(name="updateTime")
966
+ def update_time(self) -> pulumi.Output[str]:
967
+ """
968
+ Output only. Timestamp when the policy orchestrator resource was last modified.
969
+ """
970
+ return pulumi.get(self, "update_time")
971
+