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
@@ -301,6 +301,141 @@ class IAMAuditConfig(pulumi.CustomResource):
|
|
301
301
|
```
|
302
302
|
<!--End PulumiCodeChooser -->
|
303
303
|
|
304
|
+
## google\\_project\\_iam\\_policy
|
305
|
+
|
306
|
+
!> **Be careful!** You can accidentally lock yourself out of your project
|
307
|
+
using this resource. Deleting a `projects.IAMPolicy` removes access
|
308
|
+
from anyone without organization-level access to the project. Proceed with caution.
|
309
|
+
It's not recommended to use `projects.IAMPolicy` with your provider project
|
310
|
+
to avoid locking yourself out, and it should generally only be used with projects
|
311
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
312
|
+
applying the change.
|
313
|
+
|
314
|
+
<!--Start PulumiCodeChooser -->
|
315
|
+
```python
|
316
|
+
import pulumi
|
317
|
+
import pulumi_gcp as gcp
|
318
|
+
|
319
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
320
|
+
role="roles/editor",
|
321
|
+
members=["user:jane@example.com"],
|
322
|
+
)])
|
323
|
+
project = gcp.projects.IAMPolicy("project",
|
324
|
+
project="your-project-id",
|
325
|
+
policy_data=admin.policy_data)
|
326
|
+
```
|
327
|
+
<!--End PulumiCodeChooser -->
|
328
|
+
|
329
|
+
With IAM Conditions:
|
330
|
+
|
331
|
+
<!--Start PulumiCodeChooser -->
|
332
|
+
```python
|
333
|
+
import pulumi
|
334
|
+
import pulumi_gcp as gcp
|
335
|
+
|
336
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
337
|
+
role="roles/compute.admin",
|
338
|
+
members=["user:jane@example.com"],
|
339
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
340
|
+
title="expires_after_2019_12_31",
|
341
|
+
description="Expiring at midnight of 2019-12-31",
|
342
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
343
|
+
),
|
344
|
+
)])
|
345
|
+
project = gcp.projects.IAMPolicy("project",
|
346
|
+
project="your-project-id",
|
347
|
+
policy_data=admin.policy_data)
|
348
|
+
```
|
349
|
+
<!--End PulumiCodeChooser -->
|
350
|
+
|
351
|
+
## google\\_project\\_iam\\_binding
|
352
|
+
|
353
|
+
<!--Start PulumiCodeChooser -->
|
354
|
+
```python
|
355
|
+
import pulumi
|
356
|
+
import pulumi_gcp as gcp
|
357
|
+
|
358
|
+
project = gcp.projects.IAMBinding("project",
|
359
|
+
project="your-project-id",
|
360
|
+
role="roles/editor",
|
361
|
+
members=["user:jane@example.com"])
|
362
|
+
```
|
363
|
+
<!--End PulumiCodeChooser -->
|
364
|
+
|
365
|
+
With IAM Conditions:
|
366
|
+
|
367
|
+
<!--Start PulumiCodeChooser -->
|
368
|
+
```python
|
369
|
+
import pulumi
|
370
|
+
import pulumi_gcp as gcp
|
371
|
+
|
372
|
+
project = gcp.projects.IAMBinding("project",
|
373
|
+
project="your-project-id",
|
374
|
+
role="roles/container.admin",
|
375
|
+
members=["user:jane@example.com"],
|
376
|
+
condition=gcp.projects.IAMBindingConditionArgs(
|
377
|
+
title="expires_after_2019_12_31",
|
378
|
+
description="Expiring at midnight of 2019-12-31",
|
379
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
380
|
+
))
|
381
|
+
```
|
382
|
+
<!--End PulumiCodeChooser -->
|
383
|
+
|
384
|
+
## google\\_project\\_iam\\_member
|
385
|
+
|
386
|
+
<!--Start PulumiCodeChooser -->
|
387
|
+
```python
|
388
|
+
import pulumi
|
389
|
+
import pulumi_gcp as gcp
|
390
|
+
|
391
|
+
project = gcp.projects.IAMMember("project",
|
392
|
+
project="your-project-id",
|
393
|
+
role="roles/editor",
|
394
|
+
member="user:jane@example.com")
|
395
|
+
```
|
396
|
+
<!--End PulumiCodeChooser -->
|
397
|
+
|
398
|
+
With IAM Conditions:
|
399
|
+
|
400
|
+
<!--Start PulumiCodeChooser -->
|
401
|
+
```python
|
402
|
+
import pulumi
|
403
|
+
import pulumi_gcp as gcp
|
404
|
+
|
405
|
+
project = gcp.projects.IAMMember("project",
|
406
|
+
project="your-project-id",
|
407
|
+
role="roles/firebase.admin",
|
408
|
+
member="user:jane@example.com",
|
409
|
+
condition=gcp.projects.IAMMemberConditionArgs(
|
410
|
+
title="expires_after_2019_12_31",
|
411
|
+
description="Expiring at midnight of 2019-12-31",
|
412
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
413
|
+
))
|
414
|
+
```
|
415
|
+
<!--End PulumiCodeChooser -->
|
416
|
+
|
417
|
+
## google\\_project\\_iam\\_audit\\_config
|
418
|
+
|
419
|
+
<!--Start PulumiCodeChooser -->
|
420
|
+
```python
|
421
|
+
import pulumi
|
422
|
+
import pulumi_gcp as gcp
|
423
|
+
|
424
|
+
project = gcp.projects.IAMAuditConfig("project",
|
425
|
+
project="your-project-id",
|
426
|
+
service="allServices",
|
427
|
+
audit_log_configs=[
|
428
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
429
|
+
log_type="ADMIN_READ",
|
430
|
+
),
|
431
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
432
|
+
log_type="DATA_READ",
|
433
|
+
exempted_members=["user:joebloggs@example.com"],
|
434
|
+
),
|
435
|
+
])
|
436
|
+
```
|
437
|
+
<!--End PulumiCodeChooser -->
|
438
|
+
|
304
439
|
## Import
|
305
440
|
|
306
441
|
### Importing Audit Configs
|
@@ -490,6 +625,141 @@ class IAMAuditConfig(pulumi.CustomResource):
|
|
490
625
|
```
|
491
626
|
<!--End PulumiCodeChooser -->
|
492
627
|
|
628
|
+
## google\\_project\\_iam\\_policy
|
629
|
+
|
630
|
+
!> **Be careful!** You can accidentally lock yourself out of your project
|
631
|
+
using this resource. Deleting a `projects.IAMPolicy` removes access
|
632
|
+
from anyone without organization-level access to the project. Proceed with caution.
|
633
|
+
It's not recommended to use `projects.IAMPolicy` with your provider project
|
634
|
+
to avoid locking yourself out, and it should generally only be used with projects
|
635
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
636
|
+
applying the change.
|
637
|
+
|
638
|
+
<!--Start PulumiCodeChooser -->
|
639
|
+
```python
|
640
|
+
import pulumi
|
641
|
+
import pulumi_gcp as gcp
|
642
|
+
|
643
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
644
|
+
role="roles/editor",
|
645
|
+
members=["user:jane@example.com"],
|
646
|
+
)])
|
647
|
+
project = gcp.projects.IAMPolicy("project",
|
648
|
+
project="your-project-id",
|
649
|
+
policy_data=admin.policy_data)
|
650
|
+
```
|
651
|
+
<!--End PulumiCodeChooser -->
|
652
|
+
|
653
|
+
With IAM Conditions:
|
654
|
+
|
655
|
+
<!--Start PulumiCodeChooser -->
|
656
|
+
```python
|
657
|
+
import pulumi
|
658
|
+
import pulumi_gcp as gcp
|
659
|
+
|
660
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
661
|
+
role="roles/compute.admin",
|
662
|
+
members=["user:jane@example.com"],
|
663
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
664
|
+
title="expires_after_2019_12_31",
|
665
|
+
description="Expiring at midnight of 2019-12-31",
|
666
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
667
|
+
),
|
668
|
+
)])
|
669
|
+
project = gcp.projects.IAMPolicy("project",
|
670
|
+
project="your-project-id",
|
671
|
+
policy_data=admin.policy_data)
|
672
|
+
```
|
673
|
+
<!--End PulumiCodeChooser -->
|
674
|
+
|
675
|
+
## google\\_project\\_iam\\_binding
|
676
|
+
|
677
|
+
<!--Start PulumiCodeChooser -->
|
678
|
+
```python
|
679
|
+
import pulumi
|
680
|
+
import pulumi_gcp as gcp
|
681
|
+
|
682
|
+
project = gcp.projects.IAMBinding("project",
|
683
|
+
project="your-project-id",
|
684
|
+
role="roles/editor",
|
685
|
+
members=["user:jane@example.com"])
|
686
|
+
```
|
687
|
+
<!--End PulumiCodeChooser -->
|
688
|
+
|
689
|
+
With IAM Conditions:
|
690
|
+
|
691
|
+
<!--Start PulumiCodeChooser -->
|
692
|
+
```python
|
693
|
+
import pulumi
|
694
|
+
import pulumi_gcp as gcp
|
695
|
+
|
696
|
+
project = gcp.projects.IAMBinding("project",
|
697
|
+
project="your-project-id",
|
698
|
+
role="roles/container.admin",
|
699
|
+
members=["user:jane@example.com"],
|
700
|
+
condition=gcp.projects.IAMBindingConditionArgs(
|
701
|
+
title="expires_after_2019_12_31",
|
702
|
+
description="Expiring at midnight of 2019-12-31",
|
703
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
704
|
+
))
|
705
|
+
```
|
706
|
+
<!--End PulumiCodeChooser -->
|
707
|
+
|
708
|
+
## google\\_project\\_iam\\_member
|
709
|
+
|
710
|
+
<!--Start PulumiCodeChooser -->
|
711
|
+
```python
|
712
|
+
import pulumi
|
713
|
+
import pulumi_gcp as gcp
|
714
|
+
|
715
|
+
project = gcp.projects.IAMMember("project",
|
716
|
+
project="your-project-id",
|
717
|
+
role="roles/editor",
|
718
|
+
member="user:jane@example.com")
|
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
|
+
project = gcp.projects.IAMMember("project",
|
730
|
+
project="your-project-id",
|
731
|
+
role="roles/firebase.admin",
|
732
|
+
member="user:jane@example.com",
|
733
|
+
condition=gcp.projects.IAMMemberConditionArgs(
|
734
|
+
title="expires_after_2019_12_31",
|
735
|
+
description="Expiring at midnight of 2019-12-31",
|
736
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
737
|
+
))
|
738
|
+
```
|
739
|
+
<!--End PulumiCodeChooser -->
|
740
|
+
|
741
|
+
## google\\_project\\_iam\\_audit\\_config
|
742
|
+
|
743
|
+
<!--Start PulumiCodeChooser -->
|
744
|
+
```python
|
745
|
+
import pulumi
|
746
|
+
import pulumi_gcp as gcp
|
747
|
+
|
748
|
+
project = gcp.projects.IAMAuditConfig("project",
|
749
|
+
project="your-project-id",
|
750
|
+
service="allServices",
|
751
|
+
audit_log_configs=[
|
752
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
753
|
+
log_type="ADMIN_READ",
|
754
|
+
),
|
755
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
756
|
+
log_type="DATA_READ",
|
757
|
+
exempted_members=["user:joebloggs@example.com"],
|
758
|
+
),
|
759
|
+
])
|
760
|
+
```
|
761
|
+
<!--End PulumiCodeChooser -->
|
762
|
+
|
493
763
|
## Import
|
494
764
|
|
495
765
|
### Importing Audit Configs
|
@@ -22,6 +22,12 @@ class IAMBindingArgs:
|
|
22
22
|
condition: Optional[pulumi.Input['IAMBindingConditionArgs']] = None):
|
23
23
|
"""
|
24
24
|
The set of arguments for constructing a IAMBinding resource.
|
25
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
26
|
+
Each entry can have one of the following values:
|
27
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
28
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
29
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
30
|
+
* **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.
|
25
31
|
:param pulumi.Input[str] project: The project id of the target project. This is not
|
26
32
|
inferred from the provider.
|
27
33
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
@@ -39,6 +45,14 @@ class IAMBindingArgs:
|
|
39
45
|
@property
|
40
46
|
@pulumi.getter
|
41
47
|
def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
48
|
+
"""
|
49
|
+
Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
50
|
+
Each entry can have one of the following values:
|
51
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
52
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
53
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
54
|
+
* **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.
|
55
|
+
"""
|
42
56
|
return pulumi.get(self, "members")
|
43
57
|
|
44
58
|
@members.setter
|
@@ -99,6 +113,12 @@ class _IAMBindingState:
|
|
99
113
|
:param pulumi.Input['IAMBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
100
114
|
Structure is documented below.
|
101
115
|
:param pulumi.Input[str] etag: (Computed) The etag of the project's IAM policy.
|
116
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
117
|
+
Each entry can have one of the following values:
|
118
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
119
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
120
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
121
|
+
* **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.
|
102
122
|
:param pulumi.Input[str] project: The project id of the target project. This is not
|
103
123
|
inferred from the provider.
|
104
124
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
@@ -144,6 +164,14 @@ class _IAMBindingState:
|
|
144
164
|
@property
|
145
165
|
@pulumi.getter
|
146
166
|
def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
167
|
+
"""
|
168
|
+
Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
169
|
+
Each entry can have one of the following values:
|
170
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
171
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
172
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
173
|
+
* **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.
|
174
|
+
"""
|
147
175
|
return pulumi.get(self, "members")
|
148
176
|
|
149
177
|
@members.setter
|
@@ -338,6 +366,141 @@ class IAMBinding(pulumi.CustomResource):
|
|
338
366
|
```
|
339
367
|
<!--End PulumiCodeChooser -->
|
340
368
|
|
369
|
+
## google\\_project\\_iam\\_policy
|
370
|
+
|
371
|
+
!> **Be careful!** You can accidentally lock yourself out of your project
|
372
|
+
using this resource. Deleting a `projects.IAMPolicy` removes access
|
373
|
+
from anyone without organization-level access to the project. Proceed with caution.
|
374
|
+
It's not recommended to use `projects.IAMPolicy` with your provider project
|
375
|
+
to avoid locking yourself out, and it should generally only be used with projects
|
376
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
377
|
+
applying the change.
|
378
|
+
|
379
|
+
<!--Start PulumiCodeChooser -->
|
380
|
+
```python
|
381
|
+
import pulumi
|
382
|
+
import pulumi_gcp as gcp
|
383
|
+
|
384
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
385
|
+
role="roles/editor",
|
386
|
+
members=["user:jane@example.com"],
|
387
|
+
)])
|
388
|
+
project = gcp.projects.IAMPolicy("project",
|
389
|
+
project="your-project-id",
|
390
|
+
policy_data=admin.policy_data)
|
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
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
402
|
+
role="roles/compute.admin",
|
403
|
+
members=["user:jane@example.com"],
|
404
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
405
|
+
title="expires_after_2019_12_31",
|
406
|
+
description="Expiring at midnight of 2019-12-31",
|
407
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
408
|
+
),
|
409
|
+
)])
|
410
|
+
project = gcp.projects.IAMPolicy("project",
|
411
|
+
project="your-project-id",
|
412
|
+
policy_data=admin.policy_data)
|
413
|
+
```
|
414
|
+
<!--End PulumiCodeChooser -->
|
415
|
+
|
416
|
+
## google\\_project\\_iam\\_binding
|
417
|
+
|
418
|
+
<!--Start PulumiCodeChooser -->
|
419
|
+
```python
|
420
|
+
import pulumi
|
421
|
+
import pulumi_gcp as gcp
|
422
|
+
|
423
|
+
project = gcp.projects.IAMBinding("project",
|
424
|
+
project="your-project-id",
|
425
|
+
role="roles/editor",
|
426
|
+
members=["user:jane@example.com"])
|
427
|
+
```
|
428
|
+
<!--End PulumiCodeChooser -->
|
429
|
+
|
430
|
+
With IAM Conditions:
|
431
|
+
|
432
|
+
<!--Start PulumiCodeChooser -->
|
433
|
+
```python
|
434
|
+
import pulumi
|
435
|
+
import pulumi_gcp as gcp
|
436
|
+
|
437
|
+
project = gcp.projects.IAMBinding("project",
|
438
|
+
project="your-project-id",
|
439
|
+
role="roles/container.admin",
|
440
|
+
members=["user:jane@example.com"],
|
441
|
+
condition=gcp.projects.IAMBindingConditionArgs(
|
442
|
+
title="expires_after_2019_12_31",
|
443
|
+
description="Expiring at midnight of 2019-12-31",
|
444
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
445
|
+
))
|
446
|
+
```
|
447
|
+
<!--End PulumiCodeChooser -->
|
448
|
+
|
449
|
+
## google\\_project\\_iam\\_member
|
450
|
+
|
451
|
+
<!--Start PulumiCodeChooser -->
|
452
|
+
```python
|
453
|
+
import pulumi
|
454
|
+
import pulumi_gcp as gcp
|
455
|
+
|
456
|
+
project = gcp.projects.IAMMember("project",
|
457
|
+
project="your-project-id",
|
458
|
+
role="roles/editor",
|
459
|
+
member="user:jane@example.com")
|
460
|
+
```
|
461
|
+
<!--End PulumiCodeChooser -->
|
462
|
+
|
463
|
+
With IAM Conditions:
|
464
|
+
|
465
|
+
<!--Start PulumiCodeChooser -->
|
466
|
+
```python
|
467
|
+
import pulumi
|
468
|
+
import pulumi_gcp as gcp
|
469
|
+
|
470
|
+
project = gcp.projects.IAMMember("project",
|
471
|
+
project="your-project-id",
|
472
|
+
role="roles/firebase.admin",
|
473
|
+
member="user:jane@example.com",
|
474
|
+
condition=gcp.projects.IAMMemberConditionArgs(
|
475
|
+
title="expires_after_2019_12_31",
|
476
|
+
description="Expiring at midnight of 2019-12-31",
|
477
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
478
|
+
))
|
479
|
+
```
|
480
|
+
<!--End PulumiCodeChooser -->
|
481
|
+
|
482
|
+
## google\\_project\\_iam\\_audit\\_config
|
483
|
+
|
484
|
+
<!--Start PulumiCodeChooser -->
|
485
|
+
```python
|
486
|
+
import pulumi
|
487
|
+
import pulumi_gcp as gcp
|
488
|
+
|
489
|
+
project = gcp.projects.IAMAuditConfig("project",
|
490
|
+
project="your-project-id",
|
491
|
+
service="allServices",
|
492
|
+
audit_log_configs=[
|
493
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
494
|
+
log_type="ADMIN_READ",
|
495
|
+
),
|
496
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
497
|
+
log_type="DATA_READ",
|
498
|
+
exempted_members=["user:joebloggs@example.com"],
|
499
|
+
),
|
500
|
+
])
|
501
|
+
```
|
502
|
+
<!--End PulumiCodeChooser -->
|
503
|
+
|
341
504
|
## Import
|
342
505
|
|
343
506
|
### Importing Audit Configs
|
@@ -368,6 +531,12 @@ class IAMBinding(pulumi.CustomResource):
|
|
368
531
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
369
532
|
:param pulumi.Input[pulumi.InputType['IAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
370
533
|
Structure is documented below.
|
534
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
535
|
+
Each entry can have one of the following values:
|
536
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
537
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
538
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
539
|
+
* **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.
|
371
540
|
:param pulumi.Input[str] project: The project id of the target project. This is not
|
372
541
|
inferred from the provider.
|
373
542
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
@@ -530,6 +699,141 @@ class IAMBinding(pulumi.CustomResource):
|
|
530
699
|
```
|
531
700
|
<!--End PulumiCodeChooser -->
|
532
701
|
|
702
|
+
## google\\_project\\_iam\\_policy
|
703
|
+
|
704
|
+
!> **Be careful!** You can accidentally lock yourself out of your project
|
705
|
+
using this resource. Deleting a `projects.IAMPolicy` removes access
|
706
|
+
from anyone without organization-level access to the project. Proceed with caution.
|
707
|
+
It's not recommended to use `projects.IAMPolicy` with your provider project
|
708
|
+
to avoid locking yourself out, and it should generally only be used with projects
|
709
|
+
fully managed by this provider. If you do use this resource, it is recommended to **import** the policy before
|
710
|
+
applying the change.
|
711
|
+
|
712
|
+
<!--Start PulumiCodeChooser -->
|
713
|
+
```python
|
714
|
+
import pulumi
|
715
|
+
import pulumi_gcp as gcp
|
716
|
+
|
717
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
718
|
+
role="roles/editor",
|
719
|
+
members=["user:jane@example.com"],
|
720
|
+
)])
|
721
|
+
project = gcp.projects.IAMPolicy("project",
|
722
|
+
project="your-project-id",
|
723
|
+
policy_data=admin.policy_data)
|
724
|
+
```
|
725
|
+
<!--End PulumiCodeChooser -->
|
726
|
+
|
727
|
+
With IAM Conditions:
|
728
|
+
|
729
|
+
<!--Start PulumiCodeChooser -->
|
730
|
+
```python
|
731
|
+
import pulumi
|
732
|
+
import pulumi_gcp as gcp
|
733
|
+
|
734
|
+
admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
|
735
|
+
role="roles/compute.admin",
|
736
|
+
members=["user:jane@example.com"],
|
737
|
+
condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
|
738
|
+
title="expires_after_2019_12_31",
|
739
|
+
description="Expiring at midnight of 2019-12-31",
|
740
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
741
|
+
),
|
742
|
+
)])
|
743
|
+
project = gcp.projects.IAMPolicy("project",
|
744
|
+
project="your-project-id",
|
745
|
+
policy_data=admin.policy_data)
|
746
|
+
```
|
747
|
+
<!--End PulumiCodeChooser -->
|
748
|
+
|
749
|
+
## google\\_project\\_iam\\_binding
|
750
|
+
|
751
|
+
<!--Start PulumiCodeChooser -->
|
752
|
+
```python
|
753
|
+
import pulumi
|
754
|
+
import pulumi_gcp as gcp
|
755
|
+
|
756
|
+
project = gcp.projects.IAMBinding("project",
|
757
|
+
project="your-project-id",
|
758
|
+
role="roles/editor",
|
759
|
+
members=["user:jane@example.com"])
|
760
|
+
```
|
761
|
+
<!--End PulumiCodeChooser -->
|
762
|
+
|
763
|
+
With IAM Conditions:
|
764
|
+
|
765
|
+
<!--Start PulumiCodeChooser -->
|
766
|
+
```python
|
767
|
+
import pulumi
|
768
|
+
import pulumi_gcp as gcp
|
769
|
+
|
770
|
+
project = gcp.projects.IAMBinding("project",
|
771
|
+
project="your-project-id",
|
772
|
+
role="roles/container.admin",
|
773
|
+
members=["user:jane@example.com"],
|
774
|
+
condition=gcp.projects.IAMBindingConditionArgs(
|
775
|
+
title="expires_after_2019_12_31",
|
776
|
+
description="Expiring at midnight of 2019-12-31",
|
777
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
778
|
+
))
|
779
|
+
```
|
780
|
+
<!--End PulumiCodeChooser -->
|
781
|
+
|
782
|
+
## google\\_project\\_iam\\_member
|
783
|
+
|
784
|
+
<!--Start PulumiCodeChooser -->
|
785
|
+
```python
|
786
|
+
import pulumi
|
787
|
+
import pulumi_gcp as gcp
|
788
|
+
|
789
|
+
project = gcp.projects.IAMMember("project",
|
790
|
+
project="your-project-id",
|
791
|
+
role="roles/editor",
|
792
|
+
member="user:jane@example.com")
|
793
|
+
```
|
794
|
+
<!--End PulumiCodeChooser -->
|
795
|
+
|
796
|
+
With IAM Conditions:
|
797
|
+
|
798
|
+
<!--Start PulumiCodeChooser -->
|
799
|
+
```python
|
800
|
+
import pulumi
|
801
|
+
import pulumi_gcp as gcp
|
802
|
+
|
803
|
+
project = gcp.projects.IAMMember("project",
|
804
|
+
project="your-project-id",
|
805
|
+
role="roles/firebase.admin",
|
806
|
+
member="user:jane@example.com",
|
807
|
+
condition=gcp.projects.IAMMemberConditionArgs(
|
808
|
+
title="expires_after_2019_12_31",
|
809
|
+
description="Expiring at midnight of 2019-12-31",
|
810
|
+
expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
|
811
|
+
))
|
812
|
+
```
|
813
|
+
<!--End PulumiCodeChooser -->
|
814
|
+
|
815
|
+
## google\\_project\\_iam\\_audit\\_config
|
816
|
+
|
817
|
+
<!--Start PulumiCodeChooser -->
|
818
|
+
```python
|
819
|
+
import pulumi
|
820
|
+
import pulumi_gcp as gcp
|
821
|
+
|
822
|
+
project = gcp.projects.IAMAuditConfig("project",
|
823
|
+
project="your-project-id",
|
824
|
+
service="allServices",
|
825
|
+
audit_log_configs=[
|
826
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
827
|
+
log_type="ADMIN_READ",
|
828
|
+
),
|
829
|
+
gcp.projects.IAMAuditConfigAuditLogConfigArgs(
|
830
|
+
log_type="DATA_READ",
|
831
|
+
exempted_members=["user:joebloggs@example.com"],
|
832
|
+
),
|
833
|
+
])
|
834
|
+
```
|
835
|
+
<!--End PulumiCodeChooser -->
|
836
|
+
|
533
837
|
## Import
|
534
838
|
|
535
839
|
### Importing Audit Configs
|
@@ -620,6 +924,12 @@ class IAMBinding(pulumi.CustomResource):
|
|
620
924
|
:param pulumi.Input[pulumi.InputType['IAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
621
925
|
Structure is documented below.
|
622
926
|
:param pulumi.Input[str] etag: (Computed) The etag of the project's IAM policy.
|
927
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
928
|
+
Each entry can have one of the following values:
|
929
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
930
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
931
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
932
|
+
* **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.
|
623
933
|
:param pulumi.Input[str] project: The project id of the target project. This is not
|
624
934
|
inferred from the provider.
|
625
935
|
:param pulumi.Input[str] role: The role that should be applied. Only one
|
@@ -657,6 +967,14 @@ class IAMBinding(pulumi.CustomResource):
|
|
657
967
|
@property
|
658
968
|
@pulumi.getter
|
659
969
|
def members(self) -> pulumi.Output[Sequence[str]]:
|
970
|
+
"""
|
971
|
+
Identities that will be granted the privilege in `role`. google\\_project\\_iam\\_binding expects `members` field while google\\_project\\_iam\\_member expects `member` field.
|
972
|
+
Each entry can have one of the following values:
|
973
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
974
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
975
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
976
|
+
* **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.
|
977
|
+
"""
|
660
978
|
return pulumi.get(self, "members")
|
661
979
|
|
662
980
|
@property
|