pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.11.0a1734385115__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 (142) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +29 -0
  3. pulumi_gcp/accesscontextmanager/outputs.py +18 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter.py +36 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  9. pulumi_gcp/apigee/app_group.py +7 -7
  10. pulumi_gcp/applicationintegration/client.py +8 -6
  11. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  12. pulumi_gcp/artifactregistry/outputs.py +32 -20
  13. pulumi_gcp/artifactregistry/repository.py +128 -0
  14. pulumi_gcp/assuredworkloads/workload.py +7 -7
  15. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  16. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  17. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  18. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  19. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  20. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  21. pulumi_gcp/bigquery/app_profile.py +75 -0
  22. pulumi_gcp/billing/_inputs.py +6 -6
  23. pulumi_gcp/billing/outputs.py +4 -4
  24. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  25. pulumi_gcp/certificateauthority/outputs.py +8 -8
  26. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  27. pulumi_gcp/cloudbuild/outputs.py +50 -0
  28. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  29. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  30. pulumi_gcp/clouddeploy/outputs.py +211 -0
  31. pulumi_gcp/clouddeploy/target.py +47 -0
  32. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  33. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  34. pulumi_gcp/cloudrunv2/job.py +4 -4
  35. pulumi_gcp/cloudrunv2/service.py +4 -4
  36. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  37. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  38. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  39. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  40. pulumi_gcp/compute/_inputs.py +566 -25
  41. pulumi_gcp/compute/disk.py +21 -7
  42. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  43. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  44. pulumi_gcp/compute/get_global_forwarding_rule.py +12 -1
  45. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  46. pulumi_gcp/compute/get_network.py +35 -1
  47. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  48. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  49. pulumi_gcp/compute/global_forwarding_rule.py +28 -0
  50. pulumi_gcp/compute/instance_group_manager.py +28 -0
  51. pulumi_gcp/compute/network.py +75 -0
  52. pulumi_gcp/compute/outputs.py +655 -26
  53. pulumi_gcp/compute/region_health_check.py +28 -0
  54. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  55. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  56. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  57. pulumi_gcp/compute/subnetwork.py +30 -2
  58. pulumi_gcp/compute/url_map.py +7 -7
  59. pulumi_gcp/config/__init__.pyi +2 -0
  60. pulumi_gcp/config/vars.py +4 -0
  61. pulumi_gcp/container/_inputs.py +201 -3
  62. pulumi_gcp/container/cluster.py +68 -14
  63. pulumi_gcp/container/get_cluster.py +12 -1
  64. pulumi_gcp/container/outputs.py +249 -3
  65. pulumi_gcp/dataproc/_inputs.py +209 -1
  66. pulumi_gcp/dataproc/batch.py +76 -0
  67. pulumi_gcp/dataproc/outputs.py +169 -3
  68. pulumi_gcp/diagflow/_inputs.py +3 -3
  69. pulumi_gcp/diagflow/outputs.py +2 -2
  70. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  71. pulumi_gcp/firebaserules/release.py +76 -0
  72. pulumi_gcp/firestore/field.py +4 -4
  73. pulumi_gcp/gemini/__init__.py +15 -0
  74. pulumi_gcp/gemini/_inputs.py +183 -0
  75. pulumi_gcp/gemini/code_repository_index.py +659 -0
  76. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  77. pulumi_gcp/gemini/outputs.py +130 -0
  78. pulumi_gcp/gemini/repository_group.py +586 -0
  79. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  80. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  81. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  82. pulumi_gcp/gkehub/_inputs.py +30 -10
  83. pulumi_gcp/gkehub/membership_binding.py +6 -6
  84. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  85. pulumi_gcp/gkehub/namespace.py +4 -4
  86. pulumi_gcp/gkehub/outputs.py +21 -7
  87. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  88. pulumi_gcp/iam/__init__.py +1 -0
  89. pulumi_gcp/iam/_inputs.py +137 -0
  90. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  91. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  92. pulumi_gcp/iam/outputs.py +99 -0
  93. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  94. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  95. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  96. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  97. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  98. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  99. pulumi_gcp/monitoring/_inputs.py +13 -6
  100. pulumi_gcp/monitoring/outputs.py +10 -4
  101. pulumi_gcp/netapp/_inputs.py +3 -3
  102. pulumi_gcp/netapp/active_directory.py +7 -7
  103. pulumi_gcp/netapp/outputs.py +2 -2
  104. pulumi_gcp/netapp/volume.py +11 -11
  105. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  106. pulumi_gcp/networksecurity/__init__.py +4 -0
  107. pulumi_gcp/networksecurity/_inputs.py +115 -0
  108. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  109. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  110. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  111. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  112. pulumi_gcp/networksecurity/outputs.py +70 -0
  113. pulumi_gcp/oracledatabase/autonomous_database.py +42 -4
  114. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  115. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  116. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  117. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  118. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  119. pulumi_gcp/oracledatabase/outputs.py +21 -0
  120. pulumi_gcp/orgpolicy/policy.py +2 -2
  121. pulumi_gcp/parallelstore/instance.py +4 -0
  122. pulumi_gcp/provider.py +20 -0
  123. pulumi_gcp/pubsub/subscription.py +6 -6
  124. pulumi_gcp/pulumi-plugin.json +1 -1
  125. pulumi_gcp/redis/_inputs.py +435 -3
  126. pulumi_gcp/redis/cluster.py +287 -16
  127. pulumi_gcp/redis/outputs.py +304 -2
  128. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  129. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  130. pulumi_gcp/storage/get_bucket.py +2 -2
  131. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  132. pulumi_gcp/tpu/__init__.py +1 -0
  133. pulumi_gcp/tpu/_inputs.py +188 -6
  134. pulumi_gcp/tpu/outputs.py +164 -4
  135. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  136. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  138. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  139. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/METADATA +1 -1
  140. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/RECORD +142 -125
  141. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/WHEEL +0 -0
  142. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/top_level.txt +0 -0
@@ -29,6 +29,7 @@ class AppProfileArgs:
29
29
  multi_cluster_routing_cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30
30
  multi_cluster_routing_use_any: Optional[pulumi.Input[bool]] = None,
31
31
  project: Optional[pulumi.Input[str]] = None,
32
+ row_affinity: Optional[pulumi.Input[bool]] = None,
32
33
  single_cluster_routing: Optional[pulumi.Input['AppProfileSingleClusterRoutingArgs']] = None,
33
34
  standard_isolation: Optional[pulumi.Input['AppProfileStandardIsolationArgs']] = None):
34
35
  """
@@ -49,6 +50,11 @@ class AppProfileArgs:
49
50
  consistency to improve availability.
50
51
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
51
52
  If it is not provided, the provider project is used.
53
+ :param pulumi.Input[bool] row_affinity: Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
54
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
55
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
56
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
57
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
52
58
  :param pulumi.Input['AppProfileSingleClusterRoutingArgs'] single_cluster_routing: Use a single-cluster routing policy.
53
59
  Structure is documented below.
54
60
  :param pulumi.Input['AppProfileStandardIsolationArgs'] standard_isolation: The standard options used for isolating this app profile's traffic from other use cases.
@@ -69,6 +75,8 @@ class AppProfileArgs:
69
75
  pulumi.set(__self__, "multi_cluster_routing_use_any", multi_cluster_routing_use_any)
70
76
  if project is not None:
71
77
  pulumi.set(__self__, "project", project)
78
+ if row_affinity is not None:
79
+ pulumi.set(__self__, "row_affinity", row_affinity)
72
80
  if single_cluster_routing is not None:
73
81
  pulumi.set(__self__, "single_cluster_routing", single_cluster_routing)
74
82
  if standard_isolation is not None:
@@ -178,6 +186,22 @@ class AppProfileArgs:
178
186
  def project(self, value: Optional[pulumi.Input[str]]):
179
187
  pulumi.set(self, "project", value)
180
188
 
189
+ @property
190
+ @pulumi.getter(name="rowAffinity")
191
+ def row_affinity(self) -> Optional[pulumi.Input[bool]]:
192
+ """
193
+ Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
194
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
195
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
196
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
197
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
198
+ """
199
+ return pulumi.get(self, "row_affinity")
200
+
201
+ @row_affinity.setter
202
+ def row_affinity(self, value: Optional[pulumi.Input[bool]]):
203
+ pulumi.set(self, "row_affinity", value)
204
+
181
205
  @property
182
206
  @pulumi.getter(name="singleClusterRouting")
183
207
  def single_cluster_routing(self) -> Optional[pulumi.Input['AppProfileSingleClusterRoutingArgs']]:
@@ -217,6 +241,7 @@ class _AppProfileState:
217
241
  multi_cluster_routing_use_any: Optional[pulumi.Input[bool]] = None,
218
242
  name: Optional[pulumi.Input[str]] = None,
219
243
  project: Optional[pulumi.Input[str]] = None,
244
+ row_affinity: Optional[pulumi.Input[bool]] = None,
220
245
  single_cluster_routing: Optional[pulumi.Input['AppProfileSingleClusterRoutingArgs']] = None,
221
246
  standard_isolation: Optional[pulumi.Input['AppProfileStandardIsolationArgs']] = None):
222
247
  """
@@ -238,6 +263,11 @@ class _AppProfileState:
238
263
  :param pulumi.Input[str] name: The unique name of the requested app profile. Values are of the form `projects/<project>/instances/<instance>/appProfiles/<appProfileId>`.
239
264
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
240
265
  If it is not provided, the provider project is used.
266
+ :param pulumi.Input[bool] row_affinity: Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
267
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
268
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
269
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
270
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
241
271
  :param pulumi.Input['AppProfileSingleClusterRoutingArgs'] single_cluster_routing: Use a single-cluster routing policy.
242
272
  Structure is documented below.
243
273
  :param pulumi.Input['AppProfileStandardIsolationArgs'] standard_isolation: The standard options used for isolating this app profile's traffic from other use cases.
@@ -261,6 +291,8 @@ class _AppProfileState:
261
291
  pulumi.set(__self__, "name", name)
262
292
  if project is not None:
263
293
  pulumi.set(__self__, "project", project)
294
+ if row_affinity is not None:
295
+ pulumi.set(__self__, "row_affinity", row_affinity)
264
296
  if single_cluster_routing is not None:
265
297
  pulumi.set(__self__, "single_cluster_routing", single_cluster_routing)
266
298
  if standard_isolation is not None:
@@ -382,6 +414,22 @@ class _AppProfileState:
382
414
  def project(self, value: Optional[pulumi.Input[str]]):
383
415
  pulumi.set(self, "project", value)
384
416
 
417
+ @property
418
+ @pulumi.getter(name="rowAffinity")
419
+ def row_affinity(self) -> Optional[pulumi.Input[bool]]:
420
+ """
421
+ Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
422
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
423
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
424
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
425
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
426
+ """
427
+ return pulumi.get(self, "row_affinity")
428
+
429
+ @row_affinity.setter
430
+ def row_affinity(self, value: Optional[pulumi.Input[bool]]):
431
+ pulumi.set(self, "row_affinity", value)
432
+
385
433
  @property
386
434
  @pulumi.getter(name="singleClusterRouting")
387
435
  def single_cluster_routing(self) -> Optional[pulumi.Input['AppProfileSingleClusterRoutingArgs']]:
@@ -422,6 +470,7 @@ class AppProfile(pulumi.CustomResource):
422
470
  multi_cluster_routing_cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
423
471
  multi_cluster_routing_use_any: Optional[pulumi.Input[bool]] = None,
424
472
  project: Optional[pulumi.Input[str]] = None,
473
+ row_affinity: Optional[pulumi.Input[bool]] = None,
425
474
  single_cluster_routing: Optional[pulumi.Input[Union['AppProfileSingleClusterRoutingArgs', 'AppProfileSingleClusterRoutingArgsDict']]] = None,
426
475
  standard_isolation: Optional[pulumi.Input[Union['AppProfileStandardIsolationArgs', 'AppProfileStandardIsolationArgsDict']]] = None,
427
476
  __props__=None):
@@ -602,6 +651,11 @@ class AppProfile(pulumi.CustomResource):
602
651
  consistency to improve availability.
603
652
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
604
653
  If it is not provided, the provider project is used.
654
+ :param pulumi.Input[bool] row_affinity: Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
655
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
656
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
657
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
658
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
605
659
  :param pulumi.Input[Union['AppProfileSingleClusterRoutingArgs', 'AppProfileSingleClusterRoutingArgsDict']] single_cluster_routing: Use a single-cluster routing policy.
606
660
  Structure is documented below.
607
661
  :param pulumi.Input[Union['AppProfileStandardIsolationArgs', 'AppProfileStandardIsolationArgsDict']] standard_isolation: The standard options used for isolating this app profile's traffic from other use cases.
@@ -795,6 +849,7 @@ class AppProfile(pulumi.CustomResource):
795
849
  multi_cluster_routing_cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
796
850
  multi_cluster_routing_use_any: Optional[pulumi.Input[bool]] = None,
797
851
  project: Optional[pulumi.Input[str]] = None,
852
+ row_affinity: Optional[pulumi.Input[bool]] = None,
798
853
  single_cluster_routing: Optional[pulumi.Input[Union['AppProfileSingleClusterRoutingArgs', 'AppProfileSingleClusterRoutingArgsDict']]] = None,
799
854
  standard_isolation: Optional[pulumi.Input[Union['AppProfileStandardIsolationArgs', 'AppProfileStandardIsolationArgsDict']]] = None,
800
855
  __props__=None):
@@ -816,6 +871,7 @@ class AppProfile(pulumi.CustomResource):
816
871
  __props__.__dict__["multi_cluster_routing_cluster_ids"] = multi_cluster_routing_cluster_ids
817
872
  __props__.__dict__["multi_cluster_routing_use_any"] = multi_cluster_routing_use_any
818
873
  __props__.__dict__["project"] = project
874
+ __props__.__dict__["row_affinity"] = row_affinity
819
875
  __props__.__dict__["single_cluster_routing"] = single_cluster_routing
820
876
  __props__.__dict__["standard_isolation"] = standard_isolation
821
877
  __props__.__dict__["name"] = None
@@ -838,6 +894,7 @@ class AppProfile(pulumi.CustomResource):
838
894
  multi_cluster_routing_use_any: Optional[pulumi.Input[bool]] = None,
839
895
  name: Optional[pulumi.Input[str]] = None,
840
896
  project: Optional[pulumi.Input[str]] = None,
897
+ row_affinity: Optional[pulumi.Input[bool]] = None,
841
898
  single_cluster_routing: Optional[pulumi.Input[Union['AppProfileSingleClusterRoutingArgs', 'AppProfileSingleClusterRoutingArgsDict']]] = None,
842
899
  standard_isolation: Optional[pulumi.Input[Union['AppProfileStandardIsolationArgs', 'AppProfileStandardIsolationArgsDict']]] = None) -> 'AppProfile':
843
900
  """
@@ -864,6 +921,11 @@ class AppProfile(pulumi.CustomResource):
864
921
  :param pulumi.Input[str] name: The unique name of the requested app profile. Values are of the form `projects/<project>/instances/<instance>/appProfiles/<appProfileId>`.
865
922
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
866
923
  If it is not provided, the provider project is used.
924
+ :param pulumi.Input[bool] row_affinity: Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
925
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
926
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
927
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
928
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
867
929
  :param pulumi.Input[Union['AppProfileSingleClusterRoutingArgs', 'AppProfileSingleClusterRoutingArgsDict']] single_cluster_routing: Use a single-cluster routing policy.
868
930
  Structure is documented below.
869
931
  :param pulumi.Input[Union['AppProfileStandardIsolationArgs', 'AppProfileStandardIsolationArgsDict']] standard_isolation: The standard options used for isolating this app profile's traffic from other use cases.
@@ -882,6 +944,7 @@ class AppProfile(pulumi.CustomResource):
882
944
  __props__.__dict__["multi_cluster_routing_use_any"] = multi_cluster_routing_use_any
883
945
  __props__.__dict__["name"] = name
884
946
  __props__.__dict__["project"] = project
947
+ __props__.__dict__["row_affinity"] = row_affinity
885
948
  __props__.__dict__["single_cluster_routing"] = single_cluster_routing
886
949
  __props__.__dict__["standard_isolation"] = standard_isolation
887
950
  return AppProfile(resource_name, opts=opts, __props__=__props__)
@@ -966,6 +1029,18 @@ class AppProfile(pulumi.CustomResource):
966
1029
  """
967
1030
  return pulumi.get(self, "project")
968
1031
 
1032
+ @property
1033
+ @pulumi.getter(name="rowAffinity")
1034
+ def row_affinity(self) -> pulumi.Output[Optional[bool]]:
1035
+ """
1036
+ Must be used with multi-cluster routing. If true, then this app profile will use row affinity sticky routing. With row
1037
+ affinity, Bigtable will route single row key requests based on the row key, rather than randomly. Instead, each row key
1038
+ will be assigned to a cluster by Cloud Bigtable, and will stick to that cluster. Choosing this option improves
1039
+ read-your-writes consistency for most requests under most circumstances, without sacrificing availability. Consistency
1040
+ is not guaranteed, as requests may still fail over between clusters in the event of errors or latency.
1041
+ """
1042
+ return pulumi.get(self, "row_affinity")
1043
+
969
1044
  @property
970
1045
  @pulumi.getter(name="singleClusterRouting")
971
1046
  def single_cluster_routing(self) -> pulumi.Output[Optional['outputs.AppProfileSingleClusterRouting']]:
@@ -471,7 +471,7 @@ if not MYPY:
471
471
  Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
472
472
  this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
473
473
  If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
474
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
474
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
475
475
  """
476
476
  credit_types_treatment: NotRequired[pulumi.Input[str]]
477
477
  """
@@ -524,7 +524,7 @@ if not MYPY:
524
524
  the parent account, usage from the parent account will be included.
525
525
  If the field is omitted, the report will include usage from the parent
526
526
  account and all subaccounts, if they exist.
527
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
527
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
528
528
  """
529
529
  elif False:
530
530
  BudgetBudgetFilterArgsDict: TypeAlias = Mapping[str, Any]
@@ -550,7 +550,7 @@ class BudgetBudgetFilterArgs:
550
550
  :param pulumi.Input[Sequence[pulumi.Input[str]]] credit_types: Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
551
551
  this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
552
552
  If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
553
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
553
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
554
554
  :param pulumi.Input[str] credit_types_treatment: Specifies how credits should be treated when determining spend
555
555
  for threshold calculations.
556
556
  Default value is `INCLUDE_ALL_CREDITS`.
@@ -582,7 +582,7 @@ class BudgetBudgetFilterArgs:
582
582
  the parent account, usage from the parent account will be included.
583
583
  If the field is omitted, the report will include usage from the parent
584
584
  account and all subaccounts, if they exist.
585
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
585
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
586
586
  """
587
587
  if calendar_period is not None:
588
588
  pulumi.set(__self__, "calendar_period", calendar_period)
@@ -626,7 +626,7 @@ class BudgetBudgetFilterArgs:
626
626
  Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
627
627
  this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
628
628
  If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
629
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
629
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
630
630
  """
631
631
  return pulumi.get(self, "credit_types")
632
632
 
@@ -735,7 +735,7 @@ class BudgetBudgetFilterArgs:
735
735
  the parent account, usage from the parent account will be included.
736
736
  If the field is omitted, the report will include usage from the parent
737
737
  account and all subaccounts, if they exist.
738
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
738
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
739
739
  """
740
740
  return pulumi.get(self, "subaccounts")
741
741
 
@@ -388,7 +388,7 @@ class BudgetBudgetFilter(dict):
388
388
  :param Sequence[str] credit_types: Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
389
389
  this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
390
390
  If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
391
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
391
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
392
392
  :param str credit_types_treatment: Specifies how credits should be treated when determining spend
393
393
  for threshold calculations.
394
394
  Default value is `INCLUDE_ALL_CREDITS`.
@@ -420,7 +420,7 @@ class BudgetBudgetFilter(dict):
420
420
  the parent account, usage from the parent account will be included.
421
421
  If the field is omitted, the report will include usage from the parent
422
422
  account and all subaccounts, if they exist.
423
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
423
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
424
424
  """
425
425
  if calendar_period is not None:
426
426
  pulumi.set(__self__, "calendar_period", calendar_period)
@@ -460,7 +460,7 @@ class BudgetBudgetFilter(dict):
460
460
  Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
461
461
  this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
462
462
  If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
463
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
463
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
464
464
  """
465
465
  return pulumi.get(self, "credit_types")
466
466
 
@@ -541,7 +541,7 @@ class BudgetBudgetFilter(dict):
541
541
  the parent account, usage from the parent account will be included.
542
542
  If the field is omitted, the report will include usage from the parent
543
543
  account and all subaccounts, if they exist.
544
- **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
544
+ **Note:** If the field has a value in the config and needs to be removed, the field has to be an empty array in the config.
545
545
  """
546
546
  return pulumi.get(self, "subaccounts")
547
547
 
@@ -667,7 +667,7 @@ if not MYPY:
667
667
  class AuthorityConfigSubjectKeyIdArgsDict(TypedDict):
668
668
  key_id: NotRequired[pulumi.Input[str]]
669
669
  """
670
- The value of the KeyId in lowercase hexidecimal.
670
+ The value of the KeyId in lowercase hexadecimal.
671
671
 
672
672
  <a name="nested_x509_config"></a>The `x509_config` block supports:
673
673
  """
@@ -679,7 +679,7 @@ class AuthorityConfigSubjectKeyIdArgs:
679
679
  def __init__(__self__, *,
680
680
  key_id: Optional[pulumi.Input[str]] = None):
681
681
  """
682
- :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
682
+ :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexadecimal.
683
683
 
684
684
  <a name="nested_x509_config"></a>The `x509_config` block supports:
685
685
  """
@@ -690,7 +690,7 @@ class AuthorityConfigSubjectKeyIdArgs:
690
690
  @pulumi.getter(name="keyId")
691
691
  def key_id(self) -> Optional[pulumi.Input[str]]:
692
692
  """
693
- The value of the KeyId in lowercase hexidecimal.
693
+ The value of the KeyId in lowercase hexadecimal.
694
694
 
695
695
  <a name="nested_x509_config"></a>The `x509_config` block supports:
696
696
  """
@@ -4672,7 +4672,7 @@ if not MYPY:
4672
4672
  class CertificateCertificateDescriptionSubjectKeyIdArgsDict(TypedDict):
4673
4673
  key_id: NotRequired[pulumi.Input[str]]
4674
4674
  """
4675
- The value of the KeyId in lowercase hexidecimal.
4675
+ The value of the KeyId in lowercase hexadecimal.
4676
4676
  """
4677
4677
  elif False:
4678
4678
  CertificateCertificateDescriptionSubjectKeyIdArgsDict: TypeAlias = Mapping[str, Any]
@@ -4682,7 +4682,7 @@ class CertificateCertificateDescriptionSubjectKeyIdArgs:
4682
4682
  def __init__(__self__, *,
4683
4683
  key_id: Optional[pulumi.Input[str]] = None):
4684
4684
  """
4685
- :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
4685
+ :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexadecimal.
4686
4686
  """
4687
4687
  if key_id is not None:
4688
4688
  pulumi.set(__self__, "key_id", key_id)
@@ -4691,7 +4691,7 @@ class CertificateCertificateDescriptionSubjectKeyIdArgs:
4691
4691
  @pulumi.getter(name="keyId")
4692
4692
  def key_id(self) -> Optional[pulumi.Input[str]]:
4693
4693
  """
4694
- The value of the KeyId in lowercase hexidecimal.
4694
+ The value of the KeyId in lowercase hexadecimal.
4695
4695
  """
4696
4696
  return pulumi.get(self, "key_id")
4697
4697
 
@@ -6253,7 +6253,7 @@ if not MYPY:
6253
6253
  class CertificateConfigSubjectKeyIdArgsDict(TypedDict):
6254
6254
  key_id: NotRequired[pulumi.Input[str]]
6255
6255
  """
6256
- The value of the KeyId in lowercase hexidecimal.
6256
+ The value of the KeyId in lowercase hexadecimal.
6257
6257
  """
6258
6258
  elif False:
6259
6259
  CertificateConfigSubjectKeyIdArgsDict: TypeAlias = Mapping[str, Any]
@@ -6263,7 +6263,7 @@ class CertificateConfigSubjectKeyIdArgs:
6263
6263
  def __init__(__self__, *,
6264
6264
  key_id: Optional[pulumi.Input[str]] = None):
6265
6265
  """
6266
- :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
6266
+ :param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexadecimal.
6267
6267
  """
6268
6268
  if key_id is not None:
6269
6269
  pulumi.set(__self__, "key_id", key_id)
@@ -6272,7 +6272,7 @@ class CertificateConfigSubjectKeyIdArgs:
6272
6272
  @pulumi.getter(name="keyId")
6273
6273
  def key_id(self) -> Optional[pulumi.Input[str]]:
6274
6274
  """
6275
- The value of the KeyId in lowercase hexidecimal.
6275
+ The value of the KeyId in lowercase hexadecimal.
6276
6276
  """
6277
6277
  return pulumi.get(self, "key_id")
6278
6278
 
@@ -529,7 +529,7 @@ class AuthorityConfigSubjectKeyId(dict):
529
529
  def __init__(__self__, *,
530
530
  key_id: Optional[str] = None):
531
531
  """
532
- :param str key_id: The value of the KeyId in lowercase hexidecimal.
532
+ :param str key_id: The value of the KeyId in lowercase hexadecimal.
533
533
 
534
534
  <a name="nested_x509_config"></a>The `x509_config` block supports:
535
535
  """
@@ -540,7 +540,7 @@ class AuthorityConfigSubjectKeyId(dict):
540
540
  @pulumi.getter(name="keyId")
541
541
  def key_id(self) -> Optional[str]:
542
542
  """
543
- The value of the KeyId in lowercase hexidecimal.
543
+ The value of the KeyId in lowercase hexadecimal.
544
544
 
545
545
  <a name="nested_x509_config"></a>The `x509_config` block supports:
546
546
  """
@@ -3778,7 +3778,7 @@ class CertificateCertificateDescriptionSubjectKeyId(dict):
3778
3778
  def __init__(__self__, *,
3779
3779
  key_id: Optional[str] = None):
3780
3780
  """
3781
- :param str key_id: The value of the KeyId in lowercase hexidecimal.
3781
+ :param str key_id: The value of the KeyId in lowercase hexadecimal.
3782
3782
  """
3783
3783
  if key_id is not None:
3784
3784
  pulumi.set(__self__, "key_id", key_id)
@@ -3787,7 +3787,7 @@ class CertificateCertificateDescriptionSubjectKeyId(dict):
3787
3787
  @pulumi.getter(name="keyId")
3788
3788
  def key_id(self) -> Optional[str]:
3789
3789
  """
3790
- The value of the KeyId in lowercase hexidecimal.
3790
+ The value of the KeyId in lowercase hexadecimal.
3791
3791
  """
3792
3792
  return pulumi.get(self, "key_id")
3793
3793
 
@@ -5060,7 +5060,7 @@ class CertificateConfigSubjectKeyId(dict):
5060
5060
  def __init__(__self__, *,
5061
5061
  key_id: Optional[str] = None):
5062
5062
  """
5063
- :param str key_id: The value of the KeyId in lowercase hexidecimal.
5063
+ :param str key_id: The value of the KeyId in lowercase hexadecimal.
5064
5064
  """
5065
5065
  if key_id is not None:
5066
5066
  pulumi.set(__self__, "key_id", key_id)
@@ -5069,7 +5069,7 @@ class CertificateConfigSubjectKeyId(dict):
5069
5069
  @pulumi.getter(name="keyId")
5070
5070
  def key_id(self) -> Optional[str]:
5071
5071
  """
5072
- The value of the KeyId in lowercase hexidecimal.
5072
+ The value of the KeyId in lowercase hexadecimal.
5073
5073
  """
5074
5074
  return pulumi.get(self, "key_id")
5075
5075
 
@@ -7196,7 +7196,7 @@ class GetAuthorityConfigSubjectKeyIdResult(dict):
7196
7196
  def __init__(__self__, *,
7197
7197
  key_id: str):
7198
7198
  """
7199
- :param str key_id: The value of the KeyId in lowercase hexidecimal.
7199
+ :param str key_id: The value of the KeyId in lowercase hexadecimal.
7200
7200
  """
7201
7201
  pulumi.set(__self__, "key_id", key_id)
7202
7202
 
@@ -7204,7 +7204,7 @@ class GetAuthorityConfigSubjectKeyIdResult(dict):
7204
7204
  @pulumi.getter(name="keyId")
7205
7205
  def key_id(self) -> str:
7206
7206
  """
7207
- The value of the KeyId in lowercase hexidecimal.
7207
+ The value of the KeyId in lowercase hexadecimal.
7208
7208
  """
7209
7209
  return pulumi.get(self, "key_id")
7210
7210
 
@@ -85,6 +85,8 @@ __all__ = [
85
85
  'TriggerWebhookConfigArgsDict',
86
86
  'WorkerPoolNetworkConfigArgs',
87
87
  'WorkerPoolNetworkConfigArgsDict',
88
+ 'WorkerPoolPrivateServiceConnectArgs',
89
+ 'WorkerPoolPrivateServiceConnectArgsDict',
88
90
  'WorkerPoolWorkerConfigArgs',
89
91
  'WorkerPoolWorkerConfigArgsDict',
90
92
  ]
@@ -3957,6 +3959,57 @@ class WorkerPoolNetworkConfigArgs:
3957
3959
  pulumi.set(self, "peered_network_ip_range", value)
3958
3960
 
3959
3961
 
3962
+ if not MYPY:
3963
+ class WorkerPoolPrivateServiceConnectArgsDict(TypedDict):
3964
+ network_attachment: pulumi.Input[str]
3965
+ """
3966
+ Required. Immutable. The network attachment that the worker network interface is connected to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)
3967
+ """
3968
+ route_all_traffic: NotRequired[pulumi.Input[bool]]
3969
+ """
3970
+ Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.
3971
+ """
3972
+ elif False:
3973
+ WorkerPoolPrivateServiceConnectArgsDict: TypeAlias = Mapping[str, Any]
3974
+
3975
+ @pulumi.input_type
3976
+ class WorkerPoolPrivateServiceConnectArgs:
3977
+ def __init__(__self__, *,
3978
+ network_attachment: pulumi.Input[str],
3979
+ route_all_traffic: Optional[pulumi.Input[bool]] = None):
3980
+ """
3981
+ :param pulumi.Input[str] network_attachment: Required. Immutable. The network attachment that the worker network interface is connected to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)
3982
+ :param pulumi.Input[bool] route_all_traffic: Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.
3983
+ """
3984
+ pulumi.set(__self__, "network_attachment", network_attachment)
3985
+ if route_all_traffic is not None:
3986
+ pulumi.set(__self__, "route_all_traffic", route_all_traffic)
3987
+
3988
+ @property
3989
+ @pulumi.getter(name="networkAttachment")
3990
+ def network_attachment(self) -> pulumi.Input[str]:
3991
+ """
3992
+ Required. Immutable. The network attachment that the worker network interface is connected to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)
3993
+ """
3994
+ return pulumi.get(self, "network_attachment")
3995
+
3996
+ @network_attachment.setter
3997
+ def network_attachment(self, value: pulumi.Input[str]):
3998
+ pulumi.set(self, "network_attachment", value)
3999
+
4000
+ @property
4001
+ @pulumi.getter(name="routeAllTraffic")
4002
+ def route_all_traffic(self) -> Optional[pulumi.Input[bool]]:
4003
+ """
4004
+ Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.
4005
+ """
4006
+ return pulumi.get(self, "route_all_traffic")
4007
+
4008
+ @route_all_traffic.setter
4009
+ def route_all_traffic(self, value: Optional[pulumi.Input[bool]]):
4010
+ pulumi.set(self, "route_all_traffic", value)
4011
+
4012
+
3960
4013
  if not MYPY:
3961
4014
  class WorkerPoolWorkerConfigArgsDict(TypedDict):
3962
4015
  disk_size_gb: NotRequired[pulumi.Input[int]]
@@ -51,6 +51,7 @@ __all__ = [
51
51
  'TriggerTriggerTemplate',
52
52
  'TriggerWebhookConfig',
53
53
  'WorkerPoolNetworkConfig',
54
+ 'WorkerPoolPrivateServiceConnect',
54
55
  'WorkerPoolWorkerConfig',
55
56
  'GetTriggerApprovalConfigResult',
56
57
  'GetTriggerBitbucketServerTriggerConfigResult',
@@ -3008,6 +3009,55 @@ class WorkerPoolNetworkConfig(dict):
3008
3009
  return pulumi.get(self, "peered_network_ip_range")
3009
3010
 
3010
3011
 
3012
+ @pulumi.output_type
3013
+ class WorkerPoolPrivateServiceConnect(dict):
3014
+ @staticmethod
3015
+ def __key_warning(key: str):
3016
+ suggest = None
3017
+ if key == "networkAttachment":
3018
+ suggest = "network_attachment"
3019
+ elif key == "routeAllTraffic":
3020
+ suggest = "route_all_traffic"
3021
+
3022
+ if suggest:
3023
+ pulumi.log.warn(f"Key '{key}' not found in WorkerPoolPrivateServiceConnect. Access the value via the '{suggest}' property getter instead.")
3024
+
3025
+ def __getitem__(self, key: str) -> Any:
3026
+ WorkerPoolPrivateServiceConnect.__key_warning(key)
3027
+ return super().__getitem__(key)
3028
+
3029
+ def get(self, key: str, default = None) -> Any:
3030
+ WorkerPoolPrivateServiceConnect.__key_warning(key)
3031
+ return super().get(key, default)
3032
+
3033
+ def __init__(__self__, *,
3034
+ network_attachment: str,
3035
+ route_all_traffic: Optional[bool] = None):
3036
+ """
3037
+ :param str network_attachment: Required. Immutable. The network attachment that the worker network interface is connected to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)
3038
+ :param bool route_all_traffic: Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.
3039
+ """
3040
+ pulumi.set(__self__, "network_attachment", network_attachment)
3041
+ if route_all_traffic is not None:
3042
+ pulumi.set(__self__, "route_all_traffic", route_all_traffic)
3043
+
3044
+ @property
3045
+ @pulumi.getter(name="networkAttachment")
3046
+ def network_attachment(self) -> str:
3047
+ """
3048
+ Required. Immutable. The network attachment that the worker network interface is connected to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)
3049
+ """
3050
+ return pulumi.get(self, "network_attachment")
3051
+
3052
+ @property
3053
+ @pulumi.getter(name="routeAllTraffic")
3054
+ def route_all_traffic(self) -> Optional[bool]:
3055
+ """
3056
+ Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.
3057
+ """
3058
+ return pulumi.get(self, "route_all_traffic")
3059
+
3060
+
3011
3061
  @pulumi.output_type
3012
3062
  class WorkerPoolWorkerConfig(dict):
3013
3063
  @staticmethod