pulumi-gcp 8.21.0a1741183435__py3-none-any.whl → 8.22.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 +32 -0
- pulumi_gcp/alloydb/_inputs.py +66 -0
- pulumi_gcp/alloydb/outputs.py +95 -0
- pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
- pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
- pulumi_gcp/certificatemanager/certificate.py +53 -7
- pulumi_gcp/certificatemanager/outputs.py +8 -2
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +600 -17
- pulumi_gcp/compute/backend_service.py +195 -7
- pulumi_gcp/compute/disk.py +108 -0
- pulumi_gcp/compute/firewall_policy_association.py +28 -2
- pulumi_gcp/compute/get_backend_service.py +12 -1
- pulumi_gcp/compute/get_disk.py +23 -1
- pulumi_gcp/compute/get_region_disk.py +23 -1
- pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
- pulumi_gcp/compute/outputs.py +623 -23
- pulumi_gcp/compute/region_backend_service.py +193 -7
- pulumi_gcp/compute/region_disk.py +114 -0
- pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
- pulumi_gcp/compute/subnetwork.py +147 -0
- pulumi_gcp/container/_inputs.py +3 -3
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/datastream/_inputs.py +273 -0
- pulumi_gcp/datastream/connection_profile.py +54 -2
- pulumi_gcp/datastream/outputs.py +224 -0
- pulumi_gcp/eventarc/__init__.py +1 -0
- pulumi_gcp/eventarc/_inputs.py +40 -0
- pulumi_gcp/eventarc/channel.py +85 -93
- pulumi_gcp/eventarc/google_api_source.py +997 -0
- pulumi_gcp/eventarc/outputs.py +41 -0
- pulumi_gcp/firebase/data_connect_service.py +40 -2
- pulumi_gcp/iam/__init__.py +2 -0
- pulumi_gcp/iam/_inputs.py +51 -18
- pulumi_gcp/iam/folders_policy_binding.py +10 -26
- pulumi_gcp/iam/oauth_client.py +979 -0
- pulumi_gcp/iam/oauth_client_credential.py +641 -0
- pulumi_gcp/iam/organizations_policy_binding.py +8 -24
- pulumi_gcp/iam/outputs.py +34 -12
- pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
- pulumi_gcp/iam/projects_policy_binding.py +8 -24
- pulumi_gcp/kms/crypto_key_version.py +14 -7
- pulumi_gcp/monitoring/_inputs.py +15 -18
- pulumi_gcp/monitoring/alert_policy.py +46 -0
- pulumi_gcp/monitoring/outputs.py +10 -12
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/_inputs.py +30 -18
- pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
- pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
- pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
- pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
- pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
- pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
- pulumi_gcp/networksecurity/outputs.py +20 -12
- pulumi_gcp/networkservices/endpoint_policy.py +12 -0
- pulumi_gcp/networkservices/grpc_route.py +12 -0
- pulumi_gcp/networkservices/http_route.py +16 -0
- pulumi_gcp/networkservices/mesh.py +16 -0
- pulumi_gcp/networkservices/service_binding.py +14 -0
- pulumi_gcp/networkservices/tcp_route.py +16 -0
- pulumi_gcp/networkservices/tls_route.py +12 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/tpu/_inputs.py +21 -1
- pulumi_gcp/tpu/outputs.py +13 -1
- pulumi_gcp/tpu/v2_vm.py +2 -0
- pulumi_gcp/vmwareengine/_inputs.py +6 -0
- pulumi_gcp/vmwareengine/outputs.py +8 -0
- pulumi_gcp/workstations/workstation_cluster.py +137 -1
- {pulumi_gcp-8.21.0a1741183435.dist-info → pulumi_gcp-8.22.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.21.0a1741183435.dist-info → pulumi_gcp-8.22.0.dist-info}/RECORD +75 -70
- {pulumi_gcp-8.21.0a1741183435.dist-info → pulumi_gcp-8.22.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.21.0a1741183435.dist-info → pulumi_gcp-8.22.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/eventarc/outputs.py
CHANGED
@@ -16,6 +16,7 @@ from .. import _utilities
|
|
16
16
|
from . import outputs
|
17
17
|
|
18
18
|
__all__ = [
|
19
|
+
'GoogleApiSourceLoggingConfig',
|
19
20
|
'MessageBusLoggingConfig',
|
20
21
|
'TriggerDestination',
|
21
22
|
'TriggerDestinationCloudRunService',
|
@@ -27,6 +28,46 @@ __all__ = [
|
|
27
28
|
'TriggerTransportPubsub',
|
28
29
|
]
|
29
30
|
|
31
|
+
@pulumi.output_type
|
32
|
+
class GoogleApiSourceLoggingConfig(dict):
|
33
|
+
@staticmethod
|
34
|
+
def __key_warning(key: str):
|
35
|
+
suggest = None
|
36
|
+
if key == "logSeverity":
|
37
|
+
suggest = "log_severity"
|
38
|
+
|
39
|
+
if suggest:
|
40
|
+
pulumi.log.warn(f"Key '{key}' not found in GoogleApiSourceLoggingConfig. Access the value via the '{suggest}' property getter instead.")
|
41
|
+
|
42
|
+
def __getitem__(self, key: str) -> Any:
|
43
|
+
GoogleApiSourceLoggingConfig.__key_warning(key)
|
44
|
+
return super().__getitem__(key)
|
45
|
+
|
46
|
+
def get(self, key: str, default = None) -> Any:
|
47
|
+
GoogleApiSourceLoggingConfig.__key_warning(key)
|
48
|
+
return super().get(key, default)
|
49
|
+
|
50
|
+
def __init__(__self__, *,
|
51
|
+
log_severity: Optional[str] = None):
|
52
|
+
"""
|
53
|
+
:param str log_severity: The minimum severity of logs that will be sent to Stackdriver/Platform
|
54
|
+
Telemetry. Logs at severitiy ≥ this value will be sent, unless it is NONE.
|
55
|
+
Possible values are: `NONE`, `DEBUG`, `INFO`, `NOTICE`, `WARNING`, `ERROR`, `CRITICAL`, `ALERT`, `EMERGENCY`.
|
56
|
+
"""
|
57
|
+
if log_severity is not None:
|
58
|
+
pulumi.set(__self__, "log_severity", log_severity)
|
59
|
+
|
60
|
+
@property
|
61
|
+
@pulumi.getter(name="logSeverity")
|
62
|
+
def log_severity(self) -> Optional[str]:
|
63
|
+
"""
|
64
|
+
The minimum severity of logs that will be sent to Stackdriver/Platform
|
65
|
+
Telemetry. Logs at severitiy ≥ this value will be sent, unless it is NONE.
|
66
|
+
Possible values are: `NONE`, `DEBUG`, `INFO`, `NOTICE`, `WARNING`, `ERROR`, `CRITICAL`, `ALERT`, `EMERGENCY`.
|
67
|
+
"""
|
68
|
+
return pulumi.get(self, "log_severity")
|
69
|
+
|
70
|
+
|
30
71
|
@pulumi.output_type
|
31
72
|
class MessageBusLoggingConfig(dict):
|
32
73
|
@staticmethod
|
@@ -505,7 +505,7 @@ class DataConnectService(pulumi.CustomResource):
|
|
505
505
|
project="my-project-name",
|
506
506
|
service="firebasedataconnect.googleapis.com",
|
507
507
|
disable_on_destroy=False)
|
508
|
-
# Create
|
508
|
+
# Create a Firebase Data Connect service
|
509
509
|
default = gcp.firebase.DataConnectService("default",
|
510
510
|
project="my-project-name",
|
511
511
|
location="us-central1",
|
@@ -520,6 +520,25 @@ class DataConnectService(pulumi.CustomResource):
|
|
520
520
|
},
|
521
521
|
opts = pulumi.ResourceOptions(depends_on=[fdc]))
|
522
522
|
```
|
523
|
+
### Firebasedataconnect Service With Force Deletion
|
524
|
+
|
525
|
+
```python
|
526
|
+
import pulumi
|
527
|
+
import pulumi_gcp as gcp
|
528
|
+
|
529
|
+
# Enable Firebase Data Connect API
|
530
|
+
fdc = gcp.projects.Service("fdc",
|
531
|
+
project="my-project-name",
|
532
|
+
service="firebasedataconnect.googleapis.com",
|
533
|
+
disable_on_destroy=False)
|
534
|
+
# Create a Firebase Data Connect service
|
535
|
+
default = gcp.firebase.DataConnectService("default",
|
536
|
+
project="my-project-name",
|
537
|
+
location="us-central1",
|
538
|
+
service_id="example-service",
|
539
|
+
deletion_policy="FORCE",
|
540
|
+
opts = pulumi.ResourceOptions(depends_on=[fdc]))
|
541
|
+
```
|
523
542
|
|
524
543
|
## Import
|
525
544
|
|
@@ -596,7 +615,7 @@ class DataConnectService(pulumi.CustomResource):
|
|
596
615
|
project="my-project-name",
|
597
616
|
service="firebasedataconnect.googleapis.com",
|
598
617
|
disable_on_destroy=False)
|
599
|
-
# Create
|
618
|
+
# Create a Firebase Data Connect service
|
600
619
|
default = gcp.firebase.DataConnectService("default",
|
601
620
|
project="my-project-name",
|
602
621
|
location="us-central1",
|
@@ -611,6 +630,25 @@ class DataConnectService(pulumi.CustomResource):
|
|
611
630
|
},
|
612
631
|
opts = pulumi.ResourceOptions(depends_on=[fdc]))
|
613
632
|
```
|
633
|
+
### Firebasedataconnect Service With Force Deletion
|
634
|
+
|
635
|
+
```python
|
636
|
+
import pulumi
|
637
|
+
import pulumi_gcp as gcp
|
638
|
+
|
639
|
+
# Enable Firebase Data Connect API
|
640
|
+
fdc = gcp.projects.Service("fdc",
|
641
|
+
project="my-project-name",
|
642
|
+
service="firebasedataconnect.googleapis.com",
|
643
|
+
disable_on_destroy=False)
|
644
|
+
# Create a Firebase Data Connect service
|
645
|
+
default = gcp.firebase.DataConnectService("default",
|
646
|
+
project="my-project-name",
|
647
|
+
location="us-central1",
|
648
|
+
service_id="example-service",
|
649
|
+
deletion_policy="FORCE",
|
650
|
+
opts = pulumi.ResourceOptions(depends_on=[fdc]))
|
651
|
+
```
|
614
652
|
|
615
653
|
## Import
|
616
654
|
|
pulumi_gcp/iam/__init__.py
CHANGED
@@ -12,6 +12,8 @@ from .get_rule import *
|
|
12
12
|
from .get_testable_permissions import *
|
13
13
|
from .get_workload_identity_pool import *
|
14
14
|
from .get_workload_identity_pool_provider import *
|
15
|
+
from .oauth_client import *
|
16
|
+
from .oauth_client_credential import *
|
15
17
|
from .organizations_policy_binding import *
|
16
18
|
from .principal_access_boundary_policy import *
|
17
19
|
from .projects_policy_binding import *
|
pulumi_gcp/iam/_inputs.py
CHANGED
@@ -703,8 +703,10 @@ if not MYPY:
|
|
703
703
|
class FoldersPolicyBindingTargetArgsDict(TypedDict):
|
704
704
|
principal_set: NotRequired[pulumi.Input[str]]
|
705
705
|
"""
|
706
|
-
Required. Immutable.
|
707
|
-
|
706
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
707
|
+
Examples for each one of the following supported principal set types:
|
708
|
+
* Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
|
709
|
+
It must be parent by the policy binding's parent (the folder).
|
708
710
|
|
709
711
|
- - -
|
710
712
|
"""
|
@@ -716,8 +718,10 @@ class FoldersPolicyBindingTargetArgs:
|
|
716
718
|
def __init__(__self__, *,
|
717
719
|
principal_set: Optional[pulumi.Input[str]] = None):
|
718
720
|
"""
|
719
|
-
:param pulumi.Input[str] principal_set: Required. Immutable.
|
720
|
-
|
721
|
+
:param pulumi.Input[str] principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
722
|
+
Examples for each one of the following supported principal set types:
|
723
|
+
* Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
|
724
|
+
It must be parent by the policy binding's parent (the folder).
|
721
725
|
|
722
726
|
- - -
|
723
727
|
"""
|
@@ -728,8 +732,10 @@ class FoldersPolicyBindingTargetArgs:
|
|
728
732
|
@pulumi.getter(name="principalSet")
|
729
733
|
def principal_set(self) -> Optional[pulumi.Input[str]]:
|
730
734
|
"""
|
731
|
-
Required. Immutable.
|
732
|
-
|
735
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
736
|
+
Examples for each one of the following supported principal set types:
|
737
|
+
* Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
|
738
|
+
It must be parent by the policy binding's parent (the folder).
|
733
739
|
|
734
740
|
- - -
|
735
741
|
"""
|
@@ -836,8 +842,12 @@ if not MYPY:
|
|
836
842
|
class OrganizationsPolicyBindingTargetArgsDict(TypedDict):
|
837
843
|
principal_set: NotRequired[pulumi.Input[str]]
|
838
844
|
"""
|
839
|
-
Required. Immutable.
|
840
|
-
|
845
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
846
|
+
Examples for each one of the following supported principal set types:
|
847
|
+
* Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
|
848
|
+
* Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
|
849
|
+
* Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
|
850
|
+
It must be parent by the policy binding's parent (the organization).
|
841
851
|
|
842
852
|
- - -
|
843
853
|
"""
|
@@ -849,8 +859,12 @@ class OrganizationsPolicyBindingTargetArgs:
|
|
849
859
|
def __init__(__self__, *,
|
850
860
|
principal_set: Optional[pulumi.Input[str]] = None):
|
851
861
|
"""
|
852
|
-
:param pulumi.Input[str] principal_set: Required. Immutable.
|
853
|
-
|
862
|
+
:param pulumi.Input[str] principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
863
|
+
Examples for each one of the following supported principal set types:
|
864
|
+
* Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
|
865
|
+
* Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
|
866
|
+
* Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
|
867
|
+
It must be parent by the policy binding's parent (the organization).
|
854
868
|
|
855
869
|
- - -
|
856
870
|
"""
|
@@ -861,8 +875,12 @@ class OrganizationsPolicyBindingTargetArgs:
|
|
861
875
|
@pulumi.getter(name="principalSet")
|
862
876
|
def principal_set(self) -> Optional[pulumi.Input[str]]:
|
863
877
|
"""
|
864
|
-
Required. Immutable.
|
865
|
-
|
878
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
879
|
+
Examples for each one of the following supported principal set types:
|
880
|
+
* Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
|
881
|
+
* Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
|
882
|
+
* Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
|
883
|
+
It must be parent by the policy binding's parent (the organization).
|
866
884
|
|
867
885
|
- - -
|
868
886
|
"""
|
@@ -1126,8 +1144,13 @@ if not MYPY:
|
|
1126
1144
|
class ProjectsPolicyBindingTargetArgsDict(TypedDict):
|
1127
1145
|
principal_set: NotRequired[pulumi.Input[str]]
|
1128
1146
|
"""
|
1129
|
-
Required. Immutable.
|
1130
|
-
|
1147
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
1148
|
+
Examples for each one of the following supported principal set types:
|
1149
|
+
* Project:
|
1150
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
|
1151
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
|
1152
|
+
* Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
|
1153
|
+
It must be parent by the policy binding's parent (the project).
|
1131
1154
|
|
1132
1155
|
- - -
|
1133
1156
|
"""
|
@@ -1139,8 +1162,13 @@ class ProjectsPolicyBindingTargetArgs:
|
|
1139
1162
|
def __init__(__self__, *,
|
1140
1163
|
principal_set: Optional[pulumi.Input[str]] = None):
|
1141
1164
|
"""
|
1142
|
-
:param pulumi.Input[str] principal_set: Required. Immutable.
|
1143
|
-
|
1165
|
+
:param pulumi.Input[str] principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
1166
|
+
Examples for each one of the following supported principal set types:
|
1167
|
+
* Project:
|
1168
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
|
1169
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
|
1170
|
+
* Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
|
1171
|
+
It must be parent by the policy binding's parent (the project).
|
1144
1172
|
|
1145
1173
|
- - -
|
1146
1174
|
"""
|
@@ -1151,8 +1179,13 @@ class ProjectsPolicyBindingTargetArgs:
|
|
1151
1179
|
@pulumi.getter(name="principalSet")
|
1152
1180
|
def principal_set(self) -> Optional[pulumi.Input[str]]:
|
1153
1181
|
"""
|
1154
|
-
Required. Immutable.
|
1155
|
-
|
1182
|
+
Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
|
1183
|
+
Examples for each one of the following supported principal set types:
|
1184
|
+
* Project:
|
1185
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
|
1186
|
+
* `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
|
1187
|
+
* Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
|
1188
|
+
It must be parent by the policy binding's parent (the project).
|
1156
1189
|
|
1157
1190
|
- - -
|
1158
1191
|
"""
|
@@ -497,14 +497,6 @@ class FoldersPolicyBinding(pulumi.CustomResource):
|
|
497
497
|
target: Optional[pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']]] = None,
|
498
498
|
__props__=None):
|
499
499
|
"""
|
500
|
-
A policy binding to a folder
|
501
|
-
|
502
|
-
To get more information about FoldersPolicyBinding, see:
|
503
|
-
|
504
|
-
* [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/folders.locations.policyBindings)
|
505
|
-
* How-to Guides
|
506
|
-
* [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
|
507
|
-
|
508
500
|
## Example Usage
|
509
501
|
|
510
502
|
### Iam Folders Policy Binding
|
@@ -517,20 +509,20 @@ class FoldersPolicyBinding(pulumi.CustomResource):
|
|
517
509
|
pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
|
518
510
|
organization="123456789",
|
519
511
|
location="global",
|
520
|
-
display_name="
|
512
|
+
display_name="binding for all principals in the folder",
|
521
513
|
principal_access_boundary_policy_id="my-pab-policy")
|
522
514
|
folder = gcp.organizations.Folder("folder",
|
523
|
-
display_name="
|
515
|
+
display_name="my folder",
|
524
516
|
parent="organizations/123456789",
|
525
517
|
deletion_protection=False)
|
526
518
|
wait120s = time.index.Sleep("wait_120s", create_duration=120s,
|
527
519
|
opts = pulumi.ResourceOptions(depends_on=[folder]))
|
528
|
-
|
520
|
+
binding_for_all_folder_principals = gcp.iam.FoldersPolicyBinding("binding-for-all-folder-principals",
|
529
521
|
folder=folder.folder_id,
|
530
522
|
location="global",
|
531
|
-
display_name="
|
523
|
+
display_name="binding for all principals in the folder",
|
532
524
|
policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
|
533
|
-
policy_binding_id="
|
525
|
+
policy_binding_id="binding-for-all-folder-principals",
|
534
526
|
policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
|
535
527
|
target={
|
536
528
|
"principal_set": folder.folder_id.apply(lambda folder_id: f"//cloudresourcemanager.googleapis.com/folders/{folder_id}"),
|
@@ -589,14 +581,6 @@ class FoldersPolicyBinding(pulumi.CustomResource):
|
|
589
581
|
args: FoldersPolicyBindingArgs,
|
590
582
|
opts: Optional[pulumi.ResourceOptions] = None):
|
591
583
|
"""
|
592
|
-
A policy binding to a folder
|
593
|
-
|
594
|
-
To get more information about FoldersPolicyBinding, see:
|
595
|
-
|
596
|
-
* [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/folders.locations.policyBindings)
|
597
|
-
* How-to Guides
|
598
|
-
* [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
|
599
|
-
|
600
584
|
## Example Usage
|
601
585
|
|
602
586
|
### Iam Folders Policy Binding
|
@@ -609,20 +593,20 @@ class FoldersPolicyBinding(pulumi.CustomResource):
|
|
609
593
|
pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
|
610
594
|
organization="123456789",
|
611
595
|
location="global",
|
612
|
-
display_name="
|
596
|
+
display_name="binding for all principals in the folder",
|
613
597
|
principal_access_boundary_policy_id="my-pab-policy")
|
614
598
|
folder = gcp.organizations.Folder("folder",
|
615
|
-
display_name="
|
599
|
+
display_name="my folder",
|
616
600
|
parent="organizations/123456789",
|
617
601
|
deletion_protection=False)
|
618
602
|
wait120s = time.index.Sleep("wait_120s", create_duration=120s,
|
619
603
|
opts = pulumi.ResourceOptions(depends_on=[folder]))
|
620
|
-
|
604
|
+
binding_for_all_folder_principals = gcp.iam.FoldersPolicyBinding("binding-for-all-folder-principals",
|
621
605
|
folder=folder.folder_id,
|
622
606
|
location="global",
|
623
|
-
display_name="
|
607
|
+
display_name="binding for all principals in the folder",
|
624
608
|
policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
|
625
|
-
policy_binding_id="
|
609
|
+
policy_binding_id="binding-for-all-folder-principals",
|
626
610
|
policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
|
627
611
|
target={
|
628
612
|
"principal_set": folder.folder_id.apply(lambda folder_id: f"//cloudresourcemanager.googleapis.com/folders/{folder_id}"),
|