pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.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 (124) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/_inputs.py +93 -1
  3. pulumi_gcp/alloydb/outputs.py +128 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  6. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  7. pulumi_gcp/bigquery/_inputs.py +20 -0
  8. pulumi_gcp/bigquery/outputs.py +12 -0
  9. pulumi_gcp/bigquery/table.py +61 -0
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  14. pulumi_gcp/clouddeploy/outputs.py +15 -1
  15. pulumi_gcp/cloudfunctions/function.py +11 -11
  16. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  17. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  18. pulumi_gcp/cloudidentity/outputs.py +18 -38
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +600 -17
  21. pulumi_gcp/compute/backend_service.py +195 -7
  22. pulumi_gcp/compute/disk.py +108 -0
  23. pulumi_gcp/compute/firewall_policy.py +20 -0
  24. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_disk.py +23 -1
  27. pulumi_gcp/compute/get_region_disk.py +23 -1
  28. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  29. pulumi_gcp/compute/outputs.py +623 -23
  30. pulumi_gcp/compute/region_backend_service.py +193 -7
  31. pulumi_gcp/compute/region_disk.py +114 -0
  32. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  33. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  34. pulumi_gcp/compute/subnetwork.py +256 -1
  35. pulumi_gcp/compute/target_https_proxy.py +7 -7
  36. pulumi_gcp/config/__init__.pyi +2 -0
  37. pulumi_gcp/config/vars.py +4 -0
  38. pulumi_gcp/container/_inputs.py +6 -6
  39. pulumi_gcp/container/get_attached_versions.py +2 -2
  40. pulumi_gcp/container/outputs.py +8 -8
  41. pulumi_gcp/dataform/repository.py +49 -0
  42. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  43. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  44. pulumi_gcp/dataproc/metastore_service.py +58 -2
  45. pulumi_gcp/datastream/_inputs.py +273 -0
  46. pulumi_gcp/datastream/connection_profile.py +54 -2
  47. pulumi_gcp/datastream/outputs.py +224 -0
  48. pulumi_gcp/eventarc/__init__.py +2 -0
  49. pulumi_gcp/eventarc/_inputs.py +1798 -0
  50. pulumi_gcp/eventarc/channel.py +85 -93
  51. pulumi_gcp/eventarc/google_api_source.py +997 -0
  52. pulumi_gcp/eventarc/outputs.py +1378 -0
  53. pulumi_gcp/eventarc/pipeline.py +1596 -0
  54. pulumi_gcp/firebase/__init__.py +1 -0
  55. pulumi_gcp/firebase/_inputs.py +154 -0
  56. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  57. pulumi_gcp/firebase/data_connect_service.py +40 -2
  58. pulumi_gcp/firebase/hosting_version.py +2 -2
  59. pulumi_gcp/firebase/outputs.py +127 -0
  60. pulumi_gcp/iam/__init__.py +2 -0
  61. pulumi_gcp/iam/_inputs.py +51 -18
  62. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  63. pulumi_gcp/iam/oauth_client.py +979 -0
  64. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  65. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  66. pulumi_gcp/iam/outputs.py +34 -12
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  68. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  69. pulumi_gcp/kms/crypto_key_version.py +14 -7
  70. pulumi_gcp/kms/get_key_rings.py +39 -2
  71. pulumi_gcp/managedkafka/__init__.py +2 -0
  72. pulumi_gcp/managedkafka/_inputs.py +263 -0
  73. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  74. pulumi_gcp/managedkafka/connector.py +695 -0
  75. pulumi_gcp/managedkafka/outputs.py +248 -0
  76. pulumi_gcp/memorystore/instance.py +7 -7
  77. pulumi_gcp/monitoring/_inputs.py +15 -18
  78. pulumi_gcp/monitoring/alert_policy.py +46 -0
  79. pulumi_gcp/monitoring/outputs.py +10 -12
  80. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  81. pulumi_gcp/networksecurity/__init__.py +1 -0
  82. pulumi_gcp/networksecurity/_inputs.py +673 -18
  83. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  84. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  85. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  86. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  87. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  88. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  89. pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
  90. pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
  91. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
  92. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
  93. pulumi_gcp/networksecurity/outputs.py +495 -12
  94. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  95. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  96. pulumi_gcp/networkservices/gateway.py +242 -120
  97. pulumi_gcp/networkservices/grpc_route.py +12 -0
  98. pulumi_gcp/networkservices/http_route.py +16 -0
  99. pulumi_gcp/networkservices/mesh.py +16 -0
  100. pulumi_gcp/networkservices/service_binding.py +14 -0
  101. pulumi_gcp/networkservices/tcp_route.py +16 -0
  102. pulumi_gcp/networkservices/tls_route.py +12 -0
  103. pulumi_gcp/projects/__init__.py +2 -0
  104. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  105. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  106. pulumi_gcp/projects/outputs.py +96 -0
  107. pulumi_gcp/provider.py +20 -0
  108. pulumi_gcp/pulumi-plugin.json +1 -1
  109. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  110. pulumi_gcp/sql/outputs.py +8 -8
  111. pulumi_gcp/storage/_inputs.py +14 -6
  112. pulumi_gcp/storage/insights_report_config.py +121 -20
  113. pulumi_gcp/storage/outputs.py +7 -4
  114. pulumi_gcp/tpu/_inputs.py +21 -1
  115. pulumi_gcp/tpu/outputs.py +13 -1
  116. pulumi_gcp/tpu/v2_vm.py +2 -0
  117. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  118. pulumi_gcp/vmwareengine/outputs.py +8 -0
  119. pulumi_gcp/workflows/workflow.py +75 -7
  120. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  121. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  122. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
  123. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  124. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -32,6 +32,7 @@ __all__ = [
32
32
  'BackendBucketIamBindingCondition',
33
33
  'BackendBucketIamMemberCondition',
34
34
  'BackendServiceBackend',
35
+ 'BackendServiceBackendCustomMetric',
35
36
  'BackendServiceCdnPolicy',
36
37
  'BackendServiceCdnPolicyBypassCacheOnRequestHeader',
37
38
  'BackendServiceCdnPolicyCacheKeyPolicy',
@@ -41,6 +42,7 @@ __all__ = [
41
42
  'BackendServiceConsistentHash',
42
43
  'BackendServiceConsistentHashHttpCookie',
43
44
  'BackendServiceConsistentHashHttpCookieTtl',
45
+ 'BackendServiceCustomMetric',
44
46
  'BackendServiceIamBindingCondition',
45
47
  'BackendServiceIamMemberCondition',
46
48
  'BackendServiceIap',
@@ -275,6 +277,7 @@ __all__ = [
275
277
  'RegionAutoscalerAutoscalingPolicyScaleInControlMaxScaledInReplicas',
276
278
  'RegionAutoscalerAutoscalingPolicyScalingSchedule',
277
279
  'RegionBackendServiceBackend',
280
+ 'RegionBackendServiceBackendCustomMetric',
278
281
  'RegionBackendServiceCdnPolicy',
279
282
  'RegionBackendServiceCdnPolicyCacheKeyPolicy',
280
283
  'RegionBackendServiceCdnPolicyNegativeCachingPolicy',
@@ -284,6 +287,7 @@ __all__ = [
284
287
  'RegionBackendServiceConsistentHash',
285
288
  'RegionBackendServiceConsistentHashHttpCookie',
286
289
  'RegionBackendServiceConsistentHashHttpCookieTtl',
290
+ 'RegionBackendServiceCustomMetric',
287
291
  'RegionBackendServiceFailoverPolicy',
288
292
  'RegionBackendServiceIamBindingCondition',
289
293
  'RegionBackendServiceIamMemberCondition',
@@ -681,6 +685,7 @@ __all__ = [
681
685
  'GetBackendBucketCdnPolicyCacheKeyPolicyResult',
682
686
  'GetBackendBucketCdnPolicyNegativeCachingPolicyResult',
683
687
  'GetBackendServiceBackendResult',
688
+ 'GetBackendServiceBackendCustomMetricResult',
684
689
  'GetBackendServiceCdnPolicyResult',
685
690
  'GetBackendServiceCdnPolicyBypassCacheOnRequestHeaderResult',
686
691
  'GetBackendServiceCdnPolicyCacheKeyPolicyResult',
@@ -690,6 +695,7 @@ __all__ = [
690
695
  'GetBackendServiceConsistentHashResult',
691
696
  'GetBackendServiceConsistentHashHttpCookyResult',
692
697
  'GetBackendServiceConsistentHashHttpCookyTtlResult',
698
+ 'GetBackendServiceCustomMetricResult',
693
699
  'GetBackendServiceIapResult',
694
700
  'GetBackendServiceLocalityLbPolicyResult',
695
701
  'GetBackendServiceLocalityLbPolicyCustomPolicyResult',
@@ -2072,6 +2078,8 @@ class BackendServiceBackend(dict):
2072
2078
  suggest = "balancing_mode"
2073
2079
  elif key == "capacityScaler":
2074
2080
  suggest = "capacity_scaler"
2081
+ elif key == "customMetrics":
2082
+ suggest = "custom_metrics"
2075
2083
  elif key == "maxConnections":
2076
2084
  suggest = "max_connections"
2077
2085
  elif key == "maxConnectionsPerEndpoint":
@@ -2102,6 +2110,7 @@ class BackendServiceBackend(dict):
2102
2110
  group: str,
2103
2111
  balancing_mode: Optional[str] = None,
2104
2112
  capacity_scaler: Optional[float] = None,
2113
+ custom_metrics: Optional[Sequence['outputs.BackendServiceBackendCustomMetric']] = None,
2105
2114
  description: Optional[str] = None,
2106
2115
  max_connections: Optional[int] = None,
2107
2116
  max_connections_per_endpoint: Optional[int] = None,
@@ -2127,18 +2136,20 @@ class BackendServiceBackend(dict):
2127
2136
  partial URL.
2128
2137
  :param str balancing_mode: Specifies the balancing mode for this backend.
2129
2138
  For global HTTP(S) or TCP/SSL load balancing, the default is
2130
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
2131
- and CONNECTION (for TCP/SSL).
2139
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
2140
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
2132
2141
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
2133
2142
  for an explanation of load balancing modes.
2134
2143
  Default value is `UTILIZATION`.
2135
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
2144
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
2136
2145
  :param float capacity_scaler: A multiplier applied to the group's maximum servicing capacity
2137
2146
  (based on UTILIZATION, RATE or CONNECTION).
2138
2147
  Default value is 1, which means the group will serve up to 100%
2139
2148
  of its configured capacity (depending on balancingMode). A
2140
2149
  setting of 0 means the group is completely drained, offering
2141
2150
  0% of its available Capacity. Valid range is [0.0,1.0].
2151
+ :param Sequence['BackendServiceBackendCustomMetricArgs'] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
2152
+ Structure is documented below.
2142
2153
  :param str description: An optional description of this resource.
2143
2154
  Provide this property when you create the resource.
2144
2155
  :param int max_connections: The max number of simultaneous connections for the group. Can
@@ -2179,6 +2190,8 @@ class BackendServiceBackend(dict):
2179
2190
  pulumi.set(__self__, "balancing_mode", balancing_mode)
2180
2191
  if capacity_scaler is not None:
2181
2192
  pulumi.set(__self__, "capacity_scaler", capacity_scaler)
2193
+ if custom_metrics is not None:
2194
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
2182
2195
  if description is not None:
2183
2196
  pulumi.set(__self__, "description", description)
2184
2197
  if max_connections is not None:
@@ -2223,12 +2236,12 @@ class BackendServiceBackend(dict):
2223
2236
  """
2224
2237
  Specifies the balancing mode for this backend.
2225
2238
  For global HTTP(S) or TCP/SSL load balancing, the default is
2226
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
2227
- and CONNECTION (for TCP/SSL).
2239
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
2240
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
2228
2241
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
2229
2242
  for an explanation of load balancing modes.
2230
2243
  Default value is `UTILIZATION`.
2231
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
2244
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
2232
2245
  """
2233
2246
  return pulumi.get(self, "balancing_mode")
2234
2247
 
@@ -2245,6 +2258,15 @@ class BackendServiceBackend(dict):
2245
2258
  """
2246
2259
  return pulumi.get(self, "capacity_scaler")
2247
2260
 
2261
+ @property
2262
+ @pulumi.getter(name="customMetrics")
2263
+ def custom_metrics(self) -> Optional[Sequence['outputs.BackendServiceBackendCustomMetric']]:
2264
+ """
2265
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
2266
+ Structure is documented below.
2267
+ """
2268
+ return pulumi.get(self, "custom_metrics")
2269
+
2248
2270
  @property
2249
2271
  @pulumi.getter
2250
2272
  def description(self) -> Optional[str]:
@@ -2336,6 +2358,84 @@ class BackendServiceBackend(dict):
2336
2358
  return pulumi.get(self, "max_utilization")
2337
2359
 
2338
2360
 
2361
+ @pulumi.output_type
2362
+ class BackendServiceBackendCustomMetric(dict):
2363
+ @staticmethod
2364
+ def __key_warning(key: str):
2365
+ suggest = None
2366
+ if key == "dryRun":
2367
+ suggest = "dry_run"
2368
+ elif key == "maxUtilization":
2369
+ suggest = "max_utilization"
2370
+
2371
+ if suggest:
2372
+ pulumi.log.warn(f"Key '{key}' not found in BackendServiceBackendCustomMetric. Access the value via the '{suggest}' property getter instead.")
2373
+
2374
+ def __getitem__(self, key: str) -> Any:
2375
+ BackendServiceBackendCustomMetric.__key_warning(key)
2376
+ return super().__getitem__(key)
2377
+
2378
+ def get(self, key: str, default = None) -> Any:
2379
+ BackendServiceBackendCustomMetric.__key_warning(key)
2380
+ return super().get(key, default)
2381
+
2382
+ def __init__(__self__, *,
2383
+ dry_run: bool,
2384
+ name: str,
2385
+ max_utilization: Optional[float] = None):
2386
+ """
2387
+ :param bool dry_run: If true, the metric data is not used for load balancing.
2388
+ :param str name: Name of a custom utilization signal. The name must be 1-64 characters
2389
+ long and match the regular expression a-z? which
2390
+ means the first character must be a lowercase letter, and all following
2391
+ characters must be a dash, period, underscore, lowercase letter, or
2392
+ digit, except the last character, which cannot be a dash, period, or
2393
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
2394
+ field can only be used for a global or regional backend service with the
2395
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
2396
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
2397
+ :param float max_utilization: Optional parameter to define a target utilization for the Custom Metrics
2398
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
2399
+ """
2400
+ pulumi.set(__self__, "dry_run", dry_run)
2401
+ pulumi.set(__self__, "name", name)
2402
+ if max_utilization is not None:
2403
+ pulumi.set(__self__, "max_utilization", max_utilization)
2404
+
2405
+ @property
2406
+ @pulumi.getter(name="dryRun")
2407
+ def dry_run(self) -> bool:
2408
+ """
2409
+ If true, the metric data is not used for load balancing.
2410
+ """
2411
+ return pulumi.get(self, "dry_run")
2412
+
2413
+ @property
2414
+ @pulumi.getter
2415
+ def name(self) -> str:
2416
+ """
2417
+ Name of a custom utilization signal. The name must be 1-64 characters
2418
+ long and match the regular expression a-z? which
2419
+ means the first character must be a lowercase letter, and all following
2420
+ characters must be a dash, period, underscore, lowercase letter, or
2421
+ digit, except the last character, which cannot be a dash, period, or
2422
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
2423
+ field can only be used for a global or regional backend service with the
2424
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
2425
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
2426
+ """
2427
+ return pulumi.get(self, "name")
2428
+
2429
+ @property
2430
+ @pulumi.getter(name="maxUtilization")
2431
+ def max_utilization(self) -> Optional[float]:
2432
+ """
2433
+ Optional parameter to define a target utilization for the Custom Metrics
2434
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
2435
+ """
2436
+ return pulumi.get(self, "max_utilization")
2437
+
2438
+
2339
2439
  @pulumi.output_type
2340
2440
  class BackendServiceCdnPolicy(dict):
2341
2441
  @staticmethod
@@ -3075,6 +3175,68 @@ class BackendServiceConsistentHashHttpCookieTtl(dict):
3075
3175
  return pulumi.get(self, "nanos")
3076
3176
 
3077
3177
 
3178
+ @pulumi.output_type
3179
+ class BackendServiceCustomMetric(dict):
3180
+ @staticmethod
3181
+ def __key_warning(key: str):
3182
+ suggest = None
3183
+ if key == "dryRun":
3184
+ suggest = "dry_run"
3185
+
3186
+ if suggest:
3187
+ pulumi.log.warn(f"Key '{key}' not found in BackendServiceCustomMetric. Access the value via the '{suggest}' property getter instead.")
3188
+
3189
+ def __getitem__(self, key: str) -> Any:
3190
+ BackendServiceCustomMetric.__key_warning(key)
3191
+ return super().__getitem__(key)
3192
+
3193
+ def get(self, key: str, default = None) -> Any:
3194
+ BackendServiceCustomMetric.__key_warning(key)
3195
+ return super().get(key, default)
3196
+
3197
+ def __init__(__self__, *,
3198
+ dry_run: bool,
3199
+ name: str):
3200
+ """
3201
+ :param bool dry_run: If true, the metric data is not used for load balancing.
3202
+ :param str name: Name of a custom utilization signal. The name must be 1-64 characters
3203
+ long and match the regular expression a-z? which
3204
+ means the first character must be a lowercase letter, and all following
3205
+ characters must be a dash, period, underscore, lowercase letter, or
3206
+ digit, except the last character, which cannot be a dash, period, or
3207
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
3208
+ field can only be used for a global or regional backend service with the
3209
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
3210
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
3211
+ """
3212
+ pulumi.set(__self__, "dry_run", dry_run)
3213
+ pulumi.set(__self__, "name", name)
3214
+
3215
+ @property
3216
+ @pulumi.getter(name="dryRun")
3217
+ def dry_run(self) -> bool:
3218
+ """
3219
+ If true, the metric data is not used for load balancing.
3220
+ """
3221
+ return pulumi.get(self, "dry_run")
3222
+
3223
+ @property
3224
+ @pulumi.getter
3225
+ def name(self) -> str:
3226
+ """
3227
+ Name of a custom utilization signal. The name must be 1-64 characters
3228
+ long and match the regular expression a-z? which
3229
+ means the first character must be a lowercase letter, and all following
3230
+ characters must be a dash, period, underscore, lowercase letter, or
3231
+ digit, except the last character, which cannot be a dash, period, or
3232
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
3233
+ field can only be used for a global or regional backend service with the
3234
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
3235
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
3236
+ """
3237
+ return pulumi.get(self, "name")
3238
+
3239
+
3078
3240
  @pulumi.output_type
3079
3241
  class BackendServiceIamBindingCondition(dict):
3080
3242
  def __init__(__self__, *,
@@ -9283,6 +9445,8 @@ class InstanceFromMachineImageScheduling(dict):
9283
9445
  suggest = "on_instance_stop_action"
9284
9446
  elif key == "provisioningModel":
9285
9447
  suggest = "provisioning_model"
9448
+ elif key == "terminationTime":
9449
+ suggest = "termination_time"
9286
9450
 
9287
9451
  if suggest:
9288
9452
  pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageScheduling. Access the value via the '{suggest}' property getter instead.")
@@ -9309,7 +9473,8 @@ class InstanceFromMachineImageScheduling(dict):
9309
9473
  on_host_maintenance: Optional[str] = None,
9310
9474
  on_instance_stop_action: Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction'] = None,
9311
9475
  preemptible: Optional[bool] = None,
9312
- provisioning_model: Optional[str] = None):
9476
+ provisioning_model: Optional[str] = None,
9477
+ termination_time: Optional[str] = None):
9313
9478
  """
9314
9479
  :param bool automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
9315
9480
  :param int availability_domain: Specifies the availability domain, which this instance should be scheduled on.
@@ -9327,6 +9492,9 @@ class InstanceFromMachineImageScheduling(dict):
9327
9492
  :param 'InstanceFromMachineImageSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
9328
9493
  :param bool preemptible: Whether the instance is preemptible.
9329
9494
  :param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
9495
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated,
9496
+ in RFC3339 text format. If specified, the instance termination action
9497
+ will be performed at the termination time.
9330
9498
  """
9331
9499
  if automatic_restart is not None:
9332
9500
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -9356,6 +9524,8 @@ class InstanceFromMachineImageScheduling(dict):
9356
9524
  pulumi.set(__self__, "preemptible", preemptible)
9357
9525
  if provisioning_model is not None:
9358
9526
  pulumi.set(__self__, "provisioning_model", provisioning_model)
9527
+ if termination_time is not None:
9528
+ pulumi.set(__self__, "termination_time", termination_time)
9359
9529
 
9360
9530
  @property
9361
9531
  @pulumi.getter(name="automaticRestart")
@@ -9469,6 +9639,16 @@ class InstanceFromMachineImageScheduling(dict):
9469
9639
  """
9470
9640
  return pulumi.get(self, "provisioning_model")
9471
9641
 
9642
+ @property
9643
+ @pulumi.getter(name="terminationTime")
9644
+ def termination_time(self) -> Optional[str]:
9645
+ """
9646
+ Specifies the timestamp, when the instance will be terminated,
9647
+ in RFC3339 text format. If specified, the instance termination action
9648
+ will be performed at the termination time.
9649
+ """
9650
+ return pulumi.get(self, "termination_time")
9651
+
9472
9652
 
9473
9653
  @pulumi.output_type
9474
9654
  class InstanceFromMachineImageSchedulingGracefulShutdown(dict):
@@ -11090,6 +11270,8 @@ class InstanceFromTemplateScheduling(dict):
11090
11270
  suggest = "on_instance_stop_action"
11091
11271
  elif key == "provisioningModel":
11092
11272
  suggest = "provisioning_model"
11273
+ elif key == "terminationTime":
11274
+ suggest = "termination_time"
11093
11275
 
11094
11276
  if suggest:
11095
11277
  pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateScheduling. Access the value via the '{suggest}' property getter instead.")
@@ -11116,7 +11298,8 @@ class InstanceFromTemplateScheduling(dict):
11116
11298
  on_host_maintenance: Optional[str] = None,
11117
11299
  on_instance_stop_action: Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction'] = None,
11118
11300
  preemptible: Optional[bool] = None,
11119
- provisioning_model: Optional[str] = None):
11301
+ provisioning_model: Optional[str] = None,
11302
+ termination_time: Optional[str] = None):
11120
11303
  """
11121
11304
  :param bool automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
11122
11305
  :param int availability_domain: Specifies the availability domain, which this instance should be scheduled on.
@@ -11134,6 +11317,9 @@ class InstanceFromTemplateScheduling(dict):
11134
11317
  :param 'InstanceFromTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
11135
11318
  :param bool preemptible: Whether the instance is preemptible.
11136
11319
  :param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
11320
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated,
11321
+ in RFC3339 text format. If specified, the instance termination action
11322
+ will be performed at the termination time.
11137
11323
  """
11138
11324
  if automatic_restart is not None:
11139
11325
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -11163,6 +11349,8 @@ class InstanceFromTemplateScheduling(dict):
11163
11349
  pulumi.set(__self__, "preemptible", preemptible)
11164
11350
  if provisioning_model is not None:
11165
11351
  pulumi.set(__self__, "provisioning_model", provisioning_model)
11352
+ if termination_time is not None:
11353
+ pulumi.set(__self__, "termination_time", termination_time)
11166
11354
 
11167
11355
  @property
11168
11356
  @pulumi.getter(name="automaticRestart")
@@ -11276,6 +11464,16 @@ class InstanceFromTemplateScheduling(dict):
11276
11464
  """
11277
11465
  return pulumi.get(self, "provisioning_model")
11278
11466
 
11467
+ @property
11468
+ @pulumi.getter(name="terminationTime")
11469
+ def termination_time(self) -> Optional[str]:
11470
+ """
11471
+ Specifies the timestamp, when the instance will be terminated,
11472
+ in RFC3339 text format. If specified, the instance termination action
11473
+ will be performed at the termination time.
11474
+ """
11475
+ return pulumi.get(self, "termination_time")
11476
+
11279
11477
 
11280
11478
  @pulumi.output_type
11281
11479
  class InstanceFromTemplateSchedulingGracefulShutdown(dict):
@@ -13420,6 +13618,8 @@ class InstanceScheduling(dict):
13420
13618
  suggest = "on_instance_stop_action"
13421
13619
  elif key == "provisioningModel":
13422
13620
  suggest = "provisioning_model"
13621
+ elif key == "terminationTime":
13622
+ suggest = "termination_time"
13423
13623
 
13424
13624
  if suggest:
13425
13625
  pulumi.log.warn(f"Key '{key}' not found in InstanceScheduling. Access the value via the '{suggest}' property getter instead.")
@@ -13446,7 +13646,8 @@ class InstanceScheduling(dict):
13446
13646
  on_host_maintenance: Optional[str] = None,
13447
13647
  on_instance_stop_action: Optional['outputs.InstanceSchedulingOnInstanceStopAction'] = None,
13448
13648
  preemptible: Optional[bool] = None,
13449
- provisioning_model: Optional[str] = None):
13649
+ provisioning_model: Optional[str] = None,
13650
+ termination_time: Optional[str] = None):
13450
13651
  """
13451
13652
  :param bool automatic_restart: Specifies if the instance should be
13452
13653
  restarted if it was terminated by Compute Engine (not a user).
@@ -13478,6 +13679,7 @@ class InstanceScheduling(dict):
13478
13679
  `preemptible` should be `true` and `automatic_restart` should be
13479
13680
  `false`. For more info about
13480
13681
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
13682
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
13481
13683
  """
13482
13684
  if automatic_restart is not None:
13483
13685
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -13507,6 +13709,8 @@ class InstanceScheduling(dict):
13507
13709
  pulumi.set(__self__, "preemptible", preemptible)
13508
13710
  if provisioning_model is not None:
13509
13711
  pulumi.set(__self__, "provisioning_model", provisioning_model)
13712
+ if termination_time is not None:
13713
+ pulumi.set(__self__, "termination_time", termination_time)
13510
13714
 
13511
13715
  @property
13512
13716
  @pulumi.getter(name="automaticRestart")
@@ -13636,6 +13840,14 @@ class InstanceScheduling(dict):
13636
13840
  """
13637
13841
  return pulumi.get(self, "provisioning_model")
13638
13842
 
13843
+ @property
13844
+ @pulumi.getter(name="terminationTime")
13845
+ def termination_time(self) -> Optional[str]:
13846
+ """
13847
+ Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
13848
+ """
13849
+ return pulumi.get(self, "termination_time")
13850
+
13639
13851
 
13640
13852
  @pulumi.output_type
13641
13853
  class InstanceSchedulingGracefulShutdown(dict):
@@ -15472,6 +15684,8 @@ class InstanceTemplateScheduling(dict):
15472
15684
  suggest = "on_instance_stop_action"
15473
15685
  elif key == "provisioningModel":
15474
15686
  suggest = "provisioning_model"
15687
+ elif key == "terminationTime":
15688
+ suggest = "termination_time"
15475
15689
 
15476
15690
  if suggest:
15477
15691
  pulumi.log.warn(f"Key '{key}' not found in InstanceTemplateScheduling. Access the value via the '{suggest}' property getter instead.")
@@ -15498,7 +15712,8 @@ class InstanceTemplateScheduling(dict):
15498
15712
  on_host_maintenance: Optional[str] = None,
15499
15713
  on_instance_stop_action: Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction'] = None,
15500
15714
  preemptible: Optional[bool] = None,
15501
- provisioning_model: Optional[str] = None):
15715
+ provisioning_model: Optional[str] = None,
15716
+ termination_time: Optional[str] = None):
15502
15717
  """
15503
15718
  :param bool automatic_restart: Specifies whether the instance should be
15504
15719
  automatically restarted if it is terminated by Compute Engine (not
@@ -15529,6 +15744,7 @@ class InstanceTemplateScheduling(dict):
15529
15744
  `preemptible` should be `true` and `automatic_restart` should be
15530
15745
  `false`. For more info about
15531
15746
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
15747
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
15532
15748
  """
15533
15749
  if automatic_restart is not None:
15534
15750
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -15558,6 +15774,8 @@ class InstanceTemplateScheduling(dict):
15558
15774
  pulumi.set(__self__, "preemptible", preemptible)
15559
15775
  if provisioning_model is not None:
15560
15776
  pulumi.set(__self__, "provisioning_model", provisioning_model)
15777
+ if termination_time is not None:
15778
+ pulumi.set(__self__, "termination_time", termination_time)
15561
15779
 
15562
15780
  @property
15563
15781
  @pulumi.getter(name="automaticRestart")
@@ -15686,6 +15904,14 @@ class InstanceTemplateScheduling(dict):
15686
15904
  """
15687
15905
  return pulumi.get(self, "provisioning_model")
15688
15906
 
15907
+ @property
15908
+ @pulumi.getter(name="terminationTime")
15909
+ def termination_time(self) -> Optional[str]:
15910
+ """
15911
+ Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
15912
+ """
15913
+ return pulumi.get(self, "termination_time")
15914
+
15689
15915
 
15690
15916
  @pulumi.output_type
15691
15917
  class InstanceTemplateSchedulingGracefulShutdown(dict):
@@ -20704,6 +20930,8 @@ class RegionBackendServiceBackend(dict):
20704
20930
  suggest = "balancing_mode"
20705
20931
  elif key == "capacityScaler":
20706
20932
  suggest = "capacity_scaler"
20933
+ elif key == "customMetrics":
20934
+ suggest = "custom_metrics"
20707
20935
  elif key == "maxConnections":
20708
20936
  suggest = "max_connections"
20709
20937
  elif key == "maxConnectionsPerEndpoint":
@@ -20734,6 +20962,7 @@ class RegionBackendServiceBackend(dict):
20734
20962
  group: str,
20735
20963
  balancing_mode: Optional[str] = None,
20736
20964
  capacity_scaler: Optional[float] = None,
20965
+ custom_metrics: Optional[Sequence['outputs.RegionBackendServiceBackendCustomMetric']] = None,
20737
20966
  description: Optional[str] = None,
20738
20967
  failover: Optional[bool] = None,
20739
20968
  max_connections: Optional[int] = None,
@@ -20764,7 +20993,7 @@ class RegionBackendServiceBackend(dict):
20764
20993
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
20765
20994
  for an explanation of load balancing modes.
20766
20995
  Default value is `UTILIZATION`.
20767
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
20996
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
20768
20997
  :param float capacity_scaler: A multiplier applied to the group's maximum servicing capacity
20769
20998
  (based on UTILIZATION, RATE or CONNECTION).
20770
20999
  ~>**NOTE**: This field cannot be set for
@@ -20773,6 +21002,8 @@ class RegionBackendServiceBackend(dict):
20773
21002
  capacity_scaler for all backends must be non-zero.
20774
21003
  A setting of 0 means the group is completely drained, offering
20775
21004
  0% of its available Capacity. Valid range is [0.0,1.0].
21005
+ :param Sequence['RegionBackendServiceBackendCustomMetricArgs'] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
21006
+ Structure is documented below.
20776
21007
  :param str description: An optional description of this resource.
20777
21008
  Provide this property when you create the resource.
20778
21009
  :param bool failover: This field designates whether this is a failover backend. More
@@ -20822,6 +21053,8 @@ class RegionBackendServiceBackend(dict):
20822
21053
  pulumi.set(__self__, "balancing_mode", balancing_mode)
20823
21054
  if capacity_scaler is not None:
20824
21055
  pulumi.set(__self__, "capacity_scaler", capacity_scaler)
21056
+ if custom_metrics is not None:
21057
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
20825
21058
  if description is not None:
20826
21059
  pulumi.set(__self__, "description", description)
20827
21060
  if failover is not None:
@@ -20872,7 +21105,7 @@ class RegionBackendServiceBackend(dict):
20872
21105
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
20873
21106
  for an explanation of load balancing modes.
20874
21107
  Default value is `UTILIZATION`.
20875
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
21108
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
20876
21109
  """
20877
21110
  return pulumi.get(self, "balancing_mode")
20878
21111
 
@@ -20891,6 +21124,15 @@ class RegionBackendServiceBackend(dict):
20891
21124
  """
20892
21125
  return pulumi.get(self, "capacity_scaler")
20893
21126
 
21127
+ @property
21128
+ @pulumi.getter(name="customMetrics")
21129
+ def custom_metrics(self) -> Optional[Sequence['outputs.RegionBackendServiceBackendCustomMetric']]:
21130
+ """
21131
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
21132
+ Structure is documented below.
21133
+ """
21134
+ return pulumi.get(self, "custom_metrics")
21135
+
20894
21136
  @property
20895
21137
  @pulumi.getter
20896
21138
  def description(self) -> Optional[str]:
@@ -20998,6 +21240,84 @@ class RegionBackendServiceBackend(dict):
20998
21240
  return pulumi.get(self, "max_utilization")
20999
21241
 
21000
21242
 
21243
+ @pulumi.output_type
21244
+ class RegionBackendServiceBackendCustomMetric(dict):
21245
+ @staticmethod
21246
+ def __key_warning(key: str):
21247
+ suggest = None
21248
+ if key == "dryRun":
21249
+ suggest = "dry_run"
21250
+ elif key == "maxUtilization":
21251
+ suggest = "max_utilization"
21252
+
21253
+ if suggest:
21254
+ pulumi.log.warn(f"Key '{key}' not found in RegionBackendServiceBackendCustomMetric. Access the value via the '{suggest}' property getter instead.")
21255
+
21256
+ def __getitem__(self, key: str) -> Any:
21257
+ RegionBackendServiceBackendCustomMetric.__key_warning(key)
21258
+ return super().__getitem__(key)
21259
+
21260
+ def get(self, key: str, default = None) -> Any:
21261
+ RegionBackendServiceBackendCustomMetric.__key_warning(key)
21262
+ return super().get(key, default)
21263
+
21264
+ def __init__(__self__, *,
21265
+ dry_run: bool,
21266
+ name: str,
21267
+ max_utilization: Optional[float] = None):
21268
+ """
21269
+ :param bool dry_run: If true, the metric data is not used for load balancing.
21270
+ :param str name: Name of a custom utilization signal. The name must be 1-64 characters
21271
+ long and match the regular expression a-z? which
21272
+ means the first character must be a lowercase letter, and all following
21273
+ characters must be a dash, period, underscore, lowercase letter, or
21274
+ digit, except the last character, which cannot be a dash, period, or
21275
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
21276
+ field can only be used for a global or regional backend service with the
21277
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
21278
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
21279
+ :param float max_utilization: Optional parameter to define a target utilization for the Custom Metrics
21280
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
21281
+ """
21282
+ pulumi.set(__self__, "dry_run", dry_run)
21283
+ pulumi.set(__self__, "name", name)
21284
+ if max_utilization is not None:
21285
+ pulumi.set(__self__, "max_utilization", max_utilization)
21286
+
21287
+ @property
21288
+ @pulumi.getter(name="dryRun")
21289
+ def dry_run(self) -> bool:
21290
+ """
21291
+ If true, the metric data is not used for load balancing.
21292
+ """
21293
+ return pulumi.get(self, "dry_run")
21294
+
21295
+ @property
21296
+ @pulumi.getter
21297
+ def name(self) -> str:
21298
+ """
21299
+ Name of a custom utilization signal. The name must be 1-64 characters
21300
+ long and match the regular expression a-z? which
21301
+ means the first character must be a lowercase letter, and all following
21302
+ characters must be a dash, period, underscore, lowercase letter, or
21303
+ digit, except the last character, which cannot be a dash, period, or
21304
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
21305
+ field can only be used for a global or regional backend service with the
21306
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
21307
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
21308
+ """
21309
+ return pulumi.get(self, "name")
21310
+
21311
+ @property
21312
+ @pulumi.getter(name="maxUtilization")
21313
+ def max_utilization(self) -> Optional[float]:
21314
+ """
21315
+ Optional parameter to define a target utilization for the Custom Metrics
21316
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
21317
+ """
21318
+ return pulumi.get(self, "max_utilization")
21319
+
21320
+
21001
21321
  @pulumi.output_type
21002
21322
  class RegionBackendServiceCdnPolicy(dict):
21003
21323
  @staticmethod
@@ -21792,6 +22112,68 @@ class RegionBackendServiceConsistentHashHttpCookieTtl(dict):
21792
22112
  return pulumi.get(self, "nanos")
21793
22113
 
21794
22114
 
22115
+ @pulumi.output_type
22116
+ class RegionBackendServiceCustomMetric(dict):
22117
+ @staticmethod
22118
+ def __key_warning(key: str):
22119
+ suggest = None
22120
+ if key == "dryRun":
22121
+ suggest = "dry_run"
22122
+
22123
+ if suggest:
22124
+ pulumi.log.warn(f"Key '{key}' not found in RegionBackendServiceCustomMetric. Access the value via the '{suggest}' property getter instead.")
22125
+
22126
+ def __getitem__(self, key: str) -> Any:
22127
+ RegionBackendServiceCustomMetric.__key_warning(key)
22128
+ return super().__getitem__(key)
22129
+
22130
+ def get(self, key: str, default = None) -> Any:
22131
+ RegionBackendServiceCustomMetric.__key_warning(key)
22132
+ return super().get(key, default)
22133
+
22134
+ def __init__(__self__, *,
22135
+ dry_run: bool,
22136
+ name: str):
22137
+ """
22138
+ :param bool dry_run: If true, the metric data is not used for load balancing.
22139
+ :param str name: Name of a custom utilization signal. The name must be 1-64 characters
22140
+ long and match the regular expression a-z? which
22141
+ means the first character must be a lowercase letter, and all following
22142
+ characters must be a dash, period, underscore, lowercase letter, or
22143
+ digit, except the last character, which cannot be a dash, period, or
22144
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
22145
+ field can only be used for a global or regional backend service with the
22146
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
22147
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
22148
+ """
22149
+ pulumi.set(__self__, "dry_run", dry_run)
22150
+ pulumi.set(__self__, "name", name)
22151
+
22152
+ @property
22153
+ @pulumi.getter(name="dryRun")
22154
+ def dry_run(self) -> bool:
22155
+ """
22156
+ If true, the metric data is not used for load balancing.
22157
+ """
22158
+ return pulumi.get(self, "dry_run")
22159
+
22160
+ @property
22161
+ @pulumi.getter
22162
+ def name(self) -> str:
22163
+ """
22164
+ Name of a custom utilization signal. The name must be 1-64 characters
22165
+ long and match the regular expression a-z? which
22166
+ means the first character must be a lowercase letter, and all following
22167
+ characters must be a dash, period, underscore, lowercase letter, or
22168
+ digit, except the last character, which cannot be a dash, period, or
22169
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
22170
+ field can only be used for a global or regional backend service with the
22171
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
22172
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
22173
+ """
22174
+ return pulumi.get(self, "name")
22175
+
22176
+
21795
22177
  @pulumi.output_type
21796
22178
  class RegionBackendServiceFailoverPolicy(dict):
21797
22179
  @staticmethod
@@ -22050,7 +22432,11 @@ class RegionBackendServiceLogConfig(dict):
22050
22432
  @staticmethod
22051
22433
  def __key_warning(key: str):
22052
22434
  suggest = None
22053
- if key == "sampleRate":
22435
+ if key == "optionalFields":
22436
+ suggest = "optional_fields"
22437
+ elif key == "optionalMode":
22438
+ suggest = "optional_mode"
22439
+ elif key == "sampleRate":
22054
22440
  suggest = "sample_rate"
22055
22441
 
22056
22442
  if suggest:
@@ -22066,9 +22452,15 @@ class RegionBackendServiceLogConfig(dict):
22066
22452
 
22067
22453
  def __init__(__self__, *,
22068
22454
  enable: Optional[bool] = None,
22455
+ optional_fields: Optional[Sequence[str]] = None,
22456
+ optional_mode: Optional[str] = None,
22069
22457
  sample_rate: Optional[float] = None):
22070
22458
  """
22071
22459
  :param bool enable: Whether to enable logging for the load balancer traffic served by this backend service.
22460
+ :param Sequence[str] optional_fields: Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
22461
+ :param str optional_mode: Specifies the optional logging mode for the load balancer traffic.
22462
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
22463
+ Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
22072
22464
  :param float sample_rate: This field can only be specified if logging is enabled for this backend service. The value of
22073
22465
  the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
22074
22466
  where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
@@ -22076,6 +22468,10 @@ class RegionBackendServiceLogConfig(dict):
22076
22468
  """
22077
22469
  if enable is not None:
22078
22470
  pulumi.set(__self__, "enable", enable)
22471
+ if optional_fields is not None:
22472
+ pulumi.set(__self__, "optional_fields", optional_fields)
22473
+ if optional_mode is not None:
22474
+ pulumi.set(__self__, "optional_mode", optional_mode)
22079
22475
  if sample_rate is not None:
22080
22476
  pulumi.set(__self__, "sample_rate", sample_rate)
22081
22477
 
@@ -22087,6 +22483,24 @@ class RegionBackendServiceLogConfig(dict):
22087
22483
  """
22088
22484
  return pulumi.get(self, "enable")
22089
22485
 
22486
+ @property
22487
+ @pulumi.getter(name="optionalFields")
22488
+ def optional_fields(self) -> Optional[Sequence[str]]:
22489
+ """
22490
+ Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
22491
+ """
22492
+ return pulumi.get(self, "optional_fields")
22493
+
22494
+ @property
22495
+ @pulumi.getter(name="optionalMode")
22496
+ def optional_mode(self) -> Optional[str]:
22497
+ """
22498
+ Specifies the optional logging mode for the load balancer traffic.
22499
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
22500
+ Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
22501
+ """
22502
+ return pulumi.get(self, "optional_mode")
22503
+
22090
22504
  @property
22091
22505
  @pulumi.getter(name="sampleRate")
22092
22506
  def sample_rate(self) -> Optional[float]:
@@ -22658,6 +23072,8 @@ class RegionDiskDiskEncryptionKey(dict):
22658
23072
  suggest = "kms_key_name"
22659
23073
  elif key == "rawKey":
22660
23074
  suggest = "raw_key"
23075
+ elif key == "rsaEncryptedKey":
23076
+ suggest = "rsa_encrypted_key"
22661
23077
 
22662
23078
  if suggest:
22663
23079
  pulumi.log.warn(f"Key '{key}' not found in RegionDiskDiskEncryptionKey. Access the value via the '{suggest}' property getter instead.")
@@ -22673,12 +23089,17 @@ class RegionDiskDiskEncryptionKey(dict):
22673
23089
  def __init__(__self__, *,
22674
23090
  kms_key_name: Optional[str] = None,
22675
23091
  raw_key: Optional[str] = None,
23092
+ rsa_encrypted_key: Optional[str] = None,
22676
23093
  sha256: Optional[str] = None):
22677
23094
  """
22678
23095
  :param str kms_key_name: The name of the encryption key that is stored in Google Cloud KMS.
22679
23096
  :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
22680
23097
  RFC 4648 base64 to either encrypt or decrypt this resource.
22681
23098
  **Note**: This property is sensitive and will not be displayed in the plan.
23099
+ :param str rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
23100
+ customer-supplied encryption key to either encrypt or decrypt
23101
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
23102
+ **Note**: This property is sensitive and will not be displayed in the plan.
22682
23103
  :param str sha256: (Output)
22683
23104
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
22684
23105
  encryption key that protects this resource.
@@ -22687,6 +23108,8 @@ class RegionDiskDiskEncryptionKey(dict):
22687
23108
  pulumi.set(__self__, "kms_key_name", kms_key_name)
22688
23109
  if raw_key is not None:
22689
23110
  pulumi.set(__self__, "raw_key", raw_key)
23111
+ if rsa_encrypted_key is not None:
23112
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
22690
23113
  if sha256 is not None:
22691
23114
  pulumi.set(__self__, "sha256", sha256)
22692
23115
 
@@ -22708,6 +23131,17 @@ class RegionDiskDiskEncryptionKey(dict):
22708
23131
  """
22709
23132
  return pulumi.get(self, "raw_key")
22710
23133
 
23134
+ @property
23135
+ @pulumi.getter(name="rsaEncryptedKey")
23136
+ def rsa_encrypted_key(self) -> Optional[str]:
23137
+ """
23138
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
23139
+ customer-supplied encryption key to either encrypt or decrypt
23140
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
23141
+ **Note**: This property is sensitive and will not be displayed in the plan.
23142
+ """
23143
+ return pulumi.get(self, "rsa_encrypted_key")
23144
+
22711
23145
  @property
22712
23146
  @pulumi.getter
22713
23147
  def sha256(self) -> Optional[str]:
@@ -26047,6 +26481,8 @@ class RegionInstanceTemplateScheduling(dict):
26047
26481
  suggest = "on_instance_stop_action"
26048
26482
  elif key == "provisioningModel":
26049
26483
  suggest = "provisioning_model"
26484
+ elif key == "terminationTime":
26485
+ suggest = "termination_time"
26050
26486
 
26051
26487
  if suggest:
26052
26488
  pulumi.log.warn(f"Key '{key}' not found in RegionInstanceTemplateScheduling. Access the value via the '{suggest}' property getter instead.")
@@ -26073,7 +26509,8 @@ class RegionInstanceTemplateScheduling(dict):
26073
26509
  on_host_maintenance: Optional[str] = None,
26074
26510
  on_instance_stop_action: Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction'] = None,
26075
26511
  preemptible: Optional[bool] = None,
26076
- provisioning_model: Optional[str] = None):
26512
+ provisioning_model: Optional[str] = None,
26513
+ termination_time: Optional[str] = None):
26077
26514
  """
26078
26515
  :param bool automatic_restart: Specifies whether the instance should be
26079
26516
  automatically restarted if it is terminated by Compute Engine (not
@@ -26104,6 +26541,7 @@ class RegionInstanceTemplateScheduling(dict):
26104
26541
  `preemptible` should be `true` and `automatic_restart` should be
26105
26542
  `false`. For more info about
26106
26543
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
26544
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
26107
26545
  """
26108
26546
  if automatic_restart is not None:
26109
26547
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -26133,6 +26571,8 @@ class RegionInstanceTemplateScheduling(dict):
26133
26571
  pulumi.set(__self__, "preemptible", preemptible)
26134
26572
  if provisioning_model is not None:
26135
26573
  pulumi.set(__self__, "provisioning_model", provisioning_model)
26574
+ if termination_time is not None:
26575
+ pulumi.set(__self__, "termination_time", termination_time)
26136
26576
 
26137
26577
  @property
26138
26578
  @pulumi.getter(name="automaticRestart")
@@ -26261,6 +26701,14 @@ class RegionInstanceTemplateScheduling(dict):
26261
26701
  """
26262
26702
  return pulumi.get(self, "provisioning_model")
26263
26703
 
26704
+ @property
26705
+ @pulumi.getter(name="terminationTime")
26706
+ def termination_time(self) -> Optional[str]:
26707
+ """
26708
+ Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
26709
+ """
26710
+ return pulumi.get(self, "termination_time")
26711
+
26264
26712
 
26265
26713
  @pulumi.output_type
26266
26714
  class RegionInstanceTemplateSchedulingGracefulShutdown(dict):
@@ -50527,6 +50975,7 @@ class GetBackendServiceBackendResult(dict):
50527
50975
  def __init__(__self__, *,
50528
50976
  balancing_mode: str,
50529
50977
  capacity_scaler: float,
50978
+ custom_metrics: Sequence['outputs.GetBackendServiceBackendCustomMetricResult'],
50530
50979
  description: str,
50531
50980
  group: str,
50532
50981
  max_connections: int,
@@ -50540,11 +50989,11 @@ class GetBackendServiceBackendResult(dict):
50540
50989
  :param str balancing_mode: Specifies the balancing mode for this backend.
50541
50990
 
50542
50991
  For global HTTP(S) or TCP/SSL load balancing, the default is
50543
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
50544
- and CONNECTION (for TCP/SSL).
50992
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
50993
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
50545
50994
 
50546
50995
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
50547
- for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"]
50996
+ for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION", "CUSTOM_METRICS"]
50548
50997
  :param float capacity_scaler: A multiplier applied to the group's maximum servicing capacity
50549
50998
  (based on UTILIZATION, RATE or CONNECTION).
50550
50999
 
@@ -50552,6 +51001,7 @@ class GetBackendServiceBackendResult(dict):
50552
51001
  of its configured capacity (depending on balancingMode). A
50553
51002
  setting of 0 means the group is completely drained, offering
50554
51003
  0% of its available Capacity. Valid range is [0.0,1.0].
51004
+ :param Sequence['GetBackendServiceBackendCustomMetricArgs'] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
50555
51005
  :param str description: Textual description for the Backend Service.
50556
51006
  :param str group: The fully-qualified URL of an Instance Group or Network Endpoint
50557
51007
  Group resource. In case of instance group this defines the list
@@ -50609,6 +51059,7 @@ class GetBackendServiceBackendResult(dict):
50609
51059
  """
50610
51060
  pulumi.set(__self__, "balancing_mode", balancing_mode)
50611
51061
  pulumi.set(__self__, "capacity_scaler", capacity_scaler)
51062
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
50612
51063
  pulumi.set(__self__, "description", description)
50613
51064
  pulumi.set(__self__, "group", group)
50614
51065
  pulumi.set(__self__, "max_connections", max_connections)
@@ -50626,11 +51077,11 @@ class GetBackendServiceBackendResult(dict):
50626
51077
  Specifies the balancing mode for this backend.
50627
51078
 
50628
51079
  For global HTTP(S) or TCP/SSL load balancing, the default is
50629
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
50630
- and CONNECTION (for TCP/SSL).
51080
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
51081
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
50631
51082
 
50632
51083
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
50633
- for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"]
51084
+ for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION", "CUSTOM_METRICS"]
50634
51085
  """
50635
51086
  return pulumi.get(self, "balancing_mode")
50636
51087
 
@@ -50648,6 +51099,14 @@ class GetBackendServiceBackendResult(dict):
50648
51099
  """
50649
51100
  return pulumi.get(self, "capacity_scaler")
50650
51101
 
51102
+ @property
51103
+ @pulumi.getter(name="customMetrics")
51104
+ def custom_metrics(self) -> Sequence['outputs.GetBackendServiceBackendCustomMetricResult']:
51105
+ """
51106
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
51107
+ """
51108
+ return pulumi.get(self, "custom_metrics")
51109
+
50651
51110
  @property
50652
51111
  @pulumi.getter
50653
51112
  def description(self) -> str:
@@ -50766,6 +51225,54 @@ class GetBackendServiceBackendResult(dict):
50766
51225
  return pulumi.get(self, "max_utilization")
50767
51226
 
50768
51227
 
51228
+ @pulumi.output_type
51229
+ class GetBackendServiceBackendCustomMetricResult(dict):
51230
+ def __init__(__self__, *,
51231
+ dry_run: bool,
51232
+ max_utilization: float,
51233
+ name: str):
51234
+ """
51235
+ :param bool dry_run: If true, the metric data is collected and reported to Cloud
51236
+ Monitoring, but is not used for load balancing.
51237
+ :param float max_utilization: Optional parameter to define a target utilization for the Custom Metrics
51238
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
51239
+ :param str name: The name of the Backend Service.
51240
+
51241
+ - - -
51242
+ """
51243
+ pulumi.set(__self__, "dry_run", dry_run)
51244
+ pulumi.set(__self__, "max_utilization", max_utilization)
51245
+ pulumi.set(__self__, "name", name)
51246
+
51247
+ @property
51248
+ @pulumi.getter(name="dryRun")
51249
+ def dry_run(self) -> bool:
51250
+ """
51251
+ If true, the metric data is collected and reported to Cloud
51252
+ Monitoring, but is not used for load balancing.
51253
+ """
51254
+ return pulumi.get(self, "dry_run")
51255
+
51256
+ @property
51257
+ @pulumi.getter(name="maxUtilization")
51258
+ def max_utilization(self) -> float:
51259
+ """
51260
+ Optional parameter to define a target utilization for the Custom Metrics
51261
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
51262
+ """
51263
+ return pulumi.get(self, "max_utilization")
51264
+
51265
+ @property
51266
+ @pulumi.getter
51267
+ def name(self) -> str:
51268
+ """
51269
+ The name of the Backend Service.
51270
+
51271
+ - - -
51272
+ """
51273
+ return pulumi.get(self, "name")
51274
+
51275
+
50769
51276
  @pulumi.output_type
50770
51277
  class GetBackendServiceCdnPolicyResult(dict):
50771
51278
  def __init__(__self__, *,
@@ -51341,6 +51848,39 @@ class GetBackendServiceConsistentHashHttpCookyTtlResult(dict):
51341
51848
  return pulumi.get(self, "seconds")
51342
51849
 
51343
51850
 
51851
+ @pulumi.output_type
51852
+ class GetBackendServiceCustomMetricResult(dict):
51853
+ def __init__(__self__, *,
51854
+ dry_run: bool,
51855
+ name: str):
51856
+ """
51857
+ :param bool dry_run: If true, the metric data is not used for load balancing.
51858
+ :param str name: The name of the Backend Service.
51859
+
51860
+ - - -
51861
+ """
51862
+ pulumi.set(__self__, "dry_run", dry_run)
51863
+ pulumi.set(__self__, "name", name)
51864
+
51865
+ @property
51866
+ @pulumi.getter(name="dryRun")
51867
+ def dry_run(self) -> bool:
51868
+ """
51869
+ If true, the metric data is not used for load balancing.
51870
+ """
51871
+ return pulumi.get(self, "dry_run")
51872
+
51873
+ @property
51874
+ @pulumi.getter
51875
+ def name(self) -> str:
51876
+ """
51877
+ The name of the Backend Service.
51878
+
51879
+ - - -
51880
+ """
51881
+ return pulumi.get(self, "name")
51882
+
51883
+
51344
51884
  @pulumi.output_type
51345
51885
  class GetBackendServiceIapResult(dict):
51346
51886
  def __init__(__self__, *,
@@ -55518,7 +56058,8 @@ class GetInstanceSchedulingResult(dict):
55518
56058
  on_host_maintenance: str,
55519
56059
  on_instance_stop_actions: Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult'],
55520
56060
  preemptible: bool,
55521
- provisioning_model: str):
56061
+ provisioning_model: str,
56062
+ termination_time: str):
55522
56063
  """
55523
56064
  :param bool automatic_restart: Specifies if the instance should be
55524
56065
  restarted if it was terminated by Compute Engine (not a user).
@@ -55539,6 +56080,9 @@ class GetInstanceSchedulingResult(dict):
55539
56080
  :param Sequence['GetInstanceSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
55540
56081
  :param bool preemptible: Whether the instance is preemptible.
55541
56082
  :param str provisioning_model: Describe the type of preemptible VM.
56083
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated,
56084
+ in RFC3339 text format. If specified, the instance termination action
56085
+ will be performed at the termination time.
55542
56086
  """
55543
56087
  pulumi.set(__self__, "automatic_restart", automatic_restart)
55544
56088
  pulumi.set(__self__, "availability_domain", availability_domain)
@@ -55554,6 +56098,7 @@ class GetInstanceSchedulingResult(dict):
55554
56098
  pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
55555
56099
  pulumi.set(__self__, "preemptible", preemptible)
55556
56100
  pulumi.set(__self__, "provisioning_model", provisioning_model)
56101
+ pulumi.set(__self__, "termination_time", termination_time)
55557
56102
 
55558
56103
  @property
55559
56104
  @pulumi.getter(name="automaticRestart")
@@ -55670,6 +56215,16 @@ class GetInstanceSchedulingResult(dict):
55670
56215
  """
55671
56216
  return pulumi.get(self, "provisioning_model")
55672
56217
 
56218
+ @property
56219
+ @pulumi.getter(name="terminationTime")
56220
+ def termination_time(self) -> str:
56221
+ """
56222
+ Specifies the timestamp, when the instance will be terminated,
56223
+ in RFC3339 text format. If specified, the instance termination action
56224
+ will be performed at the termination time.
56225
+ """
56226
+ return pulumi.get(self, "termination_time")
56227
+
55673
56228
 
55674
56229
  @pulumi.output_type
55675
56230
  class GetInstanceSchedulingGracefulShutdownResult(dict):
@@ -56929,7 +57484,8 @@ class GetInstanceTemplateSchedulingResult(dict):
56929
57484
  on_host_maintenance: str,
56930
57485
  on_instance_stop_actions: Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult'],
56931
57486
  preemptible: bool,
56932
- provisioning_model: str):
57487
+ provisioning_model: str,
57488
+ termination_time: str):
56933
57489
  """
56934
57490
  :param bool automatic_restart: Specifies whether the instance should be
56935
57491
  automatically restarted if it is terminated by Compute Engine (not
@@ -56957,6 +57513,9 @@ class GetInstanceTemplateSchedulingResult(dict):
56957
57513
  false. Read more on this
56958
57514
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
56959
57515
  :param str provisioning_model: Describe the type of preemptible VM.
57516
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated,
57517
+ in RFC3339 text format. If specified, the instance termination action
57518
+ will be performed at the termination time.
56960
57519
  """
56961
57520
  pulumi.set(__self__, "automatic_restart", automatic_restart)
56962
57521
  pulumi.set(__self__, "availability_domain", availability_domain)
@@ -56972,6 +57531,7 @@ class GetInstanceTemplateSchedulingResult(dict):
56972
57531
  pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
56973
57532
  pulumi.set(__self__, "preemptible", preemptible)
56974
57533
  pulumi.set(__self__, "provisioning_model", provisioning_model)
57534
+ pulumi.set(__self__, "termination_time", termination_time)
56975
57535
 
56976
57536
  @property
56977
57537
  @pulumi.getter(name="automaticRestart")
@@ -57097,6 +57657,16 @@ class GetInstanceTemplateSchedulingResult(dict):
57097
57657
  """
57098
57658
  return pulumi.get(self, "provisioning_model")
57099
57659
 
57660
+ @property
57661
+ @pulumi.getter(name="terminationTime")
57662
+ def termination_time(self) -> str:
57663
+ """
57664
+ Specifies the timestamp, when the instance will be terminated,
57665
+ in RFC3339 text format. If specified, the instance termination action
57666
+ will be performed at the termination time.
57667
+ """
57668
+ return pulumi.get(self, "termination_time")
57669
+
57100
57670
 
57101
57671
  @pulumi.output_type
57102
57672
  class GetInstanceTemplateSchedulingGracefulShutdownResult(dict):
@@ -57611,16 +58181,21 @@ class GetRegionDiskDiskEncryptionKeyResult(dict):
57611
58181
  def __init__(__self__, *,
57612
58182
  kms_key_name: str,
57613
58183
  raw_key: str,
58184
+ rsa_encrypted_key: str,
57614
58185
  sha256: str):
57615
58186
  """
57616
58187
  :param str kms_key_name: The name of the encryption key that is stored in Google Cloud KMS.
57617
58188
  :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
57618
58189
  RFC 4648 base64 to either encrypt or decrypt this resource.
58190
+ :param str rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
58191
+ customer-supplied encryption key to either encrypt or decrypt
58192
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
57619
58193
  :param str sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
57620
58194
  encryption key that protects this resource.
57621
58195
  """
57622
58196
  pulumi.set(__self__, "kms_key_name", kms_key_name)
57623
58197
  pulumi.set(__self__, "raw_key", raw_key)
58198
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
57624
58199
  pulumi.set(__self__, "sha256", sha256)
57625
58200
 
57626
58201
  @property
@@ -57640,6 +58215,16 @@ class GetRegionDiskDiskEncryptionKeyResult(dict):
57640
58215
  """
57641
58216
  return pulumi.get(self, "raw_key")
57642
58217
 
58218
+ @property
58219
+ @pulumi.getter(name="rsaEncryptedKey")
58220
+ def rsa_encrypted_key(self) -> str:
58221
+ """
58222
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
58223
+ customer-supplied encryption key to either encrypt or decrypt
58224
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
58225
+ """
58226
+ return pulumi.get(self, "rsa_encrypted_key")
58227
+
57643
58228
  @property
57644
58229
  @pulumi.getter
57645
58230
  def sha256(self) -> str:
@@ -59354,7 +59939,8 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
59354
59939
  on_host_maintenance: str,
59355
59940
  on_instance_stop_actions: Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult'],
59356
59941
  preemptible: bool,
59357
- provisioning_model: str):
59942
+ provisioning_model: str,
59943
+ termination_time: str):
59358
59944
  """
59359
59945
  :param bool automatic_restart: Specifies whether the instance should be
59360
59946
  automatically restarted if it is terminated by Compute Engine (not
@@ -59382,6 +59968,9 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
59382
59968
  false. Read more on this
59383
59969
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
59384
59970
  :param str provisioning_model: Describe the type of preemptible VM.
59971
+ :param str termination_time: Specifies the timestamp, when the instance will be terminated,
59972
+ in RFC3339 text format. If specified, the instance termination action
59973
+ will be performed at the termination time.
59385
59974
  """
59386
59975
  pulumi.set(__self__, "automatic_restart", automatic_restart)
59387
59976
  pulumi.set(__self__, "availability_domain", availability_domain)
@@ -59397,6 +59986,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
59397
59986
  pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
59398
59987
  pulumi.set(__self__, "preemptible", preemptible)
59399
59988
  pulumi.set(__self__, "provisioning_model", provisioning_model)
59989
+ pulumi.set(__self__, "termination_time", termination_time)
59400
59990
 
59401
59991
  @property
59402
59992
  @pulumi.getter(name="automaticRestart")
@@ -59522,6 +60112,16 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
59522
60112
  """
59523
60113
  return pulumi.get(self, "provisioning_model")
59524
60114
 
60115
+ @property
60116
+ @pulumi.getter(name="terminationTime")
60117
+ def termination_time(self) -> str:
60118
+ """
60119
+ Specifies the timestamp, when the instance will be terminated,
60120
+ in RFC3339 text format. If specified, the instance termination action
60121
+ will be performed at the termination time.
60122
+ """
60123
+ return pulumi.get(self, "termination_time")
60124
+
59525
60125
 
59526
60126
  @pulumi.output_type
59527
60127
  class GetRegionInstanceTemplateSchedulingGracefulShutdownResult(dict):