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.
Files changed (53) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +2 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +780 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +601 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +323 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +332 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -24
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -24
  9. pulumi_gcp/applicationintegration/client.py +2 -2
  10. pulumi_gcp/clouddeploy/_inputs.py +21 -1
  11. pulumi_gcp/clouddeploy/outputs.py +15 -1
  12. pulumi_gcp/cloudrunv2/_inputs.py +40 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +46 -0
  14. pulumi_gcp/compute/region_target_https_proxy.py +28 -0
  15. pulumi_gcp/container/_inputs.py +26 -0
  16. pulumi_gcp/container/outputs.py +29 -0
  17. pulumi_gcp/dataform/repository.py +80 -2
  18. pulumi_gcp/discoveryengine/data_store.py +93 -2
  19. pulumi_gcp/gkehub/_inputs.py +63 -0
  20. pulumi_gcp/gkehub/outputs.py +38 -0
  21. pulumi_gcp/logging/get_log_view_iam_policy.py +28 -2
  22. pulumi_gcp/logging/log_view_iam_binding.py +512 -0
  23. pulumi_gcp/logging/log_view_iam_member.py +512 -0
  24. pulumi_gcp/logging/log_view_iam_policy.py +512 -0
  25. pulumi_gcp/netapp/_inputs.py +6 -6
  26. pulumi_gcp/netapp/outputs.py +4 -4
  27. pulumi_gcp/networkconnectivity/regional_endpoint.py +6 -6
  28. pulumi_gcp/organizations/get_project.py +11 -1
  29. pulumi_gcp/organizations/project.py +76 -21
  30. pulumi_gcp/pulumi-plugin.json +1 -1
  31. pulumi_gcp/securitycenter/__init__.py +8 -0
  32. pulumi_gcp/securitycenter/_inputs.py +191 -0
  33. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +146 -0
  34. pulumi_gcp/securitycenter/outputs.py +115 -0
  35. pulumi_gcp/securitycenter/v2_folder_mute_config.py +679 -0
  36. pulumi_gcp/securitycenter/v2_organization_source.py +416 -0
  37. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +722 -0
  38. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +722 -0
  39. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +561 -0
  40. pulumi_gcp/securitycenter/v2_project_mute_config.py +684 -0
  41. pulumi_gcp/securitycenter/v2_project_notification_config.py +559 -0
  42. pulumi_gcp/spanner/instance.py +0 -7
  43. pulumi_gcp/sql/_inputs.py +3 -3
  44. pulumi_gcp/sql/outputs.py +6 -6
  45. pulumi_gcp/storage/bucket_object.py +28 -0
  46. pulumi_gcp/storage/get_bucket_object.py +14 -1
  47. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  48. pulumi_gcp/storage/managed_folder.py +72 -2
  49. pulumi_gcp/vmwareengine/network_policy.py +6 -6
  50. {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/METADATA +1 -1
  51. {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/RECORD +53 -43
  52. {pulumi_gcp-7.36.0a1723456487.dist-info → pulumi_gcp-7.37.0.dist-info}/WHEEL +1 -1
  53. {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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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 a future major release. The new release adds support for deletion_policy instead.""", DeprecationWarning)
75
- pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in a future major release. The new release adds support for deletion_policy instead.""")
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 a future major release. The new release adds support for deletion_policy instead.""")
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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 a future major release. The new release adds support for deletion_policy instead.""", DeprecationWarning)
263
- pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in a future major release. The new release adds support for deletion_policy instead.""")
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 a future major release. The new release adds support for deletion_policy instead.""")
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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 a future major release. The new release adds support for deletion_policy instead.""")
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
- without deleting the Project via the Google API. `skip_delete` is deprecated and will be removed in a future major release. The new release adds support for `deletion_policy` instead.
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
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "7.36.0-alpha.1723456487"
4
+ "version": "7.37.0"
5
5
  }
@@ -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
+ ...