pulumi-gcp 7.37.0a1723638212__py3-none-any.whl → 7.38.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 (107) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +10 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +32 -8
  4. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  5. pulumi_gcp/appengine/service_network_settings.py +10 -2
  6. pulumi_gcp/appengine/standard_app_version.py +20 -4
  7. pulumi_gcp/applicationintegration/client.py +2 -2
  8. pulumi_gcp/artifactregistry/__init__.py +1 -0
  9. pulumi_gcp/artifactregistry/get_locations.py +167 -0
  10. pulumi_gcp/assuredworkloads/workload.py +14 -14
  11. pulumi_gcp/biglake/database.py +10 -2
  12. pulumi_gcp/biglake/table.py +20 -4
  13. pulumi_gcp/bigquery/connection.py +12 -0
  14. pulumi_gcp/bigquery/job.py +20 -4
  15. pulumi_gcp/cloudbuild/worker_pool.py +5 -5
  16. pulumi_gcp/clouddeploy/_inputs.py +41 -1
  17. pulumi_gcp/clouddeploy/delivery_pipeline.py +19 -19
  18. pulumi_gcp/clouddeploy/outputs.py +29 -1
  19. pulumi_gcp/clouddeploy/target.py +19 -19
  20. pulumi_gcp/cloudfunctions/function.py +42 -42
  21. pulumi_gcp/cloudfunctions/get_function.py +3 -3
  22. pulumi_gcp/cloudfunctionsv2/function.py +2 -0
  23. pulumi_gcp/cloudidentity/__init__.py +1 -0
  24. pulumi_gcp/cloudidentity/get_group_memberships.py +12 -0
  25. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +93 -0
  26. pulumi_gcp/cloudidentity/outputs.py +131 -0
  27. pulumi_gcp/cloudquota/outputs.py +6 -6
  28. pulumi_gcp/composer/get_user_workloads_secret.py +1 -1
  29. pulumi_gcp/composer/user_workloads_secret.py +14 -14
  30. pulumi_gcp/compute/_inputs.py +91 -85
  31. pulumi_gcp/compute/get_instance_serial_port.py +12 -4
  32. pulumi_gcp/compute/get_instance_template.py +1 -1
  33. pulumi_gcp/compute/get_region_instance_template.py +1 -1
  34. pulumi_gcp/compute/instance_template.py +14 -14
  35. pulumi_gcp/compute/outputs.py +93 -83
  36. pulumi_gcp/compute/region_instance_template.py +14 -14
  37. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  38. pulumi_gcp/compute/subnetwork.py +82 -0
  39. pulumi_gcp/container/_inputs.py +35 -38
  40. pulumi_gcp/container/attached_cluster.py +14 -7
  41. pulumi_gcp/container/aws_cluster.py +5 -5
  42. pulumi_gcp/container/aws_node_pool.py +5 -5
  43. pulumi_gcp/container/azure_cluster.py +5 -5
  44. pulumi_gcp/container/azure_node_pool.py +5 -5
  45. pulumi_gcp/container/outputs.py +31 -33
  46. pulumi_gcp/databasemigrationservice/_inputs.py +5 -5
  47. pulumi_gcp/databasemigrationservice/outputs.py +3 -3
  48. pulumi_gcp/dataflow/flex_template_job.py +42 -42
  49. pulumi_gcp/dataflow/job.py +42 -42
  50. pulumi_gcp/datafusion/instance.py +10 -2
  51. pulumi_gcp/dataloss/_inputs.py +5 -5
  52. pulumi_gcp/dataloss/outputs.py +3 -3
  53. pulumi_gcp/dataloss/prevention_stored_info_type.py +10 -2
  54. pulumi_gcp/dataplex/asset.py +14 -14
  55. pulumi_gcp/dataplex/lake.py +14 -14
  56. pulumi_gcp/dataplex/zone.py +14 -14
  57. pulumi_gcp/dataproc/_inputs.py +10 -10
  58. pulumi_gcp/dataproc/outputs.py +6 -6
  59. pulumi_gcp/dataproc/workflow_template.py +12 -12
  60. pulumi_gcp/discoveryengine/__init__.py +1 -0
  61. pulumi_gcp/discoveryengine/schema.py +524 -0
  62. pulumi_gcp/dns/_inputs.py +80 -76
  63. pulumi_gcp/dns/outputs.py +56 -52
  64. pulumi_gcp/eventarc/trigger.py +14 -14
  65. pulumi_gcp/firebase/_inputs.py +5 -5
  66. pulumi_gcp/firebase/outputs.py +3 -3
  67. pulumi_gcp/healthcare/dicom_store.py +12 -2
  68. pulumi_gcp/healthcare/fhir_store.py +10 -2
  69. pulumi_gcp/iam/access_boundary_policy.py +10 -2
  70. pulumi_gcp/managedkafka/_inputs.py +6 -6
  71. pulumi_gcp/managedkafka/cluster.py +7 -7
  72. pulumi_gcp/managedkafka/outputs.py +4 -4
  73. pulumi_gcp/managedkafka/topic.py +7 -7
  74. pulumi_gcp/monitoring/get_app_engine_service.py +10 -2
  75. pulumi_gcp/networkconnectivity/_inputs.py +5 -5
  76. pulumi_gcp/networkconnectivity/outputs.py +3 -3
  77. pulumi_gcp/parallelstore/instance.py +215 -15
  78. pulumi_gcp/projects/default_service_accounts.py +7 -7
  79. pulumi_gcp/pubsub/subscription.py +36 -6
  80. pulumi_gcp/pulumi-plugin.json +1 -1
  81. pulumi_gcp/recaptcha/enterprise_key.py +14 -14
  82. pulumi_gcp/securitycenter/__init__.py +2 -0
  83. pulumi_gcp/securitycenter/_inputs.py +186 -0
  84. pulumi_gcp/securitycenter/folder_notification_config.py +486 -0
  85. pulumi_gcp/securitycenter/instance_iam_binding.py +10 -2
  86. pulumi_gcp/securitycenter/instance_iam_member.py +10 -2
  87. pulumi_gcp/securitycenter/instance_iam_policy.py +10 -2
  88. pulumi_gcp/securitycenter/outputs.py +118 -0
  89. pulumi_gcp/securitycenter/v2_folder_notification_config.py +575 -0
  90. pulumi_gcp/serviceaccount/key.py +14 -14
  91. pulumi_gcp/servicenetworking/connection.py +50 -3
  92. pulumi_gcp/sql/_inputs.py +20 -0
  93. pulumi_gcp/sql/outputs.py +36 -0
  94. pulumi_gcp/vertex/__init__.py +1 -0
  95. pulumi_gcp/vertex/_inputs.py +438 -0
  96. pulumi_gcp/vertex/ai_feature_group.py +12 -2
  97. pulumi_gcp/vertex/ai_feature_group_feature.py +12 -2
  98. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +48 -8
  99. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +1170 -0
  100. pulumi_gcp/vertex/outputs.py +393 -0
  101. pulumi_gcp/workstations/_inputs.py +10 -10
  102. pulumi_gcp/workstations/outputs.py +6 -6
  103. pulumi_gcp/workstations/workstation_config.py +14 -6
  104. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/METADATA +1 -1
  105. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/RECORD +107 -101
  106. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/WHEEL +1 -1
  107. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/top_level.txt +0 -0
@@ -344,7 +344,11 @@ class Table(pulumi.CustomResource):
344
344
  catalog=catalog.id,
345
345
  type="HIVE",
346
346
  hive_options={
347
- "location_uri": pulumi.Output.all(bucket.name, metadata_folder.name).apply(lambda bucketName, metadataFolderName: f"gs://{bucket_name}/{metadata_folder_name}"),
347
+ "location_uri": pulumi.Output.all(
348
+ bucketName=bucket.name,
349
+ metadataFolderName=metadata_folder.name
350
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['metadataFolderName']}")
351
+ ,
348
352
  "parameters": {
349
353
  "owner": "Alex",
350
354
  },
@@ -356,7 +360,11 @@ class Table(pulumi.CustomResource):
356
360
  hive_options={
357
361
  "table_type": "MANAGED_TABLE",
358
362
  "storage_descriptor": {
359
- "location_uri": pulumi.Output.all(bucket.name, data_folder.name).apply(lambda bucketName, dataFolderName: f"gs://{bucket_name}/{data_folder_name}"),
363
+ "location_uri": pulumi.Output.all(
364
+ bucketName=bucket.name,
365
+ dataFolderName=data_folder.name
366
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['dataFolderName']}")
367
+ ,
360
368
  "input_format": "org.apache.hadoop.mapred.SequenceFileInputFormat",
361
369
  "output_format": "org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat",
362
370
  },
@@ -442,7 +450,11 @@ class Table(pulumi.CustomResource):
442
450
  catalog=catalog.id,
443
451
  type="HIVE",
444
452
  hive_options={
445
- "location_uri": pulumi.Output.all(bucket.name, metadata_folder.name).apply(lambda bucketName, metadataFolderName: f"gs://{bucket_name}/{metadata_folder_name}"),
453
+ "location_uri": pulumi.Output.all(
454
+ bucketName=bucket.name,
455
+ metadataFolderName=metadata_folder.name
456
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['metadataFolderName']}")
457
+ ,
446
458
  "parameters": {
447
459
  "owner": "Alex",
448
460
  },
@@ -454,7 +466,11 @@ class Table(pulumi.CustomResource):
454
466
  hive_options={
455
467
  "table_type": "MANAGED_TABLE",
456
468
  "storage_descriptor": {
457
- "location_uri": pulumi.Output.all(bucket.name, data_folder.name).apply(lambda bucketName, dataFolderName: f"gs://{bucket_name}/{data_folder_name}"),
469
+ "location_uri": pulumi.Output.all(
470
+ bucketName=bucket.name,
471
+ dataFolderName=data_folder.name
472
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['dataFolderName']}")
473
+ ,
458
474
  "input_format": "org.apache.hadoop.mapred.SequenceFileInputFormat",
459
475
  "output_format": "org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat",
460
476
  },
@@ -751,6 +751,12 @@ class Connection(pulumi.CustomResource):
751
751
  name="user",
752
752
  instance=instance.name,
753
753
  password="tf-test-my-password_77884")
754
+ bq_sa = gcp.bigquery.get_default_service_account()
755
+ project = gcp.organizations.get_project()
756
+ key_sa_user = gcp.projects.IAMMember("key_sa_user",
757
+ project=project.project_id,
758
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
759
+ member=f"serviceAccount:{bq_sa.email}")
754
760
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
755
761
  friendly_name="👋",
756
762
  description="a riveting description",
@@ -1051,6 +1057,12 @@ class Connection(pulumi.CustomResource):
1051
1057
  name="user",
1052
1058
  instance=instance.name,
1053
1059
  password="tf-test-my-password_77884")
1060
+ bq_sa = gcp.bigquery.get_default_service_account()
1061
+ project = gcp.organizations.get_project()
1062
+ key_sa_user = gcp.projects.IAMMember("key_sa_user",
1063
+ project=project.project_id,
1064
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1065
+ member=f"serviceAccount:{bq_sa.email}")
1054
1066
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
1055
1067
  friendly_name="👋",
1056
1068
  description="a riveting description",
@@ -575,7 +575,11 @@ class Job(pulumi.CustomResource):
575
575
  "my_job": "load",
576
576
  },
577
577
  load={
578
- "source_uris": [pulumi.Output.all(object.bucket, object.name).apply(lambda bucket, name: f"gs://{bucket}/{name}")],
578
+ "source_uris": [pulumi.Output.all(
579
+ bucket=object.bucket,
580
+ name=object.name
581
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
582
+ ],
579
583
  "destination_table": {
580
584
  "project_id": foo.project,
581
585
  "dataset_id": foo.dataset_id,
@@ -617,7 +621,11 @@ class Job(pulumi.CustomResource):
617
621
  "my_job": "load",
618
622
  },
619
623
  load={
620
- "source_uris": [pulumi.Output.all(test_bucket_object.bucket, test_bucket_object.name).apply(lambda bucket, name: f"gs://{bucket}/{name}")],
624
+ "source_uris": [pulumi.Output.all(
625
+ bucket=test_bucket_object.bucket,
626
+ name=test_bucket_object.name
627
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
628
+ ],
621
629
  "destination_table": {
622
630
  "project_id": test_table.project,
623
631
  "dataset_id": test_table.dataset_id,
@@ -1003,7 +1011,11 @@ class Job(pulumi.CustomResource):
1003
1011
  "my_job": "load",
1004
1012
  },
1005
1013
  load={
1006
- "source_uris": [pulumi.Output.all(object.bucket, object.name).apply(lambda bucket, name: f"gs://{bucket}/{name}")],
1014
+ "source_uris": [pulumi.Output.all(
1015
+ bucket=object.bucket,
1016
+ name=object.name
1017
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
1018
+ ],
1007
1019
  "destination_table": {
1008
1020
  "project_id": foo.project,
1009
1021
  "dataset_id": foo.dataset_id,
@@ -1045,7 +1057,11 @@ class Job(pulumi.CustomResource):
1045
1057
  "my_job": "load",
1046
1058
  },
1047
1059
  load={
1048
- "source_uris": [pulumi.Output.all(test_bucket_object.bucket, test_bucket_object.name).apply(lambda bucket, name: f"gs://{bucket}/{name}")],
1060
+ "source_uris": [pulumi.Output.all(
1061
+ bucket=test_bucket_object.bucket,
1062
+ name=test_bucket_object.name
1063
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
1064
+ ],
1049
1065
  "destination_table": {
1050
1066
  "project_id": test_table.project,
1051
1067
  "dataset_id": test_table.dataset_id,
@@ -154,7 +154,7 @@ class _WorkerPoolState:
154
154
  create_time: Optional[pulumi.Input[str]] = None,
155
155
  delete_time: Optional[pulumi.Input[str]] = None,
156
156
  display_name: Optional[pulumi.Input[str]] = None,
157
- effective_annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None,
157
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
158
158
  location: Optional[pulumi.Input[str]] = None,
159
159
  name: Optional[pulumi.Input[str]] = None,
160
160
  network_config: Optional[pulumi.Input['WorkerPoolNetworkConfigArgs']] = None,
@@ -262,11 +262,11 @@ class _WorkerPoolState:
262
262
 
263
263
  @property
264
264
  @pulumi.getter(name="effectiveAnnotations")
265
- def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
265
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
266
266
  return pulumi.get(self, "effective_annotations")
267
267
 
268
268
  @effective_annotations.setter
269
- def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
269
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
270
270
  pulumi.set(self, "effective_annotations", value)
271
271
 
272
272
  @property
@@ -627,7 +627,7 @@ class WorkerPool(pulumi.CustomResource):
627
627
  create_time: Optional[pulumi.Input[str]] = None,
628
628
  delete_time: Optional[pulumi.Input[str]] = None,
629
629
  display_name: Optional[pulumi.Input[str]] = None,
630
- effective_annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None,
630
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
631
631
  location: Optional[pulumi.Input[str]] = None,
632
632
  name: Optional[pulumi.Input[str]] = None,
633
633
  network_config: Optional[pulumi.Input[Union['WorkerPoolNetworkConfigArgs', 'WorkerPoolNetworkConfigArgsDict']]] = None,
@@ -716,7 +716,7 @@ class WorkerPool(pulumi.CustomResource):
716
716
 
717
717
  @property
718
718
  @pulumi.getter(name="effectiveAnnotations")
719
- def effective_annotations(self) -> pulumi.Output[Mapping[str, Any]]:
719
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
720
720
  return pulumi.get(self, "effective_annotations")
721
721
 
722
722
  @property
@@ -2122,6 +2122,10 @@ if not MYPY:
2122
2122
  """
2123
2123
  Required. Name of the Kubernetes Service.
2124
2124
  """
2125
+ pod_selector_label: NotRequired[pulumi.Input[str]]
2126
+ """
2127
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2128
+ """
2125
2129
  route_update_wait_time: NotRequired[pulumi.Input[str]]
2126
2130
  """
2127
2131
  Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
@@ -2139,18 +2143,22 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
2139
2143
  deployment: pulumi.Input[str],
2140
2144
  http_route: pulumi.Input[str],
2141
2145
  service: pulumi.Input[str],
2146
+ pod_selector_label: Optional[pulumi.Input[str]] = None,
2142
2147
  route_update_wait_time: Optional[pulumi.Input[str]] = None,
2143
2148
  stable_cutback_duration: Optional[pulumi.Input[str]] = None):
2144
2149
  """
2145
2150
  :param pulumi.Input[str] deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
2146
2151
  :param pulumi.Input[str] http_route: Required. Name of the Gateway API HTTPRoute.
2147
2152
  :param pulumi.Input[str] service: Required. Name of the Kubernetes Service.
2153
+ :param pulumi.Input[str] pod_selector_label: Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2148
2154
  :param pulumi.Input[str] route_update_wait_time: Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
2149
2155
  :param pulumi.Input[str] stable_cutback_duration: Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
2150
2156
  """
2151
2157
  pulumi.set(__self__, "deployment", deployment)
2152
2158
  pulumi.set(__self__, "http_route", http_route)
2153
2159
  pulumi.set(__self__, "service", service)
2160
+ if pod_selector_label is not None:
2161
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
2154
2162
  if route_update_wait_time is not None:
2155
2163
  pulumi.set(__self__, "route_update_wait_time", route_update_wait_time)
2156
2164
  if stable_cutback_duration is not None:
@@ -2192,6 +2200,18 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
2192
2200
  def service(self, value: pulumi.Input[str]):
2193
2201
  pulumi.set(self, "service", value)
2194
2202
 
2203
+ @property
2204
+ @pulumi.getter(name="podSelectorLabel")
2205
+ def pod_selector_label(self) -> Optional[pulumi.Input[str]]:
2206
+ """
2207
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2208
+ """
2209
+ return pulumi.get(self, "pod_selector_label")
2210
+
2211
+ @pod_selector_label.setter
2212
+ def pod_selector_label(self, value: Optional[pulumi.Input[str]]):
2213
+ pulumi.set(self, "pod_selector_label", value)
2214
+
2195
2215
  @property
2196
2216
  @pulumi.getter(name="routeUpdateWaitTime")
2197
2217
  def route_update_wait_time(self) -> Optional[pulumi.Input[str]]:
@@ -2231,6 +2251,10 @@ if not MYPY:
2231
2251
  """
2232
2252
  Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
2233
2253
  """
2254
+ pod_selector_label: NotRequired[pulumi.Input[str]]
2255
+ """
2256
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2257
+ """
2234
2258
  elif False:
2235
2259
  DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgsDict: TypeAlias = Mapping[str, Any]
2236
2260
 
@@ -2239,16 +2263,20 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
2239
2263
  def __init__(__self__, *,
2240
2264
  deployment: pulumi.Input[str],
2241
2265
  service: pulumi.Input[str],
2242
- disable_pod_overprovisioning: Optional[pulumi.Input[bool]] = None):
2266
+ disable_pod_overprovisioning: Optional[pulumi.Input[bool]] = None,
2267
+ pod_selector_label: Optional[pulumi.Input[str]] = None):
2243
2268
  """
2244
2269
  :param pulumi.Input[str] deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
2245
2270
  :param pulumi.Input[str] service: Required. Name of the Kubernetes Service.
2246
2271
  :param pulumi.Input[bool] disable_pod_overprovisioning: Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
2272
+ :param pulumi.Input[str] pod_selector_label: Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2247
2273
  """
2248
2274
  pulumi.set(__self__, "deployment", deployment)
2249
2275
  pulumi.set(__self__, "service", service)
2250
2276
  if disable_pod_overprovisioning is not None:
2251
2277
  pulumi.set(__self__, "disable_pod_overprovisioning", disable_pod_overprovisioning)
2278
+ if pod_selector_label is not None:
2279
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
2252
2280
 
2253
2281
  @property
2254
2282
  @pulumi.getter
@@ -2286,6 +2314,18 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
2286
2314
  def disable_pod_overprovisioning(self, value: Optional[pulumi.Input[bool]]):
2287
2315
  pulumi.set(self, "disable_pod_overprovisioning", value)
2288
2316
 
2317
+ @property
2318
+ @pulumi.getter(name="podSelectorLabel")
2319
+ def pod_selector_label(self) -> Optional[pulumi.Input[str]]:
2320
+ """
2321
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2322
+ """
2323
+ return pulumi.get(self, "pod_selector_label")
2324
+
2325
+ @pod_selector_label.setter
2326
+ def pod_selector_label(self, value: Optional[pulumi.Input[str]]):
2327
+ pulumi.set(self, "pod_selector_label", value)
2328
+
2289
2329
 
2290
2330
  if not MYPY:
2291
2331
  class DeliveryPipelineSerialPipelineStageStrategyStandardArgsDict(TypedDict):
@@ -178,14 +178,14 @@ class _DeliveryPipelineState:
178
178
  conditions: Optional[pulumi.Input[Sequence[pulumi.Input['DeliveryPipelineConditionArgs']]]] = None,
179
179
  create_time: Optional[pulumi.Input[str]] = None,
180
180
  description: Optional[pulumi.Input[str]] = None,
181
- effective_annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None,
182
- effective_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
181
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
182
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
183
183
  etag: Optional[pulumi.Input[str]] = None,
184
184
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
185
185
  location: Optional[pulumi.Input[str]] = None,
186
186
  name: Optional[pulumi.Input[str]] = None,
187
187
  project: Optional[pulumi.Input[str]] = None,
188
- pulumi_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
188
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
189
189
  serial_pipeline: Optional[pulumi.Input['DeliveryPipelineSerialPipelineArgs']] = None,
190
190
  suspended: Optional[pulumi.Input[bool]] = None,
191
191
  uid: Optional[pulumi.Input[str]] = None,
@@ -199,7 +199,7 @@ class _DeliveryPipelineState:
199
199
  :param pulumi.Input[Sequence[pulumi.Input['DeliveryPipelineConditionArgs']]] conditions: Output only. Information around the state of the Delivery Pipeline.
200
200
  :param pulumi.Input[str] create_time: Output only. Time at which the pipeline was created.
201
201
  :param pulumi.Input[str] description: Description of the `DeliveryPipeline`. Max length is 255 characters.
202
- :param pulumi.Input[Mapping[str, Any]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
202
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
203
203
  :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
204
204
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the
205
205
  following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and
@@ -211,7 +211,7 @@ class _DeliveryPipelineState:
211
211
  :param pulumi.Input[str] location: The location for the resource
212
212
  :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
213
213
  :param pulumi.Input[str] project: The project for the resource
214
- :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
214
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
215
215
  :param pulumi.Input['DeliveryPipelineSerialPipelineArgs'] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
216
216
  :param pulumi.Input[bool] suspended: When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
217
217
  :param pulumi.Input[str] uid: Output only. Unique identifier of the `DeliveryPipeline`.
@@ -303,23 +303,23 @@ class _DeliveryPipelineState:
303
303
 
304
304
  @property
305
305
  @pulumi.getter(name="effectiveAnnotations")
306
- def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
306
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
307
307
  return pulumi.get(self, "effective_annotations")
308
308
 
309
309
  @effective_annotations.setter
310
- def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
310
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
311
311
  pulumi.set(self, "effective_annotations", value)
312
312
 
313
313
  @property
314
314
  @pulumi.getter(name="effectiveLabels")
315
- def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
315
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
316
316
  """
317
317
  All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
318
318
  """
319
319
  return pulumi.get(self, "effective_labels")
320
320
 
321
321
  @effective_labels.setter
322
- def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
322
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
323
323
  pulumi.set(self, "effective_labels", value)
324
324
 
325
325
  @property
@@ -390,14 +390,14 @@ class _DeliveryPipelineState:
390
390
 
391
391
  @property
392
392
  @pulumi.getter(name="pulumiLabels")
393
- def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
393
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
394
394
  """
395
395
  The combination of labels configured directly on the resource and default labels configured on the provider.
396
396
  """
397
397
  return pulumi.get(self, "pulumi_labels")
398
398
 
399
399
  @pulumi_labels.setter
400
- def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
400
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
401
401
  pulumi.set(self, "pulumi_labels", value)
402
402
 
403
403
  @property
@@ -1025,14 +1025,14 @@ class DeliveryPipeline(pulumi.CustomResource):
1025
1025
  conditions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeliveryPipelineConditionArgs', 'DeliveryPipelineConditionArgsDict']]]]] = None,
1026
1026
  create_time: Optional[pulumi.Input[str]] = None,
1027
1027
  description: Optional[pulumi.Input[str]] = None,
1028
- effective_annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1029
- effective_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1028
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1029
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1030
1030
  etag: Optional[pulumi.Input[str]] = None,
1031
1031
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1032
1032
  location: Optional[pulumi.Input[str]] = None,
1033
1033
  name: Optional[pulumi.Input[str]] = None,
1034
1034
  project: Optional[pulumi.Input[str]] = None,
1035
- pulumi_labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1035
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1036
1036
  serial_pipeline: Optional[pulumi.Input[Union['DeliveryPipelineSerialPipelineArgs', 'DeliveryPipelineSerialPipelineArgsDict']]] = None,
1037
1037
  suspended: Optional[pulumi.Input[bool]] = None,
1038
1038
  uid: Optional[pulumi.Input[str]] = None,
@@ -1051,7 +1051,7 @@ class DeliveryPipeline(pulumi.CustomResource):
1051
1051
  :param pulumi.Input[Sequence[pulumi.Input[Union['DeliveryPipelineConditionArgs', 'DeliveryPipelineConditionArgsDict']]]] conditions: Output only. Information around the state of the Delivery Pipeline.
1052
1052
  :param pulumi.Input[str] create_time: Output only. Time at which the pipeline was created.
1053
1053
  :param pulumi.Input[str] description: Description of the `DeliveryPipeline`. Max length is 255 characters.
1054
- :param pulumi.Input[Mapping[str, Any]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1054
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1055
1055
  :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
1056
1056
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the
1057
1057
  following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and
@@ -1063,7 +1063,7 @@ class DeliveryPipeline(pulumi.CustomResource):
1063
1063
  :param pulumi.Input[str] location: The location for the resource
1064
1064
  :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
1065
1065
  :param pulumi.Input[str] project: The project for the resource
1066
- :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1066
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1067
1067
  :param pulumi.Input[Union['DeliveryPipelineSerialPipelineArgs', 'DeliveryPipelineSerialPipelineArgsDict']] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
1068
1068
  :param pulumi.Input[bool] suspended: When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
1069
1069
  :param pulumi.Input[str] uid: Output only. Unique identifier of the `DeliveryPipeline`.
@@ -1128,12 +1128,12 @@ class DeliveryPipeline(pulumi.CustomResource):
1128
1128
 
1129
1129
  @property
1130
1130
  @pulumi.getter(name="effectiveAnnotations")
1131
- def effective_annotations(self) -> pulumi.Output[Mapping[str, Any]]:
1131
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
1132
1132
  return pulumi.get(self, "effective_annotations")
1133
1133
 
1134
1134
  @property
1135
1135
  @pulumi.getter(name="effectiveLabels")
1136
- def effective_labels(self) -> pulumi.Output[Mapping[str, Any]]:
1136
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1137
1137
  """
1138
1138
  All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1139
1139
  """
@@ -1187,7 +1187,7 @@ class DeliveryPipeline(pulumi.CustomResource):
1187
1187
 
1188
1188
  @property
1189
1189
  @pulumi.getter(name="pulumiLabels")
1190
- def pulumi_labels(self) -> pulumi.Output[Mapping[str, Any]]:
1190
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1191
1191
  """
1192
1192
  The combination of labels configured directly on the resource and default labels configured on the provider.
1193
1193
  """
@@ -1575,6 +1575,8 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1575
1575
  suggest = None
1576
1576
  if key == "httpRoute":
1577
1577
  suggest = "http_route"
1578
+ elif key == "podSelectorLabel":
1579
+ suggest = "pod_selector_label"
1578
1580
  elif key == "routeUpdateWaitTime":
1579
1581
  suggest = "route_update_wait_time"
1580
1582
  elif key == "stableCutbackDuration":
@@ -1595,18 +1597,22 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1595
1597
  deployment: str,
1596
1598
  http_route: str,
1597
1599
  service: str,
1600
+ pod_selector_label: Optional[str] = None,
1598
1601
  route_update_wait_time: Optional[str] = None,
1599
1602
  stable_cutback_duration: Optional[str] = None):
1600
1603
  """
1601
1604
  :param str deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
1602
1605
  :param str http_route: Required. Name of the Gateway API HTTPRoute.
1603
1606
  :param str service: Required. Name of the Kubernetes Service.
1607
+ :param str pod_selector_label: Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
1604
1608
  :param str route_update_wait_time: Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
1605
1609
  :param str stable_cutback_duration: Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
1606
1610
  """
1607
1611
  pulumi.set(__self__, "deployment", deployment)
1608
1612
  pulumi.set(__self__, "http_route", http_route)
1609
1613
  pulumi.set(__self__, "service", service)
1614
+ if pod_selector_label is not None:
1615
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
1610
1616
  if route_update_wait_time is not None:
1611
1617
  pulumi.set(__self__, "route_update_wait_time", route_update_wait_time)
1612
1618
  if stable_cutback_duration is not None:
@@ -1636,6 +1642,14 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1636
1642
  """
1637
1643
  return pulumi.get(self, "service")
1638
1644
 
1645
+ @property
1646
+ @pulumi.getter(name="podSelectorLabel")
1647
+ def pod_selector_label(self) -> Optional[str]:
1648
+ """
1649
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
1650
+ """
1651
+ return pulumi.get(self, "pod_selector_label")
1652
+
1639
1653
  @property
1640
1654
  @pulumi.getter(name="routeUpdateWaitTime")
1641
1655
  def route_update_wait_time(self) -> Optional[str]:
@@ -1660,6 +1674,8 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1660
1674
  suggest = None
1661
1675
  if key == "disablePodOverprovisioning":
1662
1676
  suggest = "disable_pod_overprovisioning"
1677
+ elif key == "podSelectorLabel":
1678
+ suggest = "pod_selector_label"
1663
1679
 
1664
1680
  if suggest:
1665
1681
  pulumi.log.warn(f"Key '{key}' not found in DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworking. Access the value via the '{suggest}' property getter instead.")
@@ -1675,16 +1691,20 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1675
1691
  def __init__(__self__, *,
1676
1692
  deployment: str,
1677
1693
  service: str,
1678
- disable_pod_overprovisioning: Optional[bool] = None):
1694
+ disable_pod_overprovisioning: Optional[bool] = None,
1695
+ pod_selector_label: Optional[str] = None):
1679
1696
  """
1680
1697
  :param str deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
1681
1698
  :param str service: Required. Name of the Kubernetes Service.
1682
1699
  :param bool disable_pod_overprovisioning: Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
1700
+ :param str pod_selector_label: Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
1683
1701
  """
1684
1702
  pulumi.set(__self__, "deployment", deployment)
1685
1703
  pulumi.set(__self__, "service", service)
1686
1704
  if disable_pod_overprovisioning is not None:
1687
1705
  pulumi.set(__self__, "disable_pod_overprovisioning", disable_pod_overprovisioning)
1706
+ if pod_selector_label is not None:
1707
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
1688
1708
 
1689
1709
  @property
1690
1710
  @pulumi.getter
@@ -1710,6 +1730,14 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1710
1730
  """
1711
1731
  return pulumi.get(self, "disable_pod_overprovisioning")
1712
1732
 
1733
+ @property
1734
+ @pulumi.getter(name="podSelectorLabel")
1735
+ def pod_selector_label(self) -> Optional[str]:
1736
+ """
1737
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
1738
+ """
1739
+ return pulumi.get(self, "pod_selector_label")
1740
+
1713
1741
 
1714
1742
  @pulumi.output_type
1715
1743
  class DeliveryPipelineSerialPipelineStageStrategyStandard(dict):