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