pulumi-gcp 8.21.0a1741156431__py3-none-any.whl → 8.22.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 (110) hide show
  1. pulumi_gcp/__init__.py +96 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/cluster.py +148 -0
  4. pulumi_gcp/alloydb/instance.py +28 -28
  5. pulumi_gcp/alloydb/outputs.py +95 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/host_project_registration.py +535 -0
  8. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  9. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  10. pulumi_gcp/bigquery/table.py +1 -1
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/compute/__init__.py +6 -0
  14. pulumi_gcp/compute/_inputs.py +1370 -17
  15. pulumi_gcp/compute/backend_service.py +209 -14
  16. pulumi_gcp/compute/ca_external_account_key.py +48 -3
  17. pulumi_gcp/compute/disk.py +403 -0
  18. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  19. pulumi_gcp/compute/get_backend_service.py +12 -1
  20. pulumi_gcp/compute/get_disk.py +78 -1
  21. pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
  22. pulumi_gcp/compute/get_region_disk.py +23 -1
  23. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  24. pulumi_gcp/compute/instant_snapshot.py +796 -0
  25. pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
  26. pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
  27. pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
  28. pulumi_gcp/compute/outputs.py +1952 -29
  29. pulumi_gcp/compute/region_backend_service.py +207 -14
  30. pulumi_gcp/compute/region_disk.py +114 -0
  31. pulumi_gcp/compute/route.py +228 -2
  32. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  33. pulumi_gcp/compute/subnetwork.py +147 -0
  34. pulumi_gcp/compute/url_map.py +8 -0
  35. pulumi_gcp/container/_inputs.py +6 -6
  36. pulumi_gcp/container/outputs.py +8 -8
  37. pulumi_gcp/datacatalog/entry.py +4 -0
  38. pulumi_gcp/datacatalog/tag.py +4 -0
  39. pulumi_gcp/dataproc/_inputs.py +12 -15
  40. pulumi_gcp/dataproc/outputs.py +8 -10
  41. pulumi_gcp/datastream/_inputs.py +273 -0
  42. pulumi_gcp/datastream/connection_profile.py +54 -2
  43. pulumi_gcp/datastream/outputs.py +224 -0
  44. pulumi_gcp/discoveryengine/target_site.py +4 -4
  45. pulumi_gcp/eventarc/__init__.py +2 -0
  46. pulumi_gcp/eventarc/_inputs.py +80 -0
  47. pulumi_gcp/eventarc/channel.py +85 -93
  48. pulumi_gcp/eventarc/google_api_source.py +997 -0
  49. pulumi_gcp/eventarc/message_bus.py +927 -0
  50. pulumi_gcp/eventarc/outputs.py +82 -0
  51. pulumi_gcp/firebase/data_connect_service.py +40 -2
  52. pulumi_gcp/gemini/__init__.py +1 -0
  53. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
  54. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
  55. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
  56. pulumi_gcp/gemini/logging_setting_binding.py +7 -7
  57. pulumi_gcp/iam/__init__.py +2 -0
  58. pulumi_gcp/iam/_inputs.py +84 -27
  59. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  60. pulumi_gcp/iam/oauth_client.py +979 -0
  61. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  62. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  63. pulumi_gcp/iam/outputs.py +56 -18
  64. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  65. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  66. pulumi_gcp/iam/workforce_pool_provider.py +2 -2
  67. pulumi_gcp/kms/crypto_key_version.py +14 -7
  68. pulumi_gcp/memorystore/__init__.py +1 -0
  69. pulumi_gcp/memorystore/get_instance.py +425 -0
  70. pulumi_gcp/memorystore/outputs.py +582 -0
  71. pulumi_gcp/monitoring/_inputs.py +15 -18
  72. pulumi_gcp/monitoring/alert_policy.py +46 -0
  73. pulumi_gcp/monitoring/outputs.py +10 -12
  74. pulumi_gcp/networkconnectivity/hub.py +84 -0
  75. pulumi_gcp/networksecurity/__init__.py +1 -0
  76. pulumi_gcp/networksecurity/_inputs.py +30 -18
  77. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  78. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  79. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  80. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  81. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  82. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  83. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  84. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  86. pulumi_gcp/networksecurity/outputs.py +20 -12
  87. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  88. pulumi_gcp/networkservices/grpc_route.py +128 -12
  89. pulumi_gcp/networkservices/http_route.py +16 -0
  90. pulumi_gcp/networkservices/mesh.py +16 -0
  91. pulumi_gcp/networkservices/service_binding.py +14 -0
  92. pulumi_gcp/networkservices/tcp_route.py +16 -0
  93. pulumi_gcp/networkservices/tls_route.py +12 -0
  94. pulumi_gcp/notebooks/location.py +4 -0
  95. pulumi_gcp/pulumi-plugin.json +1 -1
  96. pulumi_gcp/storage/__init__.py +1 -0
  97. pulumi_gcp/storage/_inputs.py +74 -0
  98. pulumi_gcp/storage/anywhere_cache.py +552 -0
  99. pulumi_gcp/storage/outputs.py +65 -0
  100. pulumi_gcp/storage/transfer_job.py +67 -0
  101. pulumi_gcp/tpu/_inputs.py +21 -1
  102. pulumi_gcp/tpu/outputs.py +13 -1
  103. pulumi_gcp/tpu/v2_vm.py +2 -0
  104. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  105. pulumi_gcp/vmwareengine/outputs.py +8 -0
  106. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  107. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/METADATA +1 -1
  108. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/RECORD +110 -95
  109. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/WHEEL +1 -1
  110. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,7 @@ class RegionBackendServiceArgs:
28
28
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
29
29
  connection_tracking_policy: Optional[pulumi.Input['RegionBackendServiceConnectionTrackingPolicyArgs']] = None,
30
30
  consistent_hash: Optional[pulumi.Input['RegionBackendServiceConsistentHashArgs']] = None,
31
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]] = None,
31
32
  description: Optional[pulumi.Input[str]] = None,
32
33
  enable_cdn: Optional[pulumi.Input[bool]] = None,
33
34
  failover_policy: Optional[pulumi.Input['RegionBackendServiceFailoverPolicyArgs']] = None,
@@ -77,6 +78,8 @@ class RegionBackendServiceArgs:
77
78
  destination service. This field specifies parameters that control consistent
78
79
  hashing.
79
80
  This field only applies when all of the following are true -
81
+ :param pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
82
+ Structure is documented below.
80
83
  :param pulumi.Input[str] description: An optional description of this resource.
81
84
  :param pulumi.Input[bool] enable_cdn: If true, enable Cloud CDN for this RegionBackendService.
82
85
  :param pulumi.Input['RegionBackendServiceFailoverPolicyArgs'] failover_policy: Policy for failovers.
@@ -86,7 +89,8 @@ class RegionBackendServiceArgs:
86
89
  check can be specified.
87
90
  A health check must be specified unless the backend service uses an internet
88
91
  or serverless NEG as a backend.
89
- :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
92
+ :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
93
+ If OAuth client is not set, Google-managed OAuth client is used.
90
94
  Structure is documented below.
91
95
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
92
96
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -129,6 +133,12 @@ class RegionBackendServiceArgs:
129
133
  instance either reported a valid weight or had
130
134
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
131
135
  equal-weight.
136
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
137
+ from Backend reported Custom Metrics. If set, the Backend Service
138
+ responses are expected to contain non-standard HTTP response header field
139
+ X-Endpoint-Load-Metrics. The reported metrics
140
+ to use for computing the weights are specified via the
141
+ backends[].customMetrics fields.
132
142
  locality_lb_policy is applicable to either:
133
143
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
134
144
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -141,7 +151,7 @@ class RegionBackendServiceArgs:
141
151
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
142
152
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
143
153
  field set to true.
144
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
154
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
145
155
  :param pulumi.Input['RegionBackendServiceLogConfigArgs'] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
146
156
  If logging is enabled, logs will be exported to Stackdriver.
147
157
  Structure is documented below.
@@ -203,6 +213,8 @@ class RegionBackendServiceArgs:
203
213
  pulumi.set(__self__, "connection_tracking_policy", connection_tracking_policy)
204
214
  if consistent_hash is not None:
205
215
  pulumi.set(__self__, "consistent_hash", consistent_hash)
216
+ if custom_metrics is not None:
217
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
206
218
  if description is not None:
207
219
  pulumi.set(__self__, "description", description)
208
220
  if enable_cdn is not None:
@@ -349,6 +361,19 @@ class RegionBackendServiceArgs:
349
361
  def consistent_hash(self, value: Optional[pulumi.Input['RegionBackendServiceConsistentHashArgs']]):
350
362
  pulumi.set(self, "consistent_hash", value)
351
363
 
364
+ @property
365
+ @pulumi.getter(name="customMetrics")
366
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]]:
367
+ """
368
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
369
+ Structure is documented below.
370
+ """
371
+ return pulumi.get(self, "custom_metrics")
372
+
373
+ @custom_metrics.setter
374
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]]):
375
+ pulumi.set(self, "custom_metrics", value)
376
+
352
377
  @property
353
378
  @pulumi.getter
354
379
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -406,7 +431,8 @@ class RegionBackendServiceArgs:
406
431
  @pulumi.getter
407
432
  def iap(self) -> Optional[pulumi.Input['RegionBackendServiceIapArgs']]:
408
433
  """
409
- Settings for enabling Cloud Identity Aware Proxy
434
+ Settings for enabling Cloud Identity Aware Proxy.
435
+ If OAuth client is not set, Google-managed OAuth client is used.
410
436
  Structure is documented below.
411
437
  """
412
438
  return pulumi.get(self, "iap")
@@ -482,6 +508,12 @@ class RegionBackendServiceArgs:
482
508
  instance either reported a valid weight or had
483
509
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
484
510
  equal-weight.
511
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
512
+ from Backend reported Custom Metrics. If set, the Backend Service
513
+ responses are expected to contain non-standard HTTP response header field
514
+ X-Endpoint-Load-Metrics. The reported metrics
515
+ to use for computing the weights are specified via the
516
+ backends[].customMetrics fields.
485
517
  locality_lb_policy is applicable to either:
486
518
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
487
519
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -494,7 +526,7 @@ class RegionBackendServiceArgs:
494
526
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
495
527
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
496
528
  field set to true.
497
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
529
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
498
530
  """
499
531
  return pulumi.get(self, "locality_lb_policy")
500
532
 
@@ -703,6 +735,7 @@ class _RegionBackendServiceState:
703
735
  connection_tracking_policy: Optional[pulumi.Input['RegionBackendServiceConnectionTrackingPolicyArgs']] = None,
704
736
  consistent_hash: Optional[pulumi.Input['RegionBackendServiceConsistentHashArgs']] = None,
705
737
  creation_timestamp: Optional[pulumi.Input[str]] = None,
738
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]] = None,
706
739
  description: Optional[pulumi.Input[str]] = None,
707
740
  enable_cdn: Optional[pulumi.Input[bool]] = None,
708
741
  failover_policy: Optional[pulumi.Input['RegionBackendServiceFailoverPolicyArgs']] = None,
@@ -756,6 +789,8 @@ class _RegionBackendServiceState:
756
789
  hashing.
757
790
  This field only applies when all of the following are true -
758
791
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
792
+ :param pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
793
+ Structure is documented below.
759
794
  :param pulumi.Input[str] description: An optional description of this resource.
760
795
  :param pulumi.Input[bool] enable_cdn: If true, enable Cloud CDN for this RegionBackendService.
761
796
  :param pulumi.Input['RegionBackendServiceFailoverPolicyArgs'] failover_policy: Policy for failovers.
@@ -768,7 +803,8 @@ class _RegionBackendServiceState:
768
803
  check can be specified.
769
804
  A health check must be specified unless the backend service uses an internet
770
805
  or serverless NEG as a backend.
771
- :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
806
+ :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
807
+ If OAuth client is not set, Google-managed OAuth client is used.
772
808
  Structure is documented below.
773
809
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
774
810
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -811,6 +847,12 @@ class _RegionBackendServiceState:
811
847
  instance either reported a valid weight or had
812
848
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
813
849
  equal-weight.
850
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
851
+ from Backend reported Custom Metrics. If set, the Backend Service
852
+ responses are expected to contain non-standard HTTP response header field
853
+ X-Endpoint-Load-Metrics. The reported metrics
854
+ to use for computing the weights are specified via the
855
+ backends[].customMetrics fields.
814
856
  locality_lb_policy is applicable to either:
815
857
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
816
858
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -823,7 +865,7 @@ class _RegionBackendServiceState:
823
865
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
824
866
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
825
867
  field set to true.
826
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
868
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
827
869
  :param pulumi.Input['RegionBackendServiceLogConfigArgs'] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
828
870
  If logging is enabled, logs will be exported to Stackdriver.
829
871
  Structure is documented below.
@@ -888,6 +930,8 @@ class _RegionBackendServiceState:
888
930
  pulumi.set(__self__, "consistent_hash", consistent_hash)
889
931
  if creation_timestamp is not None:
890
932
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
933
+ if custom_metrics is not None:
934
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
891
935
  if description is not None:
892
936
  pulumi.set(__self__, "description", description)
893
937
  if enable_cdn is not None:
@@ -1052,6 +1096,19 @@ class _RegionBackendServiceState:
1052
1096
  def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
1053
1097
  pulumi.set(self, "creation_timestamp", value)
1054
1098
 
1099
+ @property
1100
+ @pulumi.getter(name="customMetrics")
1101
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]]:
1102
+ """
1103
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
1104
+ Structure is documented below.
1105
+ """
1106
+ return pulumi.get(self, "custom_metrics")
1107
+
1108
+ @custom_metrics.setter
1109
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceCustomMetricArgs']]]]):
1110
+ pulumi.set(self, "custom_metrics", value)
1111
+
1055
1112
  @property
1056
1113
  @pulumi.getter
1057
1114
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -1134,7 +1191,8 @@ class _RegionBackendServiceState:
1134
1191
  @pulumi.getter
1135
1192
  def iap(self) -> Optional[pulumi.Input['RegionBackendServiceIapArgs']]:
1136
1193
  """
1137
- Settings for enabling Cloud Identity Aware Proxy
1194
+ Settings for enabling Cloud Identity Aware Proxy.
1195
+ If OAuth client is not set, Google-managed OAuth client is used.
1138
1196
  Structure is documented below.
1139
1197
  """
1140
1198
  return pulumi.get(self, "iap")
@@ -1210,6 +1268,12 @@ class _RegionBackendServiceState:
1210
1268
  instance either reported a valid weight or had
1211
1269
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
1212
1270
  equal-weight.
1271
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
1272
+ from Backend reported Custom Metrics. If set, the Backend Service
1273
+ responses are expected to contain non-standard HTTP response header field
1274
+ X-Endpoint-Load-Metrics. The reported metrics
1275
+ to use for computing the weights are specified via the
1276
+ backends[].customMetrics fields.
1213
1277
  locality_lb_policy is applicable to either:
1214
1278
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
1215
1279
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -1222,7 +1286,7 @@ class _RegionBackendServiceState:
1222
1286
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
1223
1287
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
1224
1288
  field set to true.
1225
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
1289
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
1226
1290
  """
1227
1291
  return pulumi.get(self, "locality_lb_policy")
1228
1292
 
@@ -1444,6 +1508,7 @@ class RegionBackendService(pulumi.CustomResource):
1444
1508
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
1445
1509
  connection_tracking_policy: Optional[pulumi.Input[Union['RegionBackendServiceConnectionTrackingPolicyArgs', 'RegionBackendServiceConnectionTrackingPolicyArgsDict']]] = None,
1446
1510
  consistent_hash: Optional[pulumi.Input[Union['RegionBackendServiceConsistentHashArgs', 'RegionBackendServiceConsistentHashArgsDict']]] = None,
1511
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionBackendServiceCustomMetricArgs', 'RegionBackendServiceCustomMetricArgsDict']]]]] = None,
1447
1512
  description: Optional[pulumi.Input[str]] = None,
1448
1513
  enable_cdn: Optional[pulumi.Input[bool]] = None,
1449
1514
  failover_policy: Optional[pulumi.Input[Union['RegionBackendServiceFailoverPolicyArgs', 'RegionBackendServiceFailoverPolicyArgsDict']]] = None,
@@ -1771,6 +1836,51 @@ class RegionBackendService(pulumi.CustomResource):
1771
1836
  protocol="HTTP",
1772
1837
  ip_address_selection_policy="IPV6_ONLY")
1773
1838
  ```
1839
+ ### Region Backend Service Ilb Custom Metrics
1840
+
1841
+ ```python
1842
+ import pulumi
1843
+ import pulumi_gcp as gcp
1844
+
1845
+ default = gcp.compute.Network("default", name="network")
1846
+ # Zonal NEG with GCE_VM_IP_PORT
1847
+ default_network_endpoint_group = gcp.compute.NetworkEndpointGroup("default",
1848
+ name="network-endpoint",
1849
+ network=default.id,
1850
+ default_port=90,
1851
+ zone="us-central1-a",
1852
+ network_endpoint_type="GCE_VM_IP_PORT")
1853
+ health_check = gcp.compute.HealthCheck("health_check",
1854
+ name="rbs-health-check",
1855
+ http_health_check={
1856
+ "port": 80,
1857
+ })
1858
+ default_region_backend_service = gcp.compute.RegionBackendService("default",
1859
+ region="us-central1",
1860
+ name="region-service",
1861
+ health_checks=health_check.id,
1862
+ load_balancing_scheme="INTERNAL_MANAGED",
1863
+ locality_lb_policy="WEIGHTED_ROUND_ROBIN",
1864
+ custom_metrics=[{
1865
+ "name": "orca.application_utilization",
1866
+ "dry_run": False,
1867
+ }],
1868
+ backends=[{
1869
+ "group": default_network_endpoint_group.id,
1870
+ "balancing_mode": "CUSTOM_METRICS",
1871
+ "custom_metrics": [
1872
+ {
1873
+ "name": "orca.cpu_utilization",
1874
+ "max_utilization": 0.9,
1875
+ "dry_run": True,
1876
+ },
1877
+ {
1878
+ "name": "orca.named_metrics.foo",
1879
+ "dry_run": False,
1880
+ },
1881
+ ],
1882
+ }])
1883
+ ```
1774
1884
 
1775
1885
  ## Import
1776
1886
 
@@ -1830,6 +1940,8 @@ class RegionBackendService(pulumi.CustomResource):
1830
1940
  destination service. This field specifies parameters that control consistent
1831
1941
  hashing.
1832
1942
  This field only applies when all of the following are true -
1943
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RegionBackendServiceCustomMetricArgs', 'RegionBackendServiceCustomMetricArgsDict']]]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
1944
+ Structure is documented below.
1833
1945
  :param pulumi.Input[str] description: An optional description of this resource.
1834
1946
  :param pulumi.Input[bool] enable_cdn: If true, enable Cloud CDN for this RegionBackendService.
1835
1947
  :param pulumi.Input[Union['RegionBackendServiceFailoverPolicyArgs', 'RegionBackendServiceFailoverPolicyArgsDict']] failover_policy: Policy for failovers.
@@ -1839,7 +1951,8 @@ class RegionBackendService(pulumi.CustomResource):
1839
1951
  check can be specified.
1840
1952
  A health check must be specified unless the backend service uses an internet
1841
1953
  or serverless NEG as a backend.
1842
- :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
1954
+ :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
1955
+ If OAuth client is not set, Google-managed OAuth client is used.
1843
1956
  Structure is documented below.
1844
1957
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
1845
1958
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -1882,6 +1995,12 @@ class RegionBackendService(pulumi.CustomResource):
1882
1995
  instance either reported a valid weight or had
1883
1996
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
1884
1997
  equal-weight.
1998
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
1999
+ from Backend reported Custom Metrics. If set, the Backend Service
2000
+ responses are expected to contain non-standard HTTP response header field
2001
+ X-Endpoint-Load-Metrics. The reported metrics
2002
+ to use for computing the weights are specified via the
2003
+ backends[].customMetrics fields.
1885
2004
  locality_lb_policy is applicable to either:
1886
2005
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
1887
2006
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -1894,7 +2013,7 @@ class RegionBackendService(pulumi.CustomResource):
1894
2013
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
1895
2014
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
1896
2015
  field set to true.
1897
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
2016
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
1898
2017
  :param pulumi.Input[Union['RegionBackendServiceLogConfigArgs', 'RegionBackendServiceLogConfigArgsDict']] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
1899
2018
  If logging is enabled, logs will be exported to Stackdriver.
1900
2019
  Structure is documented below.
@@ -2253,6 +2372,51 @@ class RegionBackendService(pulumi.CustomResource):
2253
2372
  protocol="HTTP",
2254
2373
  ip_address_selection_policy="IPV6_ONLY")
2255
2374
  ```
2375
+ ### Region Backend Service Ilb Custom Metrics
2376
+
2377
+ ```python
2378
+ import pulumi
2379
+ import pulumi_gcp as gcp
2380
+
2381
+ default = gcp.compute.Network("default", name="network")
2382
+ # Zonal NEG with GCE_VM_IP_PORT
2383
+ default_network_endpoint_group = gcp.compute.NetworkEndpointGroup("default",
2384
+ name="network-endpoint",
2385
+ network=default.id,
2386
+ default_port=90,
2387
+ zone="us-central1-a",
2388
+ network_endpoint_type="GCE_VM_IP_PORT")
2389
+ health_check = gcp.compute.HealthCheck("health_check",
2390
+ name="rbs-health-check",
2391
+ http_health_check={
2392
+ "port": 80,
2393
+ })
2394
+ default_region_backend_service = gcp.compute.RegionBackendService("default",
2395
+ region="us-central1",
2396
+ name="region-service",
2397
+ health_checks=health_check.id,
2398
+ load_balancing_scheme="INTERNAL_MANAGED",
2399
+ locality_lb_policy="WEIGHTED_ROUND_ROBIN",
2400
+ custom_metrics=[{
2401
+ "name": "orca.application_utilization",
2402
+ "dry_run": False,
2403
+ }],
2404
+ backends=[{
2405
+ "group": default_network_endpoint_group.id,
2406
+ "balancing_mode": "CUSTOM_METRICS",
2407
+ "custom_metrics": [
2408
+ {
2409
+ "name": "orca.cpu_utilization",
2410
+ "max_utilization": 0.9,
2411
+ "dry_run": True,
2412
+ },
2413
+ {
2414
+ "name": "orca.named_metrics.foo",
2415
+ "dry_run": False,
2416
+ },
2417
+ ],
2418
+ }])
2419
+ ```
2256
2420
 
2257
2421
  ## Import
2258
2422
 
@@ -2306,6 +2470,7 @@ class RegionBackendService(pulumi.CustomResource):
2306
2470
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
2307
2471
  connection_tracking_policy: Optional[pulumi.Input[Union['RegionBackendServiceConnectionTrackingPolicyArgs', 'RegionBackendServiceConnectionTrackingPolicyArgsDict']]] = None,
2308
2472
  consistent_hash: Optional[pulumi.Input[Union['RegionBackendServiceConsistentHashArgs', 'RegionBackendServiceConsistentHashArgsDict']]] = None,
2473
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionBackendServiceCustomMetricArgs', 'RegionBackendServiceCustomMetricArgsDict']]]]] = None,
2309
2474
  description: Optional[pulumi.Input[str]] = None,
2310
2475
  enable_cdn: Optional[pulumi.Input[bool]] = None,
2311
2476
  failover_policy: Optional[pulumi.Input[Union['RegionBackendServiceFailoverPolicyArgs', 'RegionBackendServiceFailoverPolicyArgsDict']]] = None,
@@ -2343,6 +2508,7 @@ class RegionBackendService(pulumi.CustomResource):
2343
2508
  __props__.__dict__["connection_draining_timeout_sec"] = connection_draining_timeout_sec
2344
2509
  __props__.__dict__["connection_tracking_policy"] = connection_tracking_policy
2345
2510
  __props__.__dict__["consistent_hash"] = consistent_hash
2511
+ __props__.__dict__["custom_metrics"] = custom_metrics
2346
2512
  __props__.__dict__["description"] = description
2347
2513
  __props__.__dict__["enable_cdn"] = enable_cdn
2348
2514
  __props__.__dict__["failover_policy"] = failover_policy
@@ -2386,6 +2552,7 @@ class RegionBackendService(pulumi.CustomResource):
2386
2552
  connection_tracking_policy: Optional[pulumi.Input[Union['RegionBackendServiceConnectionTrackingPolicyArgs', 'RegionBackendServiceConnectionTrackingPolicyArgsDict']]] = None,
2387
2553
  consistent_hash: Optional[pulumi.Input[Union['RegionBackendServiceConsistentHashArgs', 'RegionBackendServiceConsistentHashArgsDict']]] = None,
2388
2554
  creation_timestamp: Optional[pulumi.Input[str]] = None,
2555
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionBackendServiceCustomMetricArgs', 'RegionBackendServiceCustomMetricArgsDict']]]]] = None,
2389
2556
  description: Optional[pulumi.Input[str]] = None,
2390
2557
  enable_cdn: Optional[pulumi.Input[bool]] = None,
2391
2558
  failover_policy: Optional[pulumi.Input[Union['RegionBackendServiceFailoverPolicyArgs', 'RegionBackendServiceFailoverPolicyArgsDict']]] = None,
@@ -2444,6 +2611,8 @@ class RegionBackendService(pulumi.CustomResource):
2444
2611
  hashing.
2445
2612
  This field only applies when all of the following are true -
2446
2613
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
2614
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RegionBackendServiceCustomMetricArgs', 'RegionBackendServiceCustomMetricArgsDict']]]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
2615
+ Structure is documented below.
2447
2616
  :param pulumi.Input[str] description: An optional description of this resource.
2448
2617
  :param pulumi.Input[bool] enable_cdn: If true, enable Cloud CDN for this RegionBackendService.
2449
2618
  :param pulumi.Input[Union['RegionBackendServiceFailoverPolicyArgs', 'RegionBackendServiceFailoverPolicyArgsDict']] failover_policy: Policy for failovers.
@@ -2456,7 +2625,8 @@ class RegionBackendService(pulumi.CustomResource):
2456
2625
  check can be specified.
2457
2626
  A health check must be specified unless the backend service uses an internet
2458
2627
  or serverless NEG as a backend.
2459
- :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
2628
+ :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
2629
+ If OAuth client is not set, Google-managed OAuth client is used.
2460
2630
  Structure is documented below.
2461
2631
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
2462
2632
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -2499,6 +2669,12 @@ class RegionBackendService(pulumi.CustomResource):
2499
2669
  instance either reported a valid weight or had
2500
2670
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
2501
2671
  equal-weight.
2672
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
2673
+ from Backend reported Custom Metrics. If set, the Backend Service
2674
+ responses are expected to contain non-standard HTTP response header field
2675
+ X-Endpoint-Load-Metrics. The reported metrics
2676
+ to use for computing the weights are specified via the
2677
+ backends[].customMetrics fields.
2502
2678
  locality_lb_policy is applicable to either:
2503
2679
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
2504
2680
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -2511,7 +2687,7 @@ class RegionBackendService(pulumi.CustomResource):
2511
2687
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
2512
2688
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
2513
2689
  field set to true.
2514
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
2690
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
2515
2691
  :param pulumi.Input[Union['RegionBackendServiceLogConfigArgs', 'RegionBackendServiceLogConfigArgsDict']] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
2516
2692
  If logging is enabled, logs will be exported to Stackdriver.
2517
2693
  Structure is documented below.
@@ -2572,6 +2748,7 @@ class RegionBackendService(pulumi.CustomResource):
2572
2748
  __props__.__dict__["connection_tracking_policy"] = connection_tracking_policy
2573
2749
  __props__.__dict__["consistent_hash"] = consistent_hash
2574
2750
  __props__.__dict__["creation_timestamp"] = creation_timestamp
2751
+ __props__.__dict__["custom_metrics"] = custom_metrics
2575
2752
  __props__.__dict__["description"] = description
2576
2753
  __props__.__dict__["enable_cdn"] = enable_cdn
2577
2754
  __props__.__dict__["failover_policy"] = failover_policy
@@ -2681,6 +2858,15 @@ class RegionBackendService(pulumi.CustomResource):
2681
2858
  """
2682
2859
  return pulumi.get(self, "creation_timestamp")
2683
2860
 
2861
+ @property
2862
+ @pulumi.getter(name="customMetrics")
2863
+ def custom_metrics(self) -> pulumi.Output[Optional[Sequence['outputs.RegionBackendServiceCustomMetric']]]:
2864
+ """
2865
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
2866
+ Structure is documented below.
2867
+ """
2868
+ return pulumi.get(self, "custom_metrics")
2869
+
2684
2870
  @property
2685
2871
  @pulumi.getter
2686
2872
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -2739,7 +2925,8 @@ class RegionBackendService(pulumi.CustomResource):
2739
2925
  @pulumi.getter
2740
2926
  def iap(self) -> pulumi.Output['outputs.RegionBackendServiceIap']:
2741
2927
  """
2742
- Settings for enabling Cloud Identity Aware Proxy
2928
+ Settings for enabling Cloud Identity Aware Proxy.
2929
+ If OAuth client is not set, Google-managed OAuth client is used.
2743
2930
  Structure is documented below.
2744
2931
  """
2745
2932
  return pulumi.get(self, "iap")
@@ -2803,6 +2990,12 @@ class RegionBackendService(pulumi.CustomResource):
2803
2990
  instance either reported a valid weight or had
2804
2991
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
2805
2992
  equal-weight.
2993
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
2994
+ from Backend reported Custom Metrics. If set, the Backend Service
2995
+ responses are expected to contain non-standard HTTP response header field
2996
+ X-Endpoint-Load-Metrics. The reported metrics
2997
+ to use for computing the weights are specified via the
2998
+ backends[].customMetrics fields.
2806
2999
  locality_lb_policy is applicable to either:
2807
3000
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
2808
3001
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -2815,7 +3008,7 @@ class RegionBackendService(pulumi.CustomResource):
2815
3008
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
2816
3009
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
2817
3010
  field set to true.
2818
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
3011
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
2819
3012
  """
2820
3013
  return pulumi.get(self, "locality_lb_policy")
2821
3014