pulumi-gcp 8.33.0a1749048505__py3-none-any.whl → 8.34.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 (65) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  14. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  15. pulumi_gcp/colab/runtime_template.py +4 -26
  16. pulumi_gcp/compute/__init__.py +3 -0
  17. pulumi_gcp/compute/_inputs.py +1551 -0
  18. pulumi_gcp/compute/interconnect.py +32 -0
  19. pulumi_gcp/compute/interconnect_attachment.py +28 -0
  20. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  21. pulumi_gcp/compute/interconnect_group.py +586 -0
  22. pulumi_gcp/compute/outputs.py +1087 -0
  23. pulumi_gcp/compute/snapshot_settings.py +285 -0
  24. pulumi_gcp/container/_inputs.py +51 -18
  25. pulumi_gcp/container/cluster.py +47 -0
  26. pulumi_gcp/container/get_cluster.py +12 -1
  27. pulumi_gcp/container/outputs.py +71 -16
  28. pulumi_gcp/dataplex/_inputs.py +20 -0
  29. pulumi_gcp/dataplex/datascan.py +2 -0
  30. pulumi_gcp/dataplex/outputs.py +15 -1
  31. pulumi_gcp/eventarc/_inputs.py +12 -5
  32. pulumi_gcp/eventarc/outputs.py +8 -3
  33. pulumi_gcp/eventarc/pipeline.py +0 -12
  34. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  35. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  37. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  38. pulumi_gcp/gkehub/_inputs.py +84 -7
  39. pulumi_gcp/gkehub/feature.py +38 -0
  40. pulumi_gcp/gkehub/outputs.py +102 -7
  41. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  42. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  43. pulumi_gcp/gkeonprem/outputs.py +49 -0
  44. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  45. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  46. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  47. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  48. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  49. pulumi_gcp/managedkafka/connector.py +4 -4
  50. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  51. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  52. pulumi_gcp/orgpolicy/policy.py +2 -2
  53. pulumi_gcp/pubsub/_inputs.py +392 -0
  54. pulumi_gcp/pubsub/get_subscription.py +12 -1
  55. pulumi_gcp/pubsub/get_topic.py +12 -1
  56. pulumi_gcp/pubsub/outputs.py +548 -0
  57. pulumi_gcp/pubsub/subscription.py +67 -6
  58. pulumi_gcp/pubsub/topic.py +61 -0
  59. pulumi_gcp/pulumi-plugin.json +1 -1
  60. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  61. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  62. {pulumi_gcp-8.33.0a1749048505.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
  63. {pulumi_gcp-8.33.0a1749048505.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +65 -61
  64. {pulumi_gcp-8.33.0a1749048505.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
  65. {pulumi_gcp-8.33.0a1749048505.dist-info → pulumi_gcp-8.34.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ class GetClusterResult:
28
28
  """
29
29
  A collection of values returned by getCluster.
30
30
  """
31
- def __init__(__self__, addons_configs=None, allow_net_admin=None, authenticator_groups_configs=None, binary_authorizations=None, cluster_autoscalings=None, cluster_ipv4_cidr=None, cluster_telemetries=None, confidential_nodes=None, control_plane_endpoints_configs=None, cost_management_configs=None, database_encryptions=None, datapath_provider=None, default_max_pods_per_node=None, default_snat_statuses=None, deletion_protection=None, description=None, disable_l4_lb_firewall_reconciliation=None, dns_configs=None, effective_labels=None, enable_autopilot=None, enable_cilium_clusterwide_network_policy=None, enable_fqdn_network_policy=None, enable_intranode_visibility=None, enable_k8s_beta_apis=None, enable_kubernetes_alpha=None, enable_l4_ilb_subsetting=None, enable_legacy_abac=None, enable_multi_networking=None, enable_shielded_nodes=None, enable_tpu=None, endpoint=None, enterprise_configs=None, fleets=None, gateway_api_configs=None, id=None, identity_service_configs=None, in_transit_encryption_config=None, initial_node_count=None, ip_allocation_policies=None, label_fingerprint=None, location=None, logging_configs=None, logging_service=None, maintenance_policies=None, master_authorized_networks_configs=None, master_auths=None, master_version=None, mesh_certificates=None, min_master_version=None, monitoring_configs=None, monitoring_service=None, name=None, network=None, network_policies=None, networking_mode=None, node_configs=None, node_locations=None, node_pool_auto_configs=None, node_pool_defaults=None, node_pools=None, node_version=None, notification_configs=None, operation=None, pod_autoscalings=None, pod_security_policy_configs=None, private_cluster_configs=None, private_ipv6_google_access=None, project=None, protect_configs=None, pulumi_labels=None, release_channels=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_configs=None, secret_manager_configs=None, security_posture_configs=None, self_link=None, service_external_ips_configs=None, services_ipv4_cidr=None, subnetwork=None, tpu_configs=None, tpu_ipv4_cidr_block=None, user_managed_keys_configs=None, vertical_pod_autoscalings=None, workload_alts_configs=None, workload_identity_configs=None):
31
+ def __init__(__self__, addons_configs=None, allow_net_admin=None, authenticator_groups_configs=None, binary_authorizations=None, cluster_autoscalings=None, cluster_ipv4_cidr=None, cluster_telemetries=None, confidential_nodes=None, control_plane_endpoints_configs=None, cost_management_configs=None, database_encryptions=None, datapath_provider=None, default_max_pods_per_node=None, default_snat_statuses=None, deletion_protection=None, description=None, disable_l4_lb_firewall_reconciliation=None, dns_configs=None, effective_labels=None, enable_autopilot=None, enable_cilium_clusterwide_network_policy=None, enable_fqdn_network_policy=None, enable_intranode_visibility=None, enable_k8s_beta_apis=None, enable_kubernetes_alpha=None, enable_l4_ilb_subsetting=None, enable_legacy_abac=None, enable_multi_networking=None, enable_shielded_nodes=None, enable_tpu=None, endpoint=None, enterprise_configs=None, fleets=None, gateway_api_configs=None, id=None, identity_service_configs=None, in_transit_encryption_config=None, initial_node_count=None, ip_allocation_policies=None, label_fingerprint=None, location=None, logging_configs=None, logging_service=None, maintenance_policies=None, master_authorized_networks_configs=None, master_auths=None, master_version=None, mesh_certificates=None, min_master_version=None, monitoring_configs=None, monitoring_service=None, name=None, network=None, network_performance_configs=None, network_policies=None, networking_mode=None, node_configs=None, node_locations=None, node_pool_auto_configs=None, node_pool_defaults=None, node_pools=None, node_version=None, notification_configs=None, operation=None, pod_autoscalings=None, pod_security_policy_configs=None, private_cluster_configs=None, private_ipv6_google_access=None, project=None, protect_configs=None, pulumi_labels=None, release_channels=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_configs=None, secret_manager_configs=None, security_posture_configs=None, self_link=None, service_external_ips_configs=None, services_ipv4_cidr=None, subnetwork=None, tpu_configs=None, tpu_ipv4_cidr_block=None, user_managed_keys_configs=None, vertical_pod_autoscalings=None, workload_alts_configs=None, workload_identity_configs=None):
32
32
  if addons_configs and not isinstance(addons_configs, list):
33
33
  raise TypeError("Expected argument 'addons_configs' to be a list")
34
34
  pulumi.set(__self__, "addons_configs", addons_configs)
@@ -188,6 +188,9 @@ class GetClusterResult:
188
188
  if network and not isinstance(network, str):
189
189
  raise TypeError("Expected argument 'network' to be a str")
190
190
  pulumi.set(__self__, "network", network)
191
+ if network_performance_configs and not isinstance(network_performance_configs, list):
192
+ raise TypeError("Expected argument 'network_performance_configs' to be a list")
193
+ pulumi.set(__self__, "network_performance_configs", network_performance_configs)
191
194
  if network_policies and not isinstance(network_policies, list):
192
195
  raise TypeError("Expected argument 'network_policies' to be a list")
193
196
  pulumi.set(__self__, "network_policies", network_policies)
@@ -556,6 +559,11 @@ class GetClusterResult:
556
559
  def network(self) -> builtins.str:
557
560
  return pulumi.get(self, "network")
558
561
 
562
+ @property
563
+ @pulumi.getter(name="networkPerformanceConfigs")
564
+ def network_performance_configs(self) -> Sequence['outputs.GetClusterNetworkPerformanceConfigResult']:
565
+ return pulumi.get(self, "network_performance_configs")
566
+
559
567
  @property
560
568
  @pulumi.getter(name="networkPolicies")
561
569
  def network_policies(self) -> Sequence['outputs.GetClusterNetworkPolicyResult']:
@@ -781,6 +789,7 @@ class AwaitableGetClusterResult(GetClusterResult):
781
789
  monitoring_service=self.monitoring_service,
782
790
  name=self.name,
783
791
  network=self.network,
792
+ network_performance_configs=self.network_performance_configs,
784
793
  network_policies=self.network_policies,
785
794
  networking_mode=self.networking_mode,
786
795
  node_configs=self.node_configs,
@@ -906,6 +915,7 @@ def get_cluster(location: Optional[builtins.str] = None,
906
915
  monitoring_service=pulumi.get(__ret__, 'monitoring_service'),
907
916
  name=pulumi.get(__ret__, 'name'),
908
917
  network=pulumi.get(__ret__, 'network'),
918
+ network_performance_configs=pulumi.get(__ret__, 'network_performance_configs'),
909
919
  network_policies=pulumi.get(__ret__, 'network_policies'),
910
920
  networking_mode=pulumi.get(__ret__, 'networking_mode'),
911
921
  node_configs=pulumi.get(__ret__, 'node_configs'),
@@ -1028,6 +1038,7 @@ def get_cluster_output(location: Optional[pulumi.Input[Optional[builtins.str]]]
1028
1038
  monitoring_service=pulumi.get(__response__, 'monitoring_service'),
1029
1039
  name=pulumi.get(__response__, 'name'),
1030
1040
  network=pulumi.get(__response__, 'network'),
1041
+ network_performance_configs=pulumi.get(__response__, 'network_performance_configs'),
1031
1042
  network_policies=pulumi.get(__response__, 'network_policies'),
1032
1043
  networking_mode=pulumi.get(__response__, 'networking_mode'),
1033
1044
  node_configs=pulumi.get(__response__, 'node_configs'),
@@ -147,6 +147,7 @@ __all__ = [
147
147
  'ClusterMonitoringConfigAdvancedDatapathObservabilityConfig',
148
148
  'ClusterMonitoringConfigManagedPrometheus',
149
149
  'ClusterMonitoringConfigManagedPrometheusAutoMonitoringConfig',
150
+ 'ClusterNetworkPerformanceConfig',
150
151
  'ClusterNetworkPolicy',
151
152
  'ClusterNodeConfig',
152
153
  'ClusterNodeConfigAdvancedMachineFeatures',
@@ -355,6 +356,7 @@ __all__ = [
355
356
  'GetClusterMonitoringConfigAdvancedDatapathObservabilityConfigResult',
356
357
  'GetClusterMonitoringConfigManagedPrometheusResult',
357
358
  'GetClusterMonitoringConfigManagedPrometheusAutoMonitoringConfigResult',
359
+ 'GetClusterNetworkPerformanceConfigResult',
358
360
  'GetClusterNetworkPolicyResult',
359
361
  'GetClusterNodeConfigResult',
360
362
  'GetClusterNodeConfigAdvancedMachineFeatureResult',
@@ -6937,6 +6939,41 @@ class ClusterMonitoringConfigManagedPrometheusAutoMonitoringConfig(dict):
6937
6939
  return pulumi.get(self, "scope")
6938
6940
 
6939
6941
 
6942
+ @pulumi.output_type
6943
+ class ClusterNetworkPerformanceConfig(dict):
6944
+ @staticmethod
6945
+ def __key_warning(key: str):
6946
+ suggest = None
6947
+ if key == "totalEgressBandwidthTier":
6948
+ suggest = "total_egress_bandwidth_tier"
6949
+
6950
+ if suggest:
6951
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNetworkPerformanceConfig. Access the value via the '{suggest}' property getter instead.")
6952
+
6953
+ def __getitem__(self, key: str) -> Any:
6954
+ ClusterNetworkPerformanceConfig.__key_warning(key)
6955
+ return super().__getitem__(key)
6956
+
6957
+ def get(self, key: str, default = None) -> Any:
6958
+ ClusterNetworkPerformanceConfig.__key_warning(key)
6959
+ return super().get(key, default)
6960
+
6961
+ def __init__(__self__, *,
6962
+ total_egress_bandwidth_tier: builtins.str):
6963
+ """
6964
+ :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for NodePools in the cluster.
6965
+ """
6966
+ pulumi.set(__self__, "total_egress_bandwidth_tier", total_egress_bandwidth_tier)
6967
+
6968
+ @property
6969
+ @pulumi.getter(name="totalEgressBandwidthTier")
6970
+ def total_egress_bandwidth_tier(self) -> builtins.str:
6971
+ """
6972
+ Specifies the total network bandwidth tier for NodePools in the cluster.
6973
+ """
6974
+ return pulumi.get(self, "total_egress_bandwidth_tier")
6975
+
6976
+
6940
6977
  @pulumi.output_type
6941
6978
  class ClusterNetworkPolicy(dict):
6942
6979
  def __init__(__self__, *,
@@ -7124,7 +7161,7 @@ class ClusterNodeConfig(dict):
7124
7161
  Node Pool must enable gvnic.
7125
7162
  GKE version 1.25.2-gke.1700 or later.
7126
7163
  Structure is documented below.
7127
- :param builtins.bool flex_start: ) Enables Flex Start provisioning model for the node pool.
7164
+ :param builtins.bool flex_start: Enables Flex Start provisioning model for the node pool.
7128
7165
  :param 'ClusterNodeConfigGcfsConfigArgs' gcfs_config: Parameters for the Google Container Filesystem (GCFS).
7129
7166
  If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify `image_type = "COS_CONTAINERD"` and `node_version` from GKE versions 1.19 or later to use it.
7130
7167
  For GKE versions 1.19, 1.20, and 1.21, the recommended minimum `node_version` would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively.
@@ -7403,7 +7440,7 @@ class ClusterNodeConfig(dict):
7403
7440
  @pulumi.getter(name="flexStart")
7404
7441
  def flex_start(self) -> Optional[builtins.bool]:
7405
7442
  """
7406
- ) Enables Flex Start provisioning model for the node pool.
7443
+ Enables Flex Start provisioning model for the node pool.
7407
7444
  """
7408
7445
  return pulumi.get(self, "flex_start")
7409
7446
 
@@ -10273,7 +10310,7 @@ class ClusterNodePoolNetworkConfigNetworkPerformanceConfig(dict):
10273
10310
  def __init__(__self__, *,
10274
10311
  total_egress_bandwidth_tier: builtins.str):
10275
10312
  """
10276
- :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for the NodePool.
10313
+ :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for NodePools in the cluster.
10277
10314
  """
10278
10315
  pulumi.set(__self__, "total_egress_bandwidth_tier", total_egress_bandwidth_tier)
10279
10316
 
@@ -10281,7 +10318,7 @@ class ClusterNodePoolNetworkConfigNetworkPerformanceConfig(dict):
10281
10318
  @pulumi.getter(name="totalEgressBandwidthTier")
10282
10319
  def total_egress_bandwidth_tier(self) -> builtins.str:
10283
10320
  """
10284
- Specifies the total network bandwidth tier for the NodePool.
10321
+ Specifies the total network bandwidth tier for NodePools in the cluster.
10285
10322
  """
10286
10323
  return pulumi.get(self, "total_egress_bandwidth_tier")
10287
10324
 
@@ -10465,7 +10502,7 @@ class ClusterNodePoolNodeConfig(dict):
10465
10502
  Node Pool must enable gvnic.
10466
10503
  GKE version 1.25.2-gke.1700 or later.
10467
10504
  Structure is documented below.
10468
- :param builtins.bool flex_start: ) Enables Flex Start provisioning model for the node pool.
10505
+ :param builtins.bool flex_start: Enables Flex Start provisioning model for the node pool.
10469
10506
  :param 'ClusterNodePoolNodeConfigGcfsConfigArgs' gcfs_config: Parameters for the Google Container Filesystem (GCFS).
10470
10507
  If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify `image_type = "COS_CONTAINERD"` and `node_version` from GKE versions 1.19 or later to use it.
10471
10508
  For GKE versions 1.19, 1.20, and 1.21, the recommended minimum `node_version` would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively.
@@ -10744,7 +10781,7 @@ class ClusterNodePoolNodeConfig(dict):
10744
10781
  @pulumi.getter(name="flexStart")
10745
10782
  def flex_start(self) -> Optional[builtins.bool]:
10746
10783
  """
10747
- ) Enables Flex Start provisioning model for the node pool.
10784
+ Enables Flex Start provisioning model for the node pool.
10748
10785
  """
10749
10786
  return pulumi.get(self, "flex_start")
10750
10787
 
@@ -12485,7 +12522,7 @@ class ClusterNodePoolPlacementPolicy(dict):
12485
12522
  :param builtins.str type: Telemetry integration for the cluster. Supported values (`ENABLED, DISABLED, SYSTEM_ONLY`);
12486
12523
  `SYSTEM_ONLY` (Only system components are monitored and logged) is only available in GKE versions 1.15 and later.
12487
12524
  :param builtins.str policy_name: If set, refers to the name of a custom resource policy supplied by the user. The resource policy must be in the same project and region as the node pool. If not found, InvalidArgument error is returned.
12488
- :param builtins.str tpu_topology: TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
12525
+ :param builtins.str tpu_topology: The TPU topology like "2x4" or "2x2x2". https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology
12489
12526
  """
12490
12527
  pulumi.set(__self__, "type", type)
12491
12528
  if policy_name is not None:
@@ -12514,7 +12551,7 @@ class ClusterNodePoolPlacementPolicy(dict):
12514
12551
  @pulumi.getter(name="tpuTopology")
12515
12552
  def tpu_topology(self) -> Optional[builtins.str]:
12516
12553
  """
12517
- TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
12554
+ The TPU topology like "2x4" or "2x2x2". https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology
12518
12555
  """
12519
12556
  return pulumi.get(self, "tpu_topology")
12520
12557
 
@@ -14084,7 +14121,7 @@ class NodePoolNetworkConfigNetworkPerformanceConfig(dict):
14084
14121
  def __init__(__self__, *,
14085
14122
  total_egress_bandwidth_tier: builtins.str):
14086
14123
  """
14087
- :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for the NodePool.
14124
+ :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for the NodePool. [Valid values](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.Tier) include: "TIER_1" and "TIER_UNSPECIFIED".
14088
14125
  """
14089
14126
  pulumi.set(__self__, "total_egress_bandwidth_tier", total_egress_bandwidth_tier)
14090
14127
 
@@ -14092,7 +14129,7 @@ class NodePoolNetworkConfigNetworkPerformanceConfig(dict):
14092
14129
  @pulumi.getter(name="totalEgressBandwidthTier")
14093
14130
  def total_egress_bandwidth_tier(self) -> builtins.str:
14094
14131
  """
14095
- Specifies the total network bandwidth tier for the NodePool.
14132
+ Specifies the total network bandwidth tier for the NodePool. [Valid values](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.Tier) include: "TIER_1" and "TIER_UNSPECIFIED".
14096
14133
  """
14097
14134
  return pulumi.get(self, "total_egress_bandwidth_tier")
14098
14135
 
@@ -16099,7 +16136,7 @@ class NodePoolPlacementPolicy(dict):
16099
16136
  :param builtins.str policy_name: If set, refers to the name of a custom resource policy supplied by the user.
16100
16137
  The resource policy must be in the same project and region as the node pool.
16101
16138
  If not found, InvalidArgument error is returned.
16102
- :param builtins.str tpu_topology: The [TPU placement topology](https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies) for pod slice node pool.
16139
+ :param builtins.str tpu_topology: The [TPU topology](https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology) like `"2x4"` or `"2x2x2"`.
16103
16140
  """
16104
16141
  pulumi.set(__self__, "type", type)
16105
16142
  if policy_name is not None:
@@ -16131,7 +16168,7 @@ class NodePoolPlacementPolicy(dict):
16131
16168
  @pulumi.getter(name="tpuTopology")
16132
16169
  def tpu_topology(self) -> Optional[builtins.str]:
16133
16170
  """
16134
- The [TPU placement topology](https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies) for pod slice node pool.
16171
+ The [TPU topology](https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology) like `"2x4"` or `"2x2x2"`.
16135
16172
  """
16136
16173
  return pulumi.get(self, "tpu_topology")
16137
16174
 
@@ -18196,6 +18233,24 @@ class GetClusterMonitoringConfigManagedPrometheusAutoMonitoringConfigResult(dict
18196
18233
  return pulumi.get(self, "scope")
18197
18234
 
18198
18235
 
18236
+ @pulumi.output_type
18237
+ class GetClusterNetworkPerformanceConfigResult(dict):
18238
+ def __init__(__self__, *,
18239
+ total_egress_bandwidth_tier: builtins.str):
18240
+ """
18241
+ :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for NodePools in the cluster.
18242
+ """
18243
+ pulumi.set(__self__, "total_egress_bandwidth_tier", total_egress_bandwidth_tier)
18244
+
18245
+ @property
18246
+ @pulumi.getter(name="totalEgressBandwidthTier")
18247
+ def total_egress_bandwidth_tier(self) -> builtins.str:
18248
+ """
18249
+ Specifies the total network bandwidth tier for NodePools in the cluster.
18250
+ """
18251
+ return pulumi.get(self, "total_egress_bandwidth_tier")
18252
+
18253
+
18199
18254
  @pulumi.output_type
18200
18255
  class GetClusterNetworkPolicyResult(dict):
18201
18256
  def __init__(__self__, *,
@@ -20337,7 +20392,7 @@ class GetClusterNodePoolNetworkConfigNetworkPerformanceConfigResult(dict):
20337
20392
  def __init__(__self__, *,
20338
20393
  total_egress_bandwidth_tier: builtins.str):
20339
20394
  """
20340
- :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for the NodePool.
20395
+ :param builtins.str total_egress_bandwidth_tier: Specifies the total network bandwidth tier for the NodePool. [Valid values](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.Tier) include: "TIER_1" and "TIER_UNSPECIFIED".
20341
20396
  """
20342
20397
  pulumi.set(__self__, "total_egress_bandwidth_tier", total_egress_bandwidth_tier)
20343
20398
 
@@ -20345,7 +20400,7 @@ class GetClusterNodePoolNetworkConfigNetworkPerformanceConfigResult(dict):
20345
20400
  @pulumi.getter(name="totalEgressBandwidthTier")
20346
20401
  def total_egress_bandwidth_tier(self) -> builtins.str:
20347
20402
  """
20348
- Specifies the total network bandwidth tier for the NodePool.
20403
+ Specifies the total network bandwidth tier for the NodePool. [Valid values](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.Tier) include: "TIER_1" and "TIER_UNSPECIFIED".
20349
20404
  """
20350
20405
  return pulumi.get(self, "total_egress_bandwidth_tier")
20351
20406
 
@@ -21757,7 +21812,7 @@ class GetClusterNodePoolPlacementPolicyResult(dict):
21757
21812
  type: builtins.str):
21758
21813
  """
21759
21814
  :param builtins.str policy_name: If set, refers to the name of a custom resource policy supplied by the user. The resource policy must be in the same project and region as the node pool. If not found, InvalidArgument error is returned.
21760
- :param builtins.str tpu_topology: TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
21815
+ :param builtins.str tpu_topology: The TPU topology like "2x4" or "2x2x2". https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology
21761
21816
  :param builtins.str type: Type defines the type of placement policy
21762
21817
  """
21763
21818
  pulumi.set(__self__, "policy_name", policy_name)
@@ -21776,7 +21831,7 @@ class GetClusterNodePoolPlacementPolicyResult(dict):
21776
21831
  @pulumi.getter(name="tpuTopology")
21777
21832
  def tpu_topology(self) -> builtins.str:
21778
21833
  """
21779
- TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
21834
+ The TPU topology like "2x4" or "2x2x2". https://cloud.google.com/kubernetes-engine/docs/concepts/plan-tpus#topology
21780
21835
  """
21781
21836
  return pulumi.get(self, "tpu_topology")
21782
21837
 
@@ -1428,6 +1428,10 @@ class DatascanDataProfileSpecPostScanActionsBigqueryExportArgs:
1428
1428
 
1429
1429
  if not MYPY:
1430
1430
  class DatascanDataQualitySpecArgsDict(TypedDict):
1431
+ catalog_publishing_enabled: NotRequired[pulumi.Input[builtins.bool]]
1432
+ """
1433
+ If set, the latest DataScan job result will be published to Dataplex Catalog.
1434
+ """
1431
1435
  post_scan_actions: NotRequired[pulumi.Input['DatascanDataQualitySpecPostScanActionsArgsDict']]
1432
1436
  """
1433
1437
  Actions to take upon job completion.
@@ -1454,11 +1458,13 @@ elif False:
1454
1458
  @pulumi.input_type
1455
1459
  class DatascanDataQualitySpecArgs:
1456
1460
  def __init__(__self__, *,
1461
+ catalog_publishing_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1457
1462
  post_scan_actions: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsArgs']] = None,
1458
1463
  row_filter: Optional[pulumi.Input[builtins.str]] = None,
1459
1464
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['DatascanDataQualitySpecRuleArgs']]]] = None,
1460
1465
  sampling_percent: Optional[pulumi.Input[builtins.float]] = None):
1461
1466
  """
1467
+ :param pulumi.Input[builtins.bool] catalog_publishing_enabled: If set, the latest DataScan job result will be published to Dataplex Catalog.
1462
1468
  :param pulumi.Input['DatascanDataQualitySpecPostScanActionsArgs'] post_scan_actions: Actions to take upon job completion.
1463
1469
  Structure is documented below.
1464
1470
  :param pulumi.Input[builtins.str] row_filter: A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10
@@ -1468,6 +1474,8 @@ class DatascanDataQualitySpecArgs:
1468
1474
  Value can range between 0.0 and 100.0 with up to 3 significant decimal digits.
1469
1475
  Sampling is not applied if `sampling_percent` is not specified, 0 or 100.
1470
1476
  """
1477
+ if catalog_publishing_enabled is not None:
1478
+ pulumi.set(__self__, "catalog_publishing_enabled", catalog_publishing_enabled)
1471
1479
  if post_scan_actions is not None:
1472
1480
  pulumi.set(__self__, "post_scan_actions", post_scan_actions)
1473
1481
  if row_filter is not None:
@@ -1477,6 +1485,18 @@ class DatascanDataQualitySpecArgs:
1477
1485
  if sampling_percent is not None:
1478
1486
  pulumi.set(__self__, "sampling_percent", sampling_percent)
1479
1487
 
1488
+ @property
1489
+ @pulumi.getter(name="catalogPublishingEnabled")
1490
+ def catalog_publishing_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
1491
+ """
1492
+ If set, the latest DataScan job result will be published to Dataplex Catalog.
1493
+ """
1494
+ return pulumi.get(self, "catalog_publishing_enabled")
1495
+
1496
+ @catalog_publishing_enabled.setter
1497
+ def catalog_publishing_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
1498
+ pulumi.set(self, "catalog_publishing_enabled", value)
1499
+
1480
1500
  @property
1481
1501
  @pulumi.getter(name="postScanActions")
1482
1502
  def post_scan_actions(self) -> Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsArgs']]:
@@ -660,6 +660,7 @@ class Datascan(pulumi.CustomResource):
660
660
  data_quality_spec={
661
661
  "sampling_percent": 5,
662
662
  "row_filter": "station_id > 1000",
663
+ "catalog_publishing_enabled": True,
663
664
  "post_scan_actions": {
664
665
  "notification_report": {
665
666
  "recipients": {
@@ -936,6 +937,7 @@ class Datascan(pulumi.CustomResource):
936
937
  data_quality_spec={
937
938
  "sampling_percent": 5,
938
939
  "row_filter": "station_id > 1000",
940
+ "catalog_publishing_enabled": True,
939
941
  "post_scan_actions": {
940
942
  "notification_report": {
941
943
  "recipients": {
@@ -1089,7 +1089,9 @@ class DatascanDataQualitySpec(dict):
1089
1089
  @staticmethod
1090
1090
  def __key_warning(key: str):
1091
1091
  suggest = None
1092
- if key == "postScanActions":
1092
+ if key == "catalogPublishingEnabled":
1093
+ suggest = "catalog_publishing_enabled"
1094
+ elif key == "postScanActions":
1093
1095
  suggest = "post_scan_actions"
1094
1096
  elif key == "rowFilter":
1095
1097
  suggest = "row_filter"
@@ -1108,11 +1110,13 @@ class DatascanDataQualitySpec(dict):
1108
1110
  return super().get(key, default)
1109
1111
 
1110
1112
  def __init__(__self__, *,
1113
+ catalog_publishing_enabled: Optional[builtins.bool] = None,
1111
1114
  post_scan_actions: Optional['outputs.DatascanDataQualitySpecPostScanActions'] = None,
1112
1115
  row_filter: Optional[builtins.str] = None,
1113
1116
  rules: Optional[Sequence['outputs.DatascanDataQualitySpecRule']] = None,
1114
1117
  sampling_percent: Optional[builtins.float] = None):
1115
1118
  """
1119
+ :param builtins.bool catalog_publishing_enabled: If set, the latest DataScan job result will be published to Dataplex Catalog.
1116
1120
  :param 'DatascanDataQualitySpecPostScanActionsArgs' post_scan_actions: Actions to take upon job completion.
1117
1121
  Structure is documented below.
1118
1122
  :param builtins.str row_filter: A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10
@@ -1122,6 +1126,8 @@ class DatascanDataQualitySpec(dict):
1122
1126
  Value can range between 0.0 and 100.0 with up to 3 significant decimal digits.
1123
1127
  Sampling is not applied if `sampling_percent` is not specified, 0 or 100.
1124
1128
  """
1129
+ if catalog_publishing_enabled is not None:
1130
+ pulumi.set(__self__, "catalog_publishing_enabled", catalog_publishing_enabled)
1125
1131
  if post_scan_actions is not None:
1126
1132
  pulumi.set(__self__, "post_scan_actions", post_scan_actions)
1127
1133
  if row_filter is not None:
@@ -1131,6 +1137,14 @@ class DatascanDataQualitySpec(dict):
1131
1137
  if sampling_percent is not None:
1132
1138
  pulumi.set(__self__, "sampling_percent", sampling_percent)
1133
1139
 
1140
+ @property
1141
+ @pulumi.getter(name="catalogPublishingEnabled")
1142
+ def catalog_publishing_enabled(self) -> Optional[builtins.bool]:
1143
+ """
1144
+ If set, the latest DataScan job result will be published to Dataplex Catalog.
1145
+ """
1146
+ return pulumi.get(self, "catalog_publishing_enabled")
1147
+
1134
1148
  @property
1135
1149
  @pulumi.getter(name="postScanActions")
1136
1150
  def post_scan_actions(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActions']:
@@ -1111,11 +1111,13 @@ class PipelineDestinationHttpEndpointArgs:
1111
1111
 
1112
1112
  if not MYPY:
1113
1113
  class PipelineDestinationNetworkConfigArgsDict(TypedDict):
1114
- network_attachment: pulumi.Input[builtins.str]
1114
+ network_attachment: NotRequired[pulumi.Input[builtins.str]]
1115
1115
  """
1116
1116
  Name of the NetworkAttachment that allows access to the consumer VPC.
1117
1117
  Format:
1118
1118
  `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`
1119
+ Required for HTTP endpoint destinations. Must not be specified for
1120
+ Workflows, MessageBus, or Topic destinations.
1119
1121
  """
1120
1122
  elif False:
1121
1123
  PipelineDestinationNetworkConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -1123,26 +1125,31 @@ elif False:
1123
1125
  @pulumi.input_type
1124
1126
  class PipelineDestinationNetworkConfigArgs:
1125
1127
  def __init__(__self__, *,
1126
- network_attachment: pulumi.Input[builtins.str]):
1128
+ network_attachment: Optional[pulumi.Input[builtins.str]] = None):
1127
1129
  """
1128
1130
  :param pulumi.Input[builtins.str] network_attachment: Name of the NetworkAttachment that allows access to the consumer VPC.
1129
1131
  Format:
1130
1132
  `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`
1133
+ Required for HTTP endpoint destinations. Must not be specified for
1134
+ Workflows, MessageBus, or Topic destinations.
1131
1135
  """
1132
- pulumi.set(__self__, "network_attachment", network_attachment)
1136
+ if network_attachment is not None:
1137
+ pulumi.set(__self__, "network_attachment", network_attachment)
1133
1138
 
1134
1139
  @property
1135
1140
  @pulumi.getter(name="networkAttachment")
1136
- def network_attachment(self) -> pulumi.Input[builtins.str]:
1141
+ def network_attachment(self) -> Optional[pulumi.Input[builtins.str]]:
1137
1142
  """
1138
1143
  Name of the NetworkAttachment that allows access to the consumer VPC.
1139
1144
  Format:
1140
1145
  `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`
1146
+ Required for HTTP endpoint destinations. Must not be specified for
1147
+ Workflows, MessageBus, or Topic destinations.
1141
1148
  """
1142
1149
  return pulumi.get(self, "network_attachment")
1143
1150
 
1144
1151
  @network_attachment.setter
1145
- def network_attachment(self, value: pulumi.Input[builtins.str]):
1152
+ def network_attachment(self, value: Optional[pulumi.Input[builtins.str]]):
1146
1153
  pulumi.set(self, "network_attachment", value)
1147
1154
 
1148
1155
 
@@ -854,21 +854,26 @@ class PipelineDestinationNetworkConfig(dict):
854
854
  return super().get(key, default)
855
855
 
856
856
  def __init__(__self__, *,
857
- network_attachment: builtins.str):
857
+ network_attachment: Optional[builtins.str] = None):
858
858
  """
859
859
  :param builtins.str network_attachment: Name of the NetworkAttachment that allows access to the consumer VPC.
860
860
  Format:
861
861
  `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`
862
+ Required for HTTP endpoint destinations. Must not be specified for
863
+ Workflows, MessageBus, or Topic destinations.
862
864
  """
863
- pulumi.set(__self__, "network_attachment", network_attachment)
865
+ if network_attachment is not None:
866
+ pulumi.set(__self__, "network_attachment", network_attachment)
864
867
 
865
868
  @property
866
869
  @pulumi.getter(name="networkAttachment")
867
- def network_attachment(self) -> builtins.str:
870
+ def network_attachment(self) -> Optional[builtins.str]:
868
871
  """
869
872
  Name of the NetworkAttachment that allows access to the consumer VPC.
870
873
  Format:
871
874
  `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`
875
+ Required for HTTP endpoint destinations. Must not be specified for
876
+ Workflows, MessageBus, or Topic destinations.
872
877
  """
873
878
  return pulumi.get(self, "network_attachment")
874
879
 
@@ -660,9 +660,6 @@ class Pipeline(pulumi.CustomResource):
660
660
  pipeline_id="some-pipeline",
661
661
  destinations=[{
662
662
  "topic": topic.id,
663
- "network_config": {
664
- "network_attachment": "projects/my-project-name/regions/us-central1/networkAttachments/some-network-attachment",
665
- },
666
663
  }],
667
664
  labels={
668
665
  "test_label": "test-eventarc-label",
@@ -731,9 +728,6 @@ class Pipeline(pulumi.CustomResource):
731
728
  pipeline_id="some-pipeline",
732
729
  destinations=[{
733
730
  "workflow": workflow.id,
734
- "network_config": {
735
- "network_attachment": "projects/my-project-name/regions/us-central1/networkAttachments/some-network-attachment",
736
- },
737
731
  }])
738
732
  ```
739
733
  ### Eventarc Pipeline With Oidc And Json Format
@@ -979,9 +973,6 @@ class Pipeline(pulumi.CustomResource):
979
973
  pipeline_id="some-pipeline",
980
974
  destinations=[{
981
975
  "topic": topic.id,
982
- "network_config": {
983
- "network_attachment": "projects/my-project-name/regions/us-central1/networkAttachments/some-network-attachment",
984
- },
985
976
  }],
986
977
  labels={
987
978
  "test_label": "test-eventarc-label",
@@ -1050,9 +1041,6 @@ class Pipeline(pulumi.CustomResource):
1050
1041
  pipeline_id="some-pipeline",
1051
1042
  destinations=[{
1052
1043
  "workflow": workflow.id,
1053
- "network_config": {
1054
- "network_attachment": "projects/my-project-name/regions/us-central1/networkAttachments/some-network-attachment",
1055
- },
1056
1044
  }])
1057
1045
  ```
1058
1046
  ### Eventarc Pipeline With Oidc And Json Format