pulumi-gcp 7.16.0a1711520590__py3-none-any.whl → 7.16.0a1711535676__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 (38) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  7. pulumi_gcp/cloudquota/__init__.py +1 -0
  8. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  9. pulumi_gcp/cloudquota/outputs.py +270 -0
  10. pulumi_gcp/cloudrunv2/_inputs.py +59 -2
  11. pulumi_gcp/cloudrunv2/outputs.py +107 -4
  12. pulumi_gcp/cloudrunv2/service.py +6 -6
  13. pulumi_gcp/composer/_inputs.py +16 -0
  14. pulumi_gcp/composer/outputs.py +23 -0
  15. pulumi_gcp/compute/_inputs.py +105 -7
  16. pulumi_gcp/compute/outputs.py +140 -9
  17. pulumi_gcp/compute/region_url_map.py +152 -0
  18. pulumi_gcp/dataform/repository.py +4 -74
  19. pulumi_gcp/firebase/android_app.py +41 -40
  20. pulumi_gcp/firestore/index.py +34 -48
  21. pulumi_gcp/monitoring/_inputs.py +2 -0
  22. pulumi_gcp/monitoring/outputs.py +2 -0
  23. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  24. pulumi_gcp/pubsub/_inputs.py +108 -0
  25. pulumi_gcp/pubsub/get_topic.py +11 -1
  26. pulumi_gcp/pubsub/outputs.py +213 -0
  27. pulumi_gcp/pubsub/topic.py +92 -0
  28. pulumi_gcp/storage/_inputs.py +40 -0
  29. pulumi_gcp/storage/bucket.py +54 -0
  30. pulumi_gcp/storage/get_bucket.py +11 -1
  31. pulumi_gcp/storage/outputs.py +81 -0
  32. pulumi_gcp/workstations/_inputs.py +113 -0
  33. pulumi_gcp/workstations/outputs.py +109 -1
  34. pulumi_gcp/workstations/workstation_config.py +106 -0
  35. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/METADATA +1 -1
  36. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/RECORD +38 -36
  37. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/WHEEL +0 -0
  38. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,7 @@ __all__ = [
28
28
  'JobTemplateTemplateVolume',
29
29
  'JobTemplateTemplateVolumeCloudSqlInstance',
30
30
  'JobTemplateTemplateVolumeEmptyDir',
31
+ 'JobTemplateTemplateVolumeGcs',
31
32
  'JobTemplateTemplateVolumeSecret',
32
33
  'JobTemplateTemplateVolumeSecretItem',
33
34
  'JobTemplateTemplateVpcAccess',
@@ -84,6 +85,7 @@ __all__ = [
84
85
  'GetJobTemplateTemplateVolumeResult',
85
86
  'GetJobTemplateTemplateVolumeCloudSqlInstanceResult',
86
87
  'GetJobTemplateTemplateVolumeEmptyDirResult',
88
+ 'GetJobTemplateTemplateVolumeGcResult',
87
89
  'GetJobTemplateTemplateVolumeSecretResult',
88
90
  'GetJobTemplateTemplateVolumeSecretItemResult',
89
91
  'GetJobTemplateTemplateVpcAccessResult',
@@ -1087,6 +1089,7 @@ class JobTemplateTemplateVolume(dict):
1087
1089
  name: str,
1088
1090
  cloud_sql_instance: Optional['outputs.JobTemplateTemplateVolumeCloudSqlInstance'] = None,
1089
1091
  empty_dir: Optional['outputs.JobTemplateTemplateVolumeEmptyDir'] = None,
1092
+ gcs: Optional['outputs.JobTemplateTemplateVolumeGcs'] = None,
1090
1093
  secret: Optional['outputs.JobTemplateTemplateVolumeSecret'] = None):
1091
1094
  """
1092
1095
  :param str name: Volume's name.
@@ -1094,6 +1097,8 @@ class JobTemplateTemplateVolume(dict):
1094
1097
  Structure is documented below.
1095
1098
  :param 'JobTemplateTemplateVolumeEmptyDirArgs' empty_dir: Ephemeral storage used as a shared volume.
1096
1099
  Structure is documented below.
1100
+ :param 'JobTemplateTemplateVolumeGcsArgs' gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
1101
+ Structure is documented below.
1097
1102
  :param 'JobTemplateTemplateVolumeSecretArgs' secret: Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
1098
1103
  Structure is documented below.
1099
1104
  """
@@ -1102,6 +1107,8 @@ class JobTemplateTemplateVolume(dict):
1102
1107
  pulumi.set(__self__, "cloud_sql_instance", cloud_sql_instance)
1103
1108
  if empty_dir is not None:
1104
1109
  pulumi.set(__self__, "empty_dir", empty_dir)
1110
+ if gcs is not None:
1111
+ pulumi.set(__self__, "gcs", gcs)
1105
1112
  if secret is not None:
1106
1113
  pulumi.set(__self__, "secret", secret)
1107
1114
 
@@ -1131,6 +1138,15 @@ class JobTemplateTemplateVolume(dict):
1131
1138
  """
1132
1139
  return pulumi.get(self, "empty_dir")
1133
1140
 
1141
+ @property
1142
+ @pulumi.getter
1143
+ def gcs(self) -> Optional['outputs.JobTemplateTemplateVolumeGcs']:
1144
+ """
1145
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
1146
+ Structure is documented below.
1147
+ """
1148
+ return pulumi.get(self, "gcs")
1149
+
1134
1150
  @property
1135
1151
  @pulumi.getter
1136
1152
  def secret(self) -> Optional['outputs.JobTemplateTemplateVolumeSecret']:
@@ -1212,6 +1228,53 @@ class JobTemplateTemplateVolumeEmptyDir(dict):
1212
1228
  return pulumi.get(self, "size_limit")
1213
1229
 
1214
1230
 
1231
+ @pulumi.output_type
1232
+ class JobTemplateTemplateVolumeGcs(dict):
1233
+ @staticmethod
1234
+ def __key_warning(key: str):
1235
+ suggest = None
1236
+ if key == "readOnly":
1237
+ suggest = "read_only"
1238
+
1239
+ if suggest:
1240
+ pulumi.log.warn(f"Key '{key}' not found in JobTemplateTemplateVolumeGcs. Access the value via the '{suggest}' property getter instead.")
1241
+
1242
+ def __getitem__(self, key: str) -> Any:
1243
+ JobTemplateTemplateVolumeGcs.__key_warning(key)
1244
+ return super().__getitem__(key)
1245
+
1246
+ def get(self, key: str, default = None) -> Any:
1247
+ JobTemplateTemplateVolumeGcs.__key_warning(key)
1248
+ return super().get(key, default)
1249
+
1250
+ def __init__(__self__, *,
1251
+ bucket: str,
1252
+ read_only: Optional[bool] = None):
1253
+ """
1254
+ :param str bucket: Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
1255
+ :param bool read_only: If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
1256
+ """
1257
+ pulumi.set(__self__, "bucket", bucket)
1258
+ if read_only is not None:
1259
+ pulumi.set(__self__, "read_only", read_only)
1260
+
1261
+ @property
1262
+ @pulumi.getter
1263
+ def bucket(self) -> str:
1264
+ """
1265
+ Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
1266
+ """
1267
+ return pulumi.get(self, "bucket")
1268
+
1269
+ @property
1270
+ @pulumi.getter(name="readOnly")
1271
+ def read_only(self) -> Optional[bool]:
1272
+ """
1273
+ If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
1274
+ """
1275
+ return pulumi.get(self, "read_only")
1276
+
1277
+
1215
1278
  @pulumi.output_type
1216
1279
  class JobTemplateTemplateVolumeSecret(dict):
1217
1280
  @staticmethod
@@ -3182,7 +3245,7 @@ class ServiceTemplateVolume(dict):
3182
3245
  Structure is documented below.
3183
3246
  :param 'ServiceTemplateVolumeEmptyDirArgs' empty_dir: Ephemeral storage used as a shared volume.
3184
3247
  Structure is documented below.
3185
- :param 'ServiceTemplateVolumeGcsArgs' gcs: Represents a GCS Bucket mounted as a volume.
3248
+ :param 'ServiceTemplateVolumeGcsArgs' gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
3186
3249
  Structure is documented below.
3187
3250
  :param 'ServiceTemplateVolumeNfsArgs' nfs: Represents an NFS mount.
3188
3251
  Structure is documented below.
@@ -3231,7 +3294,7 @@ class ServiceTemplateVolume(dict):
3231
3294
  @pulumi.getter
3232
3295
  def gcs(self) -> Optional['outputs.ServiceTemplateVolumeGcs']:
3233
3296
  """
3234
- Represents a GCS Bucket mounted as a volume.
3297
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
3235
3298
  Structure is documented below.
3236
3299
  """
3237
3300
  return pulumi.get(self, "gcs")
@@ -4558,16 +4621,19 @@ class GetJobTemplateTemplateVolumeResult(dict):
4558
4621
  def __init__(__self__, *,
4559
4622
  cloud_sql_instances: Sequence['outputs.GetJobTemplateTemplateVolumeCloudSqlInstanceResult'],
4560
4623
  empty_dirs: Sequence['outputs.GetJobTemplateTemplateVolumeEmptyDirResult'],
4624
+ gcs: Sequence['outputs.GetJobTemplateTemplateVolumeGcResult'],
4561
4625
  name: str,
4562
4626
  secrets: Sequence['outputs.GetJobTemplateTemplateVolumeSecretResult']):
4563
4627
  """
4564
4628
  :param Sequence['GetJobTemplateTemplateVolumeCloudSqlInstanceArgs'] cloud_sql_instances: For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.
4565
4629
  :param Sequence['GetJobTemplateTemplateVolumeEmptyDirArgs'] empty_dirs: Ephemeral storage used as a shared volume.
4630
+ :param Sequence['GetJobTemplateTemplateVolumeGcArgs'] gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
4566
4631
  :param str name: The name of the Cloud Run v2 Job.
4567
4632
  :param Sequence['GetJobTemplateTemplateVolumeSecretArgs'] secrets: Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
4568
4633
  """
4569
4634
  pulumi.set(__self__, "cloud_sql_instances", cloud_sql_instances)
4570
4635
  pulumi.set(__self__, "empty_dirs", empty_dirs)
4636
+ pulumi.set(__self__, "gcs", gcs)
4571
4637
  pulumi.set(__self__, "name", name)
4572
4638
  pulumi.set(__self__, "secrets", secrets)
4573
4639
 
@@ -4587,6 +4653,14 @@ class GetJobTemplateTemplateVolumeResult(dict):
4587
4653
  """
4588
4654
  return pulumi.get(self, "empty_dirs")
4589
4655
 
4656
+ @property
4657
+ @pulumi.getter
4658
+ def gcs(self) -> Sequence['outputs.GetJobTemplateTemplateVolumeGcResult']:
4659
+ """
4660
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
4661
+ """
4662
+ return pulumi.get(self, "gcs")
4663
+
4590
4664
  @property
4591
4665
  @pulumi.getter
4592
4666
  def name(self) -> str:
@@ -4651,6 +4725,35 @@ class GetJobTemplateTemplateVolumeEmptyDirResult(dict):
4651
4725
  return pulumi.get(self, "size_limit")
4652
4726
 
4653
4727
 
4728
+ @pulumi.output_type
4729
+ class GetJobTemplateTemplateVolumeGcResult(dict):
4730
+ def __init__(__self__, *,
4731
+ bucket: str,
4732
+ read_only: bool):
4733
+ """
4734
+ :param str bucket: Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
4735
+ :param bool read_only: If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
4736
+ """
4737
+ pulumi.set(__self__, "bucket", bucket)
4738
+ pulumi.set(__self__, "read_only", read_only)
4739
+
4740
+ @property
4741
+ @pulumi.getter
4742
+ def bucket(self) -> str:
4743
+ """
4744
+ Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
4745
+ """
4746
+ return pulumi.get(self, "bucket")
4747
+
4748
+ @property
4749
+ @pulumi.getter(name="readOnly")
4750
+ def read_only(self) -> bool:
4751
+ """
4752
+ If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
4753
+ """
4754
+ return pulumi.get(self, "read_only")
4755
+
4756
+
4654
4757
  @pulumi.output_type
4655
4758
  class GetJobTemplateTemplateVolumeSecretResult(dict):
4656
4759
  def __init__(__self__, *,
@@ -6029,7 +6132,7 @@ class GetServiceTemplateVolumeResult(dict):
6029
6132
  """
6030
6133
  :param Sequence['GetServiceTemplateVolumeCloudSqlInstanceArgs'] cloud_sql_instances: For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.
6031
6134
  :param Sequence['GetServiceTemplateVolumeEmptyDirArgs'] empty_dirs: Ephemeral storage used as a shared volume.
6032
- :param Sequence['GetServiceTemplateVolumeGcArgs'] gcs: Represents a GCS Bucket mounted as a volume.
6135
+ :param Sequence['GetServiceTemplateVolumeGcArgs'] gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
6033
6136
  :param str name: The name of the Cloud Run v2 Service.
6034
6137
  :param Sequence['GetServiceTemplateVolumeNfArgs'] nfs: Represents an NFS mount.
6035
6138
  :param Sequence['GetServiceTemplateVolumeSecretArgs'] secrets: Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
@@ -6061,7 +6164,7 @@ class GetServiceTemplateVolumeResult(dict):
6061
6164
  @pulumi.getter
6062
6165
  def gcs(self) -> Sequence['outputs.GetServiceTemplateVolumeGcResult']:
6063
6166
  """
6064
- Represents a GCS Bucket mounted as a volume.
6167
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
6065
6168
  """
6066
6169
  return pulumi.get(self, "gcs")
6067
6170
 
@@ -1231,9 +1231,9 @@ class Service(pulumi.CustomResource):
1231
1231
  containers=[
1232
1232
  gcp.cloudrunv2.ServiceTemplateContainerArgs(
1233
1233
  name="hello-1",
1234
- ports=[gcp.cloudrunv2.ServiceTemplateContainerPortArgs(
1235
- container_port=8080,
1236
- )],
1234
+ ports={
1235
+ "containerPort": 8080,
1236
+ },
1237
1237
  image="us-docker.pkg.dev/cloudrun/container/hello",
1238
1238
  depends_ons=["hello-2"],
1239
1239
  volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
@@ -1702,9 +1702,9 @@ class Service(pulumi.CustomResource):
1702
1702
  containers=[
1703
1703
  gcp.cloudrunv2.ServiceTemplateContainerArgs(
1704
1704
  name="hello-1",
1705
- ports=[gcp.cloudrunv2.ServiceTemplateContainerPortArgs(
1706
- container_port=8080,
1707
- )],
1705
+ ports={
1706
+ "containerPort": 8080,
1707
+ },
1708
1708
  image="us-docker.pkg.dev/cloudrun/container/hello",
1709
1709
  depends_ons=["hello-2"],
1710
1710
  volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
@@ -1458,14 +1458,18 @@ class EnvironmentConfigWorkloadsConfigArgs:
1458
1458
  @pulumi.input_type
1459
1459
  class EnvironmentConfigWorkloadsConfigDagProcessorArgs:
1460
1460
  def __init__(__self__, *,
1461
+ count: Optional[pulumi.Input[int]] = None,
1461
1462
  cpu: Optional[pulumi.Input[float]] = None,
1462
1463
  memory_gb: Optional[pulumi.Input[float]] = None,
1463
1464
  storage_gb: Optional[pulumi.Input[float]] = None):
1464
1465
  """
1466
+ :param pulumi.Input[int] count: Number of DAG processors.
1465
1467
  :param pulumi.Input[float] cpu: CPU request and limit for DAG processor.
1466
1468
  :param pulumi.Input[float] memory_gb: Memory (GB) request and limit for DAG processor.
1467
1469
  :param pulumi.Input[float] storage_gb: Storage (GB) request and limit for DAG processor.
1468
1470
  """
1471
+ if count is not None:
1472
+ pulumi.set(__self__, "count", count)
1469
1473
  if cpu is not None:
1470
1474
  pulumi.set(__self__, "cpu", cpu)
1471
1475
  if memory_gb is not None:
@@ -1473,6 +1477,18 @@ class EnvironmentConfigWorkloadsConfigDagProcessorArgs:
1473
1477
  if storage_gb is not None:
1474
1478
  pulumi.set(__self__, "storage_gb", storage_gb)
1475
1479
 
1480
+ @property
1481
+ @pulumi.getter
1482
+ def count(self) -> Optional[pulumi.Input[int]]:
1483
+ """
1484
+ Number of DAG processors.
1485
+ """
1486
+ return pulumi.get(self, "count")
1487
+
1488
+ @count.setter
1489
+ def count(self, value: Optional[pulumi.Input[int]]):
1490
+ pulumi.set(self, "count", value)
1491
+
1476
1492
  @property
1477
1493
  @pulumi.getter
1478
1494
  def cpu(self) -> Optional[pulumi.Input[float]]:
@@ -1569,14 +1569,18 @@ class EnvironmentConfigWorkloadsConfigDagProcessor(dict):
1569
1569
  return super().get(key, default)
1570
1570
 
1571
1571
  def __init__(__self__, *,
1572
+ count: Optional[int] = None,
1572
1573
  cpu: Optional[float] = None,
1573
1574
  memory_gb: Optional[float] = None,
1574
1575
  storage_gb: Optional[float] = None):
1575
1576
  """
1577
+ :param int count: Number of DAG processors.
1576
1578
  :param float cpu: CPU request and limit for DAG processor.
1577
1579
  :param float memory_gb: Memory (GB) request and limit for DAG processor.
1578
1580
  :param float storage_gb: Storage (GB) request and limit for DAG processor.
1579
1581
  """
1582
+ if count is not None:
1583
+ pulumi.set(__self__, "count", count)
1580
1584
  if cpu is not None:
1581
1585
  pulumi.set(__self__, "cpu", cpu)
1582
1586
  if memory_gb is not None:
@@ -1584,6 +1588,14 @@ class EnvironmentConfigWorkloadsConfigDagProcessor(dict):
1584
1588
  if storage_gb is not None:
1585
1589
  pulumi.set(__self__, "storage_gb", storage_gb)
1586
1590
 
1591
+ @property
1592
+ @pulumi.getter
1593
+ def count(self) -> Optional[int]:
1594
+ """
1595
+ Number of DAG processors.
1596
+ """
1597
+ return pulumi.get(self, "count")
1598
+
1587
1599
  @property
1588
1600
  @pulumi.getter
1589
1601
  def cpu(self) -> Optional[float]:
@@ -2937,18 +2949,29 @@ class GetEnvironmentConfigWorkloadsConfigResult(dict):
2937
2949
  @pulumi.output_type
2938
2950
  class GetEnvironmentConfigWorkloadsConfigDagProcessorResult(dict):
2939
2951
  def __init__(__self__, *,
2952
+ count: int,
2940
2953
  cpu: float,
2941
2954
  memory_gb: float,
2942
2955
  storage_gb: float):
2943
2956
  """
2957
+ :param int count: Number of DAG processors.
2944
2958
  :param float cpu: CPU request and limit for DAG processor.
2945
2959
  :param float memory_gb: Memory (GB) request and limit for DAG processor.
2946
2960
  :param float storage_gb: Storage (GB) request and limit for DAG processor.
2947
2961
  """
2962
+ pulumi.set(__self__, "count", count)
2948
2963
  pulumi.set(__self__, "cpu", cpu)
2949
2964
  pulumi.set(__self__, "memory_gb", memory_gb)
2950
2965
  pulumi.set(__self__, "storage_gb", storage_gb)
2951
2966
 
2967
+ @property
2968
+ @pulumi.getter
2969
+ def count(self) -> int:
2970
+ """
2971
+ Number of DAG processors.
2972
+ """
2973
+ return pulumi.get(self, "count")
2974
+
2952
2975
  @property
2953
2976
  @pulumi.getter
2954
2977
  def cpu(self) -> float:
@@ -3631,7 +3631,7 @@ class DiskGuestOsFeatureArgs:
3631
3631
  type: pulumi.Input[str]):
3632
3632
  """
3633
3633
  :param pulumi.Input[str] type: The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options.
3634
- Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`.
3634
+ Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`, `SEV_LIVE_MIGRATABLE_V2`.
3635
3635
  """
3636
3636
  pulumi.set(__self__, "type", type)
3637
3637
 
@@ -3640,7 +3640,7 @@ class DiskGuestOsFeatureArgs:
3640
3640
  def type(self) -> pulumi.Input[str]:
3641
3641
  """
3642
3642
  The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options.
3643
- Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`.
3643
+ Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`, `SEV_LIVE_MIGRATABLE_V2`.
3644
3644
  """
3645
3645
  return pulumi.get(self, "type")
3646
3646
 
@@ -9623,13 +9623,29 @@ class InstanceGroupManagerStatusArgs:
9623
9623
  @pulumi.input_type
9624
9624
  class InstanceGroupManagerStatusAllInstancesConfigArgs:
9625
9625
  def __init__(__self__, *,
9626
+ current_revision: Optional[pulumi.Input[str]] = None,
9626
9627
  effective: Optional[pulumi.Input[bool]] = None):
9627
9628
  """
9629
+ :param pulumi.Input[str] current_revision: Current all-instances configuration revision. This value is in RFC3339 text format.
9628
9630
  :param pulumi.Input[bool] effective: A bit indicating whether this configuration has been applied to all managed instances in the group.
9629
9631
  """
9632
+ if current_revision is not None:
9633
+ pulumi.set(__self__, "current_revision", current_revision)
9630
9634
  if effective is not None:
9631
9635
  pulumi.set(__self__, "effective", effective)
9632
9636
 
9637
+ @property
9638
+ @pulumi.getter(name="currentRevision")
9639
+ def current_revision(self) -> Optional[pulumi.Input[str]]:
9640
+ """
9641
+ Current all-instances configuration revision. This value is in RFC3339 text format.
9642
+ """
9643
+ return pulumi.get(self, "current_revision")
9644
+
9645
+ @current_revision.setter
9646
+ def current_revision(self, value: Optional[pulumi.Input[str]]):
9647
+ pulumi.set(self, "current_revision", value)
9648
+
9633
9649
  @property
9634
9650
  @pulumi.getter
9635
9651
  def effective(self) -> Optional[pulumi.Input[bool]]:
@@ -9650,7 +9666,7 @@ class InstanceGroupManagerStatusStatefulArgs:
9650
9666
  per_instance_configs: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]]] = None):
9651
9667
  """
9652
9668
  :param pulumi.Input[bool] has_stateful_config: A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
9653
- :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]] per_instance_configs: Status of per-instance configs on the instance.
9669
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]] per_instance_configs: Status of per-instance configs on the instances.
9654
9670
  """
9655
9671
  if has_stateful_config is not None:
9656
9672
  pulumi.set(__self__, "has_stateful_config", has_stateful_config)
@@ -9673,7 +9689,7 @@ class InstanceGroupManagerStatusStatefulArgs:
9673
9689
  @pulumi.getter(name="perInstanceConfigs")
9674
9690
  def per_instance_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]]]:
9675
9691
  """
9676
- Status of per-instance configs on the instance.
9692
+ Status of per-instance configs on the instances.
9677
9693
  """
9678
9694
  return pulumi.get(self, "per_instance_configs")
9679
9695
 
@@ -18863,13 +18879,29 @@ class RegionInstanceGroupManagerStatusArgs:
18863
18879
  @pulumi.input_type
18864
18880
  class RegionInstanceGroupManagerStatusAllInstancesConfigArgs:
18865
18881
  def __init__(__self__, *,
18882
+ current_revision: Optional[pulumi.Input[str]] = None,
18866
18883
  effective: Optional[pulumi.Input[bool]] = None):
18867
18884
  """
18885
+ :param pulumi.Input[str] current_revision: Current all-instances configuration revision. This value is in RFC3339 text format.
18868
18886
  :param pulumi.Input[bool] effective: A bit indicating whether this configuration has been applied to all managed instances in the group.
18869
18887
  """
18888
+ if current_revision is not None:
18889
+ pulumi.set(__self__, "current_revision", current_revision)
18870
18890
  if effective is not None:
18871
18891
  pulumi.set(__self__, "effective", effective)
18872
18892
 
18893
+ @property
18894
+ @pulumi.getter(name="currentRevision")
18895
+ def current_revision(self) -> Optional[pulumi.Input[str]]:
18896
+ """
18897
+ Current all-instances configuration revision. This value is in RFC3339 text format.
18898
+ """
18899
+ return pulumi.get(self, "current_revision")
18900
+
18901
+ @current_revision.setter
18902
+ def current_revision(self, value: Optional[pulumi.Input[str]]):
18903
+ pulumi.set(self, "current_revision", value)
18904
+
18873
18905
  @property
18874
18906
  @pulumi.getter
18875
18907
  def effective(self) -> Optional[pulumi.Input[bool]]:
@@ -18890,7 +18922,7 @@ class RegionInstanceGroupManagerStatusStatefulArgs:
18890
18922
  per_instance_configs: Optional[pulumi.Input[Sequence[pulumi.Input['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]]] = None):
18891
18923
  """
18892
18924
  :param pulumi.Input[bool] has_stateful_config: A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
18893
- :param pulumi.Input[Sequence[pulumi.Input['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]] per_instance_configs: Status of per-instance configs on the instance.
18925
+ :param pulumi.Input[Sequence[pulumi.Input['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]] per_instance_configs: Status of per-instance configs on the instances.
18894
18926
  """
18895
18927
  if has_stateful_config is not None:
18896
18928
  pulumi.set(__self__, "has_stateful_config", has_stateful_config)
@@ -18913,7 +18945,7 @@ class RegionInstanceGroupManagerStatusStatefulArgs:
18913
18945
  @pulumi.getter(name="perInstanceConfigs")
18914
18946
  def per_instance_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs']]]]:
18915
18947
  """
18916
- Status of per-instance configs on the instance.
18948
+ Status of per-instance configs on the instances.
18917
18949
  """
18918
18950
  return pulumi.get(self, "per_instance_configs")
18919
18951
 
@@ -25230,6 +25262,7 @@ class RegionUrlMapPathMatcherRouteRuleMatchRuleArgs:
25230
25262
  header_matches: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs']]]] = None,
25231
25263
  ignore_case: Optional[pulumi.Input[bool]] = None,
25232
25264
  metadata_filters: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterArgs']]]] = None,
25265
+ path_template_match: Optional[pulumi.Input[str]] = None,
25233
25266
  prefix_match: Optional[pulumi.Input[str]] = None,
25234
25267
  query_parameter_matches: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs']]]] = None,
25235
25268
  regex_match: Optional[pulumi.Input[str]] = None):
@@ -25256,6 +25289,14 @@ class RegionUrlMapPathMatcherRouteRuleMatchRuleArgs:
25256
25289
  UrlMap. metadataFilters only applies to Loadbalancers that have their
25257
25290
  loadBalancingScheme set to INTERNAL_SELF_MANAGED.
25258
25291
  Structure is documented below.
25292
+ :param pulumi.Input[str] path_template_match: For satisfying the matchRule condition, the path of the request
25293
+ must match the wildcard pattern specified in pathTemplateMatch
25294
+ after removing any query parameters and anchor that may be part
25295
+ of the original URL.
25296
+ pathTemplateMatch must be between 1 and 255 characters
25297
+ (inclusive). The pattern specified by pathTemplateMatch may
25298
+ have at most 5 wildcard operators and at most 5 variable
25299
+ captures in total.
25259
25300
  :param pulumi.Input[str] prefix_match: For satisfying the matchRule condition, the request's path must begin with the
25260
25301
  specified prefixMatch. prefixMatch must begin with a /. The value must be
25261
25302
  between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
@@ -25277,6 +25318,8 @@ class RegionUrlMapPathMatcherRouteRuleMatchRuleArgs:
25277
25318
  pulumi.set(__self__, "ignore_case", ignore_case)
25278
25319
  if metadata_filters is not None:
25279
25320
  pulumi.set(__self__, "metadata_filters", metadata_filters)
25321
+ if path_template_match is not None:
25322
+ pulumi.set(__self__, "path_template_match", path_template_match)
25280
25323
  if prefix_match is not None:
25281
25324
  pulumi.set(__self__, "prefix_match", prefix_match)
25282
25325
  if query_parameter_matches is not None:
@@ -25350,6 +25393,25 @@ class RegionUrlMapPathMatcherRouteRuleMatchRuleArgs:
25350
25393
  def metadata_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleMatchRuleMetadataFilterArgs']]]]):
25351
25394
  pulumi.set(self, "metadata_filters", value)
25352
25395
 
25396
+ @property
25397
+ @pulumi.getter(name="pathTemplateMatch")
25398
+ def path_template_match(self) -> Optional[pulumi.Input[str]]:
25399
+ """
25400
+ For satisfying the matchRule condition, the path of the request
25401
+ must match the wildcard pattern specified in pathTemplateMatch
25402
+ after removing any query parameters and anchor that may be part
25403
+ of the original URL.
25404
+ pathTemplateMatch must be between 1 and 255 characters
25405
+ (inclusive). The pattern specified by pathTemplateMatch may
25406
+ have at most 5 wildcard operators and at most 5 variable
25407
+ captures in total.
25408
+ """
25409
+ return pulumi.get(self, "path_template_match")
25410
+
25411
+ @path_template_match.setter
25412
+ def path_template_match(self, value: Optional[pulumi.Input[str]]):
25413
+ pulumi.set(self, "path_template_match", value)
25414
+
25353
25415
  @property
25354
25416
  @pulumi.getter(name="prefixMatch")
25355
25417
  def prefix_match(self) -> Optional[pulumi.Input[str]]:
@@ -26484,17 +26546,31 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionTimeoutArgs:
26484
26546
  class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs:
26485
26547
  def __init__(__self__, *,
26486
26548
  host_rewrite: Optional[pulumi.Input[str]] = None,
26487
- path_prefix_rewrite: Optional[pulumi.Input[str]] = None):
26549
+ path_prefix_rewrite: Optional[pulumi.Input[str]] = None,
26550
+ path_template_rewrite: Optional[pulumi.Input[str]] = None):
26488
26551
  """
26489
26552
  :param pulumi.Input[str] host_rewrite: Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
26490
26553
  The value must be from 1 to 255 characters.
26491
26554
  :param pulumi.Input[str] path_prefix_rewrite: Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
26492
26555
  The value must be from 1 to 1024 characters.
26556
+ :param pulumi.Input[str] path_template_rewrite: Prior to forwarding the request to the selected origin, if the
26557
+ request matched a pathTemplateMatch, the matching portion of the
26558
+ request's path is replaced re-written using the pattern specified
26559
+ by pathTemplateRewrite.
26560
+ pathTemplateRewrite must be between 1 and 255 characters
26561
+ (inclusive), must start with a '/', and must only use variables
26562
+ captured by the route's pathTemplate matchers.
26563
+ pathTemplateRewrite may only be used when all of a route's
26564
+ MatchRules specify pathTemplate.
26565
+ Only one of pathPrefixRewrite and pathTemplateRewrite may be
26566
+ specified.
26493
26567
  """
26494
26568
  if host_rewrite is not None:
26495
26569
  pulumi.set(__self__, "host_rewrite", host_rewrite)
26496
26570
  if path_prefix_rewrite is not None:
26497
26571
  pulumi.set(__self__, "path_prefix_rewrite", path_prefix_rewrite)
26572
+ if path_template_rewrite is not None:
26573
+ pulumi.set(__self__, "path_template_rewrite", path_template_rewrite)
26498
26574
 
26499
26575
  @property
26500
26576
  @pulumi.getter(name="hostRewrite")
@@ -26522,6 +26598,28 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs:
26522
26598
  def path_prefix_rewrite(self, value: Optional[pulumi.Input[str]]):
26523
26599
  pulumi.set(self, "path_prefix_rewrite", value)
26524
26600
 
26601
+ @property
26602
+ @pulumi.getter(name="pathTemplateRewrite")
26603
+ def path_template_rewrite(self) -> Optional[pulumi.Input[str]]:
26604
+ """
26605
+ Prior to forwarding the request to the selected origin, if the
26606
+ request matched a pathTemplateMatch, the matching portion of the
26607
+ request's path is replaced re-written using the pattern specified
26608
+ by pathTemplateRewrite.
26609
+ pathTemplateRewrite must be between 1 and 255 characters
26610
+ (inclusive), must start with a '/', and must only use variables
26611
+ captured by the route's pathTemplate matchers.
26612
+ pathTemplateRewrite may only be used when all of a route's
26613
+ MatchRules specify pathTemplate.
26614
+ Only one of pathPrefixRewrite and pathTemplateRewrite may be
26615
+ specified.
26616
+ """
26617
+ return pulumi.get(self, "path_template_rewrite")
26618
+
26619
+ @path_template_rewrite.setter
26620
+ def path_template_rewrite(self, value: Optional[pulumi.Input[str]]):
26621
+ pulumi.set(self, "path_template_rewrite", value)
26622
+
26525
26623
 
26526
26624
  @pulumi.input_type
26527
26625
  class RegionUrlMapPathMatcherRouteRuleRouteActionWeightedBackendServiceArgs: