pulumi-gcp 8.20.0a1739946722__py3-none-any.whl → 8.20.1a1741108673__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 (228) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +168 -8
  3. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  4. pulumi_gcp/accesscontextmanager/outputs.py +104 -8
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +78 -3
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +78 -3
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +78 -3
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +78 -3
  9. pulumi_gcp/alloydb/__init__.py +2 -0
  10. pulumi_gcp/alloydb/get_cluster.py +491 -0
  11. pulumi_gcp/alloydb/get_instance.py +466 -0
  12. pulumi_gcp/alloydb/outputs.py +1160 -0
  13. pulumi_gcp/apigateway/get_api_config_iam_policy.py +20 -2
  14. pulumi_gcp/apigateway/get_api_iam_policy.py +20 -2
  15. pulumi_gcp/apigateway/get_gateway_iam_policy.py +22 -2
  16. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  17. pulumi_gcp/appengine/_inputs.py +3 -3
  18. pulumi_gcp/appengine/outputs.py +2 -2
  19. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  20. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  21. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  22. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  23. pulumi_gcp/beyondcorp/get_application_iam_policy.py +2 -2
  24. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +2 -2
  25. pulumi_gcp/bigquery/_inputs.py +6 -8
  26. pulumi_gcp/bigquery/connection.py +2 -14
  27. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  28. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  29. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  30. pulumi_gcp/bigquery/outputs.py +4 -5
  31. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +8 -8
  32. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +8 -8
  33. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +8 -8
  34. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  35. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  36. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +8 -8
  37. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +8 -8
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +8 -8
  39. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  40. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  41. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  42. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  43. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  44. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  45. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  46. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  47. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  48. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  49. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  50. pulumi_gcp/cloudrun/_inputs.py +6 -3
  51. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  52. pulumi_gcp/cloudrun/outputs.py +4 -2
  53. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  54. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  55. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  56. pulumi_gcp/colab/get_runtime_template_iam_policy.py +2 -2
  57. pulumi_gcp/composer/_inputs.py +6 -6
  58. pulumi_gcp/composer/get_environment.py +12 -0
  59. pulumi_gcp/composer/get_image_versions.py +12 -0
  60. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  61. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  62. pulumi_gcp/composer/outputs.py +8 -8
  63. pulumi_gcp/compute/_inputs.py +756 -30
  64. pulumi_gcp/compute/firewall_policy_rule.py +0 -2
  65. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +20 -2
  66. pulumi_gcp/compute/get_backend_service_iam_policy.py +20 -2
  67. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  68. pulumi_gcp/compute/get_hc_vpn_gateway.py +45 -1
  69. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  70. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  71. pulumi_gcp/compute/get_instance_template_iam_policy.py +2 -2
  72. pulumi_gcp/compute/get_machine_image_iam_policy.py +20 -2
  73. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +22 -2
  74. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  75. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  76. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  77. pulumi_gcp/compute/ha_vpn_gateway.py +189 -2
  78. pulumi_gcp/compute/instance_template.py +14 -35
  79. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  80. pulumi_gcp/compute/outputs.py +796 -18
  81. pulumi_gcp/config/__init__.pyi +2 -0
  82. pulumi_gcp/config/vars.py +4 -0
  83. pulumi_gcp/container/_inputs.py +447 -3
  84. pulumi_gcp/container/outputs.py +469 -5
  85. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  86. pulumi_gcp/datacatalog/entry_group.py +4 -0
  87. pulumi_gcp/datacatalog/entry_group_iam_binding.py +8 -8
  88. pulumi_gcp/datacatalog/entry_group_iam_member.py +8 -8
  89. pulumi_gcp/datacatalog/entry_group_iam_policy.py +8 -8
  90. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  91. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  92. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  93. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  94. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +8 -8
  95. pulumi_gcp/datacatalog/policy_tag_iam_member.py +8 -8
  96. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +8 -8
  97. pulumi_gcp/datacatalog/tag_template.py +4 -0
  98. pulumi_gcp/datacatalog/tag_template_iam_binding.py +8 -8
  99. pulumi_gcp/datacatalog/tag_template_iam_member.py +8 -8
  100. pulumi_gcp/datacatalog/tag_template_iam_policy.py +8 -8
  101. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +8 -8
  102. pulumi_gcp/datacatalog/taxonomy_iam_member.py +8 -8
  103. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +8 -8
  104. pulumi_gcp/dataform/get_repository_iam_policy.py +22 -2
  105. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  106. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  107. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  108. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  109. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  110. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  111. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  112. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  113. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  114. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  115. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  116. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  117. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +8 -8
  118. pulumi_gcp/dataproc/metastore_federation_iam_member.py +8 -8
  119. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +8 -8
  120. pulumi_gcp/dataproc/metastore_service.py +27 -28
  121. pulumi_gcp/dataproc/metastore_service_iam_binding.py +8 -8
  122. pulumi_gcp/dataproc/metastore_service_iam_member.py +8 -8
  123. pulumi_gcp/dataproc/metastore_service_iam_policy.py +8 -8
  124. pulumi_gcp/developerconnect/_inputs.py +575 -0
  125. pulumi_gcp/developerconnect/connection.py +200 -0
  126. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  127. pulumi_gcp/developerconnect/outputs.py +461 -0
  128. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  129. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  130. pulumi_gcp/eventarc/_inputs.py +29 -8
  131. pulumi_gcp/eventarc/google_channel_config.py +58 -46
  132. pulumi_gcp/eventarc/outputs.py +20 -6
  133. pulumi_gcp/eventarc/trigger.py +95 -72
  134. pulumi_gcp/filestore/backup.py +4 -4
  135. pulumi_gcp/firebase/__init__.py +1 -0
  136. pulumi_gcp/firebase/data_connect_service.py +937 -0
  137. pulumi_gcp/gemini/__init__.py +5 -0
  138. pulumi_gcp/gemini/data_sharing_with_google_setting.py +613 -0
  139. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  140. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +608 -0
  141. pulumi_gcp/gemini/get_repository_group_iam_policy.py +2 -2
  142. pulumi_gcp/gemini/logging_setting.py +42 -50
  143. pulumi_gcp/gemini/logging_setting_binding.py +734 -0
  144. pulumi_gcp/gemini/release_channel_setting.py +39 -43
  145. pulumi_gcp/gemini/release_channel_setting_binding.py +734 -0
  146. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  147. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  148. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  149. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  150. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  151. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  152. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  153. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  154. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  155. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  156. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  157. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  158. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  159. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  160. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  161. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  162. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  163. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  164. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  165. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  166. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  167. pulumi_gcp/monitoring/_inputs.py +588 -0
  168. pulumi_gcp/monitoring/outputs.py +410 -0
  169. pulumi_gcp/netapp/__init__.py +1 -0
  170. pulumi_gcp/netapp/volume_quota_rule.py +895 -0
  171. pulumi_gcp/networksecurity/address_group_iam_binding.py +4 -4
  172. pulumi_gcp/networksecurity/address_group_iam_member.py +4 -4
  173. pulumi_gcp/networksecurity/address_group_iam_policy.py +4 -4
  174. pulumi_gcp/networkservices/authz_extension.py +8 -15
  175. pulumi_gcp/networkservices/mesh.py +79 -12
  176. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  177. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  178. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  179. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  180. pulumi_gcp/projects/__init__.py +1 -0
  181. pulumi_gcp/projects/get_ancestry.py +150 -0
  182. pulumi_gcp/projects/outputs.py +30 -0
  183. pulumi_gcp/provider.py +20 -0
  184. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  185. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  186. pulumi_gcp/pulumi-plugin.json +1 -1
  187. pulumi_gcp/redis/cluster.py +211 -94
  188. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +20 -2
  189. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  190. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  191. pulumi_gcp/secretmanager/secret_version.py +73 -23
  192. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  193. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  194. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  195. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  196. pulumi_gcp/securitycenter/mute_config.py +136 -3
  197. pulumi_gcp/securitycenter/v2_folder_notification_config.py +2 -14
  198. pulumi_gcp/securitycenter/v2_organization_notification_config.py +2 -14
  199. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +8 -8
  200. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +8 -8
  201. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +8 -8
  202. pulumi_gcp/securitycenter/v2_project_notification_config.py +2 -14
  203. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +18 -2
  204. pulumi_gcp/servicedirectory/get_service_iam_policy.py +18 -2
  205. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  206. pulumi_gcp/spanner/__init__.py +1 -0
  207. pulumi_gcp/spanner/instance.py +0 -46
  208. pulumi_gcp/spanner/instance_partition.py +658 -0
  209. pulumi_gcp/sql/_inputs.py +6 -6
  210. pulumi_gcp/sql/outputs.py +4 -4
  211. pulumi_gcp/sql/user.py +20 -14
  212. pulumi_gcp/storage/bucket.py +30 -0
  213. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  214. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  215. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  216. pulumi_gcp/tpu/_inputs.py +150 -1
  217. pulumi_gcp/tpu/outputs.py +114 -1
  218. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  219. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +22 -2
  220. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +20 -2
  221. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +22 -2
  222. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  223. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +24 -2
  224. pulumi_gcp/workstations/get_workstation_iam_policy.py +26 -2
  225. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/METADATA +1 -1
  226. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/RECORD +228 -217
  227. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/WHEEL +1 -1
  228. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/top_level.txt +0 -0
@@ -309,7 +309,7 @@ class AddressGroupIamBinding(pulumi.CustomResource):
309
309
  role: Optional[pulumi.Input[str]] = None,
310
310
  __props__=None):
311
311
  """
312
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
312
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
313
313
 
314
314
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
315
315
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -337,7 +337,7 @@ class AddressGroupIamBinding(pulumi.CustomResource):
337
337
 
338
338
  Any variables not passed in the import command will be taken from the provider configuration.
339
339
 
340
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
340
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
341
341
 
342
342
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
343
343
 
@@ -392,7 +392,7 @@ class AddressGroupIamBinding(pulumi.CustomResource):
392
392
  args: AddressGroupIamBindingArgs,
393
393
  opts: Optional[pulumi.ResourceOptions] = None):
394
394
  """
395
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
395
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
396
396
 
397
397
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
398
398
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -420,7 +420,7 @@ class AddressGroupIamBinding(pulumi.CustomResource):
420
420
 
421
421
  Any variables not passed in the import command will be taken from the provider configuration.
422
422
 
423
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
423
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
424
424
 
425
425
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
426
426
 
@@ -309,7 +309,7 @@ class AddressGroupIamMember(pulumi.CustomResource):
309
309
  role: Optional[pulumi.Input[str]] = None,
310
310
  __props__=None):
311
311
  """
312
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
312
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
313
313
 
314
314
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
315
315
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -337,7 +337,7 @@ class AddressGroupIamMember(pulumi.CustomResource):
337
337
 
338
338
  Any variables not passed in the import command will be taken from the provider configuration.
339
339
 
340
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
340
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
341
341
 
342
342
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
343
343
 
@@ -392,7 +392,7 @@ class AddressGroupIamMember(pulumi.CustomResource):
392
392
  args: AddressGroupIamMemberArgs,
393
393
  opts: Optional[pulumi.ResourceOptions] = None):
394
394
  """
395
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
395
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
396
396
 
397
397
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
398
398
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -420,7 +420,7 @@ class AddressGroupIamMember(pulumi.CustomResource):
420
420
 
421
421
  Any variables not passed in the import command will be taken from the provider configuration.
422
422
 
423
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
423
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
424
424
 
425
425
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
426
426
 
@@ -206,7 +206,7 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
206
206
  project: Optional[pulumi.Input[str]] = None,
207
207
  __props__=None):
208
208
  """
209
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
209
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
210
210
 
211
211
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
212
212
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -234,7 +234,7 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
234
234
 
235
235
  Any variables not passed in the import command will be taken from the provider configuration.
236
236
 
237
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
237
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
238
238
 
239
239
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
240
240
 
@@ -277,7 +277,7 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
277
277
  args: AddressGroupIamPolicyArgs,
278
278
  opts: Optional[pulumi.ResourceOptions] = None):
279
279
  """
280
- Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
280
+ Three different resources help you manage your IAM policy for Network Security ProjectAddressGroup. Each of these resources serves a different use case:
281
281
 
282
282
  * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
283
283
  * `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
@@ -305,7 +305,7 @@ class AddressGroupIamPolicy(pulumi.CustomResource):
305
305
 
306
306
  Any variables not passed in the import command will be taken from the provider configuration.
307
307
 
308
- Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
308
+ Network Security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
309
309
 
310
310
  IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
311
311
 
@@ -61,8 +61,7 @@ class AuthzExtensionArgs:
61
61
  :param pulumi.Input[str] name: Identifier. Name of the AuthzExtension resource.
62
62
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
63
63
  If it is not provided, the provider project is used.
64
- :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension.
65
- Default value is `EXT_PROC_GRPC`.
64
+ :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
66
65
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
67
66
  """
68
67
  pulumi.set(__self__, "authority", authority)
@@ -250,8 +249,7 @@ class AuthzExtensionArgs:
250
249
  @pulumi.getter(name="wireFormat")
251
250
  def wire_format(self) -> Optional[pulumi.Input[str]]:
252
251
  """
253
- The format of communication supported by the callout extension.
254
- Default value is `EXT_PROC_GRPC`.
252
+ The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
255
253
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
256
254
  """
257
255
  return pulumi.get(self, "wire_format")
@@ -315,8 +313,7 @@ class _AuthzExtensionState:
315
313
  https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} or https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}.
316
314
  :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-10000 milliseconds.
317
315
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
318
- :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension.
319
- Default value is `EXT_PROC_GRPC`.
316
+ :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
320
317
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
321
318
  """
322
319
  if authority is not None:
@@ -566,8 +563,7 @@ class _AuthzExtensionState:
566
563
  @pulumi.getter(name="wireFormat")
567
564
  def wire_format(self) -> Optional[pulumi.Input[str]]:
568
565
  """
569
- The format of communication supported by the callout extension.
570
- Default value is `EXT_PROC_GRPC`.
566
+ The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
571
567
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
572
568
  """
573
569
  return pulumi.get(self, "wire_format")
@@ -690,8 +686,7 @@ class AuthzExtension(pulumi.CustomResource):
690
686
  To configure a callout extension, service must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format:
691
687
  https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} or https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}.
692
688
  :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-10000 milliseconds.
693
- :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension.
694
- Default value is `EXT_PROC_GRPC`.
689
+ :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
695
690
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
696
691
  """
697
692
  ...
@@ -897,8 +892,7 @@ class AuthzExtension(pulumi.CustomResource):
897
892
  https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} or https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}.
898
893
  :param pulumi.Input[str] timeout: Specifies the timeout for each individual message on the stream. The timeout must be between 10-10000 milliseconds.
899
894
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
900
- :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension.
901
- Default value is `EXT_PROC_GRPC`.
895
+ :param pulumi.Input[str] wire_format: The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
902
896
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
903
897
  """
904
898
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1070,10 +1064,9 @@ class AuthzExtension(pulumi.CustomResource):
1070
1064
 
1071
1065
  @property
1072
1066
  @pulumi.getter(name="wireFormat")
1073
- def wire_format(self) -> pulumi.Output[Optional[str]]:
1067
+ def wire_format(self) -> pulumi.Output[str]:
1074
1068
  """
1075
- The format of communication supported by the callout extension.
1076
- Default value is `EXT_PROC_GRPC`.
1069
+ The format of communication supported by the callout extension. Will be set to EXT_PROC_GRPC by the backend if no value is set.
1077
1070
  Possible values are: `WIRE_FORMAT_UNSPECIFIED`, `EXT_PROC_GRPC`.
1078
1071
  """
1079
1072
  return pulumi.get(self, "wire_format")
@@ -22,6 +22,7 @@ class MeshArgs:
22
22
  description: Optional[pulumi.Input[str]] = None,
23
23
  interception_port: Optional[pulumi.Input[int]] = None,
24
24
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
25
+ location: Optional[pulumi.Input[str]] = None,
25
26
  name: Optional[pulumi.Input[str]] = None,
26
27
  project: Optional[pulumi.Input[str]] = None):
27
28
  """
@@ -35,6 +36,7 @@ class MeshArgs:
35
36
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the Mesh resource.
36
37
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
37
38
  Please refer to the field `effective_labels` for all of the labels present on the resource.
39
+ :param pulumi.Input[str] location: Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
38
40
  :param pulumi.Input[str] name: Short name of the Mesh resource to be created.
39
41
 
40
42
 
@@ -48,6 +50,8 @@ class MeshArgs:
48
50
  pulumi.set(__self__, "interception_port", interception_port)
49
51
  if labels is not None:
50
52
  pulumi.set(__self__, "labels", labels)
53
+ if location is not None:
54
+ pulumi.set(__self__, "location", location)
51
55
  if name is not None:
52
56
  pulumi.set(__self__, "name", name)
53
57
  if project is not None:
@@ -95,6 +99,18 @@ class MeshArgs:
95
99
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
96
100
  pulumi.set(self, "labels", value)
97
101
 
102
+ @property
103
+ @pulumi.getter
104
+ def location(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
107
+ """
108
+ return pulumi.get(self, "location")
109
+
110
+ @location.setter
111
+ def location(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "location", value)
113
+
98
114
  @property
99
115
  @pulumi.getter
100
116
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -132,6 +148,7 @@ class _MeshState:
132
148
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
133
149
  interception_port: Optional[pulumi.Input[int]] = None,
134
150
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
151
+ location: Optional[pulumi.Input[str]] = None,
135
152
  name: Optional[pulumi.Input[str]] = None,
136
153
  project: Optional[pulumi.Input[str]] = None,
137
154
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -150,6 +167,7 @@ class _MeshState:
150
167
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the Mesh resource.
151
168
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
152
169
  Please refer to the field `effective_labels` for all of the labels present on the resource.
170
+ :param pulumi.Input[str] location: Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
153
171
  :param pulumi.Input[str] name: Short name of the Mesh resource to be created.
154
172
 
155
173
 
@@ -171,6 +189,8 @@ class _MeshState:
171
189
  pulumi.set(__self__, "interception_port", interception_port)
172
190
  if labels is not None:
173
191
  pulumi.set(__self__, "labels", labels)
192
+ if location is not None:
193
+ pulumi.set(__self__, "location", location)
174
194
  if name is not None:
175
195
  pulumi.set(__self__, "name", name)
176
196
  if project is not None:
@@ -248,6 +268,18 @@ class _MeshState:
248
268
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
249
269
  pulumi.set(self, "labels", value)
250
270
 
271
+ @property
272
+ @pulumi.getter
273
+ def location(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
276
+ """
277
+ return pulumi.get(self, "location")
278
+
279
+ @location.setter
280
+ def location(self, value: Optional[pulumi.Input[str]]):
281
+ pulumi.set(self, "location", value)
282
+
251
283
  @property
252
284
  @pulumi.getter
253
285
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -322,6 +354,7 @@ class Mesh(pulumi.CustomResource):
322
354
  description: Optional[pulumi.Input[str]] = None,
323
355
  interception_port: Optional[pulumi.Input[int]] = None,
324
356
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
357
+ location: Optional[pulumi.Input[str]] = None,
325
358
  name: Optional[pulumi.Input[str]] = None,
326
359
  project: Optional[pulumi.Input[str]] = None,
327
360
  __props__=None):
@@ -355,29 +388,39 @@ class Mesh(pulumi.CustomResource):
355
388
  },
356
389
  description="my description")
357
390
  ```
391
+ ### Network Services Mesh Location
392
+
393
+ ```python
394
+ import pulumi
395
+ import pulumi_gcp as gcp
396
+
397
+ default = gcp.networkservices.Mesh("default",
398
+ name="my-mesh",
399
+ location="global")
400
+ ```
358
401
 
359
402
  ## Import
360
403
 
361
404
  Mesh can be imported using any of these accepted formats:
362
405
 
363
- * `projects/{{project}}/locations/global/meshes/{{name}}`
406
+ * `projects/{{project}}/locations/{{location}}/meshes/{{name}}`
364
407
 
365
- * `{{project}}/{{name}}`
408
+ * `{{project}}/{{location}}/{{name}}`
366
409
 
367
- * `{{name}}`
410
+ * `{{location}}/{{name}}`
368
411
 
369
412
  When using the `pulumi import` command, Mesh can be imported using one of the formats above. For example:
370
413
 
371
414
  ```sh
372
- $ pulumi import gcp:networkservices/mesh:Mesh default projects/{{project}}/locations/global/meshes/{{name}}
415
+ $ pulumi import gcp:networkservices/mesh:Mesh default projects/{{project}}/locations/{{location}}/meshes/{{name}}
373
416
  ```
374
417
 
375
418
  ```sh
376
- $ pulumi import gcp:networkservices/mesh:Mesh default {{project}}/{{name}}
419
+ $ pulumi import gcp:networkservices/mesh:Mesh default {{project}}/{{location}}/{{name}}
377
420
  ```
378
421
 
379
422
  ```sh
380
- $ pulumi import gcp:networkservices/mesh:Mesh default {{name}}
423
+ $ pulumi import gcp:networkservices/mesh:Mesh default {{location}}/{{name}}
381
424
  ```
382
425
 
383
426
  :param str resource_name: The name of the resource.
@@ -391,6 +434,7 @@ class Mesh(pulumi.CustomResource):
391
434
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the Mesh resource.
392
435
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
393
436
  Please refer to the field `effective_labels` for all of the labels present on the resource.
437
+ :param pulumi.Input[str] location: Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
394
438
  :param pulumi.Input[str] name: Short name of the Mesh resource to be created.
395
439
 
396
440
 
@@ -434,29 +478,39 @@ class Mesh(pulumi.CustomResource):
434
478
  },
435
479
  description="my description")
436
480
  ```
481
+ ### Network Services Mesh Location
482
+
483
+ ```python
484
+ import pulumi
485
+ import pulumi_gcp as gcp
486
+
487
+ default = gcp.networkservices.Mesh("default",
488
+ name="my-mesh",
489
+ location="global")
490
+ ```
437
491
 
438
492
  ## Import
439
493
 
440
494
  Mesh can be imported using any of these accepted formats:
441
495
 
442
- * `projects/{{project}}/locations/global/meshes/{{name}}`
496
+ * `projects/{{project}}/locations/{{location}}/meshes/{{name}}`
443
497
 
444
- * `{{project}}/{{name}}`
498
+ * `{{project}}/{{location}}/{{name}}`
445
499
 
446
- * `{{name}}`
500
+ * `{{location}}/{{name}}`
447
501
 
448
502
  When using the `pulumi import` command, Mesh can be imported using one of the formats above. For example:
449
503
 
450
504
  ```sh
451
- $ pulumi import gcp:networkservices/mesh:Mesh default projects/{{project}}/locations/global/meshes/{{name}}
505
+ $ pulumi import gcp:networkservices/mesh:Mesh default projects/{{project}}/locations/{{location}}/meshes/{{name}}
452
506
  ```
453
507
 
454
508
  ```sh
455
- $ pulumi import gcp:networkservices/mesh:Mesh default {{project}}/{{name}}
509
+ $ pulumi import gcp:networkservices/mesh:Mesh default {{project}}/{{location}}/{{name}}
456
510
  ```
457
511
 
458
512
  ```sh
459
- $ pulumi import gcp:networkservices/mesh:Mesh default {{name}}
513
+ $ pulumi import gcp:networkservices/mesh:Mesh default {{location}}/{{name}}
460
514
  ```
461
515
 
462
516
  :param str resource_name: The name of the resource.
@@ -477,6 +531,7 @@ class Mesh(pulumi.CustomResource):
477
531
  description: Optional[pulumi.Input[str]] = None,
478
532
  interception_port: Optional[pulumi.Input[int]] = None,
479
533
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
534
+ location: Optional[pulumi.Input[str]] = None,
480
535
  name: Optional[pulumi.Input[str]] = None,
481
536
  project: Optional[pulumi.Input[str]] = None,
482
537
  __props__=None):
@@ -491,6 +546,7 @@ class Mesh(pulumi.CustomResource):
491
546
  __props__.__dict__["description"] = description
492
547
  __props__.__dict__["interception_port"] = interception_port
493
548
  __props__.__dict__["labels"] = labels
549
+ __props__.__dict__["location"] = location
494
550
  __props__.__dict__["name"] = name
495
551
  __props__.__dict__["project"] = project
496
552
  __props__.__dict__["create_time"] = None
@@ -515,6 +571,7 @@ class Mesh(pulumi.CustomResource):
515
571
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
516
572
  interception_port: Optional[pulumi.Input[int]] = None,
517
573
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
574
+ location: Optional[pulumi.Input[str]] = None,
518
575
  name: Optional[pulumi.Input[str]] = None,
519
576
  project: Optional[pulumi.Input[str]] = None,
520
577
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -538,6 +595,7 @@ class Mesh(pulumi.CustomResource):
538
595
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the Mesh resource.
539
596
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
540
597
  Please refer to the field `effective_labels` for all of the labels present on the resource.
598
+ :param pulumi.Input[str] location: Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
541
599
  :param pulumi.Input[str] name: Short name of the Mesh resource to be created.
542
600
 
543
601
 
@@ -558,6 +616,7 @@ class Mesh(pulumi.CustomResource):
558
616
  __props__.__dict__["effective_labels"] = effective_labels
559
617
  __props__.__dict__["interception_port"] = interception_port
560
618
  __props__.__dict__["labels"] = labels
619
+ __props__.__dict__["location"] = location
561
620
  __props__.__dict__["name"] = name
562
621
  __props__.__dict__["project"] = project
563
622
  __props__.__dict__["pulumi_labels"] = pulumi_labels
@@ -611,6 +670,14 @@ class Mesh(pulumi.CustomResource):
611
670
  """
612
671
  return pulumi.get(self, "labels")
613
672
 
673
+ @property
674
+ @pulumi.getter
675
+ def location(self) -> pulumi.Output[Optional[str]]:
676
+ """
677
+ Location (region) of the Mesh resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted.
678
+ """
679
+ return pulumi.get(self, "location")
680
+
614
681
  @property
615
682
  @pulumi.getter
616
683
  def name(self) -> pulumi.Output[str]:
@@ -108,7 +108,7 @@ def get_instance_iam_policy(instance_name: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for instance
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -148,7 +148,7 @@ def get_instance_iam_policy_output(instance_name: Optional[pulumi.Input[str]] =
148
148
  """
149
149
  Retrieves the current IAM policy data for instance
150
150
 
151
- ## example
151
+ ## Example Usage
152
152
 
153
153
  ```python
154
154
  import pulumi
@@ -108,7 +108,7 @@ def get_runtime_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for runtime
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -148,7 +148,7 @@ def get_runtime_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]
148
148
  """
149
149
  Retrieves the current IAM policy data for runtime
150
150
 
151
- ## example
151
+ ## Example Usage
152
152
 
153
153
  ```python
154
154
  import pulumi
@@ -103,6 +103,9 @@ class GetParameterVersionRenderResult:
103
103
  @property
104
104
  @pulumi.getter(name="renderedParameterData")
105
105
  def rendered_parameter_data(self) -> str:
106
+ """
107
+ The Rendered Parameter Data specifies that if you use `__REF__()` to reference a secret and the format is JSON or YAML, the placeholder `__REF__()` will be replaced with the actual secret value. However, if the format is UNFORMATTED, it will stay the same as the original `parameter_data`.
108
+ """
106
109
  return pulumi.get(self, "rendered_parameter_data")
107
110
 
108
111
 
@@ -111,6 +111,9 @@ class GetRegionalParameterVersionRenderResult:
111
111
  @property
112
112
  @pulumi.getter(name="renderedParameterData")
113
113
  def rendered_parameter_data(self) -> str:
114
+ """
115
+ The Rendered Parameter Data specifies that if you use `__REF__()` to reference a secret and the format is JSON or YAML, the placeholder `__REF__()` will be replaced with the actual secret value. However, if the format is UNFORMATTED, it will stay the same as the original `parameter_data`.
116
+ """
114
117
  return pulumi.get(self, "rendered_parameter_data")
115
118
 
116
119
 
@@ -8,6 +8,7 @@ import typing
8
8
  from .access_approval_settings import *
9
9
  from .api_key import *
10
10
  from .default_service_accounts import *
11
+ from .get_ancestry import *
11
12
  from .get_iam_policy import *
12
13
  from .get_organization_policy import *
13
14
  from .get_project import *
@@ -0,0 +1,150 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetAncestryResult',
20
+ 'AwaitableGetAncestryResult',
21
+ 'get_ancestry',
22
+ 'get_ancestry_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetAncestryResult:
27
+ """
28
+ A collection of values returned by getAncestry.
29
+ """
30
+ def __init__(__self__, ancestors=None, id=None, org_id=None, parent_id=None, parent_type=None, project=None):
31
+ if ancestors and not isinstance(ancestors, list):
32
+ raise TypeError("Expected argument 'ancestors' to be a list")
33
+ pulumi.set(__self__, "ancestors", ancestors)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if org_id and not isinstance(org_id, str):
38
+ raise TypeError("Expected argument 'org_id' to be a str")
39
+ pulumi.set(__self__, "org_id", org_id)
40
+ if parent_id and not isinstance(parent_id, str):
41
+ raise TypeError("Expected argument 'parent_id' to be a str")
42
+ pulumi.set(__self__, "parent_id", parent_id)
43
+ if parent_type and not isinstance(parent_type, str):
44
+ raise TypeError("Expected argument 'parent_type' to be a str")
45
+ pulumi.set(__self__, "parent_type", parent_type)
46
+ if project and not isinstance(project, str):
47
+ raise TypeError("Expected argument 'project' to be a str")
48
+ pulumi.set(__self__, "project", project)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def ancestors(self) -> Sequence['outputs.GetAncestryAncestorResult']:
53
+ """
54
+ A list of the project's ancestors. Structure is defined below.
55
+ """
56
+ return pulumi.get(self, "ancestors")
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def id(self) -> str:
61
+ """
62
+ The provider-assigned unique ID for this managed resource.
63
+ """
64
+ return pulumi.get(self, "id")
65
+
66
+ @property
67
+ @pulumi.getter(name="orgId")
68
+ def org_id(self) -> str:
69
+ """
70
+ The optional user-assigned display name of the project.
71
+ """
72
+ return pulumi.get(self, "org_id")
73
+
74
+ @property
75
+ @pulumi.getter(name="parentId")
76
+ def parent_id(self) -> str:
77
+ """
78
+ The parent's id.
79
+ """
80
+ return pulumi.get(self, "parent_id")
81
+
82
+ @property
83
+ @pulumi.getter(name="parentType")
84
+ def parent_type(self) -> str:
85
+ """
86
+ One of `"folder"` or `"organization"`.
87
+ """
88
+ return pulumi.get(self, "parent_type")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def project(self) -> Optional[str]:
93
+ return pulumi.get(self, "project")
94
+
95
+
96
+ class AwaitableGetAncestryResult(GetAncestryResult):
97
+ # pylint: disable=using-constant-test
98
+ def __await__(self):
99
+ if False:
100
+ yield self
101
+ return GetAncestryResult(
102
+ ancestors=self.ancestors,
103
+ id=self.id,
104
+ org_id=self.org_id,
105
+ parent_id=self.parent_id,
106
+ parent_type=self.parent_type,
107
+ project=self.project)
108
+
109
+
110
+ def get_ancestry(project: Optional[str] = None,
111
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAncestryResult:
112
+ """
113
+ Retrieve the ancestors for a project.
114
+ See the [REST API](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getAncestry) for more details.
115
+
116
+
117
+ :param str project: The ID of the project. If it is not provided, the provider project is used.
118
+ """
119
+ __args__ = dict()
120
+ __args__['project'] = project
121
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke('gcp:projects/getAncestry:getAncestry', __args__, opts=opts, typ=GetAncestryResult).value
123
+
124
+ return AwaitableGetAncestryResult(
125
+ ancestors=pulumi.get(__ret__, 'ancestors'),
126
+ id=pulumi.get(__ret__, 'id'),
127
+ org_id=pulumi.get(__ret__, 'org_id'),
128
+ parent_id=pulumi.get(__ret__, 'parent_id'),
129
+ parent_type=pulumi.get(__ret__, 'parent_type'),
130
+ project=pulumi.get(__ret__, 'project'))
131
+ def get_ancestry_output(project: Optional[pulumi.Input[Optional[str]]] = None,
132
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAncestryResult]:
133
+ """
134
+ Retrieve the ancestors for a project.
135
+ See the [REST API](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getAncestry) for more details.
136
+
137
+
138
+ :param str project: The ID of the project. If it is not provided, the provider project is used.
139
+ """
140
+ __args__ = dict()
141
+ __args__['project'] = project
142
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
143
+ __ret__ = pulumi.runtime.invoke_output('gcp:projects/getAncestry:getAncestry', __args__, opts=opts, typ=GetAncestryResult)
144
+ return __ret__.apply(lambda __response__: GetAncestryResult(
145
+ ancestors=pulumi.get(__response__, 'ancestors'),
146
+ id=pulumi.get(__response__, 'id'),
147
+ org_id=pulumi.get(__response__, 'org_id'),
148
+ parent_id=pulumi.get(__response__, 'parent_id'),
149
+ parent_type=pulumi.get(__response__, 'parent_type'),
150
+ project=pulumi.get(__response__, 'project')))