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 BackendServiceArgs:
28
28
  compression_mode: Optional[pulumi.Input[str]] = None,
29
29
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
30
30
  consistent_hash: Optional[pulumi.Input['BackendServiceConsistentHashArgs']] = None,
31
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]] = None,
31
32
  custom_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
33
  custom_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
33
34
  description: Optional[pulumi.Input[str]] = None,
@@ -78,6 +79,8 @@ class BackendServiceArgs:
78
79
  INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
79
80
  set to MAGLEV or RING_HASH.
80
81
  Structure is documented below.
82
+ :param pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
83
+ Structure is documented below.
81
84
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_request_headers: Headers that the HTTP/S load balancer should add to proxied
82
85
  requests.
83
86
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_response_headers: Headers that the HTTP/S load balancer should add to proxied
@@ -91,7 +94,8 @@ class BackendServiceArgs:
91
94
  A health check must be specified unless the backend service uses an internet
92
95
  or serverless NEG as a backend.
93
96
  For internal load balancing, a URL to a HealthCheck resource must be specified instead.
94
- :param pulumi.Input['BackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
97
+ :param pulumi.Input['BackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
98
+ If OAuth client is not set, the Google-managed OAuth client is used.
95
99
  Structure is documented below.
96
100
  :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).
97
101
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -141,6 +145,12 @@ class BackendServiceArgs:
141
145
  instance either reported a valid weight or had
142
146
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
143
147
  equal-weight.
148
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
149
+ from Backend reported Custom Metrics. If set, the Backend Service
150
+ responses are expected to contain non-standard HTTP response header field
151
+ X-Endpoint-Load-Metrics. The reported metrics
152
+ to use for computing the weights are specified via the
153
+ backends[].customMetrics fields.
144
154
  locality_lb_policy is applicable to either:
145
155
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
146
156
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -153,7 +163,7 @@ class BackendServiceArgs:
153
163
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
154
164
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
155
165
  field set to true.
156
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
166
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
157
167
  :param pulumi.Input['BackendServiceLogConfigArgs'] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
158
168
  If logging is enabled, logs will be exported to Stackdriver.
159
169
  Structure is documented below.
@@ -214,6 +224,8 @@ class BackendServiceArgs:
214
224
  pulumi.set(__self__, "connection_draining_timeout_sec", connection_draining_timeout_sec)
215
225
  if consistent_hash is not None:
216
226
  pulumi.set(__self__, "consistent_hash", consistent_hash)
227
+ if custom_metrics is not None:
228
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
217
229
  if custom_request_headers is not None:
218
230
  pulumi.set(__self__, "custom_request_headers", custom_request_headers)
219
231
  if custom_response_headers is not None:
@@ -363,6 +375,19 @@ class BackendServiceArgs:
363
375
  def consistent_hash(self, value: Optional[pulumi.Input['BackendServiceConsistentHashArgs']]):
364
376
  pulumi.set(self, "consistent_hash", value)
365
377
 
378
+ @property
379
+ @pulumi.getter(name="customMetrics")
380
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]]:
381
+ """
382
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
383
+ Structure is documented below.
384
+ """
385
+ return pulumi.get(self, "custom_metrics")
386
+
387
+ @custom_metrics.setter
388
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]]):
389
+ pulumi.set(self, "custom_metrics", value)
390
+
366
391
  @property
367
392
  @pulumi.getter(name="customRequestHeaders")
368
393
  def custom_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -446,7 +471,8 @@ class BackendServiceArgs:
446
471
  @pulumi.getter
447
472
  def iap(self) -> Optional[pulumi.Input['BackendServiceIapArgs']]:
448
473
  """
449
- Settings for enabling Cloud Identity Aware Proxy
474
+ Settings for enabling Cloud Identity Aware Proxy.
475
+ If OAuth client is not set, the Google-managed OAuth client is used.
450
476
  Structure is documented below.
451
477
  """
452
478
  return pulumi.get(self, "iap")
@@ -540,6 +566,12 @@ class BackendServiceArgs:
540
566
  instance either reported a valid weight or had
541
567
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
542
568
  equal-weight.
569
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
570
+ from Backend reported Custom Metrics. If set, the Backend Service
571
+ responses are expected to contain non-standard HTTP response header field
572
+ X-Endpoint-Load-Metrics. The reported metrics
573
+ to use for computing the weights are specified via the
574
+ backends[].customMetrics fields.
543
575
  locality_lb_policy is applicable to either:
544
576
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
545
577
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -552,7 +584,7 @@ class BackendServiceArgs:
552
584
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
553
585
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
554
586
  field set to true.
555
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
587
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
556
588
  """
557
589
  return pulumi.get(self, "locality_lb_policy")
558
590
 
@@ -749,6 +781,7 @@ class _BackendServiceState:
749
781
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
750
782
  consistent_hash: Optional[pulumi.Input['BackendServiceConsistentHashArgs']] = None,
751
783
  creation_timestamp: Optional[pulumi.Input[str]] = None,
784
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]] = None,
752
785
  custom_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
753
786
  custom_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
754
787
  description: Optional[pulumi.Input[str]] = None,
@@ -803,6 +836,8 @@ class _BackendServiceState:
803
836
  set to MAGLEV or RING_HASH.
804
837
  Structure is documented below.
805
838
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
839
+ :param pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
840
+ Structure is documented below.
806
841
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_request_headers: Headers that the HTTP/S load balancer should add to proxied
807
842
  requests.
808
843
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_response_headers: Headers that the HTTP/S load balancer should add to proxied
@@ -819,7 +854,8 @@ class _BackendServiceState:
819
854
  A health check must be specified unless the backend service uses an internet
820
855
  or serverless NEG as a backend.
821
856
  For internal load balancing, a URL to a HealthCheck resource must be specified instead.
822
- :param pulumi.Input['BackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
857
+ :param pulumi.Input['BackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
858
+ If OAuth client is not set, the Google-managed OAuth client is used.
823
859
  Structure is documented below.
824
860
  :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).
825
861
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -869,6 +905,12 @@ class _BackendServiceState:
869
905
  instance either reported a valid weight or had
870
906
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
871
907
  equal-weight.
908
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
909
+ from Backend reported Custom Metrics. If set, the Backend Service
910
+ responses are expected to contain non-standard HTTP response header field
911
+ X-Endpoint-Load-Metrics. The reported metrics
912
+ to use for computing the weights are specified via the
913
+ backends[].customMetrics fields.
872
914
  locality_lb_policy is applicable to either:
873
915
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
874
916
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -881,7 +923,7 @@ class _BackendServiceState:
881
923
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
882
924
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
883
925
  field set to true.
884
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
926
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
885
927
  :param pulumi.Input['BackendServiceLogConfigArgs'] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
886
928
  If logging is enabled, logs will be exported to Stackdriver.
887
929
  Structure is documented below.
@@ -945,6 +987,8 @@ class _BackendServiceState:
945
987
  pulumi.set(__self__, "consistent_hash", consistent_hash)
946
988
  if creation_timestamp is not None:
947
989
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
990
+ if custom_metrics is not None:
991
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
948
992
  if custom_request_headers is not None:
949
993
  pulumi.set(__self__, "custom_request_headers", custom_request_headers)
950
994
  if custom_response_headers is not None:
@@ -1112,6 +1156,19 @@ class _BackendServiceState:
1112
1156
  def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
1113
1157
  pulumi.set(self, "creation_timestamp", value)
1114
1158
 
1159
+ @property
1160
+ @pulumi.getter(name="customMetrics")
1161
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]]:
1162
+ """
1163
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
1164
+ Structure is documented below.
1165
+ """
1166
+ return pulumi.get(self, "custom_metrics")
1167
+
1168
+ @custom_metrics.setter
1169
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceCustomMetricArgs']]]]):
1170
+ pulumi.set(self, "custom_metrics", value)
1171
+
1115
1172
  @property
1116
1173
  @pulumi.getter(name="customRequestHeaders")
1117
1174
  def custom_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -1220,7 +1277,8 @@ class _BackendServiceState:
1220
1277
  @pulumi.getter
1221
1278
  def iap(self) -> Optional[pulumi.Input['BackendServiceIapArgs']]:
1222
1279
  """
1223
- Settings for enabling Cloud Identity Aware Proxy
1280
+ Settings for enabling Cloud Identity Aware Proxy.
1281
+ If OAuth client is not set, the Google-managed OAuth client is used.
1224
1282
  Structure is documented below.
1225
1283
  """
1226
1284
  return pulumi.get(self, "iap")
@@ -1314,6 +1372,12 @@ class _BackendServiceState:
1314
1372
  instance either reported a valid weight or had
1315
1373
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
1316
1374
  equal-weight.
1375
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
1376
+ from Backend reported Custom Metrics. If set, the Backend Service
1377
+ responses are expected to contain non-standard HTTP response header field
1378
+ X-Endpoint-Load-Metrics. The reported metrics
1379
+ to use for computing the weights are specified via the
1380
+ backends[].customMetrics fields.
1317
1381
  locality_lb_policy is applicable to either:
1318
1382
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
1319
1383
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -1326,7 +1390,7 @@ class _BackendServiceState:
1326
1390
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
1327
1391
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
1328
1392
  field set to true.
1329
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
1393
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
1330
1394
  """
1331
1395
  return pulumi.get(self, "locality_lb_policy")
1332
1396
 
@@ -1536,6 +1600,7 @@ class BackendService(pulumi.CustomResource):
1536
1600
  compression_mode: Optional[pulumi.Input[str]] = None,
1537
1601
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
1538
1602
  consistent_hash: Optional[pulumi.Input[Union['BackendServiceConsistentHashArgs', 'BackendServiceConsistentHashArgsDict']]] = None,
1603
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendServiceCustomMetricArgs', 'BackendServiceCustomMetricArgsDict']]]]] = None,
1539
1604
  custom_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1540
1605
  custom_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1541
1606
  description: Optional[pulumi.Input[str]] = None,
@@ -1864,6 +1929,52 @@ class BackendService(pulumi.CustomResource):
1864
1929
  load_balancing_scheme="EXTERNAL_MANAGED",
1865
1930
  ip_address_selection_policy="IPV6_ONLY")
1866
1931
  ```
1932
+ ### Backend Service Custom Metrics
1933
+
1934
+ ```python
1935
+ import pulumi
1936
+ import pulumi_gcp as gcp
1937
+
1938
+ default = gcp.compute.Network("default", name="network")
1939
+ # Zonal NEG with GCE_VM_IP_PORT
1940
+ default_network_endpoint_group = gcp.compute.NetworkEndpointGroup("default",
1941
+ name="network-endpoint",
1942
+ network=default.id,
1943
+ default_port=90,
1944
+ zone="us-central1-a",
1945
+ network_endpoint_type="GCE_VM_IP_PORT")
1946
+ default_health_check = gcp.compute.HealthCheck("default",
1947
+ name="health-check",
1948
+ timeout_sec=1,
1949
+ check_interval_sec=1,
1950
+ tcp_health_check={
1951
+ "port": 80,
1952
+ })
1953
+ default_backend_service = gcp.compute.BackendService("default",
1954
+ name="backend-service",
1955
+ health_checks=default_health_check.id,
1956
+ load_balancing_scheme="EXTERNAL_MANAGED",
1957
+ locality_lb_policy="WEIGHTED_ROUND_ROBIN",
1958
+ custom_metrics=[{
1959
+ "name": "orca.application_utilization",
1960
+ "dry_run": False,
1961
+ }],
1962
+ backends=[{
1963
+ "group": default_network_endpoint_group.id,
1964
+ "balancing_mode": "CUSTOM_METRICS",
1965
+ "custom_metrics": [
1966
+ {
1967
+ "name": "orca.cpu_utilization",
1968
+ "max_utilization": 0.9,
1969
+ "dry_run": True,
1970
+ },
1971
+ {
1972
+ "name": "orca.named_metrics.foo",
1973
+ "dry_run": False,
1974
+ },
1975
+ ],
1976
+ }])
1977
+ ```
1867
1978
 
1868
1979
  ## Import
1869
1980
 
@@ -1916,6 +2027,8 @@ class BackendService(pulumi.CustomResource):
1916
2027
  INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
1917
2028
  set to MAGLEV or RING_HASH.
1918
2029
  Structure is documented below.
2030
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendServiceCustomMetricArgs', 'BackendServiceCustomMetricArgsDict']]]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
2031
+ Structure is documented below.
1919
2032
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_request_headers: Headers that the HTTP/S load balancer should add to proxied
1920
2033
  requests.
1921
2034
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_response_headers: Headers that the HTTP/S load balancer should add to proxied
@@ -1929,7 +2042,8 @@ class BackendService(pulumi.CustomResource):
1929
2042
  A health check must be specified unless the backend service uses an internet
1930
2043
  or serverless NEG as a backend.
1931
2044
  For internal load balancing, a URL to a HealthCheck resource must be specified instead.
1932
- :param pulumi.Input[Union['BackendServiceIapArgs', 'BackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
2045
+ :param pulumi.Input[Union['BackendServiceIapArgs', 'BackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
2046
+ If OAuth client is not set, the Google-managed OAuth client is used.
1933
2047
  Structure is documented below.
1934
2048
  :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).
1935
2049
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -1979,6 +2093,12 @@ class BackendService(pulumi.CustomResource):
1979
2093
  instance either reported a valid weight or had
1980
2094
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
1981
2095
  equal-weight.
2096
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
2097
+ from Backend reported Custom Metrics. If set, the Backend Service
2098
+ responses are expected to contain non-standard HTTP response header field
2099
+ X-Endpoint-Load-Metrics. The reported metrics
2100
+ to use for computing the weights are specified via the
2101
+ backends[].customMetrics fields.
1982
2102
  locality_lb_policy is applicable to either:
1983
2103
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
1984
2104
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -1991,7 +2111,7 @@ class BackendService(pulumi.CustomResource):
1991
2111
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
1992
2112
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
1993
2113
  field set to true.
1994
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
2114
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
1995
2115
  :param pulumi.Input[Union['BackendServiceLogConfigArgs', 'BackendServiceLogConfigArgsDict']] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
1996
2116
  If logging is enabled, logs will be exported to Stackdriver.
1997
2117
  Structure is documented below.
@@ -2348,6 +2468,52 @@ class BackendService(pulumi.CustomResource):
2348
2468
  load_balancing_scheme="EXTERNAL_MANAGED",
2349
2469
  ip_address_selection_policy="IPV6_ONLY")
2350
2470
  ```
2471
+ ### Backend Service Custom Metrics
2472
+
2473
+ ```python
2474
+ import pulumi
2475
+ import pulumi_gcp as gcp
2476
+
2477
+ default = gcp.compute.Network("default", name="network")
2478
+ # Zonal NEG with GCE_VM_IP_PORT
2479
+ default_network_endpoint_group = gcp.compute.NetworkEndpointGroup("default",
2480
+ name="network-endpoint",
2481
+ network=default.id,
2482
+ default_port=90,
2483
+ zone="us-central1-a",
2484
+ network_endpoint_type="GCE_VM_IP_PORT")
2485
+ default_health_check = gcp.compute.HealthCheck("default",
2486
+ name="health-check",
2487
+ timeout_sec=1,
2488
+ check_interval_sec=1,
2489
+ tcp_health_check={
2490
+ "port": 80,
2491
+ })
2492
+ default_backend_service = gcp.compute.BackendService("default",
2493
+ name="backend-service",
2494
+ health_checks=default_health_check.id,
2495
+ load_balancing_scheme="EXTERNAL_MANAGED",
2496
+ locality_lb_policy="WEIGHTED_ROUND_ROBIN",
2497
+ custom_metrics=[{
2498
+ "name": "orca.application_utilization",
2499
+ "dry_run": False,
2500
+ }],
2501
+ backends=[{
2502
+ "group": default_network_endpoint_group.id,
2503
+ "balancing_mode": "CUSTOM_METRICS",
2504
+ "custom_metrics": [
2505
+ {
2506
+ "name": "orca.cpu_utilization",
2507
+ "max_utilization": 0.9,
2508
+ "dry_run": True,
2509
+ },
2510
+ {
2511
+ "name": "orca.named_metrics.foo",
2512
+ "dry_run": False,
2513
+ },
2514
+ ],
2515
+ }])
2516
+ ```
2351
2517
 
2352
2518
  ## Import
2353
2519
 
@@ -2395,6 +2561,7 @@ class BackendService(pulumi.CustomResource):
2395
2561
  compression_mode: Optional[pulumi.Input[str]] = None,
2396
2562
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
2397
2563
  consistent_hash: Optional[pulumi.Input[Union['BackendServiceConsistentHashArgs', 'BackendServiceConsistentHashArgsDict']]] = None,
2564
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendServiceCustomMetricArgs', 'BackendServiceCustomMetricArgsDict']]]]] = None,
2398
2565
  custom_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2399
2566
  custom_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2400
2567
  description: Optional[pulumi.Input[str]] = None,
@@ -2434,6 +2601,7 @@ class BackendService(pulumi.CustomResource):
2434
2601
  __props__.__dict__["compression_mode"] = compression_mode
2435
2602
  __props__.__dict__["connection_draining_timeout_sec"] = connection_draining_timeout_sec
2436
2603
  __props__.__dict__["consistent_hash"] = consistent_hash
2604
+ __props__.__dict__["custom_metrics"] = custom_metrics
2437
2605
  __props__.__dict__["custom_request_headers"] = custom_request_headers
2438
2606
  __props__.__dict__["custom_response_headers"] = custom_response_headers
2439
2607
  __props__.__dict__["description"] = description
@@ -2479,6 +2647,7 @@ class BackendService(pulumi.CustomResource):
2479
2647
  connection_draining_timeout_sec: Optional[pulumi.Input[int]] = None,
2480
2648
  consistent_hash: Optional[pulumi.Input[Union['BackendServiceConsistentHashArgs', 'BackendServiceConsistentHashArgsDict']]] = None,
2481
2649
  creation_timestamp: Optional[pulumi.Input[str]] = None,
2650
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendServiceCustomMetricArgs', 'BackendServiceCustomMetricArgsDict']]]]] = None,
2482
2651
  custom_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2483
2652
  custom_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2484
2653
  description: Optional[pulumi.Input[str]] = None,
@@ -2538,6 +2707,8 @@ class BackendService(pulumi.CustomResource):
2538
2707
  set to MAGLEV or RING_HASH.
2539
2708
  Structure is documented below.
2540
2709
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
2710
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendServiceCustomMetricArgs', 'BackendServiceCustomMetricArgsDict']]]] custom_metrics: List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
2711
+ Structure is documented below.
2541
2712
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_request_headers: Headers that the HTTP/S load balancer should add to proxied
2542
2713
  requests.
2543
2714
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_response_headers: Headers that the HTTP/S load balancer should add to proxied
@@ -2554,7 +2725,8 @@ class BackendService(pulumi.CustomResource):
2554
2725
  A health check must be specified unless the backend service uses an internet
2555
2726
  or serverless NEG as a backend.
2556
2727
  For internal load balancing, a URL to a HealthCheck resource must be specified instead.
2557
- :param pulumi.Input[Union['BackendServiceIapArgs', 'BackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
2728
+ :param pulumi.Input[Union['BackendServiceIapArgs', 'BackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
2729
+ If OAuth client is not set, the Google-managed OAuth client is used.
2558
2730
  Structure is documented below.
2559
2731
  :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).
2560
2732
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -2604,6 +2776,12 @@ class BackendService(pulumi.CustomResource):
2604
2776
  instance either reported a valid weight or had
2605
2777
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
2606
2778
  equal-weight.
2779
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
2780
+ from Backend reported Custom Metrics. If set, the Backend Service
2781
+ responses are expected to contain non-standard HTTP response header field
2782
+ X-Endpoint-Load-Metrics. The reported metrics
2783
+ to use for computing the weights are specified via the
2784
+ backends[].customMetrics fields.
2607
2785
  locality_lb_policy is applicable to either:
2608
2786
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
2609
2787
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -2616,7 +2794,7 @@ class BackendService(pulumi.CustomResource):
2616
2794
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
2617
2795
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
2618
2796
  field set to true.
2619
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
2797
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
2620
2798
  :param pulumi.Input[Union['BackendServiceLogConfigArgs', 'BackendServiceLogConfigArgsDict']] log_config: This field denotes the logging options for the load balancer traffic served by this backend service.
2621
2799
  If logging is enabled, logs will be exported to Stackdriver.
2622
2800
  Structure is documented below.
@@ -2676,6 +2854,7 @@ class BackendService(pulumi.CustomResource):
2676
2854
  __props__.__dict__["connection_draining_timeout_sec"] = connection_draining_timeout_sec
2677
2855
  __props__.__dict__["consistent_hash"] = consistent_hash
2678
2856
  __props__.__dict__["creation_timestamp"] = creation_timestamp
2857
+ __props__.__dict__["custom_metrics"] = custom_metrics
2679
2858
  __props__.__dict__["custom_request_headers"] = custom_request_headers
2680
2859
  __props__.__dict__["custom_response_headers"] = custom_response_headers
2681
2860
  __props__.__dict__["description"] = description
@@ -2786,6 +2965,15 @@ class BackendService(pulumi.CustomResource):
2786
2965
  """
2787
2966
  return pulumi.get(self, "creation_timestamp")
2788
2967
 
2968
+ @property
2969
+ @pulumi.getter(name="customMetrics")
2970
+ def custom_metrics(self) -> pulumi.Output[Optional[Sequence['outputs.BackendServiceCustomMetric']]]:
2971
+ """
2972
+ List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
2973
+ Structure is documented below.
2974
+ """
2975
+ return pulumi.get(self, "custom_metrics")
2976
+
2789
2977
  @property
2790
2978
  @pulumi.getter(name="customRequestHeaders")
2791
2979
  def custom_request_headers(self) -> pulumi.Output[Optional[Sequence[str]]]:
@@ -2862,7 +3050,8 @@ class BackendService(pulumi.CustomResource):
2862
3050
  @pulumi.getter
2863
3051
  def iap(self) -> pulumi.Output['outputs.BackendServiceIap']:
2864
3052
  """
2865
- Settings for enabling Cloud Identity Aware Proxy
3053
+ Settings for enabling Cloud Identity Aware Proxy.
3054
+ If OAuth client is not set, the Google-managed OAuth client is used.
2866
3055
  Structure is documented below.
2867
3056
  """
2868
3057
  return pulumi.get(self, "iap")
@@ -2940,6 +3129,12 @@ class BackendService(pulumi.CustomResource):
2940
3129
  instance either reported a valid weight or had
2941
3130
  UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
2942
3131
  equal-weight.
3132
+ * `WEIGHTED_ROUND_ROBIN`: Per-endpoint weighted round-robin Load Balancing using weights computed
3133
+ from Backend reported Custom Metrics. If set, the Backend Service
3134
+ responses are expected to contain non-standard HTTP response header field
3135
+ X-Endpoint-Load-Metrics. The reported metrics
3136
+ to use for computing the weights are specified via the
3137
+ backends[].customMetrics fields.
2943
3138
  locality_lb_policy is applicable to either:
2944
3139
  * A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2,
2945
3140
  and loadBalancingScheme set to INTERNAL_MANAGED.
@@ -2952,7 +3147,7 @@ class BackendService(pulumi.CustomResource):
2952
3147
  Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
2953
3148
  by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
2954
3149
  field set to true.
2955
- Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`.
3150
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`, `WEIGHTED_MAGLEV`, `WEIGHTED_ROUND_ROBIN`.
2956
3151
  """
2957
3152
  return pulumi.get(self, "locality_lb_policy")
2958
3153
 
@@ -62,15 +62,20 @@ class CaExternalAccountKeyArgs:
62
62
  class _CaExternalAccountKeyState:
63
63
  def __init__(__self__, *,
64
64
  b64_mac_key: Optional[pulumi.Input[str]] = None,
65
+ b64url_mac_key: Optional[pulumi.Input[str]] = None,
65
66
  key_id: Optional[pulumi.Input[str]] = None,
66
67
  location: Optional[pulumi.Input[str]] = None,
67
68
  name: Optional[pulumi.Input[str]] = None,
68
69
  project: Optional[pulumi.Input[str]] = None):
69
70
  """
70
71
  Input properties used for looking up and filtering CaExternalAccountKey resources.
71
- :param pulumi.Input[str] b64_mac_key: Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
72
+ :param pulumi.Input[str] b64_mac_key: (Deprecated)
73
+ Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
72
74
  when the ExternalAccountKey is created.
73
75
  **Note**: This property is sensitive and will not be displayed in the plan.
76
+ :param pulumi.Input[str] b64url_mac_key: Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
77
+ when the ExternalAccountKey is created.'
78
+ **Note**: This property is sensitive and will not be displayed in the plan.
74
79
  :param pulumi.Input[str] key_id: It is generated by the PublicCertificateAuthorityService when the ExternalAccountKey is created.
75
80
  **Note**: This property is sensitive and will not be displayed in the plan.
76
81
  :param pulumi.Input[str] location: Location for the externalAccountKey. Currently only `global` is supported.
@@ -78,8 +83,13 @@ class _CaExternalAccountKeyState:
78
83
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
79
84
  If it is not provided, the provider project is used.
80
85
  """
86
+ if b64_mac_key is not None:
87
+ warnings.warn("""`b64_mac_key` is deprecated and will be removed in a future major release. Use `b64url_mac_key` instead.""", DeprecationWarning)
88
+ pulumi.log.warn("""b64_mac_key is deprecated: `b64_mac_key` is deprecated and will be removed in a future major release. Use `b64url_mac_key` instead.""")
81
89
  if b64_mac_key is not None:
82
90
  pulumi.set(__self__, "b64_mac_key", b64_mac_key)
91
+ if b64url_mac_key is not None:
92
+ pulumi.set(__self__, "b64url_mac_key", b64url_mac_key)
83
93
  if key_id is not None:
84
94
  pulumi.set(__self__, "key_id", key_id)
85
95
  if location is not None:
@@ -91,8 +101,10 @@ class _CaExternalAccountKeyState:
91
101
 
92
102
  @property
93
103
  @pulumi.getter(name="b64MacKey")
104
+ @_utilities.deprecated("""`b64_mac_key` is deprecated and will be removed in a future major release. Use `b64url_mac_key` instead.""")
94
105
  def b64_mac_key(self) -> Optional[pulumi.Input[str]]:
95
106
  """
107
+ (Deprecated)
96
108
  Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
97
109
  when the ExternalAccountKey is created.
98
110
  **Note**: This property is sensitive and will not be displayed in the plan.
@@ -103,6 +115,20 @@ class _CaExternalAccountKeyState:
103
115
  def b64_mac_key(self, value: Optional[pulumi.Input[str]]):
104
116
  pulumi.set(self, "b64_mac_key", value)
105
117
 
118
+ @property
119
+ @pulumi.getter(name="b64urlMacKey")
120
+ def b64url_mac_key(self) -> Optional[pulumi.Input[str]]:
121
+ """
122
+ Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
123
+ when the ExternalAccountKey is created.'
124
+ **Note**: This property is sensitive and will not be displayed in the plan.
125
+ """
126
+ return pulumi.get(self, "b64url_mac_key")
127
+
128
+ @b64url_mac_key.setter
129
+ def b64url_mac_key(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "b64url_mac_key", value)
131
+
106
132
  @property
107
133
  @pulumi.getter(name="keyId")
108
134
  def key_id(self) -> Optional[pulumi.Input[str]]:
@@ -267,9 +293,10 @@ class CaExternalAccountKey(pulumi.CustomResource):
267
293
  __props__.__dict__["location"] = location
268
294
  __props__.__dict__["project"] = project
269
295
  __props__.__dict__["b64_mac_key"] = None
296
+ __props__.__dict__["b64url_mac_key"] = None
270
297
  __props__.__dict__["key_id"] = None
271
298
  __props__.__dict__["name"] = None
272
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["b64MacKey", "keyId"])
299
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["b64MacKey", "b64urlMacKey", "keyId"])
273
300
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
274
301
  super(CaExternalAccountKey, __self__).__init__(
275
302
  'gcp:compute/caExternalAccountKey:CaExternalAccountKey',
@@ -282,6 +309,7 @@ class CaExternalAccountKey(pulumi.CustomResource):
282
309
  id: pulumi.Input[str],
283
310
  opts: Optional[pulumi.ResourceOptions] = None,
284
311
  b64_mac_key: Optional[pulumi.Input[str]] = None,
312
+ b64url_mac_key: Optional[pulumi.Input[str]] = None,
285
313
  key_id: Optional[pulumi.Input[str]] = None,
286
314
  location: Optional[pulumi.Input[str]] = None,
287
315
  name: Optional[pulumi.Input[str]] = None,
@@ -293,9 +321,13 @@ class CaExternalAccountKey(pulumi.CustomResource):
293
321
  :param str resource_name: The unique name of the resulting resource.
294
322
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
295
323
  :param pulumi.ResourceOptions opts: Options for the resource.
296
- :param pulumi.Input[str] b64_mac_key: Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
324
+ :param pulumi.Input[str] b64_mac_key: (Deprecated)
325
+ Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
297
326
  when the ExternalAccountKey is created.
298
327
  **Note**: This property is sensitive and will not be displayed in the plan.
328
+ :param pulumi.Input[str] b64url_mac_key: Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
329
+ when the ExternalAccountKey is created.'
330
+ **Note**: This property is sensitive and will not be displayed in the plan.
299
331
  :param pulumi.Input[str] key_id: It is generated by the PublicCertificateAuthorityService when the ExternalAccountKey is created.
300
332
  **Note**: This property is sensitive and will not be displayed in the plan.
301
333
  :param pulumi.Input[str] location: Location for the externalAccountKey. Currently only `global` is supported.
@@ -308,6 +340,7 @@ class CaExternalAccountKey(pulumi.CustomResource):
308
340
  __props__ = _CaExternalAccountKeyState.__new__(_CaExternalAccountKeyState)
309
341
 
310
342
  __props__.__dict__["b64_mac_key"] = b64_mac_key
343
+ __props__.__dict__["b64url_mac_key"] = b64url_mac_key
311
344
  __props__.__dict__["key_id"] = key_id
312
345
  __props__.__dict__["location"] = location
313
346
  __props__.__dict__["name"] = name
@@ -316,14 +349,26 @@ class CaExternalAccountKey(pulumi.CustomResource):
316
349
 
317
350
  @property
318
351
  @pulumi.getter(name="b64MacKey")
352
+ @_utilities.deprecated("""`b64_mac_key` is deprecated and will be removed in a future major release. Use `b64url_mac_key` instead.""")
319
353
  def b64_mac_key(self) -> pulumi.Output[str]:
320
354
  """
355
+ (Deprecated)
321
356
  Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
322
357
  when the ExternalAccountKey is created.
323
358
  **Note**: This property is sensitive and will not be displayed in the plan.
324
359
  """
325
360
  return pulumi.get(self, "b64_mac_key")
326
361
 
362
+ @property
363
+ @pulumi.getter(name="b64urlMacKey")
364
+ def b64url_mac_key(self) -> pulumi.Output[str]:
365
+ """
366
+ Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService
367
+ when the ExternalAccountKey is created.'
368
+ **Note**: This property is sensitive and will not be displayed in the plan.
369
+ """
370
+ return pulumi.get(self, "b64url_mac_key")
371
+
327
372
  @property
328
373
  @pulumi.getter(name="keyId")
329
374
  def key_id(self) -> pulumi.Output[str]: