pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.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 (168) hide show
  1. pulumi_gcp/__init__.py +123 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  6. pulumi_gcp/apigee/app_group.py +7 -7
  7. pulumi_gcp/applicationintegration/client.py +8 -6
  8. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  9. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
  10. pulumi_gcp/artifactregistry/outputs.py +32 -20
  11. pulumi_gcp/artifactregistry/repository.py +214 -39
  12. pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
  13. pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
  14. pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
  15. pulumi_gcp/assuredworkloads/workload.py +7 -7
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  18. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  19. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  20. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  21. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  22. pulumi_gcp/bigquery/app_profile.py +75 -0
  23. pulumi_gcp/billing/_inputs.py +6 -6
  24. pulumi_gcp/billing/outputs.py +4 -4
  25. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  26. pulumi_gcp/certificateauthority/outputs.py +8 -8
  27. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  28. pulumi_gcp/cloudbuild/outputs.py +50 -0
  29. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  30. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  31. pulumi_gcp/clouddeploy/outputs.py +211 -0
  32. pulumi_gcp/clouddeploy/target.py +47 -0
  33. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  34. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  35. pulumi_gcp/cloudrunv2/job.py +4 -4
  36. pulumi_gcp/cloudrunv2/service.py +4 -4
  37. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  38. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  39. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  40. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  41. pulumi_gcp/compute/_inputs.py +566 -25
  42. pulumi_gcp/compute/disk.py +21 -7
  43. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  44. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  45. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  46. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  47. pulumi_gcp/compute/get_network.py +35 -1
  48. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  49. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  50. pulumi_gcp/compute/global_forwarding_rule.py +142 -2
  51. pulumi_gcp/compute/instance_group_manager.py +28 -0
  52. pulumi_gcp/compute/network.py +75 -0
  53. pulumi_gcp/compute/outputs.py +655 -26
  54. pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
  55. pulumi_gcp/compute/region_health_check.py +28 -0
  56. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  57. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  58. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  59. pulumi_gcp/compute/subnetwork.py +30 -2
  60. pulumi_gcp/compute/url_map.py +7 -7
  61. pulumi_gcp/config/__init__.pyi +2 -0
  62. pulumi_gcp/config/vars.py +4 -0
  63. pulumi_gcp/container/_inputs.py +201 -3
  64. pulumi_gcp/container/cluster.py +68 -14
  65. pulumi_gcp/container/get_cluster.py +12 -1
  66. pulumi_gcp/container/outputs.py +249 -3
  67. pulumi_gcp/dataproc/_inputs.py +209 -1
  68. pulumi_gcp/dataproc/batch.py +76 -0
  69. pulumi_gcp/dataproc/outputs.py +169 -3
  70. pulumi_gcp/diagflow/_inputs.py +3 -3
  71. pulumi_gcp/diagflow/outputs.py +2 -2
  72. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  73. pulumi_gcp/firebase/_inputs.py +99 -0
  74. pulumi_gcp/firebase/database_instance.py +24 -6
  75. pulumi_gcp/firebase/hosting_version.py +96 -0
  76. pulumi_gcp/firebase/outputs.py +59 -0
  77. pulumi_gcp/firebase/project.py +6 -6
  78. pulumi_gcp/firebaserules/release.py +76 -0
  79. pulumi_gcp/firestore/field.py +4 -4
  80. pulumi_gcp/gemini/__init__.py +15 -0
  81. pulumi_gcp/gemini/_inputs.py +183 -0
  82. pulumi_gcp/gemini/code_repository_index.py +659 -0
  83. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  84. pulumi_gcp/gemini/outputs.py +130 -0
  85. pulumi_gcp/gemini/repository_group.py +586 -0
  86. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  87. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  88. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  89. pulumi_gcp/gkehub/_inputs.py +30 -10
  90. pulumi_gcp/gkehub/membership_binding.py +6 -6
  91. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  92. pulumi_gcp/gkehub/namespace.py +4 -4
  93. pulumi_gcp/gkehub/outputs.py +21 -7
  94. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  95. pulumi_gcp/iam/__init__.py +1 -0
  96. pulumi_gcp/iam/_inputs.py +137 -0
  97. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  98. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  99. pulumi_gcp/iam/outputs.py +99 -0
  100. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  101. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  102. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  103. pulumi_gcp/identityplatform/_inputs.py +6 -6
  104. pulumi_gcp/identityplatform/config.py +2 -2
  105. pulumi_gcp/identityplatform/outputs.py +4 -4
  106. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  107. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  108. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  109. pulumi_gcp/looker/instance.py +35 -14
  110. pulumi_gcp/monitoring/_inputs.py +13 -6
  111. pulumi_gcp/monitoring/outputs.py +10 -4
  112. pulumi_gcp/netapp/_inputs.py +3 -3
  113. pulumi_gcp/netapp/active_directory.py +7 -7
  114. pulumi_gcp/netapp/outputs.py +2 -2
  115. pulumi_gcp/netapp/volume.py +11 -11
  116. pulumi_gcp/networkconnectivity/_inputs.py +10 -12
  117. pulumi_gcp/networkconnectivity/outputs.py +6 -8
  118. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  119. pulumi_gcp/networksecurity/__init__.py +7 -0
  120. pulumi_gcp/networksecurity/_inputs.py +2018 -0
  121. pulumi_gcp/networksecurity/authz_policy.py +1008 -0
  122. pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
  123. pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
  124. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  125. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  126. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  127. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  128. pulumi_gcp/networksecurity/outputs.py +1463 -0
  129. pulumi_gcp/networkservices/__init__.py +1 -0
  130. pulumi_gcp/networkservices/authz_extension.py +1080 -0
  131. pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
  132. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  133. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  134. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  135. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  136. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  137. pulumi_gcp/oracledatabase/outputs.py +21 -0
  138. pulumi_gcp/orgpolicy/_inputs.py +40 -0
  139. pulumi_gcp/orgpolicy/outputs.py +24 -0
  140. pulumi_gcp/orgpolicy/policy.py +66 -10
  141. pulumi_gcp/parallelstore/instance.py +4 -0
  142. pulumi_gcp/provider.py +20 -0
  143. pulumi_gcp/pubsub/subscription.py +6 -6
  144. pulumi_gcp/pulumi-plugin.json +1 -1
  145. pulumi_gcp/redis/_inputs.py +435 -3
  146. pulumi_gcp/redis/cluster.py +287 -16
  147. pulumi_gcp/redis/outputs.py +304 -2
  148. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  149. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  150. pulumi_gcp/sql/_inputs.py +3 -3
  151. pulumi_gcp/sql/database_instance.py +14 -14
  152. pulumi_gcp/sql/outputs.py +2 -2
  153. pulumi_gcp/storage/_inputs.py +53 -6
  154. pulumi_gcp/storage/get_bucket.py +2 -2
  155. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  156. pulumi_gcp/storage/outputs.py +33 -4
  157. pulumi_gcp/tpu/__init__.py +1 -0
  158. pulumi_gcp/tpu/_inputs.py +214 -24
  159. pulumi_gcp/tpu/outputs.py +182 -16
  160. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  161. pulumi_gcp/tpu/v2_vm.py +63 -0
  162. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  163. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  164. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  165. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
  166. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
  167. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
  168. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -142,6 +142,8 @@ if typing.TYPE_CHECKING:
142
142
  firestore = __firestore
143
143
  import pulumi_gcp.folder as __folder
144
144
  folder = __folder
145
+ import pulumi_gcp.gemini as __gemini
146
+ gemini = __gemini
145
147
  import pulumi_gcp.gkebackup as __gkebackup
146
148
  gkebackup = __gkebackup
147
149
  import pulumi_gcp.gkehub as __gkehub
@@ -325,6 +327,7 @@ else:
325
327
  firebaserules = _utilities.lazy_import('pulumi_gcp.firebaserules')
326
328
  firestore = _utilities.lazy_import('pulumi_gcp.firestore')
327
329
  folder = _utilities.lazy_import('pulumi_gcp.folder')
330
+ gemini = _utilities.lazy_import('pulumi_gcp.gemini')
328
331
  gkebackup = _utilities.lazy_import('pulumi_gcp.gkebackup')
329
332
  gkehub = _utilities.lazy_import('pulumi_gcp.gkehub')
330
333
  gkeonprem = _utilities.lazy_import('pulumi_gcp.gkeonprem')
@@ -4939,6 +4942,46 @@ _utilities.register(
4939
4942
  "gcp:folder/organizationPolicy:OrganizationPolicy": "OrganizationPolicy"
4940
4943
  }
4941
4944
  },
4945
+ {
4946
+ "pkg": "gcp",
4947
+ "mod": "gemini/codeRepositoryIndex",
4948
+ "fqn": "pulumi_gcp.gemini",
4949
+ "classes": {
4950
+ "gcp:gemini/codeRepositoryIndex:CodeRepositoryIndex": "CodeRepositoryIndex"
4951
+ }
4952
+ },
4953
+ {
4954
+ "pkg": "gcp",
4955
+ "mod": "gemini/repositoryGroup",
4956
+ "fqn": "pulumi_gcp.gemini",
4957
+ "classes": {
4958
+ "gcp:gemini/repositoryGroup:RepositoryGroup": "RepositoryGroup"
4959
+ }
4960
+ },
4961
+ {
4962
+ "pkg": "gcp",
4963
+ "mod": "gemini/repositoryGroupIamBinding",
4964
+ "fqn": "pulumi_gcp.gemini",
4965
+ "classes": {
4966
+ "gcp:gemini/repositoryGroupIamBinding:RepositoryGroupIamBinding": "RepositoryGroupIamBinding"
4967
+ }
4968
+ },
4969
+ {
4970
+ "pkg": "gcp",
4971
+ "mod": "gemini/repositoryGroupIamMember",
4972
+ "fqn": "pulumi_gcp.gemini",
4973
+ "classes": {
4974
+ "gcp:gemini/repositoryGroupIamMember:RepositoryGroupIamMember": "RepositoryGroupIamMember"
4975
+ }
4976
+ },
4977
+ {
4978
+ "pkg": "gcp",
4979
+ "mod": "gemini/repositoryGroupIamPolicy",
4980
+ "fqn": "pulumi_gcp.gemini",
4981
+ "classes": {
4982
+ "gcp:gemini/repositoryGroupIamPolicy:RepositoryGroupIamPolicy": "RepositoryGroupIamPolicy"
4983
+ }
4984
+ },
4942
4985
  {
4943
4986
  "pkg": "gcp",
4944
4987
  "mod": "gkebackup/backupPlan",
@@ -5403,6 +5446,14 @@ _utilities.register(
5403
5446
  "gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy": "PrincipalAccessBoundaryPolicy"
5404
5447
  }
5405
5448
  },
5449
+ {
5450
+ "pkg": "gcp",
5451
+ "mod": "iam/projectsPolicyBinding",
5452
+ "fqn": "pulumi_gcp.iam",
5453
+ "classes": {
5454
+ "gcp:iam/projectsPolicyBinding:ProjectsPolicyBinding": "ProjectsPolicyBinding"
5455
+ }
5456
+ },
5406
5457
  {
5407
5458
  "pkg": "gcp",
5408
5459
  "mod": "iam/workforcePool",
@@ -6427,6 +6478,14 @@ _utilities.register(
6427
6478
  "gcp:networksecurity/authorizationPolicy:AuthorizationPolicy": "AuthorizationPolicy"
6428
6479
  }
6429
6480
  },
6481
+ {
6482
+ "pkg": "gcp",
6483
+ "mod": "networksecurity/authzPolicy",
6484
+ "fqn": "pulumi_gcp.networksecurity",
6485
+ "classes": {
6486
+ "gcp:networksecurity/authzPolicy:AuthzPolicy": "AuthzPolicy"
6487
+ }
6488
+ },
6430
6489
  {
6431
6490
  "pkg": "gcp",
6432
6491
  "mod": "networksecurity/clientTlsPolicy",
@@ -6467,6 +6526,54 @@ _utilities.register(
6467
6526
  "gcp:networksecurity/gatewaySecurityPolicyRule:GatewaySecurityPolicyRule": "GatewaySecurityPolicyRule"
6468
6527
  }
6469
6528
  },
6529
+ {
6530
+ "pkg": "gcp",
6531
+ "mod": "networksecurity/interceptDeployment",
6532
+ "fqn": "pulumi_gcp.networksecurity",
6533
+ "classes": {
6534
+ "gcp:networksecurity/interceptDeployment:InterceptDeployment": "InterceptDeployment"
6535
+ }
6536
+ },
6537
+ {
6538
+ "pkg": "gcp",
6539
+ "mod": "networksecurity/interceptDeploymentGroup",
6540
+ "fqn": "pulumi_gcp.networksecurity",
6541
+ "classes": {
6542
+ "gcp:networksecurity/interceptDeploymentGroup:InterceptDeploymentGroup": "InterceptDeploymentGroup"
6543
+ }
6544
+ },
6545
+ {
6546
+ "pkg": "gcp",
6547
+ "mod": "networksecurity/mirroringDeployment",
6548
+ "fqn": "pulumi_gcp.networksecurity",
6549
+ "classes": {
6550
+ "gcp:networksecurity/mirroringDeployment:MirroringDeployment": "MirroringDeployment"
6551
+ }
6552
+ },
6553
+ {
6554
+ "pkg": "gcp",
6555
+ "mod": "networksecurity/mirroringDeploymentGroup",
6556
+ "fqn": "pulumi_gcp.networksecurity",
6557
+ "classes": {
6558
+ "gcp:networksecurity/mirroringDeploymentGroup:MirroringDeploymentGroup": "MirroringDeploymentGroup"
6559
+ }
6560
+ },
6561
+ {
6562
+ "pkg": "gcp",
6563
+ "mod": "networksecurity/mirroringEndpointGroup",
6564
+ "fqn": "pulumi_gcp.networksecurity",
6565
+ "classes": {
6566
+ "gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup": "MirroringEndpointGroup"
6567
+ }
6568
+ },
6569
+ {
6570
+ "pkg": "gcp",
6571
+ "mod": "networksecurity/mirroringEndpointGroupAssociation",
6572
+ "fqn": "pulumi_gcp.networksecurity",
6573
+ "classes": {
6574
+ "gcp:networksecurity/mirroringEndpointGroupAssociation:MirroringEndpointGroupAssociation": "MirroringEndpointGroupAssociation"
6575
+ }
6576
+ },
6470
6577
  {
6471
6578
  "pkg": "gcp",
6472
6579
  "mod": "networksecurity/securityProfile",
@@ -6507,6 +6614,14 @@ _utilities.register(
6507
6614
  "gcp:networksecurity/urlList:UrlList": "UrlList"
6508
6615
  }
6509
6616
  },
6617
+ {
6618
+ "pkg": "gcp",
6619
+ "mod": "networkservices/authzExtension",
6620
+ "fqn": "pulumi_gcp.networkservices",
6621
+ "classes": {
6622
+ "gcp:networkservices/authzExtension:AuthzExtension": "AuthzExtension"
6623
+ }
6624
+ },
6510
6625
  {
6511
6626
  "pkg": "gcp",
6512
6627
  "mod": "networkservices/edgeCacheKeyset",
@@ -8171,6 +8286,14 @@ _utilities.register(
8171
8286
  "gcp:tpu/node:Node": "Node"
8172
8287
  }
8173
8288
  },
8289
+ {
8290
+ "pkg": "gcp",
8291
+ "mod": "tpu/v2QueuedResource",
8292
+ "fqn": "pulumi_gcp.tpu",
8293
+ "classes": {
8294
+ "gcp:tpu/v2QueuedResource:V2QueuedResource": "V2QueuedResource"
8295
+ }
8296
+ },
8174
8297
  {
8175
8298
  "pkg": "gcp",
8176
8299
  "mod": "tpu/v2Vm",
@@ -175,6 +175,9 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
175
175
  > **Note:** By default, updates to this resource will remove the EgressPolicy from the
176
176
  from the perimeter and add it back in a non-atomic manner. To ensure that the new EgressPolicy
177
177
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
178
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
179
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].egress_policies]` so
180
+ they don't fight over which egress rules should be in the policy.
178
181
 
179
182
  To get more information about ServicePerimeterDryRunEgressPolicy, see:
180
183
 
@@ -215,6 +218,9 @@ class ServicePerimeterDryRunEgressPolicy(pulumi.CustomResource):
215
218
  > **Note:** By default, updates to this resource will remove the EgressPolicy from the
216
219
  from the perimeter and add it back in a non-atomic manner. To ensure that the new EgressPolicy
217
220
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
221
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
222
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].egress_policies]` so
223
+ they don't fight over which egress rules should be in the policy.
218
224
 
219
225
  To get more information about ServicePerimeterDryRunEgressPolicy, see:
220
226
 
@@ -180,6 +180,9 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
180
180
  > **Note:** By default, updates to this resource will remove the IngressPolicy from the
181
181
  from the perimeter and add it back in a non-atomic manner. To ensure that the new IngressPolicy
182
182
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
183
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
184
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].ingress_policies]` so
185
+ they don't fight over which ingress rules should be in the policy.
183
186
 
184
187
  To get more information about ServicePerimeterDryRunIngressPolicy, see:
185
188
 
@@ -222,6 +225,9 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
222
225
  > **Note:** By default, updates to this resource will remove the IngressPolicy from the
223
226
  from the perimeter and add it back in a non-atomic manner. To ensure that the new IngressPolicy
224
227
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
228
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
229
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [spec[0].ingress_policies]` so
230
+ they don't fight over which ingress rules should be in the policy.
225
231
 
226
232
  To get more information about ServicePerimeterDryRunIngressPolicy, see:
227
233
 
@@ -175,6 +175,9 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
175
175
  > **Note:** By default, updates to this resource will remove the EgressPolicy from the
176
176
  from the perimeter and add it back in a non-atomic manner. To ensure that the new EgressPolicy
177
177
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
178
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
179
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [status[0].egress_policies]` so
180
+ they don't fight over which egress rules should be in the policy.
178
181
 
179
182
  To get more information about ServicePerimeterEgressPolicy, see:
180
183
 
@@ -215,6 +218,9 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
215
218
  > **Note:** By default, updates to this resource will remove the EgressPolicy from the
216
219
  from the perimeter and add it back in a non-atomic manner. To ensure that the new EgressPolicy
217
220
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
221
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
222
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [status[0].egress_policies]` so
223
+ they don't fight over which egress rules should be in the policy.
218
224
 
219
225
  To get more information about ServicePerimeterEgressPolicy, see:
220
226
 
@@ -180,6 +180,9 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
180
180
  > **Note:** By default, updates to this resource will remove the IngressPolicy from the
181
181
  from the perimeter and add it back in a non-atomic manner. To ensure that the new IngressPolicy
182
182
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
183
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
184
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [status[0].ingress_policies]` so
185
+ they don't fight over which ingress rules should be in the policy.
183
186
 
184
187
  To get more information about ServicePerimeterIngressPolicy, see:
185
188
 
@@ -222,6 +225,9 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
222
225
  > **Note:** By default, updates to this resource will remove the IngressPolicy from the
223
226
  from the perimeter and add it back in a non-atomic manner. To ensure that the new IngressPolicy
224
227
  is added before the old one is removed, add a `lifecycle` block with `create_before_destroy = true` to this resource.
228
+ **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource,
229
+ the service perimeter resource must have a `lifecycle` block with `ignore_changes = [status[0].ingress_policies]` so
230
+ they don't fight over which ingress rules should be in the policy.
225
231
 
226
232
  To get more information about ServicePerimeterIngressPolicy, see:
227
233
 
@@ -37,7 +37,7 @@ class AppGroupArgs:
37
37
  - - -
38
38
  :param pulumi.Input[Sequence[pulumi.Input['AppGroupAttributeArgs']]] attributes: A list of attributes
39
39
  Structure is documented below.
40
- :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaing this grouping.
40
+ :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaining this grouping.
41
41
  :param pulumi.Input[str] channel_uri: A reference to the associated storefront/marketplace.
42
42
  :param pulumi.Input[str] display_name: App group name displayed in the UI
43
43
  :param pulumi.Input[str] name: Name of the AppGroup. Characters you can use in the name are restricted to: A-Z0-9._-$ %.
@@ -91,7 +91,7 @@ class AppGroupArgs:
91
91
  @pulumi.getter(name="channelId")
92
92
  def channel_id(self) -> Optional[pulumi.Input[str]]:
93
93
  """
94
- Channel identifier identifies the owner maintaing this grouping.
94
+ Channel identifier identifies the owner maintaining this grouping.
95
95
  """
96
96
  return pulumi.get(self, "channel_id")
97
97
 
@@ -168,7 +168,7 @@ class _AppGroupState:
168
168
  :param pulumi.Input[str] app_group_id: Internal identifier that cannot be edited
169
169
  :param pulumi.Input[Sequence[pulumi.Input['AppGroupAttributeArgs']]] attributes: A list of attributes
170
170
  Structure is documented below.
171
- :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaing this grouping.
171
+ :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaining this grouping.
172
172
  :param pulumi.Input[str] channel_uri: A reference to the associated storefront/marketplace.
173
173
  :param pulumi.Input[str] created_at: Created time as milliseconds since epoch.
174
174
  :param pulumi.Input[str] display_name: App group name displayed in the UI
@@ -235,7 +235,7 @@ class _AppGroupState:
235
235
  @pulumi.getter(name="channelId")
236
236
  def channel_id(self) -> Optional[pulumi.Input[str]]:
237
237
  """
238
- Channel identifier identifies the owner maintaing this grouping.
238
+ Channel identifier identifies the owner maintaining this grouping.
239
239
  """
240
240
  return pulumi.get(self, "channel_id")
241
241
 
@@ -476,7 +476,7 @@ class AppGroup(pulumi.CustomResource):
476
476
  :param pulumi.ResourceOptions opts: Options for the resource.
477
477
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppGroupAttributeArgs', 'AppGroupAttributeArgsDict']]]] attributes: A list of attributes
478
478
  Structure is documented below.
479
- :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaing this grouping.
479
+ :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaining this grouping.
480
480
  :param pulumi.Input[str] channel_uri: A reference to the associated storefront/marketplace.
481
481
  :param pulumi.Input[str] display_name: App group name displayed in the UI
482
482
  :param pulumi.Input[str] name: Name of the AppGroup. Characters you can use in the name are restricted to: A-Z0-9._-$ %.
@@ -683,7 +683,7 @@ class AppGroup(pulumi.CustomResource):
683
683
  :param pulumi.Input[str] app_group_id: Internal identifier that cannot be edited
684
684
  :param pulumi.Input[Sequence[pulumi.Input[Union['AppGroupAttributeArgs', 'AppGroupAttributeArgsDict']]]] attributes: A list of attributes
685
685
  Structure is documented below.
686
- :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaing this grouping.
686
+ :param pulumi.Input[str] channel_id: Channel identifier identifies the owner maintaining this grouping.
687
687
  :param pulumi.Input[str] channel_uri: A reference to the associated storefront/marketplace.
688
688
  :param pulumi.Input[str] created_at: Created time as milliseconds since epoch.
689
689
  :param pulumi.Input[str] display_name: App group name displayed in the UI
@@ -736,7 +736,7 @@ class AppGroup(pulumi.CustomResource):
736
736
  @pulumi.getter(name="channelId")
737
737
  def channel_id(self) -> pulumi.Output[Optional[str]]:
738
738
  """
739
- Channel identifier identifies the owner maintaing this grouping.
739
+ Channel identifier identifies the owner maintaining this grouping.
740
740
  """
741
741
  return pulumi.get(self, "channel_id")
742
742
 
@@ -249,6 +249,7 @@ class Client(pulumi.CustomResource):
249
249
  ```python
250
250
  import pulumi
251
251
  import pulumi_gcp as gcp
252
+ import pulumi_std as std
252
253
 
253
254
  test_project = gcp.organizations.get_project()
254
255
  keyring = gcp.kms.KeyRing("keyring",
@@ -268,9 +269,9 @@ class Client(pulumi.CustomResource):
268
269
  run_as_service_account=service_account.email,
269
270
  cloud_kms_config={
270
271
  "kms_location": "us-east1",
271
- "kms_ring": keyring.id,
272
- "key": cryptokey.id,
273
- "key_version": test_key.id,
272
+ "kms_ring": std.basename_output(input=keyring.id).apply(lambda invoke: invoke.result),
273
+ "key": std.basename_output(input=cryptokey.id).apply(lambda invoke: invoke.result),
274
+ "key_version": std.basename_output(input=test_key.id).apply(lambda invoke: invoke.result),
274
275
  "kms_project_id": test_project.project_id,
275
276
  })
276
277
  ```
@@ -343,6 +344,7 @@ class Client(pulumi.CustomResource):
343
344
  ```python
344
345
  import pulumi
345
346
  import pulumi_gcp as gcp
347
+ import pulumi_std as std
346
348
 
347
349
  test_project = gcp.organizations.get_project()
348
350
  keyring = gcp.kms.KeyRing("keyring",
@@ -362,9 +364,9 @@ class Client(pulumi.CustomResource):
362
364
  run_as_service_account=service_account.email,
363
365
  cloud_kms_config={
364
366
  "kms_location": "us-east1",
365
- "kms_ring": keyring.id,
366
- "key": cryptokey.id,
367
- "key_version": test_key.id,
367
+ "kms_ring": std.basename_output(input=keyring.id).apply(lambda invoke: invoke.result),
368
+ "key": std.basename_output(input=cryptokey.id).apply(lambda invoke: invoke.result),
369
+ "key_version": std.basename_output(input=test_key.id).apply(lambda invoke: invoke.result),
368
370
  "kms_project_id": test_project.project_id,
369
371
  })
370
372
  ```
@@ -880,7 +880,10 @@ if not MYPY:
880
880
  class RepositoryRemoteRepositoryConfigCommonRepositoryArgsDict(TypedDict):
881
881
  uri: pulumi.Input[str]
882
882
  """
883
- Specific uri to the Artifact Registory repository, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
883
+ One of:
884
+ a. Artifact Registry Repository resource, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
885
+ b. URI to the registry, e.g. `"https://registry-1.docker.io"`
886
+ c. URI to Artifact Registry Repository, e.g. `"https://REGION-docker.pkg.dev/UPSTREAM_PROJECT_ID/UPSTREAM_REPOSITORY"`
884
887
  """
885
888
  elif False:
886
889
  RepositoryRemoteRepositoryConfigCommonRepositoryArgsDict: TypeAlias = Mapping[str, Any]
@@ -890,7 +893,10 @@ class RepositoryRemoteRepositoryConfigCommonRepositoryArgs:
890
893
  def __init__(__self__, *,
891
894
  uri: pulumi.Input[str]):
892
895
  """
893
- :param pulumi.Input[str] uri: Specific uri to the Artifact Registory repository, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
896
+ :param pulumi.Input[str] uri: One of:
897
+ a. Artifact Registry Repository resource, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
898
+ b. URI to the registry, e.g. `"https://registry-1.docker.io"`
899
+ c. URI to Artifact Registry Repository, e.g. `"https://REGION-docker.pkg.dev/UPSTREAM_PROJECT_ID/UPSTREAM_REPOSITORY"`
894
900
  """
895
901
  pulumi.set(__self__, "uri", uri)
896
902
 
@@ -898,7 +904,10 @@ class RepositoryRemoteRepositoryConfigCommonRepositoryArgs:
898
904
  @pulumi.getter
899
905
  def uri(self) -> pulumi.Input[str]:
900
906
  """
901
- Specific uri to the Artifact Registory repository, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
907
+ One of:
908
+ a. Artifact Registry Repository resource, e.g. `projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY`
909
+ b. URI to the registry, e.g. `"https://registry-1.docker.io"`
910
+ c. URI to Artifact Registry Repository, e.g. `"https://REGION-docker.pkg.dev/UPSTREAM_PROJECT_ID/UPSTREAM_REPOSITORY"`
902
911
  """
903
912
  return pulumi.get(self, "uri")
904
913
 
@@ -911,7 +920,7 @@ if not MYPY:
911
920
  class RepositoryRemoteRepositoryConfigDockerRepositoryArgsDict(TypedDict):
912
921
  custom_repository: NotRequired[pulumi.Input['RepositoryRemoteRepositoryConfigDockerRepositoryCustomRepositoryArgsDict']]
913
922
  """
914
- Settings for a remote repository with a custom uri.
923
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
915
924
  Structure is documented below.
916
925
  """
917
926
  public_repository: NotRequired[pulumi.Input[str]]
@@ -929,7 +938,7 @@ class RepositoryRemoteRepositoryConfigDockerRepositoryArgs:
929
938
  custom_repository: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigDockerRepositoryCustomRepositoryArgs']] = None,
930
939
  public_repository: Optional[pulumi.Input[str]] = None):
931
940
  """
932
- :param pulumi.Input['RepositoryRemoteRepositoryConfigDockerRepositoryCustomRepositoryArgs'] custom_repository: Settings for a remote repository with a custom uri.
941
+ :param pulumi.Input['RepositoryRemoteRepositoryConfigDockerRepositoryCustomRepositoryArgs'] custom_repository: [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
933
942
  Structure is documented below.
934
943
  :param pulumi.Input[str] public_repository: Address of the remote repository.
935
944
  Default value is `DOCKER_HUB`.
@@ -944,7 +953,7 @@ class RepositoryRemoteRepositoryConfigDockerRepositoryArgs:
944
953
  @pulumi.getter(name="customRepository")
945
954
  def custom_repository(self) -> Optional[pulumi.Input['RepositoryRemoteRepositoryConfigDockerRepositoryCustomRepositoryArgs']]:
946
955
  """
947
- Settings for a remote repository with a custom uri.
956
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
948
957
  Structure is documented below.
949
958
  """
950
959
  return pulumi.get(self, "custom_repository")
@@ -1004,7 +1013,7 @@ if not MYPY:
1004
1013
  class RepositoryRemoteRepositoryConfigMavenRepositoryArgsDict(TypedDict):
1005
1014
  custom_repository: NotRequired[pulumi.Input['RepositoryRemoteRepositoryConfigMavenRepositoryCustomRepositoryArgsDict']]
1006
1015
  """
1007
- Settings for a remote repository with a custom uri.
1016
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1008
1017
  Structure is documented below.
1009
1018
  """
1010
1019
  public_repository: NotRequired[pulumi.Input[str]]
@@ -1022,7 +1031,7 @@ class RepositoryRemoteRepositoryConfigMavenRepositoryArgs:
1022
1031
  custom_repository: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigMavenRepositoryCustomRepositoryArgs']] = None,
1023
1032
  public_repository: Optional[pulumi.Input[str]] = None):
1024
1033
  """
1025
- :param pulumi.Input['RepositoryRemoteRepositoryConfigMavenRepositoryCustomRepositoryArgs'] custom_repository: Settings for a remote repository with a custom uri.
1034
+ :param pulumi.Input['RepositoryRemoteRepositoryConfigMavenRepositoryCustomRepositoryArgs'] custom_repository: [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1026
1035
  Structure is documented below.
1027
1036
  :param pulumi.Input[str] public_repository: Address of the remote repository.
1028
1037
  Default value is `MAVEN_CENTRAL`.
@@ -1037,7 +1046,7 @@ class RepositoryRemoteRepositoryConfigMavenRepositoryArgs:
1037
1046
  @pulumi.getter(name="customRepository")
1038
1047
  def custom_repository(self) -> Optional[pulumi.Input['RepositoryRemoteRepositoryConfigMavenRepositoryCustomRepositoryArgs']]:
1039
1048
  """
1040
- Settings for a remote repository with a custom uri.
1049
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1041
1050
  Structure is documented below.
1042
1051
  """
1043
1052
  return pulumi.get(self, "custom_repository")
@@ -1097,7 +1106,7 @@ if not MYPY:
1097
1106
  class RepositoryRemoteRepositoryConfigNpmRepositoryArgsDict(TypedDict):
1098
1107
  custom_repository: NotRequired[pulumi.Input['RepositoryRemoteRepositoryConfigNpmRepositoryCustomRepositoryArgsDict']]
1099
1108
  """
1100
- Settings for a remote repository with a custom uri.
1109
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1101
1110
  Structure is documented below.
1102
1111
  """
1103
1112
  public_repository: NotRequired[pulumi.Input[str]]
@@ -1115,7 +1124,7 @@ class RepositoryRemoteRepositoryConfigNpmRepositoryArgs:
1115
1124
  custom_repository: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigNpmRepositoryCustomRepositoryArgs']] = None,
1116
1125
  public_repository: Optional[pulumi.Input[str]] = None):
1117
1126
  """
1118
- :param pulumi.Input['RepositoryRemoteRepositoryConfigNpmRepositoryCustomRepositoryArgs'] custom_repository: Settings for a remote repository with a custom uri.
1127
+ :param pulumi.Input['RepositoryRemoteRepositoryConfigNpmRepositoryCustomRepositoryArgs'] custom_repository: [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1119
1128
  Structure is documented below.
1120
1129
  :param pulumi.Input[str] public_repository: Address of the remote repository.
1121
1130
  Default value is `NPMJS`.
@@ -1130,7 +1139,7 @@ class RepositoryRemoteRepositoryConfigNpmRepositoryArgs:
1130
1139
  @pulumi.getter(name="customRepository")
1131
1140
  def custom_repository(self) -> Optional[pulumi.Input['RepositoryRemoteRepositoryConfigNpmRepositoryCustomRepositoryArgs']]:
1132
1141
  """
1133
- Settings for a remote repository with a custom uri.
1142
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1134
1143
  Structure is documented below.
1135
1144
  """
1136
1145
  return pulumi.get(self, "custom_repository")
@@ -1190,7 +1199,7 @@ if not MYPY:
1190
1199
  class RepositoryRemoteRepositoryConfigPythonRepositoryArgsDict(TypedDict):
1191
1200
  custom_repository: NotRequired[pulumi.Input['RepositoryRemoteRepositoryConfigPythonRepositoryCustomRepositoryArgsDict']]
1192
1201
  """
1193
- Settings for a remote repository with a custom uri.
1202
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1194
1203
  Structure is documented below.
1195
1204
  """
1196
1205
  public_repository: NotRequired[pulumi.Input[str]]
@@ -1208,7 +1217,7 @@ class RepositoryRemoteRepositoryConfigPythonRepositoryArgs:
1208
1217
  custom_repository: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigPythonRepositoryCustomRepositoryArgs']] = None,
1209
1218
  public_repository: Optional[pulumi.Input[str]] = None):
1210
1219
  """
1211
- :param pulumi.Input['RepositoryRemoteRepositoryConfigPythonRepositoryCustomRepositoryArgs'] custom_repository: Settings for a remote repository with a custom uri.
1220
+ :param pulumi.Input['RepositoryRemoteRepositoryConfigPythonRepositoryCustomRepositoryArgs'] custom_repository: [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1212
1221
  Structure is documented below.
1213
1222
  :param pulumi.Input[str] public_repository: Address of the remote repository.
1214
1223
  Default value is `PYPI`.
@@ -1223,7 +1232,7 @@ class RepositoryRemoteRepositoryConfigPythonRepositoryArgs:
1223
1232
  @pulumi.getter(name="customRepository")
1224
1233
  def custom_repository(self) -> Optional[pulumi.Input['RepositoryRemoteRepositoryConfigPythonRepositoryCustomRepositoryArgs']]:
1225
1234
  """
1226
- Settings for a remote repository with a custom uri.
1235
+ [Deprecated, please use commonRepository instead] Settings for a remote repository with a custom uri.
1227
1236
  Structure is documented below.
1228
1237
  """
1229
1238
  return pulumi.get(self, "custom_repository")
@@ -120,8 +120,12 @@ def get_repository_iam_policy(location: Optional[str] = None,
120
120
  ```
121
121
 
122
122
 
123
- :param str location: The name of the location this repository is located in.
124
- Used to find the parent resource to bind the IAM policy to. If not specified,
123
+ :param str location: The name of the repository's location. In addition to specific regions,
124
+ special values for multi-region locations are `asia`, `europe`, and `us`.
125
+ See [here](https://cloud.google.com/artifact-registry/docs/repositories/repo-locations),
126
+ or use the
127
+ artifactregistry_get_locations
128
+ data source for possible values. Used to find the parent resource to bind the IAM policy to. If not specified,
125
129
  the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
126
130
  location is specified, it is taken from the provider configuration.
127
131
  :param str project: The ID of the project in which the resource belongs.
@@ -161,8 +165,12 @@ def get_repository_iam_policy_output(location: Optional[pulumi.Input[Optional[st
161
165
  ```
162
166
 
163
167
 
164
- :param str location: The name of the location this repository is located in.
165
- Used to find the parent resource to bind the IAM policy to. If not specified,
168
+ :param str location: The name of the repository's location. In addition to specific regions,
169
+ special values for multi-region locations are `asia`, `europe`, and `us`.
170
+ See [here](https://cloud.google.com/artifact-registry/docs/repositories/repo-locations),
171
+ or use the
172
+ artifactregistry_get_locations
173
+ data source for possible values. Used to find the parent resource to bind the IAM policy to. If not specified,
166
174
  the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
167
175
  location is specified, it is taken from the provider configuration.
168
176
  :param str project: The ID of the project in which the resource belongs.