pulumi-gcp 7.36.0a1723456487__py3-none-any.whl → 7.37.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.
- pulumi_gcp/__init__.py +72 -0
- pulumi_gcp/accesscontextmanager/__init__.py +2 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +780 -0
- pulumi_gcp/accesscontextmanager/outputs.py +601 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +323 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +332 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -24
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -24
- pulumi_gcp/applicationintegration/client.py +2 -2
- pulumi_gcp/clouddeploy/_inputs.py +21 -1
- pulumi_gcp/clouddeploy/outputs.py +15 -1
- pulumi_gcp/cloudrunv2/_inputs.py +40 -0
- pulumi_gcp/cloudrunv2/outputs.py +46 -0
- pulumi_gcp/compute/region_target_https_proxy.py +28 -0
- pulumi_gcp/container/_inputs.py +26 -0
- pulumi_gcp/container/outputs.py +29 -0
- pulumi_gcp/dataform/repository.py +80 -2
- pulumi_gcp/discoveryengine/data_store.py +93 -2
- pulumi_gcp/gkehub/_inputs.py +63 -0
- pulumi_gcp/gkehub/outputs.py +38 -0
- pulumi_gcp/logging/get_log_view_iam_policy.py +28 -2
- pulumi_gcp/logging/log_view_iam_binding.py +512 -0
- pulumi_gcp/logging/log_view_iam_member.py +512 -0
- pulumi_gcp/logging/log_view_iam_policy.py +512 -0
- pulumi_gcp/netapp/_inputs.py +6 -6
- pulumi_gcp/netapp/outputs.py +4 -4
- pulumi_gcp/networkconnectivity/regional_endpoint.py +6 -6
- pulumi_gcp/organizations/get_project.py +11 -1
- pulumi_gcp/organizations/project.py +76 -21
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securitycenter/__init__.py +8 -0
- pulumi_gcp/securitycenter/_inputs.py +191 -0
- pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +146 -0
- pulumi_gcp/securitycenter/outputs.py +115 -0
- pulumi_gcp/securitycenter/v2_folder_mute_config.py +679 -0
- pulumi_gcp/securitycenter/v2_organization_source.py +416 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +722 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +722 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +561 -0
- pulumi_gcp/securitycenter/v2_project_mute_config.py +684 -0
- pulumi_gcp/securitycenter/v2_project_notification_config.py +559 -0
- pulumi_gcp/spanner/instance.py +0 -7
- pulumi_gcp/sql/_inputs.py +3 -3
- pulumi_gcp/sql/outputs.py +6 -6
- pulumi_gcp/storage/bucket_object.py +28 -0
- pulumi_gcp/storage/get_bucket_object.py +14 -1
- pulumi_gcp/storage/get_bucket_object_content.py +11 -1
- pulumi_gcp/storage/managed_folder.py +72 -2
- pulumi_gcp/vmwareengine/network_policy.py +6 -6
- {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/RECORD +53 -43
- {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/top_level.txt +0 -0
@@ -26,13 +26,16 @@ class GetProjectResult:
|
|
26
26
|
"""
|
27
27
|
A collection of values returned by getProject.
|
28
28
|
"""
|
29
|
-
def __init__(__self__, auto_create_network=None, billing_account=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None, skip_delete=None):
|
29
|
+
def __init__(__self__, auto_create_network=None, billing_account=None, deletion_policy=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None, skip_delete=None):
|
30
30
|
if auto_create_network and not isinstance(auto_create_network, bool):
|
31
31
|
raise TypeError("Expected argument 'auto_create_network' to be a bool")
|
32
32
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
33
33
|
if billing_account and not isinstance(billing_account, str):
|
34
34
|
raise TypeError("Expected argument 'billing_account' to be a str")
|
35
35
|
pulumi.set(__self__, "billing_account", billing_account)
|
36
|
+
if deletion_policy and not isinstance(deletion_policy, str):
|
37
|
+
raise TypeError("Expected argument 'deletion_policy' to be a str")
|
38
|
+
pulumi.set(__self__, "deletion_policy", deletion_policy)
|
36
39
|
if effective_labels and not isinstance(effective_labels, dict):
|
37
40
|
raise TypeError("Expected argument 'effective_labels' to be a dict")
|
38
41
|
pulumi.set(__self__, "effective_labels", effective_labels)
|
@@ -74,6 +77,11 @@ class GetProjectResult:
|
|
74
77
|
def billing_account(self) -> str:
|
75
78
|
return pulumi.get(self, "billing_account")
|
76
79
|
|
80
|
+
@property
|
81
|
+
@pulumi.getter(name="deletionPolicy")
|
82
|
+
def deletion_policy(self) -> str:
|
83
|
+
return pulumi.get(self, "deletion_policy")
|
84
|
+
|
77
85
|
@property
|
78
86
|
@pulumi.getter(name="effectiveLabels")
|
79
87
|
def effective_labels(self) -> Mapping[str, str]:
|
@@ -139,6 +147,7 @@ class AwaitableGetProjectResult(GetProjectResult):
|
|
139
147
|
return GetProjectResult(
|
140
148
|
auto_create_network=self.auto_create_network,
|
141
149
|
billing_account=self.billing_account,
|
150
|
+
deletion_policy=self.deletion_policy,
|
142
151
|
effective_labels=self.effective_labels,
|
143
152
|
folder_id=self.folder_id,
|
144
153
|
id=self.id,
|
@@ -179,6 +188,7 @@ def get_project(project_id: Optional[str] = None,
|
|
179
188
|
return AwaitableGetProjectResult(
|
180
189
|
auto_create_network=pulumi.get(__ret__, 'auto_create_network'),
|
181
190
|
billing_account=pulumi.get(__ret__, 'billing_account'),
|
191
|
+
deletion_policy=pulumi.get(__ret__, 'deletion_policy'),
|
182
192
|
effective_labels=pulumi.get(__ret__, 'effective_labels'),
|
183
193
|
folder_id=pulumi.get(__ret__, 'folder_id'),
|
184
194
|
id=pulumi.get(__ret__, 'id'),
|
@@ -21,6 +21,7 @@ class ProjectArgs:
|
|
21
21
|
def __init__(__self__, *,
|
22
22
|
auto_create_network: Optional[pulumi.Input[bool]] = None,
|
23
23
|
billing_account: Optional[pulumi.Input[str]] = None,
|
24
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
24
25
|
folder_id: Optional[pulumi.Input[str]] = None,
|
25
26
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
26
27
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -53,13 +54,18 @@ class ProjectArgs:
|
|
53
54
|
this forces the project to be migrated to the newly specified
|
54
55
|
organization.
|
55
56
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
56
|
-
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted
|
57
|
-
|
57
|
+
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
|
58
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
59
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
60
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
61
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
58
62
|
"""
|
59
63
|
if auto_create_network is not None:
|
60
64
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
61
65
|
if billing_account is not None:
|
62
66
|
pulumi.set(__self__, "billing_account", billing_account)
|
67
|
+
if deletion_policy is not None:
|
68
|
+
pulumi.set(__self__, "deletion_policy", deletion_policy)
|
63
69
|
if folder_id is not None:
|
64
70
|
pulumi.set(__self__, "folder_id", folder_id)
|
65
71
|
if labels is not None:
|
@@ -71,8 +77,8 @@ class ProjectArgs:
|
|
71
77
|
if project_id is not None:
|
72
78
|
pulumi.set(__self__, "project_id", project_id)
|
73
79
|
if skip_delete is not None:
|
74
|
-
warnings.warn("""skip_delete is deprecated and will be removed in
|
75
|
-
pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in
|
80
|
+
warnings.warn("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""", DeprecationWarning)
|
81
|
+
pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
|
76
82
|
if skip_delete is not None:
|
77
83
|
pulumi.set(__self__, "skip_delete", skip_delete)
|
78
84
|
|
@@ -106,6 +112,15 @@ class ProjectArgs:
|
|
106
112
|
def billing_account(self, value: Optional[pulumi.Input[str]]):
|
107
113
|
pulumi.set(self, "billing_account", value)
|
108
114
|
|
115
|
+
@property
|
116
|
+
@pulumi.getter(name="deletionPolicy")
|
117
|
+
def deletion_policy(self) -> Optional[pulumi.Input[str]]:
|
118
|
+
return pulumi.get(self, "deletion_policy")
|
119
|
+
|
120
|
+
@deletion_policy.setter
|
121
|
+
def deletion_policy(self, value: Optional[pulumi.Input[str]]):
|
122
|
+
pulumi.set(self, "deletion_policy", value)
|
123
|
+
|
109
124
|
@property
|
110
125
|
@pulumi.getter(name="folderId")
|
111
126
|
def folder_id(self) -> Optional[pulumi.Input[str]]:
|
@@ -179,11 +194,14 @@ class ProjectArgs:
|
|
179
194
|
|
180
195
|
@property
|
181
196
|
@pulumi.getter(name="skipDelete")
|
182
|
-
@_utilities.deprecated("""skip_delete is deprecated and will be removed in
|
197
|
+
@_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
|
183
198
|
def skip_delete(self) -> Optional[pulumi.Input[bool]]:
|
184
199
|
"""
|
185
|
-
If true, the resource can be deleted
|
186
|
-
|
200
|
+
If true, the resource can be deleted without
|
201
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
202
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
203
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
204
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
187
205
|
"""
|
188
206
|
return pulumi.get(self, "skip_delete")
|
189
207
|
|
@@ -197,6 +215,7 @@ class _ProjectState:
|
|
197
215
|
def __init__(__self__, *,
|
198
216
|
auto_create_network: Optional[pulumi.Input[bool]] = None,
|
199
217
|
billing_account: Optional[pulumi.Input[str]] = None,
|
218
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
200
219
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
201
220
|
folder_id: Optional[pulumi.Input[str]] = None,
|
202
221
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -235,13 +254,18 @@ class _ProjectState:
|
|
235
254
|
organization.
|
236
255
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
237
256
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
|
238
|
-
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted
|
239
|
-
|
257
|
+
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
|
258
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
259
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
260
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
261
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
240
262
|
"""
|
241
263
|
if auto_create_network is not None:
|
242
264
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
243
265
|
if billing_account is not None:
|
244
266
|
pulumi.set(__self__, "billing_account", billing_account)
|
267
|
+
if deletion_policy is not None:
|
268
|
+
pulumi.set(__self__, "deletion_policy", deletion_policy)
|
245
269
|
if effective_labels is not None:
|
246
270
|
pulumi.set(__self__, "effective_labels", effective_labels)
|
247
271
|
if folder_id is not None:
|
@@ -259,8 +283,8 @@ class _ProjectState:
|
|
259
283
|
if pulumi_labels is not None:
|
260
284
|
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
261
285
|
if skip_delete is not None:
|
262
|
-
warnings.warn("""skip_delete is deprecated and will be removed in
|
263
|
-
pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in
|
286
|
+
warnings.warn("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""", DeprecationWarning)
|
287
|
+
pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
|
264
288
|
if skip_delete is not None:
|
265
289
|
pulumi.set(__self__, "skip_delete", skip_delete)
|
266
290
|
|
@@ -294,6 +318,15 @@ class _ProjectState:
|
|
294
318
|
def billing_account(self, value: Optional[pulumi.Input[str]]):
|
295
319
|
pulumi.set(self, "billing_account", value)
|
296
320
|
|
321
|
+
@property
|
322
|
+
@pulumi.getter(name="deletionPolicy")
|
323
|
+
def deletion_policy(self) -> Optional[pulumi.Input[str]]:
|
324
|
+
return pulumi.get(self, "deletion_policy")
|
325
|
+
|
326
|
+
@deletion_policy.setter
|
327
|
+
def deletion_policy(self, value: Optional[pulumi.Input[str]]):
|
328
|
+
pulumi.set(self, "deletion_policy", value)
|
329
|
+
|
297
330
|
@property
|
298
331
|
@pulumi.getter(name="effectiveLabels")
|
299
332
|
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
@@ -403,11 +436,14 @@ class _ProjectState:
|
|
403
436
|
|
404
437
|
@property
|
405
438
|
@pulumi.getter(name="skipDelete")
|
406
|
-
@_utilities.deprecated("""skip_delete is deprecated and will be removed in
|
439
|
+
@_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
|
407
440
|
def skip_delete(self) -> Optional[pulumi.Input[bool]]:
|
408
441
|
"""
|
409
|
-
If true, the resource can be deleted
|
410
|
-
|
442
|
+
If true, the resource can be deleted without
|
443
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
444
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
445
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
446
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
411
447
|
"""
|
412
448
|
return pulumi.get(self, "skip_delete")
|
413
449
|
|
@@ -423,6 +459,7 @@ class Project(pulumi.CustomResource):
|
|
423
459
|
opts: Optional[pulumi.ResourceOptions] = None,
|
424
460
|
auto_create_network: Optional[pulumi.Input[bool]] = None,
|
425
461
|
billing_account: Optional[pulumi.Input[str]] = None,
|
462
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
426
463
|
folder_id: Optional[pulumi.Input[str]] = None,
|
427
464
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
428
465
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -514,8 +551,11 @@ class Project(pulumi.CustomResource):
|
|
514
551
|
this forces the project to be migrated to the newly specified
|
515
552
|
organization.
|
516
553
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
517
|
-
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted
|
518
|
-
|
554
|
+
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
|
555
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
556
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
557
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
558
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
519
559
|
"""
|
520
560
|
...
|
521
561
|
@overload
|
@@ -598,6 +638,7 @@ class Project(pulumi.CustomResource):
|
|
598
638
|
opts: Optional[pulumi.ResourceOptions] = None,
|
599
639
|
auto_create_network: Optional[pulumi.Input[bool]] = None,
|
600
640
|
billing_account: Optional[pulumi.Input[str]] = None,
|
641
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
601
642
|
folder_id: Optional[pulumi.Input[str]] = None,
|
602
643
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
603
644
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -615,6 +656,7 @@ class Project(pulumi.CustomResource):
|
|
615
656
|
|
616
657
|
__props__.__dict__["auto_create_network"] = auto_create_network
|
617
658
|
__props__.__dict__["billing_account"] = billing_account
|
659
|
+
__props__.__dict__["deletion_policy"] = deletion_policy
|
618
660
|
__props__.__dict__["folder_id"] = folder_id
|
619
661
|
__props__.__dict__["labels"] = labels
|
620
662
|
__props__.__dict__["name"] = name
|
@@ -638,6 +680,7 @@ class Project(pulumi.CustomResource):
|
|
638
680
|
opts: Optional[pulumi.ResourceOptions] = None,
|
639
681
|
auto_create_network: Optional[pulumi.Input[bool]] = None,
|
640
682
|
billing_account: Optional[pulumi.Input[str]] = None,
|
683
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
641
684
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
642
685
|
folder_id: Optional[pulumi.Input[str]] = None,
|
643
686
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -681,8 +724,11 @@ class Project(pulumi.CustomResource):
|
|
681
724
|
organization.
|
682
725
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
683
726
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
|
684
|
-
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted
|
685
|
-
|
727
|
+
:param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
|
728
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
729
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
730
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
731
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
686
732
|
"""
|
687
733
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
688
734
|
|
@@ -690,6 +736,7 @@ class Project(pulumi.CustomResource):
|
|
690
736
|
|
691
737
|
__props__.__dict__["auto_create_network"] = auto_create_network
|
692
738
|
__props__.__dict__["billing_account"] = billing_account
|
739
|
+
__props__.__dict__["deletion_policy"] = deletion_policy
|
693
740
|
__props__.__dict__["effective_labels"] = effective_labels
|
694
741
|
__props__.__dict__["folder_id"] = folder_id
|
695
742
|
__props__.__dict__["labels"] = labels
|
@@ -723,6 +770,11 @@ class Project(pulumi.CustomResource):
|
|
723
770
|
"""
|
724
771
|
return pulumi.get(self, "billing_account")
|
725
772
|
|
773
|
+
@property
|
774
|
+
@pulumi.getter(name="deletionPolicy")
|
775
|
+
def deletion_policy(self) -> pulumi.Output[Optional[str]]:
|
776
|
+
return pulumi.get(self, "deletion_policy")
|
777
|
+
|
726
778
|
@property
|
727
779
|
@pulumi.getter(name="effectiveLabels")
|
728
780
|
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
@@ -800,11 +852,14 @@ class Project(pulumi.CustomResource):
|
|
800
852
|
|
801
853
|
@property
|
802
854
|
@pulumi.getter(name="skipDelete")
|
803
|
-
@_utilities.deprecated("""skip_delete is deprecated and will be removed in
|
855
|
+
@_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
|
804
856
|
def skip_delete(self) -> pulumi.Output[bool]:
|
805
857
|
"""
|
806
|
-
If true, the resource can be deleted
|
807
|
-
|
858
|
+
If true, the resource can be deleted without
|
859
|
+
deleting the Project via the Google API. `skip_delete` is deprecated and will be
|
860
|
+
removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
|
861
|
+
can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
|
862
|
+
to a `deletion_policy` value of `ABANDON` for equivalent behavior.
|
808
863
|
"""
|
809
864
|
return pulumi.get(self, "skip_delete")
|
810
865
|
|
pulumi_gcp/pulumi-plugin.json
CHANGED
@@ -8,6 +8,7 @@ import typing
|
|
8
8
|
from .event_threat_detection_custom_module import *
|
9
9
|
from .folder_custom_module import *
|
10
10
|
from .get_source_iam_policy import *
|
11
|
+
from .get_v2_organization_source_iam_policy import *
|
11
12
|
from .instance_iam_binding import *
|
12
13
|
from .instance_iam_member import *
|
13
14
|
from .instance_iam_policy import *
|
@@ -24,7 +25,14 @@ from .source import *
|
|
24
25
|
from .source_iam_binding import *
|
25
26
|
from .source_iam_member import *
|
26
27
|
from .source_iam_policy import *
|
28
|
+
from .v2_folder_mute_config import *
|
27
29
|
from .v2_organization_mute_config import *
|
28
30
|
from .v2_organization_notification_config import *
|
31
|
+
from .v2_organization_source import *
|
32
|
+
from .v2_organization_source_iam_binding import *
|
33
|
+
from .v2_organization_source_iam_member import *
|
34
|
+
from .v2_organization_source_iam_policy import *
|
35
|
+
from .v2_project_mute_config import *
|
36
|
+
from .v2_project_notification_config import *
|
29
37
|
from ._inputs import *
|
30
38
|
from . import outputs
|
@@ -101,6 +101,12 @@ __all__ = [
|
|
101
101
|
'SourceIamMemberConditionArgsDict',
|
102
102
|
'V2OrganizationNotificationConfigStreamingConfigArgs',
|
103
103
|
'V2OrganizationNotificationConfigStreamingConfigArgsDict',
|
104
|
+
'V2OrganizationSourceIamBindingConditionArgs',
|
105
|
+
'V2OrganizationSourceIamBindingConditionArgsDict',
|
106
|
+
'V2OrganizationSourceIamMemberConditionArgs',
|
107
|
+
'V2OrganizationSourceIamMemberConditionArgsDict',
|
108
|
+
'V2ProjectNotificationConfigStreamingConfigArgs',
|
109
|
+
'V2ProjectNotificationConfigStreamingConfigArgsDict',
|
104
110
|
]
|
105
111
|
|
106
112
|
MYPY = False
|
@@ -3516,3 +3522,188 @@ class V2OrganizationNotificationConfigStreamingConfigArgs:
|
|
3516
3522
|
pulumi.set(self, "filter", value)
|
3517
3523
|
|
3518
3524
|
|
3525
|
+
if not MYPY:
|
3526
|
+
class V2OrganizationSourceIamBindingConditionArgsDict(TypedDict):
|
3527
|
+
expression: pulumi.Input[str]
|
3528
|
+
title: pulumi.Input[str]
|
3529
|
+
description: NotRequired[pulumi.Input[str]]
|
3530
|
+
elif False:
|
3531
|
+
V2OrganizationSourceIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
|
3532
|
+
|
3533
|
+
@pulumi.input_type
|
3534
|
+
class V2OrganizationSourceIamBindingConditionArgs:
|
3535
|
+
def __init__(__self__, *,
|
3536
|
+
expression: pulumi.Input[str],
|
3537
|
+
title: pulumi.Input[str],
|
3538
|
+
description: Optional[pulumi.Input[str]] = None):
|
3539
|
+
pulumi.set(__self__, "expression", expression)
|
3540
|
+
pulumi.set(__self__, "title", title)
|
3541
|
+
if description is not None:
|
3542
|
+
pulumi.set(__self__, "description", description)
|
3543
|
+
|
3544
|
+
@property
|
3545
|
+
@pulumi.getter
|
3546
|
+
def expression(self) -> pulumi.Input[str]:
|
3547
|
+
return pulumi.get(self, "expression")
|
3548
|
+
|
3549
|
+
@expression.setter
|
3550
|
+
def expression(self, value: pulumi.Input[str]):
|
3551
|
+
pulumi.set(self, "expression", value)
|
3552
|
+
|
3553
|
+
@property
|
3554
|
+
@pulumi.getter
|
3555
|
+
def title(self) -> pulumi.Input[str]:
|
3556
|
+
return pulumi.get(self, "title")
|
3557
|
+
|
3558
|
+
@title.setter
|
3559
|
+
def title(self, value: pulumi.Input[str]):
|
3560
|
+
pulumi.set(self, "title", value)
|
3561
|
+
|
3562
|
+
@property
|
3563
|
+
@pulumi.getter
|
3564
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
3565
|
+
return pulumi.get(self, "description")
|
3566
|
+
|
3567
|
+
@description.setter
|
3568
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
3569
|
+
pulumi.set(self, "description", value)
|
3570
|
+
|
3571
|
+
|
3572
|
+
if not MYPY:
|
3573
|
+
class V2OrganizationSourceIamMemberConditionArgsDict(TypedDict):
|
3574
|
+
expression: pulumi.Input[str]
|
3575
|
+
title: pulumi.Input[str]
|
3576
|
+
description: NotRequired[pulumi.Input[str]]
|
3577
|
+
elif False:
|
3578
|
+
V2OrganizationSourceIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
|
3579
|
+
|
3580
|
+
@pulumi.input_type
|
3581
|
+
class V2OrganizationSourceIamMemberConditionArgs:
|
3582
|
+
def __init__(__self__, *,
|
3583
|
+
expression: pulumi.Input[str],
|
3584
|
+
title: pulumi.Input[str],
|
3585
|
+
description: Optional[pulumi.Input[str]] = None):
|
3586
|
+
pulumi.set(__self__, "expression", expression)
|
3587
|
+
pulumi.set(__self__, "title", title)
|
3588
|
+
if description is not None:
|
3589
|
+
pulumi.set(__self__, "description", description)
|
3590
|
+
|
3591
|
+
@property
|
3592
|
+
@pulumi.getter
|
3593
|
+
def expression(self) -> pulumi.Input[str]:
|
3594
|
+
return pulumi.get(self, "expression")
|
3595
|
+
|
3596
|
+
@expression.setter
|
3597
|
+
def expression(self, value: pulumi.Input[str]):
|
3598
|
+
pulumi.set(self, "expression", value)
|
3599
|
+
|
3600
|
+
@property
|
3601
|
+
@pulumi.getter
|
3602
|
+
def title(self) -> pulumi.Input[str]:
|
3603
|
+
return pulumi.get(self, "title")
|
3604
|
+
|
3605
|
+
@title.setter
|
3606
|
+
def title(self, value: pulumi.Input[str]):
|
3607
|
+
pulumi.set(self, "title", value)
|
3608
|
+
|
3609
|
+
@property
|
3610
|
+
@pulumi.getter
|
3611
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
3612
|
+
return pulumi.get(self, "description")
|
3613
|
+
|
3614
|
+
@description.setter
|
3615
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
3616
|
+
pulumi.set(self, "description", value)
|
3617
|
+
|
3618
|
+
|
3619
|
+
if not MYPY:
|
3620
|
+
class V2ProjectNotificationConfigStreamingConfigArgsDict(TypedDict):
|
3621
|
+
filter: pulumi.Input[str]
|
3622
|
+
"""
|
3623
|
+
Expression that defines the filter to apply across create/update
|
3624
|
+
events of assets or findings as specified by the event type. The
|
3625
|
+
expression is a list of zero or more restrictions combined via
|
3626
|
+
logical operators AND and OR. Parentheses are supported, and OR
|
3627
|
+
has higher precedence than AND.
|
3628
|
+
Restrictions have the form <field> <operator> <value> and may have
|
3629
|
+
a - character in front of them to indicate negation. The fields
|
3630
|
+
map to those defined in the corresponding resource.
|
3631
|
+
The supported operators are:
|
3632
|
+
* = for all value types.
|
3633
|
+
* >, <, >=, <= for integer values.
|
3634
|
+
* :, meaning substring matching, for strings.
|
3635
|
+
The supported value types are:
|
3636
|
+
* string literals in quotes.
|
3637
|
+
* integer literals without quotes.
|
3638
|
+
* boolean literals true and false without quotes.
|
3639
|
+
See
|
3640
|
+
[Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications)
|
3641
|
+
for information on how to write a filter.
|
3642
|
+
|
3643
|
+
- - -
|
3644
|
+
"""
|
3645
|
+
elif False:
|
3646
|
+
V2ProjectNotificationConfigStreamingConfigArgsDict: TypeAlias = Mapping[str, Any]
|
3647
|
+
|
3648
|
+
@pulumi.input_type
|
3649
|
+
class V2ProjectNotificationConfigStreamingConfigArgs:
|
3650
|
+
def __init__(__self__, *,
|
3651
|
+
filter: pulumi.Input[str]):
|
3652
|
+
"""
|
3653
|
+
:param pulumi.Input[str] filter: Expression that defines the filter to apply across create/update
|
3654
|
+
events of assets or findings as specified by the event type. The
|
3655
|
+
expression is a list of zero or more restrictions combined via
|
3656
|
+
logical operators AND and OR. Parentheses are supported, and OR
|
3657
|
+
has higher precedence than AND.
|
3658
|
+
Restrictions have the form <field> <operator> <value> and may have
|
3659
|
+
a - character in front of them to indicate negation. The fields
|
3660
|
+
map to those defined in the corresponding resource.
|
3661
|
+
The supported operators are:
|
3662
|
+
* = for all value types.
|
3663
|
+
* >, <, >=, <= for integer values.
|
3664
|
+
* :, meaning substring matching, for strings.
|
3665
|
+
The supported value types are:
|
3666
|
+
* string literals in quotes.
|
3667
|
+
* integer literals without quotes.
|
3668
|
+
* boolean literals true and false without quotes.
|
3669
|
+
See
|
3670
|
+
[Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications)
|
3671
|
+
for information on how to write a filter.
|
3672
|
+
|
3673
|
+
- - -
|
3674
|
+
"""
|
3675
|
+
pulumi.set(__self__, "filter", filter)
|
3676
|
+
|
3677
|
+
@property
|
3678
|
+
@pulumi.getter
|
3679
|
+
def filter(self) -> pulumi.Input[str]:
|
3680
|
+
"""
|
3681
|
+
Expression that defines the filter to apply across create/update
|
3682
|
+
events of assets or findings as specified by the event type. The
|
3683
|
+
expression is a list of zero or more restrictions combined via
|
3684
|
+
logical operators AND and OR. Parentheses are supported, and OR
|
3685
|
+
has higher precedence than AND.
|
3686
|
+
Restrictions have the form <field> <operator> <value> and may have
|
3687
|
+
a - character in front of them to indicate negation. The fields
|
3688
|
+
map to those defined in the corresponding resource.
|
3689
|
+
The supported operators are:
|
3690
|
+
* = for all value types.
|
3691
|
+
* >, <, >=, <= for integer values.
|
3692
|
+
* :, meaning substring matching, for strings.
|
3693
|
+
The supported value types are:
|
3694
|
+
* string literals in quotes.
|
3695
|
+
* integer literals without quotes.
|
3696
|
+
* boolean literals true and false without quotes.
|
3697
|
+
See
|
3698
|
+
[Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications)
|
3699
|
+
for information on how to write a filter.
|
3700
|
+
|
3701
|
+
- - -
|
3702
|
+
"""
|
3703
|
+
return pulumi.get(self, "filter")
|
3704
|
+
|
3705
|
+
@filter.setter
|
3706
|
+
def filter(self, value: pulumi.Input[str]):
|
3707
|
+
pulumi.set(self, "filter", value)
|
3708
|
+
|
3709
|
+
|
@@ -0,0 +1,146 @@
|
|
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
|
+
|
17
|
+
__all__ = [
|
18
|
+
'GetV2OrganizationSourceIamPolicyResult',
|
19
|
+
'AwaitableGetV2OrganizationSourceIamPolicyResult',
|
20
|
+
'get_v2_organization_source_iam_policy',
|
21
|
+
'get_v2_organization_source_iam_policy_output',
|
22
|
+
]
|
23
|
+
|
24
|
+
@pulumi.output_type
|
25
|
+
class GetV2OrganizationSourceIamPolicyResult:
|
26
|
+
"""
|
27
|
+
A collection of values returned by getV2OrganizationSourceIamPolicy.
|
28
|
+
"""
|
29
|
+
def __init__(__self__, etag=None, id=None, organization=None, policy_data=None, source=None):
|
30
|
+
if etag and not isinstance(etag, str):
|
31
|
+
raise TypeError("Expected argument 'etag' to be a str")
|
32
|
+
pulumi.set(__self__, "etag", etag)
|
33
|
+
if id and not isinstance(id, str):
|
34
|
+
raise TypeError("Expected argument 'id' to be a str")
|
35
|
+
pulumi.set(__self__, "id", id)
|
36
|
+
if organization and not isinstance(organization, str):
|
37
|
+
raise TypeError("Expected argument 'organization' to be a str")
|
38
|
+
pulumi.set(__self__, "organization", organization)
|
39
|
+
if policy_data and not isinstance(policy_data, str):
|
40
|
+
raise TypeError("Expected argument 'policy_data' to be a str")
|
41
|
+
pulumi.set(__self__, "policy_data", policy_data)
|
42
|
+
if source and not isinstance(source, str):
|
43
|
+
raise TypeError("Expected argument 'source' to be a str")
|
44
|
+
pulumi.set(__self__, "source", source)
|
45
|
+
|
46
|
+
@property
|
47
|
+
@pulumi.getter
|
48
|
+
def etag(self) -> str:
|
49
|
+
"""
|
50
|
+
(Computed) The etag of the IAM policy.
|
51
|
+
"""
|
52
|
+
return pulumi.get(self, "etag")
|
53
|
+
|
54
|
+
@property
|
55
|
+
@pulumi.getter
|
56
|
+
def id(self) -> str:
|
57
|
+
"""
|
58
|
+
The provider-assigned unique ID for this managed resource.
|
59
|
+
"""
|
60
|
+
return pulumi.get(self, "id")
|
61
|
+
|
62
|
+
@property
|
63
|
+
@pulumi.getter
|
64
|
+
def organization(self) -> str:
|
65
|
+
return pulumi.get(self, "organization")
|
66
|
+
|
67
|
+
@property
|
68
|
+
@pulumi.getter(name="policyData")
|
69
|
+
def policy_data(self) -> str:
|
70
|
+
"""
|
71
|
+
(Required only by `securitycenter.V2OrganizationSourceIamPolicy`) The policy data generated by
|
72
|
+
a `organizations_get_iam_policy` data source.
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "policy_data")
|
75
|
+
|
76
|
+
@property
|
77
|
+
@pulumi.getter
|
78
|
+
def source(self) -> str:
|
79
|
+
return pulumi.get(self, "source")
|
80
|
+
|
81
|
+
|
82
|
+
class AwaitableGetV2OrganizationSourceIamPolicyResult(GetV2OrganizationSourceIamPolicyResult):
|
83
|
+
# pylint: disable=using-constant-test
|
84
|
+
def __await__(self):
|
85
|
+
if False:
|
86
|
+
yield self
|
87
|
+
return GetV2OrganizationSourceIamPolicyResult(
|
88
|
+
etag=self.etag,
|
89
|
+
id=self.id,
|
90
|
+
organization=self.organization,
|
91
|
+
policy_data=self.policy_data,
|
92
|
+
source=self.source)
|
93
|
+
|
94
|
+
|
95
|
+
def get_v2_organization_source_iam_policy(organization: Optional[str] = None,
|
96
|
+
source: Optional[str] = None,
|
97
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetV2OrganizationSourceIamPolicyResult:
|
98
|
+
"""
|
99
|
+
Retrieves the current IAM policy data for organizationsource
|
100
|
+
|
101
|
+
## example
|
102
|
+
|
103
|
+
```python
|
104
|
+
import pulumi
|
105
|
+
import pulumi_gcp as gcp
|
106
|
+
|
107
|
+
policy = gcp.securitycenter.get_v2_organization_source_iam_policy(source=custom_source["name"])
|
108
|
+
```
|
109
|
+
|
110
|
+
|
111
|
+
:param str source: Used to find the parent resource to bind the IAM policy to
|
112
|
+
"""
|
113
|
+
__args__ = dict()
|
114
|
+
__args__['organization'] = organization
|
115
|
+
__args__['source'] = source
|
116
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
117
|
+
__ret__ = pulumi.runtime.invoke('gcp:securitycenter/getV2OrganizationSourceIamPolicy:getV2OrganizationSourceIamPolicy', __args__, opts=opts, typ=GetV2OrganizationSourceIamPolicyResult).value
|
118
|
+
|
119
|
+
return AwaitableGetV2OrganizationSourceIamPolicyResult(
|
120
|
+
etag=pulumi.get(__ret__, 'etag'),
|
121
|
+
id=pulumi.get(__ret__, 'id'),
|
122
|
+
organization=pulumi.get(__ret__, 'organization'),
|
123
|
+
policy_data=pulumi.get(__ret__, 'policy_data'),
|
124
|
+
source=pulumi.get(__ret__, 'source'))
|
125
|
+
|
126
|
+
|
127
|
+
@_utilities.lift_output_func(get_v2_organization_source_iam_policy)
|
128
|
+
def get_v2_organization_source_iam_policy_output(organization: Optional[pulumi.Input[str]] = None,
|
129
|
+
source: Optional[pulumi.Input[str]] = None,
|
130
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetV2OrganizationSourceIamPolicyResult]:
|
131
|
+
"""
|
132
|
+
Retrieves the current IAM policy data for organizationsource
|
133
|
+
|
134
|
+
## example
|
135
|
+
|
136
|
+
```python
|
137
|
+
import pulumi
|
138
|
+
import pulumi_gcp as gcp
|
139
|
+
|
140
|
+
policy = gcp.securitycenter.get_v2_organization_source_iam_policy(source=custom_source["name"])
|
141
|
+
```
|
142
|
+
|
143
|
+
|
144
|
+
:param str source: Used to find the parent resource to bind the IAM policy to
|
145
|
+
"""
|
146
|
+
...
|