pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.0a1741934088__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 (75) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/outputs.py +95 -0
  4. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  5. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  6. pulumi_gcp/certificatemanager/certificate.py +53 -7
  7. pulumi_gcp/certificatemanager/outputs.py +8 -2
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +600 -17
  10. pulumi_gcp/compute/backend_service.py +195 -7
  11. pulumi_gcp/compute/disk.py +108 -0
  12. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  13. pulumi_gcp/compute/get_backend_service.py +12 -1
  14. pulumi_gcp/compute/get_disk.py +23 -1
  15. pulumi_gcp/compute/get_region_disk.py +23 -1
  16. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  17. pulumi_gcp/compute/outputs.py +623 -23
  18. pulumi_gcp/compute/region_backend_service.py +193 -7
  19. pulumi_gcp/compute/region_disk.py +114 -0
  20. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  21. pulumi_gcp/compute/subnetwork.py +147 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datastream/_inputs.py +273 -0
  25. pulumi_gcp/datastream/connection_profile.py +54 -2
  26. pulumi_gcp/datastream/outputs.py +224 -0
  27. pulumi_gcp/eventarc/__init__.py +1 -0
  28. pulumi_gcp/eventarc/_inputs.py +40 -0
  29. pulumi_gcp/eventarc/channel.py +85 -93
  30. pulumi_gcp/eventarc/google_api_source.py +997 -0
  31. pulumi_gcp/eventarc/outputs.py +41 -0
  32. pulumi_gcp/firebase/data_connect_service.py +40 -2
  33. pulumi_gcp/iam/__init__.py +2 -0
  34. pulumi_gcp/iam/_inputs.py +51 -18
  35. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  36. pulumi_gcp/iam/oauth_client.py +979 -0
  37. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  38. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  39. pulumi_gcp/iam/outputs.py +34 -12
  40. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  41. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  42. pulumi_gcp/kms/crypto_key_version.py +14 -7
  43. pulumi_gcp/monitoring/_inputs.py +15 -18
  44. pulumi_gcp/monitoring/alert_policy.py +46 -0
  45. pulumi_gcp/monitoring/outputs.py +10 -12
  46. pulumi_gcp/networksecurity/__init__.py +1 -0
  47. pulumi_gcp/networksecurity/_inputs.py +30 -18
  48. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  49. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  50. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  51. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  52. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  53. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  54. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  55. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  56. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  57. pulumi_gcp/networksecurity/outputs.py +20 -12
  58. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  59. pulumi_gcp/networkservices/grpc_route.py +12 -0
  60. pulumi_gcp/networkservices/http_route.py +16 -0
  61. pulumi_gcp/networkservices/mesh.py +16 -0
  62. pulumi_gcp/networkservices/service_binding.py +14 -0
  63. pulumi_gcp/networkservices/tcp_route.py +16 -0
  64. pulumi_gcp/networkservices/tls_route.py +12 -0
  65. pulumi_gcp/pulumi-plugin.json +1 -1
  66. pulumi_gcp/tpu/_inputs.py +21 -1
  67. pulumi_gcp/tpu/outputs.py +13 -1
  68. pulumi_gcp/tpu/v2_vm.py +2 -0
  69. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  70. pulumi_gcp/vmwareengine/outputs.py +8 -0
  71. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  72. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/METADATA +1 -1
  73. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/RECORD +75 -70
  74. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/WHEEL +0 -0
  75. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/top_level.txt +0 -0
@@ -47,6 +47,8 @@ __all__ = [
47
47
  'BackendBucketIamMemberConditionArgsDict',
48
48
  'BackendServiceBackendArgs',
49
49
  'BackendServiceBackendArgsDict',
50
+ 'BackendServiceBackendCustomMetricArgs',
51
+ 'BackendServiceBackendCustomMetricArgsDict',
50
52
  'BackendServiceCdnPolicyArgs',
51
53
  'BackendServiceCdnPolicyArgsDict',
52
54
  'BackendServiceCdnPolicyBypassCacheOnRequestHeaderArgs',
@@ -65,6 +67,8 @@ __all__ = [
65
67
  'BackendServiceConsistentHashHttpCookieArgsDict',
66
68
  'BackendServiceConsistentHashHttpCookieTtlArgs',
67
69
  'BackendServiceConsistentHashHttpCookieTtlArgsDict',
70
+ 'BackendServiceCustomMetricArgs',
71
+ 'BackendServiceCustomMetricArgsDict',
68
72
  'BackendServiceIamBindingConditionArgs',
69
73
  'BackendServiceIamBindingConditionArgsDict',
70
74
  'BackendServiceIamMemberConditionArgs',
@@ -533,6 +537,8 @@ __all__ = [
533
537
  'RegionAutoscalerAutoscalingPolicyScalingScheduleArgsDict',
534
538
  'RegionBackendServiceBackendArgs',
535
539
  'RegionBackendServiceBackendArgsDict',
540
+ 'RegionBackendServiceBackendCustomMetricArgs',
541
+ 'RegionBackendServiceBackendCustomMetricArgsDict',
536
542
  'RegionBackendServiceCdnPolicyArgs',
537
543
  'RegionBackendServiceCdnPolicyArgsDict',
538
544
  'RegionBackendServiceCdnPolicyCacheKeyPolicyArgs',
@@ -551,6 +557,8 @@ __all__ = [
551
557
  'RegionBackendServiceConsistentHashHttpCookieArgsDict',
552
558
  'RegionBackendServiceConsistentHashHttpCookieTtlArgs',
553
559
  'RegionBackendServiceConsistentHashHttpCookieTtlArgsDict',
560
+ 'RegionBackendServiceCustomMetricArgs',
561
+ 'RegionBackendServiceCustomMetricArgsDict',
554
562
  'RegionBackendServiceFailoverPolicyArgs',
555
563
  'RegionBackendServiceFailoverPolicyArgsDict',
556
564
  'RegionBackendServiceIamBindingConditionArgs',
@@ -2910,12 +2918,12 @@ if not MYPY:
2910
2918
  """
2911
2919
  Specifies the balancing mode for this backend.
2912
2920
  For global HTTP(S) or TCP/SSL load balancing, the default is
2913
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
2914
- and CONNECTION (for TCP/SSL).
2921
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
2922
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
2915
2923
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
2916
2924
  for an explanation of load balancing modes.
2917
2925
  Default value is `UTILIZATION`.
2918
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
2926
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
2919
2927
  """
2920
2928
  capacity_scaler: NotRequired[pulumi.Input[float]]
2921
2929
  """
@@ -2926,6 +2934,11 @@ if not MYPY:
2926
2934
  setting of 0 means the group is completely drained, offering
2927
2935
  0% of its available Capacity. Valid range is [0.0,1.0].
2928
2936
  """
2937
+ custom_metrics: NotRequired[pulumi.Input[Sequence[pulumi.Input['BackendServiceBackendCustomMetricArgsDict']]]]
2938
+ """
2939
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
2940
+ Structure is documented below.
2941
+ """
2929
2942
  description: NotRequired[pulumi.Input[str]]
2930
2943
  """
2931
2944
  An optional description of this resource.
@@ -2993,6 +3006,7 @@ class BackendServiceBackendArgs:
2993
3006
  group: pulumi.Input[str],
2994
3007
  balancing_mode: Optional[pulumi.Input[str]] = None,
2995
3008
  capacity_scaler: Optional[pulumi.Input[float]] = None,
3009
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceBackendCustomMetricArgs']]]] = None,
2996
3010
  description: Optional[pulumi.Input[str]] = None,
2997
3011
  max_connections: Optional[pulumi.Input[int]] = None,
2998
3012
  max_connections_per_endpoint: Optional[pulumi.Input[int]] = None,
@@ -3018,18 +3032,20 @@ class BackendServiceBackendArgs:
3018
3032
  partial URL.
3019
3033
  :param pulumi.Input[str] balancing_mode: Specifies the balancing mode for this backend.
3020
3034
  For global HTTP(S) or TCP/SSL load balancing, the default is
3021
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
3022
- and CONNECTION (for TCP/SSL).
3035
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
3036
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
3023
3037
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
3024
3038
  for an explanation of load balancing modes.
3025
3039
  Default value is `UTILIZATION`.
3026
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
3040
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
3027
3041
  :param pulumi.Input[float] capacity_scaler: A multiplier applied to the group's maximum servicing capacity
3028
3042
  (based on UTILIZATION, RATE or CONNECTION).
3029
3043
  Default value is 1, which means the group will serve up to 100%
3030
3044
  of its configured capacity (depending on balancingMode). A
3031
3045
  setting of 0 means the group is completely drained, offering
3032
3046
  0% of its available Capacity. Valid range is [0.0,1.0].
3047
+ :param pulumi.Input[Sequence[pulumi.Input['BackendServiceBackendCustomMetricArgs']]] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
3048
+ Structure is documented below.
3033
3049
  :param pulumi.Input[str] description: An optional description of this resource.
3034
3050
  Provide this property when you create the resource.
3035
3051
  :param pulumi.Input[int] max_connections: The max number of simultaneous connections for the group. Can
@@ -3070,6 +3086,8 @@ class BackendServiceBackendArgs:
3070
3086
  pulumi.set(__self__, "balancing_mode", balancing_mode)
3071
3087
  if capacity_scaler is not None:
3072
3088
  pulumi.set(__self__, "capacity_scaler", capacity_scaler)
3089
+ if custom_metrics is not None:
3090
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
3073
3091
  if description is not None:
3074
3092
  pulumi.set(__self__, "description", description)
3075
3093
  if max_connections is not None:
@@ -3118,12 +3136,12 @@ class BackendServiceBackendArgs:
3118
3136
  """
3119
3137
  Specifies the balancing mode for this backend.
3120
3138
  For global HTTP(S) or TCP/SSL load balancing, the default is
3121
- UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
3122
- and CONNECTION (for TCP/SSL).
3139
+ UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
3140
+ CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
3123
3141
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
3124
3142
  for an explanation of load balancing modes.
3125
3143
  Default value is `UTILIZATION`.
3126
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
3144
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
3127
3145
  """
3128
3146
  return pulumi.get(self, "balancing_mode")
3129
3147
 
@@ -3148,6 +3166,19 @@ class BackendServiceBackendArgs:
3148
3166
  def capacity_scaler(self, value: Optional[pulumi.Input[float]]):
3149
3167
  pulumi.set(self, "capacity_scaler", value)
3150
3168
 
3169
+ @property
3170
+ @pulumi.getter(name="customMetrics")
3171
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceBackendCustomMetricArgs']]]]:
3172
+ """
3173
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
3174
+ Structure is documented below.
3175
+ """
3176
+ return pulumi.get(self, "custom_metrics")
3177
+
3178
+ @custom_metrics.setter
3179
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceBackendCustomMetricArgs']]]]):
3180
+ pulumi.set(self, "custom_metrics", value)
3181
+
3151
3182
  @property
3152
3183
  @pulumi.getter
3153
3184
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -3271,6 +3302,103 @@ class BackendServiceBackendArgs:
3271
3302
  pulumi.set(self, "max_utilization", value)
3272
3303
 
3273
3304
 
3305
+ if not MYPY:
3306
+ class BackendServiceBackendCustomMetricArgsDict(TypedDict):
3307
+ dry_run: pulumi.Input[bool]
3308
+ """
3309
+ If true, the metric data is not used for load balancing.
3310
+ """
3311
+ name: pulumi.Input[str]
3312
+ """
3313
+ Name of a custom utilization signal. The name must be 1-64 characters
3314
+ long and match the regular expression a-z? which
3315
+ means the first character must be a lowercase letter, and all following
3316
+ characters must be a dash, period, underscore, lowercase letter, or
3317
+ digit, except the last character, which cannot be a dash, period, or
3318
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
3319
+ field can only be used for a global or regional backend service with the
3320
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
3321
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
3322
+ """
3323
+ max_utilization: NotRequired[pulumi.Input[float]]
3324
+ """
3325
+ Optional parameter to define a target utilization for the Custom Metrics
3326
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
3327
+ """
3328
+ elif False:
3329
+ BackendServiceBackendCustomMetricArgsDict: TypeAlias = Mapping[str, Any]
3330
+
3331
+ @pulumi.input_type
3332
+ class BackendServiceBackendCustomMetricArgs:
3333
+ def __init__(__self__, *,
3334
+ dry_run: pulumi.Input[bool],
3335
+ name: pulumi.Input[str],
3336
+ max_utilization: Optional[pulumi.Input[float]] = None):
3337
+ """
3338
+ :param pulumi.Input[bool] dry_run: If true, the metric data is not used for load balancing.
3339
+ :param pulumi.Input[str] name: Name of a custom utilization signal. The name must be 1-64 characters
3340
+ long and match the regular expression a-z? which
3341
+ means the first character must be a lowercase letter, and all following
3342
+ characters must be a dash, period, underscore, lowercase letter, or
3343
+ digit, except the last character, which cannot be a dash, period, or
3344
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
3345
+ field can only be used for a global or regional backend service with the
3346
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
3347
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
3348
+ :param pulumi.Input[float] max_utilization: Optional parameter to define a target utilization for the Custom Metrics
3349
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
3350
+ """
3351
+ pulumi.set(__self__, "dry_run", dry_run)
3352
+ pulumi.set(__self__, "name", name)
3353
+ if max_utilization is not None:
3354
+ pulumi.set(__self__, "max_utilization", max_utilization)
3355
+
3356
+ @property
3357
+ @pulumi.getter(name="dryRun")
3358
+ def dry_run(self) -> pulumi.Input[bool]:
3359
+ """
3360
+ If true, the metric data is not used for load balancing.
3361
+ """
3362
+ return pulumi.get(self, "dry_run")
3363
+
3364
+ @dry_run.setter
3365
+ def dry_run(self, value: pulumi.Input[bool]):
3366
+ pulumi.set(self, "dry_run", value)
3367
+
3368
+ @property
3369
+ @pulumi.getter
3370
+ def name(self) -> pulumi.Input[str]:
3371
+ """
3372
+ Name of a custom utilization signal. The name must be 1-64 characters
3373
+ long and match the regular expression a-z? which
3374
+ means the first character must be a lowercase letter, and all following
3375
+ characters must be a dash, period, underscore, lowercase letter, or
3376
+ digit, except the last character, which cannot be a dash, period, or
3377
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
3378
+ field can only be used for a global or regional backend service with the
3379
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
3380
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
3381
+ """
3382
+ return pulumi.get(self, "name")
3383
+
3384
+ @name.setter
3385
+ def name(self, value: pulumi.Input[str]):
3386
+ pulumi.set(self, "name", value)
3387
+
3388
+ @property
3389
+ @pulumi.getter(name="maxUtilization")
3390
+ def max_utilization(self) -> Optional[pulumi.Input[float]]:
3391
+ """
3392
+ Optional parameter to define a target utilization for the Custom Metrics
3393
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
3394
+ """
3395
+ return pulumi.get(self, "max_utilization")
3396
+
3397
+ @max_utilization.setter
3398
+ def max_utilization(self, value: Optional[pulumi.Input[float]]):
3399
+ pulumi.set(self, "max_utilization", value)
3400
+
3401
+
3274
3402
  if not MYPY:
3275
3403
  class BackendServiceCdnPolicyArgsDict(TypedDict):
3276
3404
  bypass_cache_on_request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['BackendServiceCdnPolicyBypassCacheOnRequestHeaderArgsDict']]]]
@@ -4273,6 +4401,80 @@ class BackendServiceConsistentHashHttpCookieTtlArgs:
4273
4401
  pulumi.set(self, "nanos", value)
4274
4402
 
4275
4403
 
4404
+ if not MYPY:
4405
+ class BackendServiceCustomMetricArgsDict(TypedDict):
4406
+ dry_run: pulumi.Input[bool]
4407
+ """
4408
+ If true, the metric data is not used for load balancing.
4409
+ """
4410
+ name: pulumi.Input[str]
4411
+ """
4412
+ Name of a custom utilization signal. The name must be 1-64 characters
4413
+ long and match the regular expression a-z? which
4414
+ means the first character must be a lowercase letter, and all following
4415
+ characters must be a dash, period, underscore, lowercase letter, or
4416
+ digit, except the last character, which cannot be a dash, period, or
4417
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
4418
+ field can only be used for a global or regional backend service with the
4419
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
4420
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
4421
+ """
4422
+ elif False:
4423
+ BackendServiceCustomMetricArgsDict: TypeAlias = Mapping[str, Any]
4424
+
4425
+ @pulumi.input_type
4426
+ class BackendServiceCustomMetricArgs:
4427
+ def __init__(__self__, *,
4428
+ dry_run: pulumi.Input[bool],
4429
+ name: pulumi.Input[str]):
4430
+ """
4431
+ :param pulumi.Input[bool] dry_run: If true, the metric data is not used for load balancing.
4432
+ :param pulumi.Input[str] name: Name of a custom utilization signal. The name must be 1-64 characters
4433
+ long and match the regular expression a-z? which
4434
+ means the first character must be a lowercase letter, and all following
4435
+ characters must be a dash, period, underscore, lowercase letter, or
4436
+ digit, except the last character, which cannot be a dash, period, or
4437
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
4438
+ field can only be used for a global or regional backend service with the
4439
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
4440
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
4441
+ """
4442
+ pulumi.set(__self__, "dry_run", dry_run)
4443
+ pulumi.set(__self__, "name", name)
4444
+
4445
+ @property
4446
+ @pulumi.getter(name="dryRun")
4447
+ def dry_run(self) -> pulumi.Input[bool]:
4448
+ """
4449
+ If true, the metric data is not used for load balancing.
4450
+ """
4451
+ return pulumi.get(self, "dry_run")
4452
+
4453
+ @dry_run.setter
4454
+ def dry_run(self, value: pulumi.Input[bool]):
4455
+ pulumi.set(self, "dry_run", value)
4456
+
4457
+ @property
4458
+ @pulumi.getter
4459
+ def name(self) -> pulumi.Input[str]:
4460
+ """
4461
+ Name of a custom utilization signal. The name must be 1-64 characters
4462
+ long and match the regular expression a-z? which
4463
+ means the first character must be a lowercase letter, and all following
4464
+ characters must be a dash, period, underscore, lowercase letter, or
4465
+ digit, except the last character, which cannot be a dash, period, or
4466
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
4467
+ field can only be used for a global or regional backend service with the
4468
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
4469
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
4470
+ """
4471
+ return pulumi.get(self, "name")
4472
+
4473
+ @name.setter
4474
+ def name(self, value: pulumi.Input[str]):
4475
+ pulumi.set(self, "name", value)
4476
+
4477
+
4276
4478
  if not MYPY:
4277
4479
  class BackendServiceIamBindingConditionArgsDict(TypedDict):
4278
4480
  expression: pulumi.Input[str]
@@ -12700,6 +12902,12 @@ if not MYPY:
12700
12902
  """
12701
12903
  Whether the instance is spot. If this is set as SPOT.
12702
12904
  """
12905
+ termination_time: NotRequired[pulumi.Input[str]]
12906
+ """
12907
+ Specifies the timestamp, when the instance will be terminated,
12908
+ in RFC3339 text format. If specified, the instance termination action
12909
+ will be performed at the termination time.
12910
+ """
12703
12911
  elif False:
12704
12912
  InstanceFromMachineImageSchedulingArgsDict: TypeAlias = Mapping[str, Any]
12705
12913
 
@@ -12719,7 +12927,8 @@ class InstanceFromMachineImageSchedulingArgs:
12719
12927
  on_host_maintenance: Optional[pulumi.Input[str]] = None,
12720
12928
  on_instance_stop_action: Optional[pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs']] = None,
12721
12929
  preemptible: Optional[pulumi.Input[bool]] = None,
12722
- provisioning_model: Optional[pulumi.Input[str]] = None):
12930
+ provisioning_model: Optional[pulumi.Input[str]] = None,
12931
+ termination_time: Optional[pulumi.Input[str]] = None):
12723
12932
  """
12724
12933
  :param pulumi.Input[bool] automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
12725
12934
  :param pulumi.Input[int] availability_domain: Specifies the availability domain, which this instance should be scheduled on.
@@ -12737,6 +12946,9 @@ class InstanceFromMachineImageSchedulingArgs:
12737
12946
  :param pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
12738
12947
  :param pulumi.Input[bool] preemptible: Whether the instance is preemptible.
12739
12948
  :param pulumi.Input[str] provisioning_model: Whether the instance is spot. If this is set as SPOT.
12949
+ :param pulumi.Input[str] termination_time: Specifies the timestamp, when the instance will be terminated,
12950
+ in RFC3339 text format. If specified, the instance termination action
12951
+ will be performed at the termination time.
12740
12952
  """
12741
12953
  if automatic_restart is not None:
12742
12954
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -12766,6 +12978,8 @@ class InstanceFromMachineImageSchedulingArgs:
12766
12978
  pulumi.set(__self__, "preemptible", preemptible)
12767
12979
  if provisioning_model is not None:
12768
12980
  pulumi.set(__self__, "provisioning_model", provisioning_model)
12981
+ if termination_time is not None:
12982
+ pulumi.set(__self__, "termination_time", termination_time)
12769
12983
 
12770
12984
  @property
12771
12985
  @pulumi.getter(name="automaticRestart")
@@ -12935,6 +13149,20 @@ class InstanceFromMachineImageSchedulingArgs:
12935
13149
  def provisioning_model(self, value: Optional[pulumi.Input[str]]):
12936
13150
  pulumi.set(self, "provisioning_model", value)
12937
13151
 
13152
+ @property
13153
+ @pulumi.getter(name="terminationTime")
13154
+ def termination_time(self) -> Optional[pulumi.Input[str]]:
13155
+ """
13156
+ Specifies the timestamp, when the instance will be terminated,
13157
+ in RFC3339 text format. If specified, the instance termination action
13158
+ will be performed at the termination time.
13159
+ """
13160
+ return pulumi.get(self, "termination_time")
13161
+
13162
+ @termination_time.setter
13163
+ def termination_time(self, value: Optional[pulumi.Input[str]]):
13164
+ pulumi.set(self, "termination_time", value)
13165
+
12938
13166
 
12939
13167
  if not MYPY:
12940
13168
  class InstanceFromMachineImageSchedulingGracefulShutdownArgsDict(TypedDict):
@@ -15066,6 +15294,12 @@ if not MYPY:
15066
15294
  """
15067
15295
  Whether the instance is spot. If this is set as SPOT.
15068
15296
  """
15297
+ termination_time: NotRequired[pulumi.Input[str]]
15298
+ """
15299
+ Specifies the timestamp, when the instance will be terminated,
15300
+ in RFC3339 text format. If specified, the instance termination action
15301
+ will be performed at the termination time.
15302
+ """
15069
15303
  elif False:
15070
15304
  InstanceFromTemplateSchedulingArgsDict: TypeAlias = Mapping[str, Any]
15071
15305
 
@@ -15085,7 +15319,8 @@ class InstanceFromTemplateSchedulingArgs:
15085
15319
  on_host_maintenance: Optional[pulumi.Input[str]] = None,
15086
15320
  on_instance_stop_action: Optional[pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs']] = None,
15087
15321
  preemptible: Optional[pulumi.Input[bool]] = None,
15088
- provisioning_model: Optional[pulumi.Input[str]] = None):
15322
+ provisioning_model: Optional[pulumi.Input[str]] = None,
15323
+ termination_time: Optional[pulumi.Input[str]] = None):
15089
15324
  """
15090
15325
  :param pulumi.Input[bool] automatic_restart: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
15091
15326
  :param pulumi.Input[int] availability_domain: Specifies the availability domain, which this instance should be scheduled on.
@@ -15103,6 +15338,9 @@ class InstanceFromTemplateSchedulingArgs:
15103
15338
  :param pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
15104
15339
  :param pulumi.Input[bool] preemptible: Whether the instance is preemptible.
15105
15340
  :param pulumi.Input[str] provisioning_model: Whether the instance is spot. If this is set as SPOT.
15341
+ :param pulumi.Input[str] termination_time: Specifies the timestamp, when the instance will be terminated,
15342
+ in RFC3339 text format. If specified, the instance termination action
15343
+ will be performed at the termination time.
15106
15344
  """
15107
15345
  if automatic_restart is not None:
15108
15346
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -15132,6 +15370,8 @@ class InstanceFromTemplateSchedulingArgs:
15132
15370
  pulumi.set(__self__, "preemptible", preemptible)
15133
15371
  if provisioning_model is not None:
15134
15372
  pulumi.set(__self__, "provisioning_model", provisioning_model)
15373
+ if termination_time is not None:
15374
+ pulumi.set(__self__, "termination_time", termination_time)
15135
15375
 
15136
15376
  @property
15137
15377
  @pulumi.getter(name="automaticRestart")
@@ -15301,6 +15541,20 @@ class InstanceFromTemplateSchedulingArgs:
15301
15541
  def provisioning_model(self, value: Optional[pulumi.Input[str]]):
15302
15542
  pulumi.set(self, "provisioning_model", value)
15303
15543
 
15544
+ @property
15545
+ @pulumi.getter(name="terminationTime")
15546
+ def termination_time(self) -> Optional[pulumi.Input[str]]:
15547
+ """
15548
+ Specifies the timestamp, when the instance will be terminated,
15549
+ in RFC3339 text format. If specified, the instance termination action
15550
+ will be performed at the termination time.
15551
+ """
15552
+ return pulumi.get(self, "termination_time")
15553
+
15554
+ @termination_time.setter
15555
+ def termination_time(self, value: Optional[pulumi.Input[str]]):
15556
+ pulumi.set(self, "termination_time", value)
15557
+
15304
15558
 
15305
15559
  if not MYPY:
15306
15560
  class InstanceFromTemplateSchedulingGracefulShutdownArgsDict(TypedDict):
@@ -18073,6 +18327,10 @@ if not MYPY:
18073
18327
  `false`. For more info about
18074
18328
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
18075
18329
  """
18330
+ termination_time: NotRequired[pulumi.Input[str]]
18331
+ """
18332
+ 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.
18333
+ """
18076
18334
  elif False:
18077
18335
  InstanceSchedulingArgsDict: TypeAlias = Mapping[str, Any]
18078
18336
 
@@ -18092,7 +18350,8 @@ class InstanceSchedulingArgs:
18092
18350
  on_host_maintenance: Optional[pulumi.Input[str]] = None,
18093
18351
  on_instance_stop_action: Optional[pulumi.Input['InstanceSchedulingOnInstanceStopActionArgs']] = None,
18094
18352
  preemptible: Optional[pulumi.Input[bool]] = None,
18095
- provisioning_model: Optional[pulumi.Input[str]] = None):
18353
+ provisioning_model: Optional[pulumi.Input[str]] = None,
18354
+ termination_time: Optional[pulumi.Input[str]] = None):
18096
18355
  """
18097
18356
  :param pulumi.Input[bool] automatic_restart: Specifies if the instance should be
18098
18357
  restarted if it was terminated by Compute Engine (not a user).
@@ -18124,6 +18383,7 @@ class InstanceSchedulingArgs:
18124
18383
  `preemptible` should be `true` and `automatic_restart` should be
18125
18384
  `false`. For more info about
18126
18385
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
18386
+ :param pulumi.Input[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.
18127
18387
  """
18128
18388
  if automatic_restart is not None:
18129
18389
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -18153,6 +18413,8 @@ class InstanceSchedulingArgs:
18153
18413
  pulumi.set(__self__, "preemptible", preemptible)
18154
18414
  if provisioning_model is not None:
18155
18415
  pulumi.set(__self__, "provisioning_model", provisioning_model)
18416
+ if termination_time is not None:
18417
+ pulumi.set(__self__, "termination_time", termination_time)
18156
18418
 
18157
18419
  @property
18158
18420
  @pulumi.getter(name="automaticRestart")
@@ -18338,6 +18600,18 @@ class InstanceSchedulingArgs:
18338
18600
  def provisioning_model(self, value: Optional[pulumi.Input[str]]):
18339
18601
  pulumi.set(self, "provisioning_model", value)
18340
18602
 
18603
+ @property
18604
+ @pulumi.getter(name="terminationTime")
18605
+ def termination_time(self) -> Optional[pulumi.Input[str]]:
18606
+ """
18607
+ 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.
18608
+ """
18609
+ return pulumi.get(self, "termination_time")
18610
+
18611
+ @termination_time.setter
18612
+ def termination_time(self, value: Optional[pulumi.Input[str]]):
18613
+ pulumi.set(self, "termination_time", value)
18614
+
18341
18615
 
18342
18616
  if not MYPY:
18343
18617
  class InstanceSchedulingGracefulShutdownArgsDict(TypedDict):
@@ -20823,6 +21097,10 @@ if not MYPY:
20823
21097
  `false`. For more info about
20824
21098
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
20825
21099
  """
21100
+ termination_time: NotRequired[pulumi.Input[str]]
21101
+ """
21102
+ 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.
21103
+ """
20826
21104
  elif False:
20827
21105
  InstanceTemplateSchedulingArgsDict: TypeAlias = Mapping[str, Any]
20828
21106
 
@@ -20842,7 +21120,8 @@ class InstanceTemplateSchedulingArgs:
20842
21120
  on_host_maintenance: Optional[pulumi.Input[str]] = None,
20843
21121
  on_instance_stop_action: Optional[pulumi.Input['InstanceTemplateSchedulingOnInstanceStopActionArgs']] = None,
20844
21122
  preemptible: Optional[pulumi.Input[bool]] = None,
20845
- provisioning_model: Optional[pulumi.Input[str]] = None):
21123
+ provisioning_model: Optional[pulumi.Input[str]] = None,
21124
+ termination_time: Optional[pulumi.Input[str]] = None):
20846
21125
  """
20847
21126
  :param pulumi.Input[bool] automatic_restart: Specifies whether the instance should be
20848
21127
  automatically restarted if it is terminated by Compute Engine (not
@@ -20873,6 +21152,7 @@ class InstanceTemplateSchedulingArgs:
20873
21152
  `preemptible` should be `true` and `automatic_restart` should be
20874
21153
  `false`. For more info about
20875
21154
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
21155
+ :param pulumi.Input[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.
20876
21156
  """
20877
21157
  if automatic_restart is not None:
20878
21158
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -20902,6 +21182,8 @@ class InstanceTemplateSchedulingArgs:
20902
21182
  pulumi.set(__self__, "preemptible", preemptible)
20903
21183
  if provisioning_model is not None:
20904
21184
  pulumi.set(__self__, "provisioning_model", provisioning_model)
21185
+ if termination_time is not None:
21186
+ pulumi.set(__self__, "termination_time", termination_time)
20905
21187
 
20906
21188
  @property
20907
21189
  @pulumi.getter(name="automaticRestart")
@@ -21086,6 +21368,18 @@ class InstanceTemplateSchedulingArgs:
21086
21368
  def provisioning_model(self, value: Optional[pulumi.Input[str]]):
21087
21369
  pulumi.set(self, "provisioning_model", value)
21088
21370
 
21371
+ @property
21372
+ @pulumi.getter(name="terminationTime")
21373
+ def termination_time(self) -> Optional[pulumi.Input[str]]:
21374
+ """
21375
+ 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.
21376
+ """
21377
+ return pulumi.get(self, "termination_time")
21378
+
21379
+ @termination_time.setter
21380
+ def termination_time(self, value: Optional[pulumi.Input[str]]):
21381
+ pulumi.set(self, "termination_time", value)
21382
+
21089
21383
 
21090
21384
  if not MYPY:
21091
21385
  class InstanceTemplateSchedulingGracefulShutdownArgsDict(TypedDict):
@@ -27918,7 +28212,7 @@ if not MYPY:
27918
28212
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
27919
28213
  for an explanation of load balancing modes.
27920
28214
  Default value is `UTILIZATION`.
27921
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
28215
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
27922
28216
  """
27923
28217
  capacity_scaler: NotRequired[pulumi.Input[float]]
27924
28218
  """
@@ -27931,6 +28225,11 @@ if not MYPY:
27931
28225
  A setting of 0 means the group is completely drained, offering
27932
28226
  0% of its available Capacity. Valid range is [0.0,1.0].
27933
28227
  """
28228
+ custom_metrics: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceBackendCustomMetricArgsDict']]]]
28229
+ """
28230
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
28231
+ Structure is documented below.
28232
+ """
27934
28233
  description: NotRequired[pulumi.Input[str]]
27935
28234
  """
27936
28235
  An optional description of this resource.
@@ -28010,6 +28309,7 @@ class RegionBackendServiceBackendArgs:
28010
28309
  group: pulumi.Input[str],
28011
28310
  balancing_mode: Optional[pulumi.Input[str]] = None,
28012
28311
  capacity_scaler: Optional[pulumi.Input[float]] = None,
28312
+ custom_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceBackendCustomMetricArgs']]]] = None,
28013
28313
  description: Optional[pulumi.Input[str]] = None,
28014
28314
  failover: Optional[pulumi.Input[bool]] = None,
28015
28315
  max_connections: Optional[pulumi.Input[int]] = None,
@@ -28040,7 +28340,7 @@ class RegionBackendServiceBackendArgs:
28040
28340
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
28041
28341
  for an explanation of load balancing modes.
28042
28342
  Default value is `UTILIZATION`.
28043
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
28343
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
28044
28344
  :param pulumi.Input[float] capacity_scaler: A multiplier applied to the group's maximum servicing capacity
28045
28345
  (based on UTILIZATION, RATE or CONNECTION).
28046
28346
  ~>**NOTE**: This field cannot be set for
@@ -28049,6 +28349,8 @@ class RegionBackendServiceBackendArgs:
28049
28349
  capacity_scaler for all backends must be non-zero.
28050
28350
  A setting of 0 means the group is completely drained, offering
28051
28351
  0% of its available Capacity. Valid range is [0.0,1.0].
28352
+ :param pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceBackendCustomMetricArgs']]] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
28353
+ Structure is documented below.
28052
28354
  :param pulumi.Input[str] description: An optional description of this resource.
28053
28355
  Provide this property when you create the resource.
28054
28356
  :param pulumi.Input[bool] failover: This field designates whether this is a failover backend. More
@@ -28098,6 +28400,8 @@ class RegionBackendServiceBackendArgs:
28098
28400
  pulumi.set(__self__, "balancing_mode", balancing_mode)
28099
28401
  if capacity_scaler is not None:
28100
28402
  pulumi.set(__self__, "capacity_scaler", capacity_scaler)
28403
+ if custom_metrics is not None:
28404
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
28101
28405
  if description is not None:
28102
28406
  pulumi.set(__self__, "description", description)
28103
28407
  if failover is not None:
@@ -28152,7 +28456,7 @@ class RegionBackendServiceBackendArgs:
28152
28456
  See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
28153
28457
  for an explanation of load balancing modes.
28154
28458
  Default value is `UTILIZATION`.
28155
- Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`.
28459
+ Possible values are: `UTILIZATION`, `RATE`, `CONNECTION`, `CUSTOM_METRICS`.
28156
28460
  """
28157
28461
  return pulumi.get(self, "balancing_mode")
28158
28462
 
@@ -28179,6 +28483,19 @@ class RegionBackendServiceBackendArgs:
28179
28483
  def capacity_scaler(self, value: Optional[pulumi.Input[float]]):
28180
28484
  pulumi.set(self, "capacity_scaler", value)
28181
28485
 
28486
+ @property
28487
+ @pulumi.getter(name="customMetrics")
28488
+ def custom_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceBackendCustomMetricArgs']]]]:
28489
+ """
28490
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
28491
+ Structure is documented below.
28492
+ """
28493
+ return pulumi.get(self, "custom_metrics")
28494
+
28495
+ @custom_metrics.setter
28496
+ def custom_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionBackendServiceBackendCustomMetricArgs']]]]):
28497
+ pulumi.set(self, "custom_metrics", value)
28498
+
28182
28499
  @property
28183
28500
  @pulumi.getter
28184
28501
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -28322,6 +28639,103 @@ class RegionBackendServiceBackendArgs:
28322
28639
  pulumi.set(self, "max_utilization", value)
28323
28640
 
28324
28641
 
28642
+ if not MYPY:
28643
+ class RegionBackendServiceBackendCustomMetricArgsDict(TypedDict):
28644
+ dry_run: pulumi.Input[bool]
28645
+ """
28646
+ If true, the metric data is not used for load balancing.
28647
+ """
28648
+ name: pulumi.Input[str]
28649
+ """
28650
+ Name of a custom utilization signal. The name must be 1-64 characters
28651
+ long and match the regular expression a-z? which
28652
+ means the first character must be a lowercase letter, and all following
28653
+ characters must be a dash, period, underscore, lowercase letter, or
28654
+ digit, except the last character, which cannot be a dash, period, or
28655
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
28656
+ field can only be used for a global or regional backend service with the
28657
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
28658
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
28659
+ """
28660
+ max_utilization: NotRequired[pulumi.Input[float]]
28661
+ """
28662
+ Optional parameter to define a target utilization for the Custom Metrics
28663
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
28664
+ """
28665
+ elif False:
28666
+ RegionBackendServiceBackendCustomMetricArgsDict: TypeAlias = Mapping[str, Any]
28667
+
28668
+ @pulumi.input_type
28669
+ class RegionBackendServiceBackendCustomMetricArgs:
28670
+ def __init__(__self__, *,
28671
+ dry_run: pulumi.Input[bool],
28672
+ name: pulumi.Input[str],
28673
+ max_utilization: Optional[pulumi.Input[float]] = None):
28674
+ """
28675
+ :param pulumi.Input[bool] dry_run: If true, the metric data is not used for load balancing.
28676
+ :param pulumi.Input[str] name: Name of a custom utilization signal. The name must be 1-64 characters
28677
+ long and match the regular expression a-z? which
28678
+ means the first character must be a lowercase letter, and all following
28679
+ characters must be a dash, period, underscore, lowercase letter, or
28680
+ digit, except the last character, which cannot be a dash, period, or
28681
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
28682
+ field can only be used for a global or regional backend service with the
28683
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
28684
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
28685
+ :param pulumi.Input[float] max_utilization: Optional parameter to define a target utilization for the Custom Metrics
28686
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
28687
+ """
28688
+ pulumi.set(__self__, "dry_run", dry_run)
28689
+ pulumi.set(__self__, "name", name)
28690
+ if max_utilization is not None:
28691
+ pulumi.set(__self__, "max_utilization", max_utilization)
28692
+
28693
+ @property
28694
+ @pulumi.getter(name="dryRun")
28695
+ def dry_run(self) -> pulumi.Input[bool]:
28696
+ """
28697
+ If true, the metric data is not used for load balancing.
28698
+ """
28699
+ return pulumi.get(self, "dry_run")
28700
+
28701
+ @dry_run.setter
28702
+ def dry_run(self, value: pulumi.Input[bool]):
28703
+ pulumi.set(self, "dry_run", value)
28704
+
28705
+ @property
28706
+ @pulumi.getter
28707
+ def name(self) -> pulumi.Input[str]:
28708
+ """
28709
+ Name of a custom utilization signal. The name must be 1-64 characters
28710
+ long and match the regular expression a-z? which
28711
+ means the first character must be a lowercase letter, and all following
28712
+ characters must be a dash, period, underscore, lowercase letter, or
28713
+ digit, except the last character, which cannot be a dash, period, or
28714
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
28715
+ field can only be used for a global or regional backend service with the
28716
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
28717
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
28718
+ """
28719
+ return pulumi.get(self, "name")
28720
+
28721
+ @name.setter
28722
+ def name(self, value: pulumi.Input[str]):
28723
+ pulumi.set(self, "name", value)
28724
+
28725
+ @property
28726
+ @pulumi.getter(name="maxUtilization")
28727
+ def max_utilization(self) -> Optional[pulumi.Input[float]]:
28728
+ """
28729
+ Optional parameter to define a target utilization for the Custom Metrics
28730
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
28731
+ """
28732
+ return pulumi.get(self, "max_utilization")
28733
+
28734
+ @max_utilization.setter
28735
+ def max_utilization(self, value: Optional[pulumi.Input[float]]):
28736
+ pulumi.set(self, "max_utilization", value)
28737
+
28738
+
28325
28739
  if not MYPY:
28326
28740
  class RegionBackendServiceCdnPolicyArgsDict(TypedDict):
28327
28741
  cache_key_policy: NotRequired[pulumi.Input['RegionBackendServiceCdnPolicyCacheKeyPolicyArgsDict']]
@@ -29405,6 +29819,80 @@ class RegionBackendServiceConsistentHashHttpCookieTtlArgs:
29405
29819
  pulumi.set(self, "nanos", value)
29406
29820
 
29407
29821
 
29822
+ if not MYPY:
29823
+ class RegionBackendServiceCustomMetricArgsDict(TypedDict):
29824
+ dry_run: pulumi.Input[bool]
29825
+ """
29826
+ If true, the metric data is not used for load balancing.
29827
+ """
29828
+ name: pulumi.Input[str]
29829
+ """
29830
+ Name of a custom utilization signal. The name must be 1-64 characters
29831
+ long and match the regular expression a-z? which
29832
+ means the first character must be a lowercase letter, and all following
29833
+ characters must be a dash, period, underscore, lowercase letter, or
29834
+ digit, except the last character, which cannot be a dash, period, or
29835
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
29836
+ field can only be used for a global or regional backend service with the
29837
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
29838
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
29839
+ """
29840
+ elif False:
29841
+ RegionBackendServiceCustomMetricArgsDict: TypeAlias = Mapping[str, Any]
29842
+
29843
+ @pulumi.input_type
29844
+ class RegionBackendServiceCustomMetricArgs:
29845
+ def __init__(__self__, *,
29846
+ dry_run: pulumi.Input[bool],
29847
+ name: pulumi.Input[str]):
29848
+ """
29849
+ :param pulumi.Input[bool] dry_run: If true, the metric data is not used for load balancing.
29850
+ :param pulumi.Input[str] name: Name of a custom utilization signal. The name must be 1-64 characters
29851
+ long and match the regular expression a-z? which
29852
+ means the first character must be a lowercase letter, and all following
29853
+ characters must be a dash, period, underscore, lowercase letter, or
29854
+ digit, except the last character, which cannot be a dash, period, or
29855
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
29856
+ field can only be used for a global or regional backend service with the
29857
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
29858
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
29859
+ """
29860
+ pulumi.set(__self__, "dry_run", dry_run)
29861
+ pulumi.set(__self__, "name", name)
29862
+
29863
+ @property
29864
+ @pulumi.getter(name="dryRun")
29865
+ def dry_run(self) -> pulumi.Input[bool]:
29866
+ """
29867
+ If true, the metric data is not used for load balancing.
29868
+ """
29869
+ return pulumi.get(self, "dry_run")
29870
+
29871
+ @dry_run.setter
29872
+ def dry_run(self, value: pulumi.Input[bool]):
29873
+ pulumi.set(self, "dry_run", value)
29874
+
29875
+ @property
29876
+ @pulumi.getter
29877
+ def name(self) -> pulumi.Input[str]:
29878
+ """
29879
+ Name of a custom utilization signal. The name must be 1-64 characters
29880
+ long and match the regular expression a-z? which
29881
+ means the first character must be a lowercase letter, and all following
29882
+ characters must be a dash, period, underscore, lowercase letter, or
29883
+ digit, except the last character, which cannot be a dash, period, or
29884
+ underscore. For usage guidelines, see Custom Metrics balancing mode. This
29885
+ field can only be used for a global or regional backend service with the
29886
+ loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
29887
+ <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
29888
+ """
29889
+ return pulumi.get(self, "name")
29890
+
29891
+ @name.setter
29892
+ def name(self, value: pulumi.Input[str]):
29893
+ pulumi.set(self, "name", value)
29894
+
29895
+
29408
29896
  if not MYPY:
29409
29897
  class RegionBackendServiceFailoverPolicyArgsDict(TypedDict):
29410
29898
  disable_connection_drain_on_failover: NotRequired[pulumi.Input[bool]]
@@ -29760,6 +30248,16 @@ if not MYPY:
29760
30248
  """
29761
30249
  Whether to enable logging for the load balancer traffic served by this backend service.
29762
30250
  """
30251
+ optional_fields: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
30252
+ """
30253
+ Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
30254
+ """
30255
+ optional_mode: NotRequired[pulumi.Input[str]]
30256
+ """
30257
+ Specifies the optional logging mode for the load balancer traffic.
30258
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
30259
+ Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
30260
+ """
29763
30261
  sample_rate: NotRequired[pulumi.Input[float]]
29764
30262
  """
29765
30263
  This field can only be specified if logging is enabled for this backend service. The value of
@@ -29774,9 +30272,15 @@ elif False:
29774
30272
  class RegionBackendServiceLogConfigArgs:
29775
30273
  def __init__(__self__, *,
29776
30274
  enable: Optional[pulumi.Input[bool]] = None,
30275
+ optional_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30276
+ optional_mode: Optional[pulumi.Input[str]] = None,
29777
30277
  sample_rate: Optional[pulumi.Input[float]] = None):
29778
30278
  """
29779
30279
  :param pulumi.Input[bool] enable: Whether to enable logging for the load balancer traffic served by this backend service.
30280
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] optional_fields: Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
30281
+ :param pulumi.Input[str] optional_mode: Specifies the optional logging mode for the load balancer traffic.
30282
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
30283
+ Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
29780
30284
  :param pulumi.Input[float] sample_rate: This field can only be specified if logging is enabled for this backend service. The value of
29781
30285
  the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
29782
30286
  where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
@@ -29784,6 +30288,10 @@ class RegionBackendServiceLogConfigArgs:
29784
30288
  """
29785
30289
  if enable is not None:
29786
30290
  pulumi.set(__self__, "enable", enable)
30291
+ if optional_fields is not None:
30292
+ pulumi.set(__self__, "optional_fields", optional_fields)
30293
+ if optional_mode is not None:
30294
+ pulumi.set(__self__, "optional_mode", optional_mode)
29787
30295
  if sample_rate is not None:
29788
30296
  pulumi.set(__self__, "sample_rate", sample_rate)
29789
30297
 
@@ -29799,6 +30307,32 @@ class RegionBackendServiceLogConfigArgs:
29799
30307
  def enable(self, value: Optional[pulumi.Input[bool]]):
29800
30308
  pulumi.set(self, "enable", value)
29801
30309
 
30310
+ @property
30311
+ @pulumi.getter(name="optionalFields")
30312
+ def optional_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
30313
+ """
30314
+ Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
30315
+ """
30316
+ return pulumi.get(self, "optional_fields")
30317
+
30318
+ @optional_fields.setter
30319
+ def optional_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
30320
+ pulumi.set(self, "optional_fields", value)
30321
+
30322
+ @property
30323
+ @pulumi.getter(name="optionalMode")
30324
+ def optional_mode(self) -> Optional[pulumi.Input[str]]:
30325
+ """
30326
+ Specifies the optional logging mode for the load balancer traffic.
30327
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM.
30328
+ Possible values are: `INCLUDE_ALL_OPTIONAL`, `EXCLUDE_ALL_OPTIONAL`, `CUSTOM`.
30329
+ """
30330
+ return pulumi.get(self, "optional_mode")
30331
+
30332
+ @optional_mode.setter
30333
+ def optional_mode(self, value: Optional[pulumi.Input[str]]):
30334
+ pulumi.set(self, "optional_mode", value)
30335
+
29802
30336
  @property
29803
30337
  @pulumi.getter(name="sampleRate")
29804
30338
  def sample_rate(self) -> Optional[pulumi.Input[float]]:
@@ -30621,6 +31155,13 @@ if not MYPY:
30621
31155
  RFC 4648 base64 to either encrypt or decrypt this resource.
30622
31156
  **Note**: This property is sensitive and will not be displayed in the plan.
30623
31157
  """
31158
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
31159
+ """
31160
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
31161
+ customer-supplied encryption key to either encrypt or decrypt
31162
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
31163
+ **Note**: This property is sensitive and will not be displayed in the plan.
31164
+ """
30624
31165
  sha256: NotRequired[pulumi.Input[str]]
30625
31166
  """
30626
31167
  (Output)
@@ -30635,12 +31176,17 @@ class RegionDiskDiskEncryptionKeyArgs:
30635
31176
  def __init__(__self__, *,
30636
31177
  kms_key_name: Optional[pulumi.Input[str]] = None,
30637
31178
  raw_key: Optional[pulumi.Input[str]] = None,
31179
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
30638
31180
  sha256: Optional[pulumi.Input[str]] = None):
30639
31181
  """
30640
31182
  :param pulumi.Input[str] kms_key_name: The name of the encryption key that is stored in Google Cloud KMS.
30641
31183
  :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
30642
31184
  RFC 4648 base64 to either encrypt or decrypt this resource.
30643
31185
  **Note**: This property is sensitive and will not be displayed in the plan.
31186
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
31187
+ customer-supplied encryption key to either encrypt or decrypt
31188
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
31189
+ **Note**: This property is sensitive and will not be displayed in the plan.
30644
31190
  :param pulumi.Input[str] sha256: (Output)
30645
31191
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
30646
31192
  encryption key that protects this resource.
@@ -30649,6 +31195,8 @@ class RegionDiskDiskEncryptionKeyArgs:
30649
31195
  pulumi.set(__self__, "kms_key_name", kms_key_name)
30650
31196
  if raw_key is not None:
30651
31197
  pulumi.set(__self__, "raw_key", raw_key)
31198
+ if rsa_encrypted_key is not None:
31199
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
30652
31200
  if sha256 is not None:
30653
31201
  pulumi.set(__self__, "sha256", sha256)
30654
31202
 
@@ -30678,6 +31226,21 @@ class RegionDiskDiskEncryptionKeyArgs:
30678
31226
  def raw_key(self, value: Optional[pulumi.Input[str]]):
30679
31227
  pulumi.set(self, "raw_key", value)
30680
31228
 
31229
+ @property
31230
+ @pulumi.getter(name="rsaEncryptedKey")
31231
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
31232
+ """
31233
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
31234
+ customer-supplied encryption key to either encrypt or decrypt
31235
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
31236
+ **Note**: This property is sensitive and will not be displayed in the plan.
31237
+ """
31238
+ return pulumi.get(self, "rsa_encrypted_key")
31239
+
31240
+ @rsa_encrypted_key.setter
31241
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
31242
+ pulumi.set(self, "rsa_encrypted_key", value)
31243
+
30681
31244
  @property
30682
31245
  @pulumi.getter
30683
31246
  def sha256(self) -> Optional[pulumi.Input[str]]:
@@ -34999,6 +35562,10 @@ if not MYPY:
34999
35562
  `false`. For more info about
35000
35563
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
35001
35564
  """
35565
+ termination_time: NotRequired[pulumi.Input[str]]
35566
+ """
35567
+ 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.
35568
+ """
35002
35569
  elif False:
35003
35570
  RegionInstanceTemplateSchedulingArgsDict: TypeAlias = Mapping[str, Any]
35004
35571
 
@@ -35018,7 +35585,8 @@ class RegionInstanceTemplateSchedulingArgs:
35018
35585
  on_host_maintenance: Optional[pulumi.Input[str]] = None,
35019
35586
  on_instance_stop_action: Optional[pulumi.Input['RegionInstanceTemplateSchedulingOnInstanceStopActionArgs']] = None,
35020
35587
  preemptible: Optional[pulumi.Input[bool]] = None,
35021
- provisioning_model: Optional[pulumi.Input[str]] = None):
35588
+ provisioning_model: Optional[pulumi.Input[str]] = None,
35589
+ termination_time: Optional[pulumi.Input[str]] = None):
35022
35590
  """
35023
35591
  :param pulumi.Input[bool] automatic_restart: Specifies whether the instance should be
35024
35592
  automatically restarted if it is terminated by Compute Engine (not
@@ -35049,6 +35617,7 @@ class RegionInstanceTemplateSchedulingArgs:
35049
35617
  `preemptible` should be `true` and `automatic_restart` should be
35050
35618
  `false`. For more info about
35051
35619
  `SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)
35620
+ :param pulumi.Input[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.
35052
35621
  """
35053
35622
  if automatic_restart is not None:
35054
35623
  pulumi.set(__self__, "automatic_restart", automatic_restart)
@@ -35078,6 +35647,8 @@ class RegionInstanceTemplateSchedulingArgs:
35078
35647
  pulumi.set(__self__, "preemptible", preemptible)
35079
35648
  if provisioning_model is not None:
35080
35649
  pulumi.set(__self__, "provisioning_model", provisioning_model)
35650
+ if termination_time is not None:
35651
+ pulumi.set(__self__, "termination_time", termination_time)
35081
35652
 
35082
35653
  @property
35083
35654
  @pulumi.getter(name="automaticRestart")
@@ -35262,6 +35833,18 @@ class RegionInstanceTemplateSchedulingArgs:
35262
35833
  def provisioning_model(self, value: Optional[pulumi.Input[str]]):
35263
35834
  pulumi.set(self, "provisioning_model", value)
35264
35835
 
35836
+ @property
35837
+ @pulumi.getter(name="terminationTime")
35838
+ def termination_time(self) -> Optional[pulumi.Input[str]]:
35839
+ """
35840
+ 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.
35841
+ """
35842
+ return pulumi.get(self, "termination_time")
35843
+
35844
+ @termination_time.setter
35845
+ def termination_time(self, value: Optional[pulumi.Input[str]]):
35846
+ pulumi.set(self, "termination_time", value)
35847
+
35265
35848
 
35266
35849
  if not MYPY:
35267
35850
  class RegionInstanceTemplateSchedulingGracefulShutdownArgsDict(TypedDict):