pulumi-gcp 7.19.0a1712989149__py3-none-any.whl → 7.19.0a1713335069__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/accesscontextmanager/access_policy_iam_binding.py +136 -47
- pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +136 -47
- pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +90 -84
- pulumi_gcp/apigateway/api_config_iam_binding.py +147 -52
- pulumi_gcp/apigateway/api_config_iam_member.py +147 -52
- pulumi_gcp/apigateway/api_config_iam_policy.py +96 -84
- pulumi_gcp/apigateway/api_iam_binding.py +147 -52
- pulumi_gcp/apigateway/api_iam_member.py +147 -52
- pulumi_gcp/apigateway/api_iam_policy.py +96 -84
- pulumi_gcp/apigateway/gateway_iam_binding.py +153 -52
- pulumi_gcp/apigateway/gateway_iam_member.py +153 -52
- pulumi_gcp/apigateway/gateway_iam_policy.py +102 -84
- pulumi_gcp/apigee/environment_iam_binding.py +139 -44
- pulumi_gcp/apigee/environment_iam_member.py +139 -44
- pulumi_gcp/apigee/environment_iam_policy.py +96 -84
- pulumi_gcp/artifactregistry/repository_iam_binding.py +156 -55
- pulumi_gcp/artifactregistry/repository_iam_member.py +156 -55
- pulumi_gcp/artifactregistry/repository_iam_policy.py +102 -84
- pulumi_gcp/bigquery/connection_iam_binding.py +158 -57
- pulumi_gcp/bigquery/connection_iam_member.py +158 -57
- pulumi_gcp/bigquery/connection_iam_policy.py +102 -84
- pulumi_gcp/bigquery/dataset_iam_binding.py +135 -40
- pulumi_gcp/bigquery/dataset_iam_member.py +135 -40
- pulumi_gcp/bigquery/dataset_iam_policy.py +96 -70
- pulumi_gcp/bigquery/iam_binding.py +283 -54
- pulumi_gcp/bigquery/iam_member.py +283 -54
- pulumi_gcp/bigquery/iam_policy.py +230 -84
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +155 -54
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +155 -54
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +102 -84
- pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +161 -54
- pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +161 -54
- pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +108 -84
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +155 -54
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +155 -54
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +102 -84
- pulumi_gcp/bigtable/instance_iam_binding.py +123 -32
- pulumi_gcp/bigtable/instance_iam_member.py +123 -32
- pulumi_gcp/bigtable/instance_iam_policy.py +92 -63
- pulumi_gcp/bigtable/table_iam_binding.py +160 -63
- pulumi_gcp/bigtable/table_iam_member.py +160 -63
- pulumi_gcp/bigtable/table_iam_policy.py +98 -63
- pulumi_gcp/billing/account_iam_binding.py +120 -31
- pulumi_gcp/billing/account_iam_member.py +120 -31
- pulumi_gcp/billing/account_iam_policy.py +90 -49
- pulumi_gcp/binaryauthorization/attestor_iam_binding.py +147 -52
- pulumi_gcp/binaryauthorization/attestor_iam_member.py +147 -52
- pulumi_gcp/binaryauthorization/attestor_iam_policy.py +96 -84
- pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +262 -57
- pulumi_gcp/certificateauthority/ca_pool_iam_member.py +262 -57
- pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +206 -84
- pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +259 -54
- pulumi_gcp/certificateauthority/certificate_template_iam_member.py +259 -54
- pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +206 -84
- pulumi_gcp/cloudbuildv2/connection_iam_binding.py +161 -60
- pulumi_gcp/cloudbuildv2/connection_iam_member.py +161 -60
- pulumi_gcp/cloudbuildv2/connection_iam_policy.py +102 -84
- pulumi_gcp/cloudfunctions/function_iam_binding.py +153 -52
- pulumi_gcp/cloudfunctions/function_iam_member.py +153 -52
- pulumi_gcp/cloudfunctions/function_iam_policy.py +102 -84
- pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +154 -53
- pulumi_gcp/cloudfunctionsv2/function_iam_member.py +154 -53
- pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +102 -84
- pulumi_gcp/cloudrun/iam_binding.py +155 -54
- pulumi_gcp/cloudrun/iam_member.py +155 -54
- pulumi_gcp/cloudrun/iam_policy.py +102 -84
- pulumi_gcp/cloudrunv2/job_iam_binding.py +161 -60
- pulumi_gcp/cloudrunv2/job_iam_member.py +161 -60
- pulumi_gcp/cloudrunv2/job_iam_policy.py +102 -84
- pulumi_gcp/cloudrunv2/service_iam_binding.py +161 -60
- pulumi_gcp/cloudrunv2/service_iam_member.py +161 -60
- pulumi_gcp/cloudrunv2/service_iam_policy.py +102 -84
- pulumi_gcp/cloudtasks/queue_iam_binding.py +161 -60
- pulumi_gcp/cloudtasks/queue_iam_member.py +161 -60
- pulumi_gcp/cloudtasks/queue_iam_policy.py +102 -84
- pulumi_gcp/compute/backend_bucket_iam_binding.py +58 -59
- pulumi_gcp/compute/backend_bucket_iam_member.py +58 -59
- pulumi_gcp/compute/backend_bucket_iam_policy.py +0 -84
- pulumi_gcp/compute/backend_service_iam_binding.py +60 -61
- pulumi_gcp/compute/backend_service_iam_member.py +60 -61
- pulumi_gcp/compute/backend_service_iam_policy.py +0 -84
- pulumi_gcp/compute/disk_iam_binding.py +160 -59
- pulumi_gcp/compute/disk_iam_member.py +160 -59
- pulumi_gcp/compute/disk_iam_policy.py +102 -84
- pulumi_gcp/compute/image_iam_binding.py +271 -54
- pulumi_gcp/compute/image_iam_member.py +271 -54
- pulumi_gcp/compute/image_iam_policy.py +218 -84
- pulumi_gcp/compute/instance_iam_binding.py +283 -54
- pulumi_gcp/compute/instance_iam_member.py +283 -54
- pulumi_gcp/compute/instance_iam_policy.py +230 -84
- pulumi_gcp/compute/machine_image_iam_binding.py +271 -54
- pulumi_gcp/compute/machine_image_iam_member.py +271 -54
- pulumi_gcp/compute/machine_image_iam_policy.py +218 -84
- pulumi_gcp/compute/region_backend_service_iam_binding.py +60 -61
- pulumi_gcp/compute/region_backend_service_iam_member.py +60 -61
- pulumi_gcp/compute/region_backend_service_iam_policy.py +0 -84
- pulumi_gcp/compute/region_disk_iam_binding.py +160 -59
- pulumi_gcp/compute/region_disk_iam_member.py +160 -59
- pulumi_gcp/compute/region_disk_iam_policy.py +102 -84
- pulumi_gcp/compute/snapshot_iam_binding.py +154 -59
- pulumi_gcp/compute/snapshot_iam_member.py +154 -59
- pulumi_gcp/compute/snapshot_iam_policy.py +96 -84
- pulumi_gcp/compute/subnetwork_iam_binding.py +284 -55
- pulumi_gcp/compute/subnetwork_iam_member.py +284 -55
- pulumi_gcp/compute/subnetwork_iam_policy.py +230 -84
- pulumi_gcp/containeranalysis/note_iam_binding.py +154 -59
- pulumi_gcp/containeranalysis/note_iam_member.py +154 -59
- pulumi_gcp/containeranalysis/note_iam_policy.py +96 -84
- pulumi_gcp/datacatalog/entry_group_iam_binding.py +141 -52
- pulumi_gcp/datacatalog/entry_group_iam_member.py +141 -52
- pulumi_gcp/datacatalog/entry_group_iam_policy.py +90 -84
- pulumi_gcp/datacatalog/policy_tag_iam_binding.py +133 -44
- pulumi_gcp/datacatalog/policy_tag_iam_member.py +133 -44
- pulumi_gcp/datacatalog/policy_tag_iam_policy.py +90 -84
- pulumi_gcp/datacatalog/tag_template_iam_binding.py +142 -53
- pulumi_gcp/datacatalog/tag_template_iam_member.py +142 -53
- pulumi_gcp/datacatalog/tag_template_iam_policy.py +90 -84
- pulumi_gcp/datacatalog/taxonomy_iam_binding.py +142 -53
- pulumi_gcp/datacatalog/taxonomy_iam_member.py +142 -53
- pulumi_gcp/datacatalog/taxonomy_iam_policy.py +90 -84
- pulumi_gcp/dataplex/asset_iam_binding.py +165 -52
- pulumi_gcp/dataplex/asset_iam_member.py +165 -52
- pulumi_gcp/dataplex/asset_iam_policy.py +114 -84
- pulumi_gcp/dataplex/datascan_iam_binding.py +155 -54
- pulumi_gcp/dataplex/datascan_iam_member.py +155 -54
- pulumi_gcp/dataplex/datascan_iam_policy.py +102 -84
- pulumi_gcp/dataplex/lake_iam_binding.py +153 -52
- pulumi_gcp/dataplex/lake_iam_member.py +153 -52
- pulumi_gcp/dataplex/lake_iam_policy.py +102 -84
- pulumi_gcp/dataplex/task_iam_binding.py +161 -54
- pulumi_gcp/dataplex/task_iam_member.py +161 -54
- pulumi_gcp/dataplex/task_iam_policy.py +108 -84
- pulumi_gcp/dataplex/zone_iam_binding.py +159 -52
- pulumi_gcp/dataplex/zone_iam_member.py +159 -52
- pulumi_gcp/dataplex/zone_iam_policy.py +108 -84
- pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +173 -72
- pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +173 -72
- pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +102 -84
- pulumi_gcp/dataproc/cluster_iam_binding.py +130 -37
- pulumi_gcp/dataproc/cluster_iam_member.py +130 -37
- pulumi_gcp/dataproc/cluster_iam_policy.py +94 -63
- pulumi_gcp/dataproc/job_iam_binding.py +156 -0
- pulumi_gcp/dataproc/job_iam_member.py +156 -0
- pulumi_gcp/dataproc/job_iam_policy.py +94 -0
- pulumi_gcp/dataproc/metastore_federation_iam_binding.py +53 -54
- pulumi_gcp/dataproc/metastore_federation_iam_member.py +53 -54
- pulumi_gcp/dataproc/metastore_federation_iam_policy.py +0 -84
- pulumi_gcp/dataproc/metastore_service_iam_binding.py +156 -55
- pulumi_gcp/dataproc/metastore_service_iam_member.py +156 -55
- pulumi_gcp/dataproc/metastore_service_iam_policy.py +102 -84
- pulumi_gcp/dns/dns_managed_zone_iam_binding.py +147 -52
- pulumi_gcp/dns/dns_managed_zone_iam_member.py +147 -52
- pulumi_gcp/dns/dns_managed_zone_iam_policy.py +96 -84
- pulumi_gcp/endpoints/consumers_iam_binding.py +83 -0
- pulumi_gcp/endpoints/consumers_iam_member.py +83 -0
- pulumi_gcp/endpoints/service_iam_binding.py +173 -0
- pulumi_gcp/endpoints/service_iam_member.py +173 -0
- pulumi_gcp/endpoints/service_iam_policy.py +90 -0
- pulumi_gcp/folder/iam_audit_config.py +270 -0
- pulumi_gcp/folder/iam_member.py +318 -0
- pulumi_gcp/folder/iam_policy.py +270 -0
- pulumi_gcp/gkebackup/backup_plan_iam_binding.py +162 -61
- pulumi_gcp/gkebackup/backup_plan_iam_member.py +162 -61
- pulumi_gcp/gkebackup/backup_plan_iam_policy.py +102 -84
- pulumi_gcp/gkehub/feature_iam_binding.py +161 -60
- pulumi_gcp/gkehub/feature_iam_member.py +161 -60
- pulumi_gcp/gkehub/feature_iam_policy.py +102 -84
- pulumi_gcp/gkehub/membership_iam_binding.py +159 -58
- pulumi_gcp/gkehub/membership_iam_member.py +159 -58
- pulumi_gcp/gkehub/membership_iam_policy.py +102 -84
- pulumi_gcp/gkehub/scope_iam_binding.py +147 -52
- pulumi_gcp/gkehub/scope_iam_member.py +147 -52
- pulumi_gcp/gkehub/scope_iam_policy.py +96 -84
- pulumi_gcp/healthcare/consent_store_iam_binding.py +139 -44
- pulumi_gcp/healthcare/consent_store_iam_member.py +139 -44
- pulumi_gcp/healthcare/consent_store_iam_policy.py +96 -84
- pulumi_gcp/healthcare/dataset_iam_binding.py +126 -37
- pulumi_gcp/healthcare/dataset_iam_member.py +126 -37
- pulumi_gcp/healthcare/dataset_iam_policy.py +90 -63
- pulumi_gcp/healthcare/dicom_store_iam_binding.py +126 -37
- pulumi_gcp/healthcare/dicom_store_iam_member.py +126 -37
- pulumi_gcp/healthcare/dicom_store_iam_policy.py +90 -63
- pulumi_gcp/healthcare/fhir_store_iam_binding.py +121 -32
- pulumi_gcp/healthcare/fhir_store_iam_member.py +121 -32
- pulumi_gcp/healthcare/fhir_store_iam_policy.py +90 -63
- pulumi_gcp/healthcare/hl7_store_iam_binding.py +121 -32
- pulumi_gcp/healthcare/hl7_store_iam_member.py +121 -32
- pulumi_gcp/healthcare/hl7_store_iam_policy.py +90 -63
- pulumi_gcp/iap/app_engine_service_iam_binding.py +284 -55
- pulumi_gcp/iap/app_engine_service_iam_member.py +284 -55
- pulumi_gcp/iap/app_engine_service_iam_policy.py +230 -84
- pulumi_gcp/iap/app_engine_version_iam_binding.py +297 -56
- pulumi_gcp/iap/app_engine_version_iam_member.py +297 -56
- pulumi_gcp/iap/app_engine_version_iam_policy.py +242 -84
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +283 -54
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +283 -54
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +230 -84
- pulumi_gcp/iap/tunnel_iam_binding.py +259 -54
- pulumi_gcp/iap/tunnel_iam_member.py +259 -54
- pulumi_gcp/iap/tunnel_iam_policy.py +206 -84
- pulumi_gcp/iap/tunnel_instance_iam_binding.py +283 -54
- pulumi_gcp/iap/tunnel_instance_iam_member.py +283 -54
- pulumi_gcp/iap/tunnel_instance_iam_policy.py +230 -84
- pulumi_gcp/iap/web_backend_service_iam_binding.py +272 -55
- pulumi_gcp/iap/web_backend_service_iam_member.py +272 -55
- pulumi_gcp/iap/web_backend_service_iam_policy.py +218 -84
- pulumi_gcp/iap/web_iam_binding.py +259 -54
- pulumi_gcp/iap/web_iam_member.py +259 -54
- pulumi_gcp/iap/web_iam_policy.py +206 -84
- pulumi_gcp/iap/web_region_backend_service_iam_binding.py +284 -55
- pulumi_gcp/iap/web_region_backend_service_iam_member.py +284 -55
- pulumi_gcp/iap/web_region_backend_service_iam_policy.py +230 -84
- pulumi_gcp/iap/web_type_app_enging_iam_binding.py +271 -54
- pulumi_gcp/iap/web_type_app_enging_iam_member.py +271 -54
- pulumi_gcp/iap/web_type_app_enging_iam_policy.py +218 -84
- pulumi_gcp/iap/web_type_compute_iam_binding.py +259 -54
- pulumi_gcp/iap/web_type_compute_iam_member.py +259 -54
- pulumi_gcp/iap/web_type_compute_iam_policy.py +206 -84
- pulumi_gcp/kms/crypto_key_iam_binding.py +36 -37
- pulumi_gcp/kms/crypto_key_iam_member.py +36 -37
- pulumi_gcp/kms/crypto_key_iam_policy.py +0 -63
- pulumi_gcp/kms/key_ring_iam_binding.py +253 -32
- pulumi_gcp/kms/key_ring_iam_member.py +253 -32
- pulumi_gcp/kms/key_ring_iam_policy.py +222 -63
- pulumi_gcp/networksecurity/address_group_iam_policy.py +0 -84
- pulumi_gcp/notebooks/instance_iam_binding.py +154 -53
- pulumi_gcp/notebooks/instance_iam_member.py +154 -53
- pulumi_gcp/notebooks/instance_iam_policy.py +102 -84
- pulumi_gcp/notebooks/runtime_iam_binding.py +155 -54
- pulumi_gcp/notebooks/runtime_iam_member.py +155 -54
- pulumi_gcp/notebooks/runtime_iam_policy.py +102 -84
- pulumi_gcp/organizations/iam_member.py +330 -0
- pulumi_gcp/organizations/iam_policy.py +282 -0
- pulumi_gcp/projects/iam_audit_config.py +270 -0
- pulumi_gcp/projects/iam_binding.py +318 -0
- pulumi_gcp/projects/iam_member.py +318 -0
- pulumi_gcp/projects/iam_policy.py +270 -0
- pulumi_gcp/pubsub/schema_iam_binding.py +148 -53
- pulumi_gcp/pubsub/schema_iam_member.py +148 -53
- pulumi_gcp/pubsub/schema_iam_policy.py +96 -84
- pulumi_gcp/pubsub/subscription_iam_binding.py +146 -57
- pulumi_gcp/pubsub/subscription_iam_member.py +146 -57
- pulumi_gcp/pubsub/subscription_iam_policy.py +90 -63
- pulumi_gcp/pubsub/topic_iam_binding.py +148 -53
- pulumi_gcp/pubsub/topic_iam_member.py +148 -53
- pulumi_gcp/pubsub/topic_iam_policy.py +96 -84
- pulumi_gcp/runtimeconfig/config_iam_binding.py +51 -52
- pulumi_gcp/runtimeconfig/config_iam_member.py +51 -52
- pulumi_gcp/runtimeconfig/config_iam_policy.py +0 -84
- pulumi_gcp/secretmanager/secret_iam_binding.py +147 -52
- pulumi_gcp/secretmanager/secret_iam_member.py +147 -52
- pulumi_gcp/secretmanager/secret_iam_policy.py +96 -84
- pulumi_gcp/serviceaccount/iam_binding.py +262 -51
- pulumi_gcp/serviceaccount/iam_member.py +262 -51
- pulumi_gcp/serviceaccount/iam_policy.py +212 -63
- pulumi_gcp/servicedirectory/namespace_iam_binding.py +136 -47
- pulumi_gcp/servicedirectory/namespace_iam_member.py +136 -47
- pulumi_gcp/servicedirectory/namespace_iam_policy.py +90 -84
- pulumi_gcp/servicedirectory/service_iam_binding.py +136 -47
- pulumi_gcp/servicedirectory/service_iam_member.py +136 -47
- pulumi_gcp/servicedirectory/service_iam_policy.py +90 -84
- pulumi_gcp/sourcerepo/repository_iam_binding.py +147 -52
- pulumi_gcp/sourcerepo/repository_iam_member.py +147 -52
- pulumi_gcp/sourcerepo/repository_iam_policy.py +96 -84
- pulumi_gcp/spanner/database_iam_binding.py +253 -32
- pulumi_gcp/spanner/database_iam_member.py +253 -32
- pulumi_gcp/spanner/database_iam_policy.py +222 -63
- pulumi_gcp/spanner/instance_iam_binding.py +121 -32
- pulumi_gcp/spanner/instance_iam_member.py +121 -32
- pulumi_gcp/spanner/instance_iam_policy.py +90 -63
- pulumi_gcp/storage/bucket_iam_binding.py +255 -50
- pulumi_gcp/storage/bucket_iam_member.py +255 -50
- pulumi_gcp/storage/bucket_iam_policy.py +206 -84
- pulumi_gcp/tags/tag_key_iam_binding.py +149 -60
- pulumi_gcp/tags/tag_key_iam_member.py +149 -60
- pulumi_gcp/tags/tag_key_iam_policy.py +90 -84
- pulumi_gcp/tags/tag_value_iam_binding.py +149 -60
- pulumi_gcp/tags/tag_value_iam_member.py +149 -60
- pulumi_gcp/tags/tag_value_iam_policy.py +90 -84
- pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +33 -34
- pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +33 -34
- pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +0 -84
- pulumi_gcp/vertex/ai_feature_store_iam_binding.py +51 -52
- pulumi_gcp/vertex/ai_feature_store_iam_member.py +51 -52
- pulumi_gcp/vertex/ai_feature_store_iam_policy.py +0 -84
- pulumi_gcp/workstations/workstation_config_iam_binding.py +53 -54
- pulumi_gcp/workstations/workstation_config_iam_member.py +53 -54
- pulumi_gcp/workstations/workstation_config_iam_policy.py +0 -84
- pulumi_gcp/workstations/workstation_iam_binding.py +53 -54
- pulumi_gcp/workstations/workstation_iam_member.py +53 -54
- pulumi_gcp/workstations/workstation_iam_policy.py +0 -84
- {pulumi_gcp-7.19.0a1712989149.dist-info → pulumi_gcp-7.19.0a1713335069.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.19.0a1712989149.dist-info → pulumi_gcp-7.19.0a1713335069.dist-info}/RECORD +295 -295
- {pulumi_gcp-7.19.0a1712989149.dist-info → pulumi_gcp-7.19.0a1713335069.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.19.0a1712989149.dist-info → pulumi_gcp-7.19.0a1713335069.dist-info}/top_level.txt +0 -0
@@ -297,6 +297,141 @@ class IamAuditConfig(pulumi.CustomResource):
|
|
297
297
|
```
|
298
298
|
<!--End PulumiCodeChooser -->
|
299
299
|
|
300
|
+
## google\\_folder\\_iam\\_policy
|
301
|
+
|
302
|
+
!> **Be careful!** You can accidentally lock yourself out of your folder
|
303
|
+
using this resource. Deleting a `folder.IAMPolicy` removes access
|
304
|
+
from anyone without permissions on its parent folder/organization. Proceed with caution.
|
305
|
+
It's not recommended to use `folder.IAMPolicy` with your provider folder
|
306
|
+
to avoid locking yourself out, and it should generally only be used with folders
|
307
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
308
|
+
applying the change.
|
309
|
+
|
310
|
+
<!--Start PulumiCodeChooser -->
|
311
|
+
```python
|
312
|
+
import pulumi
|
313
|
+
import pulumi_gcp as gcp
|
314
|
+
|
315
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
316
|
+
role="roles/editor",
|
317
|
+
members=["user:jane@example.com"],
|
318
|
+
)])
|
319
|
+
folder = gcp.folder.IAMPolicy("folder",
|
320
|
+
folder="folders/1234567",
|
321
|
+
policy_data=admin.policy_data)
|
322
|
+
```
|
323
|
+
<!--End PulumiCodeChooser -->
|
324
|
+
|
325
|
+
With IAM Conditions:
|
326
|
+
|
327
|
+
<!--Start PulumiCodeChooser -->
|
328
|
+
```python
|
329
|
+
import pulumi
|
330
|
+
import pulumi_gcp as gcp
|
331
|
+
|
332
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
333
|
+
role="roles/compute.admin",
|
334
|
+
members=["user:jane@example.com"],
|
335
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
336
|
+
title="expires_after_2019_12_31",
|
337
|
+
description="Expiring at midnight of 2019-12-31",
|
338
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
339
|
+
),
|
340
|
+
)])
|
341
|
+
folder = gcp.folder.IAMPolicy("folder",
|
342
|
+
folder="folders/1234567",
|
343
|
+
policy_data=admin.policy_data)
|
344
|
+
```
|
345
|
+
<!--End PulumiCodeChooser -->
|
346
|
+
|
347
|
+
## google\\_folder\\_iam\\_binding
|
348
|
+
|
349
|
+
<!--Start PulumiCodeChooser -->
|
350
|
+
```python
|
351
|
+
import pulumi
|
352
|
+
import pulumi_gcp as gcp
|
353
|
+
|
354
|
+
folder = gcp.folder.IAMBinding("folder",
|
355
|
+
folder="folders/1234567",
|
356
|
+
role="roles/editor",
|
357
|
+
members=["user:jane@example.com"])
|
358
|
+
```
|
359
|
+
<!--End PulumiCodeChooser -->
|
360
|
+
|
361
|
+
With IAM Conditions:
|
362
|
+
|
363
|
+
<!--Start PulumiCodeChooser -->
|
364
|
+
```python
|
365
|
+
import pulumi
|
366
|
+
import pulumi_gcp as gcp
|
367
|
+
|
368
|
+
folder = gcp.folder.IAMBinding("folder",
|
369
|
+
folder="folders/1234567",
|
370
|
+
role="roles/container.admin",
|
371
|
+
members=["user:jane@example.com"],
|
372
|
+
condition=gcp.folder.IAMBindingConditionArgs(
|
373
|
+
title="expires_after_2019_12_31",
|
374
|
+
description="Expiring at midnight of 2019-12-31",
|
375
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
376
|
+
))
|
377
|
+
```
|
378
|
+
<!--End PulumiCodeChooser -->
|
379
|
+
|
380
|
+
## google\\_folder\\_iam\\_member
|
381
|
+
|
382
|
+
<!--Start PulumiCodeChooser -->
|
383
|
+
```python
|
384
|
+
import pulumi
|
385
|
+
import pulumi_gcp as gcp
|
386
|
+
|
387
|
+
folder = gcp.folder.IAMMember("folder",
|
388
|
+
folder="folders/1234567",
|
389
|
+
role="roles/editor",
|
390
|
+
member="user:jane@example.com")
|
391
|
+
```
|
392
|
+
<!--End PulumiCodeChooser -->
|
393
|
+
|
394
|
+
With IAM Conditions:
|
395
|
+
|
396
|
+
<!--Start PulumiCodeChooser -->
|
397
|
+
```python
|
398
|
+
import pulumi
|
399
|
+
import pulumi_gcp as gcp
|
400
|
+
|
401
|
+
folder = gcp.folder.IAMMember("folder",
|
402
|
+
folder="folders/1234567",
|
403
|
+
role="roles/firebase.admin",
|
404
|
+
member="user:jane@example.com",
|
405
|
+
condition=gcp.folder.IAMMemberConditionArgs(
|
406
|
+
title="expires_after_2019_12_31",
|
407
|
+
description="Expiring at midnight of 2019-12-31",
|
408
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
409
|
+
))
|
410
|
+
```
|
411
|
+
<!--End PulumiCodeChooser -->
|
412
|
+
|
413
|
+
## google\\_folder\\_iam\\_audit\\_config
|
414
|
+
|
415
|
+
<!--Start PulumiCodeChooser -->
|
416
|
+
```python
|
417
|
+
import pulumi
|
418
|
+
import pulumi_gcp as gcp
|
419
|
+
|
420
|
+
folder = gcp.folder.IamAuditConfig("folder",
|
421
|
+
folder="folders/1234567",
|
422
|
+
service="allServices",
|
423
|
+
audit_log_configs=[
|
424
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
425
|
+
log_type="ADMIN_READ",
|
426
|
+
),
|
427
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
428
|
+
log_type="DATA_READ",
|
429
|
+
exempted_members=["user:joebloggs@example.com"],
|
430
|
+
),
|
431
|
+
])
|
432
|
+
```
|
433
|
+
<!--End PulumiCodeChooser -->
|
434
|
+
|
300
435
|
## Import
|
301
436
|
|
302
437
|
### Importing Audit Configs
|
@@ -485,6 +620,141 @@ class IamAuditConfig(pulumi.CustomResource):
|
|
485
620
|
```
|
486
621
|
<!--End PulumiCodeChooser -->
|
487
622
|
|
623
|
+
## google\\_folder\\_iam\\_policy
|
624
|
+
|
625
|
+
!> **Be careful!** You can accidentally lock yourself out of your folder
|
626
|
+
using this resource. Deleting a `folder.IAMPolicy` removes access
|
627
|
+
from anyone without permissions on its parent folder/organization. Proceed with caution.
|
628
|
+
It's not recommended to use `folder.IAMPolicy` with your provider folder
|
629
|
+
to avoid locking yourself out, and it should generally only be used with folders
|
630
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
631
|
+
applying the change.
|
632
|
+
|
633
|
+
<!--Start PulumiCodeChooser -->
|
634
|
+
```python
|
635
|
+
import pulumi
|
636
|
+
import pulumi_gcp as gcp
|
637
|
+
|
638
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
639
|
+
role="roles/editor",
|
640
|
+
members=["user:jane@example.com"],
|
641
|
+
)])
|
642
|
+
folder = gcp.folder.IAMPolicy("folder",
|
643
|
+
folder="folders/1234567",
|
644
|
+
policy_data=admin.policy_data)
|
645
|
+
```
|
646
|
+
<!--End PulumiCodeChooser -->
|
647
|
+
|
648
|
+
With IAM Conditions:
|
649
|
+
|
650
|
+
<!--Start PulumiCodeChooser -->
|
651
|
+
```python
|
652
|
+
import pulumi
|
653
|
+
import pulumi_gcp as gcp
|
654
|
+
|
655
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
656
|
+
role="roles/compute.admin",
|
657
|
+
members=["user:jane@example.com"],
|
658
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
659
|
+
title="expires_after_2019_12_31",
|
660
|
+
description="Expiring at midnight of 2019-12-31",
|
661
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
662
|
+
),
|
663
|
+
)])
|
664
|
+
folder = gcp.folder.IAMPolicy("folder",
|
665
|
+
folder="folders/1234567",
|
666
|
+
policy_data=admin.policy_data)
|
667
|
+
```
|
668
|
+
<!--End PulumiCodeChooser -->
|
669
|
+
|
670
|
+
## google\\_folder\\_iam\\_binding
|
671
|
+
|
672
|
+
<!--Start PulumiCodeChooser -->
|
673
|
+
```python
|
674
|
+
import pulumi
|
675
|
+
import pulumi_gcp as gcp
|
676
|
+
|
677
|
+
folder = gcp.folder.IAMBinding("folder",
|
678
|
+
folder="folders/1234567",
|
679
|
+
role="roles/editor",
|
680
|
+
members=["user:jane@example.com"])
|
681
|
+
```
|
682
|
+
<!--End PulumiCodeChooser -->
|
683
|
+
|
684
|
+
With IAM Conditions:
|
685
|
+
|
686
|
+
<!--Start PulumiCodeChooser -->
|
687
|
+
```python
|
688
|
+
import pulumi
|
689
|
+
import pulumi_gcp as gcp
|
690
|
+
|
691
|
+
folder = gcp.folder.IAMBinding("folder",
|
692
|
+
folder="folders/1234567",
|
693
|
+
role="roles/container.admin",
|
694
|
+
members=["user:jane@example.com"],
|
695
|
+
condition=gcp.folder.IAMBindingConditionArgs(
|
696
|
+
title="expires_after_2019_12_31",
|
697
|
+
description="Expiring at midnight of 2019-12-31",
|
698
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
699
|
+
))
|
700
|
+
```
|
701
|
+
<!--End PulumiCodeChooser -->
|
702
|
+
|
703
|
+
## google\\_folder\\_iam\\_member
|
704
|
+
|
705
|
+
<!--Start PulumiCodeChooser -->
|
706
|
+
```python
|
707
|
+
import pulumi
|
708
|
+
import pulumi_gcp as gcp
|
709
|
+
|
710
|
+
folder = gcp.folder.IAMMember("folder",
|
711
|
+
folder="folders/1234567",
|
712
|
+
role="roles/editor",
|
713
|
+
member="user:jane@example.com")
|
714
|
+
```
|
715
|
+
<!--End PulumiCodeChooser -->
|
716
|
+
|
717
|
+
With IAM Conditions:
|
718
|
+
|
719
|
+
<!--Start PulumiCodeChooser -->
|
720
|
+
```python
|
721
|
+
import pulumi
|
722
|
+
import pulumi_gcp as gcp
|
723
|
+
|
724
|
+
folder = gcp.folder.IAMMember("folder",
|
725
|
+
folder="folders/1234567",
|
726
|
+
role="roles/firebase.admin",
|
727
|
+
member="user:jane@example.com",
|
728
|
+
condition=gcp.folder.IAMMemberConditionArgs(
|
729
|
+
title="expires_after_2019_12_31",
|
730
|
+
description="Expiring at midnight of 2019-12-31",
|
731
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
732
|
+
))
|
733
|
+
```
|
734
|
+
<!--End PulumiCodeChooser -->
|
735
|
+
|
736
|
+
## google\\_folder\\_iam\\_audit\\_config
|
737
|
+
|
738
|
+
<!--Start PulumiCodeChooser -->
|
739
|
+
```python
|
740
|
+
import pulumi
|
741
|
+
import pulumi_gcp as gcp
|
742
|
+
|
743
|
+
folder = gcp.folder.IamAuditConfig("folder",
|
744
|
+
folder="folders/1234567",
|
745
|
+
service="allServices",
|
746
|
+
audit_log_configs=[
|
747
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
748
|
+
log_type="ADMIN_READ",
|
749
|
+
),
|
750
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
751
|
+
log_type="DATA_READ",
|
752
|
+
exempted_members=["user:joebloggs@example.com"],
|
753
|
+
),
|
754
|
+
])
|
755
|
+
```
|
756
|
+
<!--End PulumiCodeChooser -->
|
757
|
+
|
488
758
|
## Import
|
489
759
|
|
490
760
|
### Importing Audit Configs
|
pulumi_gcp/folder/iam_member.py
CHANGED
@@ -23,6 +23,12 @@ class IAMMemberArgs:
|
|
23
23
|
"""
|
24
24
|
The set of arguments for constructing a IAMMember resource.
|
25
25
|
:param pulumi.Input[str] folder: The resource name of the folder the policy is attached to. Its format is folders/{folder_id}.
|
26
|
+
:param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
|
27
|
+
Each entry can have one of the following values:
|
28
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
29
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
30
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
31
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
26
32
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
27
33
|
`folder.IAMBinding` can be used per role. Note that custom roles must be of the format
|
28
34
|
`organizations/{{org_id}}/roles/{{role_id}}`.
|
@@ -50,6 +56,14 @@ class IAMMemberArgs:
|
|
50
56
|
@property
|
51
57
|
@pulumi.getter
|
52
58
|
def member(self) -> pulumi.Input[str]:
|
59
|
+
"""
|
60
|
+
Identities that will be granted the privilege in `role`.
|
61
|
+
Each entry can have one of the following values:
|
62
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
63
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
64
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
65
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
66
|
+
"""
|
53
67
|
return pulumi.get(self, "member")
|
54
68
|
|
55
69
|
@member.setter
|
@@ -98,6 +112,12 @@ class _IAMMemberState:
|
|
98
112
|
Structure is documented below.
|
99
113
|
:param pulumi.Input[str] etag: (Computed) The etag of the folder's IAM policy.
|
100
114
|
:param pulumi.Input[str] folder: The resource name of the folder the policy is attached to. Its format is folders/{folder_id}.
|
115
|
+
:param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
|
116
|
+
Each entry can have one of the following values:
|
117
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
118
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
119
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
120
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
101
121
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
102
122
|
`folder.IAMBinding` can be used per role. Note that custom roles must be of the format
|
103
123
|
`organizations/{{org_id}}/roles/{{role_id}}`.
|
@@ -153,6 +173,14 @@ class _IAMMemberState:
|
|
153
173
|
@property
|
154
174
|
@pulumi.getter
|
155
175
|
def member(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
Identities that will be granted the privilege in `role`.
|
178
|
+
Each entry can have one of the following values:
|
179
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
180
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
181
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
182
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
183
|
+
"""
|
156
184
|
return pulumi.get(self, "member")
|
157
185
|
|
158
186
|
@member.setter
|
@@ -334,6 +362,141 @@ class IAMMember(pulumi.CustomResource):
|
|
334
362
|
```
|
335
363
|
<!--End PulumiCodeChooser -->
|
336
364
|
|
365
|
+
## google\\_folder\\_iam\\_policy
|
366
|
+
|
367
|
+
!> **Be careful!** You can accidentally lock yourself out of your folder
|
368
|
+
using this resource. Deleting a `folder.IAMPolicy` removes access
|
369
|
+
from anyone without permissions on its parent folder/organization. Proceed with caution.
|
370
|
+
It's not recommended to use `folder.IAMPolicy` with your provider folder
|
371
|
+
to avoid locking yourself out, and it should generally only be used with folders
|
372
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
373
|
+
applying the change.
|
374
|
+
|
375
|
+
<!--Start PulumiCodeChooser -->
|
376
|
+
```python
|
377
|
+
import pulumi
|
378
|
+
import pulumi_gcp as gcp
|
379
|
+
|
380
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
381
|
+
role="roles/editor",
|
382
|
+
members=["user:jane@example.com"],
|
383
|
+
)])
|
384
|
+
folder = gcp.folder.IAMPolicy("folder",
|
385
|
+
folder="folders/1234567",
|
386
|
+
policy_data=admin.policy_data)
|
387
|
+
```
|
388
|
+
<!--End PulumiCodeChooser -->
|
389
|
+
|
390
|
+
With IAM Conditions:
|
391
|
+
|
392
|
+
<!--Start PulumiCodeChooser -->
|
393
|
+
```python
|
394
|
+
import pulumi
|
395
|
+
import pulumi_gcp as gcp
|
396
|
+
|
397
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
398
|
+
role="roles/compute.admin",
|
399
|
+
members=["user:jane@example.com"],
|
400
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
401
|
+
title="expires_after_2019_12_31",
|
402
|
+
description="Expiring at midnight of 2019-12-31",
|
403
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
404
|
+
),
|
405
|
+
)])
|
406
|
+
folder = gcp.folder.IAMPolicy("folder",
|
407
|
+
folder="folders/1234567",
|
408
|
+
policy_data=admin.policy_data)
|
409
|
+
```
|
410
|
+
<!--End PulumiCodeChooser -->
|
411
|
+
|
412
|
+
## google\\_folder\\_iam\\_binding
|
413
|
+
|
414
|
+
<!--Start PulumiCodeChooser -->
|
415
|
+
```python
|
416
|
+
import pulumi
|
417
|
+
import pulumi_gcp as gcp
|
418
|
+
|
419
|
+
folder = gcp.folder.IAMBinding("folder",
|
420
|
+
folder="folders/1234567",
|
421
|
+
role="roles/editor",
|
422
|
+
members=["user:jane@example.com"])
|
423
|
+
```
|
424
|
+
<!--End PulumiCodeChooser -->
|
425
|
+
|
426
|
+
With IAM Conditions:
|
427
|
+
|
428
|
+
<!--Start PulumiCodeChooser -->
|
429
|
+
```python
|
430
|
+
import pulumi
|
431
|
+
import pulumi_gcp as gcp
|
432
|
+
|
433
|
+
folder = gcp.folder.IAMBinding("folder",
|
434
|
+
folder="folders/1234567",
|
435
|
+
role="roles/container.admin",
|
436
|
+
members=["user:jane@example.com"],
|
437
|
+
condition=gcp.folder.IAMBindingConditionArgs(
|
438
|
+
title="expires_after_2019_12_31",
|
439
|
+
description="Expiring at midnight of 2019-12-31",
|
440
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
441
|
+
))
|
442
|
+
```
|
443
|
+
<!--End PulumiCodeChooser -->
|
444
|
+
|
445
|
+
## google\\_folder\\_iam\\_member
|
446
|
+
|
447
|
+
<!--Start PulumiCodeChooser -->
|
448
|
+
```python
|
449
|
+
import pulumi
|
450
|
+
import pulumi_gcp as gcp
|
451
|
+
|
452
|
+
folder = gcp.folder.IAMMember("folder",
|
453
|
+
folder="folders/1234567",
|
454
|
+
role="roles/editor",
|
455
|
+
member="user:jane@example.com")
|
456
|
+
```
|
457
|
+
<!--End PulumiCodeChooser -->
|
458
|
+
|
459
|
+
With IAM Conditions:
|
460
|
+
|
461
|
+
<!--Start PulumiCodeChooser -->
|
462
|
+
```python
|
463
|
+
import pulumi
|
464
|
+
import pulumi_gcp as gcp
|
465
|
+
|
466
|
+
folder = gcp.folder.IAMMember("folder",
|
467
|
+
folder="folders/1234567",
|
468
|
+
role="roles/firebase.admin",
|
469
|
+
member="user:jane@example.com",
|
470
|
+
condition=gcp.folder.IAMMemberConditionArgs(
|
471
|
+
title="expires_after_2019_12_31",
|
472
|
+
description="Expiring at midnight of 2019-12-31",
|
473
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
474
|
+
))
|
475
|
+
```
|
476
|
+
<!--End PulumiCodeChooser -->
|
477
|
+
|
478
|
+
## google\\_folder\\_iam\\_audit\\_config
|
479
|
+
|
480
|
+
<!--Start PulumiCodeChooser -->
|
481
|
+
```python
|
482
|
+
import pulumi
|
483
|
+
import pulumi_gcp as gcp
|
484
|
+
|
485
|
+
folder = gcp.folder.IamAuditConfig("folder",
|
486
|
+
folder="folders/1234567",
|
487
|
+
service="allServices",
|
488
|
+
audit_log_configs=[
|
489
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
490
|
+
log_type="ADMIN_READ",
|
491
|
+
),
|
492
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
493
|
+
log_type="DATA_READ",
|
494
|
+
exempted_members=["user:joebloggs@example.com"],
|
495
|
+
),
|
496
|
+
])
|
497
|
+
```
|
498
|
+
<!--End PulumiCodeChooser -->
|
499
|
+
|
337
500
|
## Import
|
338
501
|
|
339
502
|
### Importing Audit Configs
|
@@ -365,6 +528,12 @@ class IAMMember(pulumi.CustomResource):
|
|
365
528
|
:param pulumi.Input[pulumi.InputType['IAMMemberConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
366
529
|
Structure is documented below.
|
367
530
|
:param pulumi.Input[str] folder: The resource name of the folder the policy is attached to. Its format is folders/{folder_id}.
|
531
|
+
:param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
|
532
|
+
Each entry can have one of the following values:
|
533
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
534
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
535
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
536
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
368
537
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
369
538
|
`folder.IAMBinding` can be used per role. Note that custom roles must be of the format
|
370
539
|
`organizations/{{org_id}}/roles/{{role_id}}`.
|
@@ -525,6 +694,141 @@ class IAMMember(pulumi.CustomResource):
|
|
525
694
|
```
|
526
695
|
<!--End PulumiCodeChooser -->
|
527
696
|
|
697
|
+
## google\\_folder\\_iam\\_policy
|
698
|
+
|
699
|
+
!> **Be careful!** You can accidentally lock yourself out of your folder
|
700
|
+
using this resource. Deleting a `folder.IAMPolicy` removes access
|
701
|
+
from anyone without permissions on its parent folder/organization. Proceed with caution.
|
702
|
+
It's not recommended to use `folder.IAMPolicy` with your provider folder
|
703
|
+
to avoid locking yourself out, and it should generally only be used with folders
|
704
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
705
|
+
applying the change.
|
706
|
+
|
707
|
+
<!--Start PulumiCodeChooser -->
|
708
|
+
```python
|
709
|
+
import pulumi
|
710
|
+
import pulumi_gcp as gcp
|
711
|
+
|
712
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
713
|
+
role="roles/editor",
|
714
|
+
members=["user:jane@example.com"],
|
715
|
+
)])
|
716
|
+
folder = gcp.folder.IAMPolicy("folder",
|
717
|
+
folder="folders/1234567",
|
718
|
+
policy_data=admin.policy_data)
|
719
|
+
```
|
720
|
+
<!--End PulumiCodeChooser -->
|
721
|
+
|
722
|
+
With IAM Conditions:
|
723
|
+
|
724
|
+
<!--Start PulumiCodeChooser -->
|
725
|
+
```python
|
726
|
+
import pulumi
|
727
|
+
import pulumi_gcp as gcp
|
728
|
+
|
729
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
730
|
+
role="roles/compute.admin",
|
731
|
+
members=["user:jane@example.com"],
|
732
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
733
|
+
title="expires_after_2019_12_31",
|
734
|
+
description="Expiring at midnight of 2019-12-31",
|
735
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
736
|
+
),
|
737
|
+
)])
|
738
|
+
folder = gcp.folder.IAMPolicy("folder",
|
739
|
+
folder="folders/1234567",
|
740
|
+
policy_data=admin.policy_data)
|
741
|
+
```
|
742
|
+
<!--End PulumiCodeChooser -->
|
743
|
+
|
744
|
+
## google\\_folder\\_iam\\_binding
|
745
|
+
|
746
|
+
<!--Start PulumiCodeChooser -->
|
747
|
+
```python
|
748
|
+
import pulumi
|
749
|
+
import pulumi_gcp as gcp
|
750
|
+
|
751
|
+
folder = gcp.folder.IAMBinding("folder",
|
752
|
+
folder="folders/1234567",
|
753
|
+
role="roles/editor",
|
754
|
+
members=["user:jane@example.com"])
|
755
|
+
```
|
756
|
+
<!--End PulumiCodeChooser -->
|
757
|
+
|
758
|
+
With IAM Conditions:
|
759
|
+
|
760
|
+
<!--Start PulumiCodeChooser -->
|
761
|
+
```python
|
762
|
+
import pulumi
|
763
|
+
import pulumi_gcp as gcp
|
764
|
+
|
765
|
+
folder = gcp.folder.IAMBinding("folder",
|
766
|
+
folder="folders/1234567",
|
767
|
+
role="roles/container.admin",
|
768
|
+
members=["user:jane@example.com"],
|
769
|
+
condition=gcp.folder.IAMBindingConditionArgs(
|
770
|
+
title="expires_after_2019_12_31",
|
771
|
+
description="Expiring at midnight of 2019-12-31",
|
772
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
773
|
+
))
|
774
|
+
```
|
775
|
+
<!--End PulumiCodeChooser -->
|
776
|
+
|
777
|
+
## google\\_folder\\_iam\\_member
|
778
|
+
|
779
|
+
<!--Start PulumiCodeChooser -->
|
780
|
+
```python
|
781
|
+
import pulumi
|
782
|
+
import pulumi_gcp as gcp
|
783
|
+
|
784
|
+
folder = gcp.folder.IAMMember("folder",
|
785
|
+
folder="folders/1234567",
|
786
|
+
role="roles/editor",
|
787
|
+
member="user:jane@example.com")
|
788
|
+
```
|
789
|
+
<!--End PulumiCodeChooser -->
|
790
|
+
|
791
|
+
With IAM Conditions:
|
792
|
+
|
793
|
+
<!--Start PulumiCodeChooser -->
|
794
|
+
```python
|
795
|
+
import pulumi
|
796
|
+
import pulumi_gcp as gcp
|
797
|
+
|
798
|
+
folder = gcp.folder.IAMMember("folder",
|
799
|
+
folder="folders/1234567",
|
800
|
+
role="roles/firebase.admin",
|
801
|
+
member="user:jane@example.com",
|
802
|
+
condition=gcp.folder.IAMMemberConditionArgs(
|
803
|
+
title="expires_after_2019_12_31",
|
804
|
+
description="Expiring at midnight of 2019-12-31",
|
805
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
806
|
+
))
|
807
|
+
```
|
808
|
+
<!--End PulumiCodeChooser -->
|
809
|
+
|
810
|
+
## google\\_folder\\_iam\\_audit\\_config
|
811
|
+
|
812
|
+
<!--Start PulumiCodeChooser -->
|
813
|
+
```python
|
814
|
+
import pulumi
|
815
|
+
import pulumi_gcp as gcp
|
816
|
+
|
817
|
+
folder = gcp.folder.IamAuditConfig("folder",
|
818
|
+
folder="folders/1234567",
|
819
|
+
service="allServices",
|
820
|
+
audit_log_configs=[
|
821
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
822
|
+
log_type="ADMIN_READ",
|
823
|
+
),
|
824
|
+
gcp.folder.IamAuditConfigAuditLogConfigArgs(
|
825
|
+
log_type="DATA_READ",
|
826
|
+
exempted_members=["user:joebloggs@example.com"],
|
827
|
+
),
|
828
|
+
])
|
829
|
+
```
|
830
|
+
<!--End PulumiCodeChooser -->
|
831
|
+
|
528
832
|
## Import
|
529
833
|
|
530
834
|
### Importing Audit Configs
|
@@ -616,6 +920,12 @@ class IAMMember(pulumi.CustomResource):
|
|
616
920
|
Structure is documented below.
|
617
921
|
:param pulumi.Input[str] etag: (Computed) The etag of the folder's IAM policy.
|
618
922
|
:param pulumi.Input[str] folder: The resource name of the folder the policy is attached to. Its format is folders/{folder_id}.
|
923
|
+
:param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
|
924
|
+
Each entry can have one of the following values:
|
925
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
926
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
927
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
928
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
619
929
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
620
930
|
`folder.IAMBinding` can be used per role. Note that custom roles must be of the format
|
621
931
|
`organizations/{{org_id}}/roles/{{role_id}}`.
|
@@ -659,6 +969,14 @@ class IAMMember(pulumi.CustomResource):
|
|
659
969
|
@property
|
660
970
|
@pulumi.getter
|
661
971
|
def member(self) -> pulumi.Output[str]:
|
972
|
+
"""
|
973
|
+
Identities that will be granted the privilege in `role`.
|
974
|
+
Each entry can have one of the following values:
|
975
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
976
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
977
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
978
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
979
|
+
"""
|
662
980
|
return pulumi.get(self, "member")
|
663
981
|
|
664
982
|
@property
|