pulumi-gcp 8.6.0a1728595713__py3-none-any.whl → 8.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. pulumi_gcp/__init__.py +78 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  8. pulumi_gcp/apigee/__init__.py +2 -0
  9. pulumi_gcp/apigee/_inputs.py +108 -0
  10. pulumi_gcp/apigee/app_group.py +811 -0
  11. pulumi_gcp/apigee/developer.py +757 -0
  12. pulumi_gcp/apigee/outputs.py +64 -0
  13. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  14. pulumi_gcp/bigquery/connection.py +12 -12
  15. pulumi_gcp/bigquery/job.py +6 -6
  16. pulumi_gcp/bigtable/_inputs.py +58 -0
  17. pulumi_gcp/bigtable/instance_iam_binding.py +13 -34
  18. pulumi_gcp/bigtable/instance_iam_member.py +13 -34
  19. pulumi_gcp/bigtable/instance_iam_policy.py +0 -47
  20. pulumi_gcp/bigtable/outputs.py +36 -0
  21. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  22. pulumi_gcp/cloudrunv2/service.py +92 -0
  23. pulumi_gcp/compute/_inputs.py +217 -119
  24. pulumi_gcp/compute/backend_service.py +76 -0
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_instance.py +29 -1
  27. pulumi_gcp/compute/get_instance_template.py +29 -1
  28. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  29. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  30. pulumi_gcp/compute/instance.py +89 -0
  31. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  32. pulumi_gcp/compute/instance_from_template.py +82 -0
  33. pulumi_gcp/compute/instance_template.py +75 -0
  34. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  35. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  36. pulumi_gcp/compute/outputs.py +172 -82
  37. pulumi_gcp/compute/region_backend_service.py +94 -0
  38. pulumi_gcp/compute/region_instance_template.py +75 -0
  39. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  40. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  42. pulumi_gcp/config/__init__.pyi +4 -0
  43. pulumi_gcp/config/vars.py +8 -0
  44. pulumi_gcp/container/_inputs.py +12 -0
  45. pulumi_gcp/container/attached_cluster.py +9 -6
  46. pulumi_gcp/container/outputs.py +10 -2
  47. pulumi_gcp/datastream/stream.py +2 -2
  48. pulumi_gcp/diagflow/_inputs.py +472 -2
  49. pulumi_gcp/diagflow/cx_agent.py +64 -4
  50. pulumi_gcp/diagflow/cx_flow.py +30 -0
  51. pulumi_gcp/diagflow/outputs.py +378 -2
  52. pulumi_gcp/discoveryengine/_inputs.py +32 -5
  53. pulumi_gcp/discoveryengine/chat_engine.py +64 -0
  54. pulumi_gcp/discoveryengine/outputs.py +22 -3
  55. pulumi_gcp/gkehub/feature.py +2 -4
  56. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  57. pulumi_gcp/kms/key_handle.py +8 -8
  58. pulumi_gcp/looker/instance.py +104 -2
  59. pulumi_gcp/monitoring/_inputs.py +23 -0
  60. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  61. pulumi_gcp/monitoring/outputs.py +16 -0
  62. pulumi_gcp/netapp/backup_vault.py +2 -2
  63. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  64. pulumi_gcp/networkconnectivity/_inputs.py +218 -0
  65. pulumi_gcp/networkconnectivity/group.py +764 -0
  66. pulumi_gcp/networkconnectivity/internal_range.py +117 -7
  67. pulumi_gcp/networkconnectivity/outputs.py +167 -0
  68. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  69. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  70. pulumi_gcp/networkservices/gateway.py +54 -0
  71. pulumi_gcp/oracledatabase/__init__.py +20 -0
  72. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  73. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  74. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  75. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  76. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  77. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  78. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  79. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  80. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  81. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  82. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  83. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  84. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  85. pulumi_gcp/organizations/folder.py +7 -7
  86. pulumi_gcp/organizations/project.py +7 -7
  87. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  88. pulumi_gcp/orgpolicy/outputs.py +2 -2
  89. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  90. pulumi_gcp/provider.py +40 -0
  91. pulumi_gcp/pulumi-plugin.json +1 -1
  92. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  93. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  94. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  95. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  96. pulumi_gcp/secretmanager/outputs.py +2 -10
  97. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  98. pulumi_gcp/securesourcemanager/__init__.py +1 -0
  99. pulumi_gcp/securesourcemanager/branch_rule.py +975 -0
  100. pulumi_gcp/siteverification/get_token.py +0 -16
  101. pulumi_gcp/siteverification/owner.py +0 -16
  102. pulumi_gcp/spanner/_inputs.py +29 -5
  103. pulumi_gcp/spanner/backup_schedule.py +4 -2
  104. pulumi_gcp/spanner/outputs.py +20 -3
  105. pulumi_gcp/sql/_inputs.py +6 -6
  106. pulumi_gcp/sql/outputs.py +4 -4
  107. pulumi_gcp/sql/user.py +28 -21
  108. pulumi_gcp/storage/_inputs.py +36 -0
  109. pulumi_gcp/storage/bucket.py +47 -0
  110. pulumi_gcp/storage/get_bucket.py +12 -1
  111. pulumi_gcp/storage/outputs.py +40 -0
  112. pulumi_gcp/transcoder/__init__.py +11 -0
  113. pulumi_gcp/transcoder/_inputs.py +3991 -0
  114. pulumi_gcp/transcoder/job.py +2134 -0
  115. pulumi_gcp/transcoder/job_template.py +1524 -0
  116. pulumi_gcp/transcoder/outputs.py +2918 -0
  117. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  118. pulumi_gcp/vmwareengine/_inputs.py +440 -0
  119. pulumi_gcp/vmwareengine/cluster.py +100 -2
  120. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  121. pulumi_gcp/vmwareengine/outputs.py +615 -0
  122. pulumi_gcp/workstations/_inputs.py +54 -0
  123. pulumi_gcp/workstations/outputs.py +32 -0
  124. pulumi_gcp/workstations/workstation_config.py +205 -0
  125. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/RECORD +128 -105
  127. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,8 @@ __all__ = [
22
22
  'AddonsConfigAddonsConfigConnectorsPlatformConfig',
23
23
  'AddonsConfigAddonsConfigIntegrationConfig',
24
24
  'AddonsConfigAddonsConfigMonetizationConfig',
25
+ 'AppGroupAttribute',
26
+ 'DeveloperAttribute',
25
27
  'EnvironmentIamBindingCondition',
26
28
  'EnvironmentIamMemberCondition',
27
29
  'EnvironmentNodeConfig',
@@ -299,6 +301,68 @@ class AddonsConfigAddonsConfigMonetizationConfig(dict):
299
301
  return pulumi.get(self, "enabled")
300
302
 
301
303
 
304
+ @pulumi.output_type
305
+ class AppGroupAttribute(dict):
306
+ def __init__(__self__, *,
307
+ name: Optional[str] = None,
308
+ value: Optional[str] = None):
309
+ """
310
+ :param str name: Key of the attribute
311
+ :param str value: Value of the attribute
312
+ """
313
+ if name is not None:
314
+ pulumi.set(__self__, "name", name)
315
+ if value is not None:
316
+ pulumi.set(__self__, "value", value)
317
+
318
+ @property
319
+ @pulumi.getter
320
+ def name(self) -> Optional[str]:
321
+ """
322
+ Key of the attribute
323
+ """
324
+ return pulumi.get(self, "name")
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def value(self) -> Optional[str]:
329
+ """
330
+ Value of the attribute
331
+ """
332
+ return pulumi.get(self, "value")
333
+
334
+
335
+ @pulumi.output_type
336
+ class DeveloperAttribute(dict):
337
+ def __init__(__self__, *,
338
+ name: Optional[str] = None,
339
+ value: Optional[str] = None):
340
+ """
341
+ :param str name: Key of the attribute
342
+ :param str value: Value of the attribute
343
+ """
344
+ if name is not None:
345
+ pulumi.set(__self__, "name", name)
346
+ if value is not None:
347
+ pulumi.set(__self__, "value", value)
348
+
349
+ @property
350
+ @pulumi.getter
351
+ def name(self) -> Optional[str]:
352
+ """
353
+ Key of the attribute
354
+ """
355
+ return pulumi.get(self, "name")
356
+
357
+ @property
358
+ @pulumi.getter
359
+ def value(self) -> Optional[str]:
360
+ """
361
+ Value of the attribute
362
+ """
363
+ return pulumi.get(self, "value")
364
+
365
+
302
366
  @pulumi.output_type
303
367
  class EnvironmentIamBindingCondition(dict):
304
368
  def __init__(__self__, *,
@@ -198,6 +198,26 @@ def get_docker_image(image_name: Optional[str] = None,
198
198
  > **Note**
199
199
  Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`.
200
200
 
201
+ ## Example Usage
202
+
203
+ ```python
204
+ import pulumi
205
+ import pulumi_gcp as gcp
206
+
207
+ my_repo = gcp.artifactregistry.Repository("my_repo",
208
+ location="us-west1",
209
+ repository_id="my-repository",
210
+ format="DOCKER")
211
+ my_image = gcp.artifactregistry.get_docker_image_output(location=my_repo.location,
212
+ repository_id=my_repo.repository_id,
213
+ image_name="my-image:my-tag")
214
+ default = gcp.cloudrunv2.Service("default", template={
215
+ "containers": [{
216
+ "image": my_image.self_link,
217
+ }],
218
+ })
219
+ ```
220
+
201
221
 
202
222
  :param str image_name: The image name to fetch. If no digest or tag is provided, then the latest modified image will be used.
203
223
  :param str location: The location of the artifact registry.
@@ -237,6 +257,26 @@ def get_docker_image_output(image_name: Optional[pulumi.Input[str]] = None,
237
257
  > **Note**
238
258
  Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`.
239
259
 
260
+ ## Example Usage
261
+
262
+ ```python
263
+ import pulumi
264
+ import pulumi_gcp as gcp
265
+
266
+ my_repo = gcp.artifactregistry.Repository("my_repo",
267
+ location="us-west1",
268
+ repository_id="my-repository",
269
+ format="DOCKER")
270
+ my_image = gcp.artifactregistry.get_docker_image_output(location=my_repo.location,
271
+ repository_id=my_repo.repository_id,
272
+ image_name="my-image:my-tag")
273
+ default = gcp.cloudrunv2.Service("default", template={
274
+ "containers": [{
275
+ "image": my_image.self_link,
276
+ }],
277
+ })
278
+ ```
279
+
240
280
 
241
281
  :param str image_name: The image name to fetch. If no digest or tag is provided, then the latest modified image will be used.
242
282
  :param str location: The location of the artifact registry.
@@ -730,7 +730,7 @@ class Connection(pulumi.CustomResource):
730
730
  },
731
731
  })
732
732
  ```
733
- ### Bigquery Connection Kms
733
+ ### Bigquery Connection Sql With Cmek
734
734
 
735
735
  ```python
736
736
  import pulumi
@@ -738,8 +738,8 @@ class Connection(pulumi.CustomResource):
738
738
 
739
739
  instance = gcp.sql.DatabaseInstance("instance",
740
740
  name="my-database-instance",
741
- database_version="POSTGRES_11",
742
741
  region="us-central1",
742
+ database_version="POSTGRES_11",
743
743
  settings={
744
744
  "tier": "db-f1-micro",
745
745
  },
@@ -752,9 +752,8 @@ class Connection(pulumi.CustomResource):
752
752
  instance=instance.name,
753
753
  password="tf-test-my-password_77884")
754
754
  bq_sa = gcp.bigquery.get_default_service_account()
755
- project = gcp.organizations.get_project()
756
- key_sa_user = gcp.projects.IAMMember("key_sa_user",
757
- project=project.project_id,
755
+ key_sa_user = gcp.kms.CryptoKeyIAMMember("key_sa_user",
756
+ crypto_key_id="projects/project/locations/us-central1/keyRings/us-central1/cryptoKeys/bq-key",
758
757
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
759
758
  member=f"serviceAccount:{bq_sa.email}")
760
759
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
@@ -770,7 +769,8 @@ class Connection(pulumi.CustomResource):
770
769
  "username": user.name,
771
770
  "password": user.password,
772
771
  },
773
- })
772
+ },
773
+ opts = pulumi.ResourceOptions(depends_on=[key_sa_user]))
774
774
  ```
775
775
 
776
776
  ## Import
@@ -1036,7 +1036,7 @@ class Connection(pulumi.CustomResource):
1036
1036
  },
1037
1037
  })
1038
1038
  ```
1039
- ### Bigquery Connection Kms
1039
+ ### Bigquery Connection Sql With Cmek
1040
1040
 
1041
1041
  ```python
1042
1042
  import pulumi
@@ -1044,8 +1044,8 @@ class Connection(pulumi.CustomResource):
1044
1044
 
1045
1045
  instance = gcp.sql.DatabaseInstance("instance",
1046
1046
  name="my-database-instance",
1047
- database_version="POSTGRES_11",
1048
1047
  region="us-central1",
1048
+ database_version="POSTGRES_11",
1049
1049
  settings={
1050
1050
  "tier": "db-f1-micro",
1051
1051
  },
@@ -1058,9 +1058,8 @@ class Connection(pulumi.CustomResource):
1058
1058
  instance=instance.name,
1059
1059
  password="tf-test-my-password_77884")
1060
1060
  bq_sa = gcp.bigquery.get_default_service_account()
1061
- project = gcp.organizations.get_project()
1062
- key_sa_user = gcp.projects.IAMMember("key_sa_user",
1063
- project=project.project_id,
1061
+ key_sa_user = gcp.kms.CryptoKeyIAMMember("key_sa_user",
1062
+ crypto_key_id="projects/project/locations/us-central1/keyRings/us-central1/cryptoKeys/bq-key",
1064
1063
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1065
1064
  member=f"serviceAccount:{bq_sa.email}")
1066
1065
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
@@ -1076,7 +1075,8 @@ class Connection(pulumi.CustomResource):
1076
1075
  "username": user.name,
1077
1076
  "password": user.password,
1078
1077
  },
1079
- })
1078
+ },
1079
+ opts = pulumi.ResourceOptions(depends_on=[key_sa_user]))
1080
1080
  ```
1081
1081
 
1082
1082
  ## Import
@@ -661,9 +661,9 @@ class Job(pulumi.CustomResource):
661
661
  source = []
662
662
  for range in [{"value": i} for i in range(0, count)]:
663
663
  source.append(gcp.bigquery.Table(f"source-{range['value']}",
664
- deletion_protection=False,
665
664
  dataset_id=source_dataset[range["value"]].dataset_id,
666
665
  table_id=f"job_copy_{range['value']}_table",
666
+ deletion_protection=False,
667
667
  schema=\"\"\"[
668
668
  {
669
669
  "name": "name",
@@ -694,8 +694,8 @@ class Job(pulumi.CustomResource):
694
694
  name="example-key",
695
695
  key_ring=key_ring.id)
696
696
  project = gcp.organizations.get_project(project_id="my-project-name")
697
- encrypt_role = gcp.projects.IAMMember("encrypt_role",
698
- project=project.project_id,
697
+ encrypt_role = gcp.kms.CryptoKeyIAMMember("encrypt_role",
698
+ crypto_key_id=crypto_key.id,
699
699
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
700
700
  member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
701
701
  dest = gcp.bigquery.Table("dest",
@@ -1097,9 +1097,9 @@ class Job(pulumi.CustomResource):
1097
1097
  source = []
1098
1098
  for range in [{"value": i} for i in range(0, count)]:
1099
1099
  source.append(gcp.bigquery.Table(f"source-{range['value']}",
1100
- deletion_protection=False,
1101
1100
  dataset_id=source_dataset[range["value"]].dataset_id,
1102
1101
  table_id=f"job_copy_{range['value']}_table",
1102
+ deletion_protection=False,
1103
1103
  schema=\"\"\"[
1104
1104
  {
1105
1105
  "name": "name",
@@ -1130,8 +1130,8 @@ class Job(pulumi.CustomResource):
1130
1130
  name="example-key",
1131
1131
  key_ring=key_ring.id)
1132
1132
  project = gcp.organizations.get_project(project_id="my-project-name")
1133
- encrypt_role = gcp.projects.IAMMember("encrypt_role",
1134
- project=project.project_id,
1133
+ encrypt_role = gcp.kms.CryptoKeyIAMMember("encrypt_role",
1134
+ crypto_key_id=crypto_key.id,
1135
1135
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1136
1136
  member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
1137
1137
  dest = gcp.bigquery.Table("dest",
@@ -565,8 +565,19 @@ class InstanceClusterAutoscalingConfigArgs:
565
565
  if not MYPY:
566
566
  class InstanceIamBindingConditionArgsDict(TypedDict):
567
567
  expression: pulumi.Input[str]
568
+ """
569
+ Textual representation of an expression in Common Expression Language syntax.
570
+ """
568
571
  title: pulumi.Input[str]
572
+ """
573
+ A title for the expression, i.e. a short string describing its purpose.
574
+ """
569
575
  description: NotRequired[pulumi.Input[str]]
576
+ """
577
+ An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
578
+
579
+ For `bigtable.InstanceIamPolicy` only:
580
+ """
570
581
  elif False:
571
582
  InstanceIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
572
583
 
@@ -576,6 +587,13 @@ class InstanceIamBindingConditionArgs:
576
587
  expression: pulumi.Input[str],
577
588
  title: pulumi.Input[str],
578
589
  description: Optional[pulumi.Input[str]] = None):
590
+ """
591
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
592
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
593
+ :param pulumi.Input[str] description: An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
594
+
595
+ For `bigtable.InstanceIamPolicy` only:
596
+ """
579
597
  pulumi.set(__self__, "expression", expression)
580
598
  pulumi.set(__self__, "title", title)
581
599
  if description is not None:
@@ -584,6 +602,9 @@ class InstanceIamBindingConditionArgs:
584
602
  @property
585
603
  @pulumi.getter
586
604
  def expression(self) -> pulumi.Input[str]:
605
+ """
606
+ Textual representation of an expression in Common Expression Language syntax.
607
+ """
587
608
  return pulumi.get(self, "expression")
588
609
 
589
610
  @expression.setter
@@ -593,6 +614,9 @@ class InstanceIamBindingConditionArgs:
593
614
  @property
594
615
  @pulumi.getter
595
616
  def title(self) -> pulumi.Input[str]:
617
+ """
618
+ A title for the expression, i.e. a short string describing its purpose.
619
+ """
596
620
  return pulumi.get(self, "title")
597
621
 
598
622
  @title.setter
@@ -602,6 +626,11 @@ class InstanceIamBindingConditionArgs:
602
626
  @property
603
627
  @pulumi.getter
604
628
  def description(self) -> Optional[pulumi.Input[str]]:
629
+ """
630
+ An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
631
+
632
+ For `bigtable.InstanceIamPolicy` only:
633
+ """
605
634
  return pulumi.get(self, "description")
606
635
 
607
636
  @description.setter
@@ -612,8 +641,19 @@ class InstanceIamBindingConditionArgs:
612
641
  if not MYPY:
613
642
  class InstanceIamMemberConditionArgsDict(TypedDict):
614
643
  expression: pulumi.Input[str]
644
+ """
645
+ Textual representation of an expression in Common Expression Language syntax.
646
+ """
615
647
  title: pulumi.Input[str]
648
+ """
649
+ A title for the expression, i.e. a short string describing its purpose.
650
+ """
616
651
  description: NotRequired[pulumi.Input[str]]
652
+ """
653
+ An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
654
+
655
+ For `bigtable.InstanceIamPolicy` only:
656
+ """
617
657
  elif False:
618
658
  InstanceIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
619
659
 
@@ -623,6 +663,13 @@ class InstanceIamMemberConditionArgs:
623
663
  expression: pulumi.Input[str],
624
664
  title: pulumi.Input[str],
625
665
  description: Optional[pulumi.Input[str]] = None):
666
+ """
667
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
668
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
669
+ :param pulumi.Input[str] description: An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
670
+
671
+ For `bigtable.InstanceIamPolicy` only:
672
+ """
626
673
  pulumi.set(__self__, "expression", expression)
627
674
  pulumi.set(__self__, "title", title)
628
675
  if description is not None:
@@ -631,6 +678,9 @@ class InstanceIamMemberConditionArgs:
631
678
  @property
632
679
  @pulumi.getter
633
680
  def expression(self) -> pulumi.Input[str]:
681
+ """
682
+ Textual representation of an expression in Common Expression Language syntax.
683
+ """
634
684
  return pulumi.get(self, "expression")
635
685
 
636
686
  @expression.setter
@@ -640,6 +690,9 @@ class InstanceIamMemberConditionArgs:
640
690
  @property
641
691
  @pulumi.getter
642
692
  def title(self) -> pulumi.Input[str]:
693
+ """
694
+ A title for the expression, i.e. a short string describing its purpose.
695
+ """
643
696
  return pulumi.get(self, "title")
644
697
 
645
698
  @title.setter
@@ -649,6 +702,11 @@ class InstanceIamMemberConditionArgs:
649
702
  @property
650
703
  @pulumi.getter
651
704
  def description(self) -> Optional[pulumi.Input[str]]:
705
+ """
706
+ An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
707
+
708
+ For `bigtable.InstanceIamPolicy` only:
709
+ """
652
710
  return pulumi.get(self, "description")
653
711
 
654
712
  @description.setter
@@ -42,10 +42,7 @@ class InstanceIamBindingArgs:
42
42
  :param pulumi.Input[str] role: The role that should be applied. Only one
43
43
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
44
44
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
45
-
46
- `bigtable.InstanceIamPolicy` only:
47
- :param pulumi.Input[str] project: The project in which the instance belongs. If it
48
- is not provided, a default will be supplied.
45
+ :param pulumi.Input['InstanceIamBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
49
46
  """
50
47
  pulumi.set(__self__, "instance", instance)
51
48
  pulumi.set(__self__, "members", members)
@@ -95,8 +92,6 @@ class InstanceIamBindingArgs:
95
92
  The role that should be applied. Only one
96
93
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
97
94
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
98
-
99
- `bigtable.InstanceIamPolicy` only:
100
95
  """
101
96
  return pulumi.get(self, "role")
102
97
 
@@ -107,6 +102,9 @@ class InstanceIamBindingArgs:
107
102
  @property
108
103
  @pulumi.getter
109
104
  def condition(self) -> Optional[pulumi.Input['InstanceIamBindingConditionArgs']]:
105
+ """
106
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
107
+ """
110
108
  return pulumi.get(self, "condition")
111
109
 
112
110
  @condition.setter
@@ -116,10 +114,6 @@ class InstanceIamBindingArgs:
116
114
  @property
117
115
  @pulumi.getter
118
116
  def project(self) -> Optional[pulumi.Input[str]]:
119
- """
120
- The project in which the instance belongs. If it
121
- is not provided, a default will be supplied.
122
- """
123
117
  return pulumi.get(self, "project")
124
118
 
125
119
  @project.setter
@@ -138,6 +132,7 @@ class _InstanceIamBindingState:
138
132
  role: Optional[pulumi.Input[str]] = None):
139
133
  """
140
134
  Input properties used for looking up and filtering InstanceIamBinding resources.
135
+ :param pulumi.Input['InstanceIamBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
141
136
  :param pulumi.Input[str] etag: (Computed) The etag of the instances's IAM policy.
142
137
  :param pulumi.Input[str] instance: The name or relative resource id of the instance to manage IAM policies for.
143
138
 
@@ -150,13 +145,9 @@ class _InstanceIamBindingState:
150
145
  * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
151
146
  * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
152
147
  * **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.
153
- :param pulumi.Input[str] project: The project in which the instance belongs. If it
154
- is not provided, a default will be supplied.
155
148
  :param pulumi.Input[str] role: The role that should be applied. Only one
156
149
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
157
150
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
158
-
159
- `bigtable.InstanceIamPolicy` only:
160
151
  """
161
152
  if condition is not None:
162
153
  pulumi.set(__self__, "condition", condition)
@@ -174,6 +165,9 @@ class _InstanceIamBindingState:
174
165
  @property
175
166
  @pulumi.getter
176
167
  def condition(self) -> Optional[pulumi.Input['InstanceIamBindingConditionArgs']]:
168
+ """
169
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
170
+ """
177
171
  return pulumi.get(self, "condition")
178
172
 
179
173
  @condition.setter
@@ -228,10 +222,6 @@ class _InstanceIamBindingState:
228
222
  @property
229
223
  @pulumi.getter
230
224
  def project(self) -> Optional[pulumi.Input[str]]:
231
- """
232
- The project in which the instance belongs. If it
233
- is not provided, a default will be supplied.
234
- """
235
225
  return pulumi.get(self, "project")
236
226
 
237
227
  @project.setter
@@ -245,8 +235,6 @@ class _InstanceIamBindingState:
245
235
  The role that should be applied. Only one
246
236
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
247
237
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
248
-
249
- `bigtable.InstanceIamPolicy` only:
250
238
  """
251
239
  return pulumi.get(self, "role")
252
240
 
@@ -385,6 +373,7 @@ class InstanceIamBinding(pulumi.CustomResource):
385
373
 
386
374
  :param str resource_name: The name of the resource.
387
375
  :param pulumi.ResourceOptions opts: Options for the resource.
376
+ :param pulumi.Input[Union['InstanceIamBindingConditionArgs', 'InstanceIamBindingConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
388
377
  :param pulumi.Input[str] instance: The name or relative resource id of the instance to manage IAM policies for.
389
378
 
390
379
  For `bigtable.InstanceIamMember` or `bigtable.InstanceIamBinding`:
@@ -396,13 +385,9 @@ class InstanceIamBinding(pulumi.CustomResource):
396
385
  * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
397
386
  * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
398
387
  * **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.
399
- :param pulumi.Input[str] project: The project in which the instance belongs. If it
400
- is not provided, a default will be supplied.
401
388
  :param pulumi.Input[str] role: The role that should be applied. Only one
402
389
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
403
390
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
404
-
405
- `bigtable.InstanceIamPolicy` only:
406
391
  """
407
392
  ...
408
393
  @overload
@@ -591,6 +576,7 @@ class InstanceIamBinding(pulumi.CustomResource):
591
576
  :param str resource_name: The unique name of the resulting resource.
592
577
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
593
578
  :param pulumi.ResourceOptions opts: Options for the resource.
579
+ :param pulumi.Input[Union['InstanceIamBindingConditionArgs', 'InstanceIamBindingConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
594
580
  :param pulumi.Input[str] etag: (Computed) The etag of the instances's IAM policy.
595
581
  :param pulumi.Input[str] instance: The name or relative resource id of the instance to manage IAM policies for.
596
582
 
@@ -603,13 +589,9 @@ class InstanceIamBinding(pulumi.CustomResource):
603
589
  * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
604
590
  * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
605
591
  * **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.
606
- :param pulumi.Input[str] project: The project in which the instance belongs. If it
607
- is not provided, a default will be supplied.
608
592
  :param pulumi.Input[str] role: The role that should be applied. Only one
609
593
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
610
594
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
611
-
612
- `bigtable.InstanceIamPolicy` only:
613
595
  """
614
596
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
615
597
 
@@ -626,6 +608,9 @@ class InstanceIamBinding(pulumi.CustomResource):
626
608
  @property
627
609
  @pulumi.getter
628
610
  def condition(self) -> pulumi.Output[Optional['outputs.InstanceIamBindingCondition']]:
611
+ """
612
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
613
+ """
629
614
  return pulumi.get(self, "condition")
630
615
 
631
616
  @property
@@ -664,10 +649,6 @@ class InstanceIamBinding(pulumi.CustomResource):
664
649
  @property
665
650
  @pulumi.getter
666
651
  def project(self) -> pulumi.Output[str]:
667
- """
668
- The project in which the instance belongs. If it
669
- is not provided, a default will be supplied.
670
- """
671
652
  return pulumi.get(self, "project")
672
653
 
673
654
  @property
@@ -677,8 +658,6 @@ class InstanceIamBinding(pulumi.CustomResource):
677
658
  The role that should be applied. Only one
678
659
  `bigtable.InstanceIamBinding` can be used per role. Note that custom roles must be of the format
679
660
  `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
680
-
681
- `bigtable.InstanceIamPolicy` only:
682
661
  """
683
662
  return pulumi.get(self, "role")
684
663