pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.24.0a1743177741__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -95,6 +95,11 @@ __all__ = [
95
95
  'ImageIamMemberCondition',
96
96
  'ImageImageEncryptionKey',
97
97
  'ImageRawDisk',
98
+ 'ImageShieldedInstanceInitialState',
99
+ 'ImageShieldedInstanceInitialStateDb',
100
+ 'ImageShieldedInstanceInitialStateDbx',
101
+ 'ImageShieldedInstanceInitialStateKek',
102
+ 'ImageShieldedInstanceInitialStatePk',
98
103
  'InstanceAdvancedMachineFeatures',
99
104
  'InstanceAttachedDisk',
100
105
  'InstanceBootDisk',
@@ -519,6 +524,7 @@ __all__ = [
519
524
  'ResourcePolicySnapshotSchedulePolicyScheduleWeeklySchedule',
520
525
  'ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeek',
521
526
  'ResourcePolicySnapshotSchedulePolicySnapshotProperties',
527
+ 'ResourcePolicyWorkloadPolicy',
522
528
  'RouteAsPath',
523
529
  'RouteWarning',
524
530
  'RouteWarningData',
@@ -728,6 +734,7 @@ __all__ = [
728
734
  'GetHealthCheckLogConfigResult',
729
735
  'GetHealthCheckSslHealthCheckResult',
730
736
  'GetHealthCheckTcpHealthCheckResult',
737
+ 'GetImagesImageResult',
731
738
  'GetInstanceAdvancedMachineFeatureResult',
732
739
  'GetInstanceAttachedDiskResult',
733
740
  'GetInstanceBootDiskResult',
@@ -870,6 +877,7 @@ __all__ = [
870
877
  'GetResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleResult',
871
878
  'GetResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeekResult',
872
879
  'GetResourcePolicySnapshotSchedulePolicySnapshotPropertyResult',
880
+ 'GetResourcePolicyWorkloadPolicyResult',
873
881
  'GetRouterBgpResult',
874
882
  'GetRouterBgpAdvertisedIpRangeResult',
875
883
  'GetRouterNatLogConfigResult',
@@ -7544,6 +7552,265 @@ class ImageRawDisk(dict):
7544
7552
  return pulumi.get(self, "sha1")
7545
7553
 
7546
7554
 
7555
+ @pulumi.output_type
7556
+ class ImageShieldedInstanceInitialState(dict):
7557
+ def __init__(__self__, *,
7558
+ dbs: Optional[Sequence['outputs.ImageShieldedInstanceInitialStateDb']] = None,
7559
+ dbxs: Optional[Sequence['outputs.ImageShieldedInstanceInitialStateDbx']] = None,
7560
+ keks: Optional[Sequence['outputs.ImageShieldedInstanceInitialStateKek']] = None,
7561
+ pk: Optional['outputs.ImageShieldedInstanceInitialStatePk'] = None):
7562
+ """
7563
+ :param Sequence['ImageShieldedInstanceInitialStateDbArgs'] dbs: The Key Database (db).
7564
+ Structure is documented below.
7565
+ :param Sequence['ImageShieldedInstanceInitialStateDbxArgs'] dbxs: The forbidden key database (dbx).
7566
+ Structure is documented below.
7567
+ :param Sequence['ImageShieldedInstanceInitialStateKekArgs'] keks: The Key Exchange Key (KEK).
7568
+ Structure is documented below.
7569
+ :param 'ImageShieldedInstanceInitialStatePkArgs' pk: The Platform Key (PK).
7570
+ Structure is documented below.
7571
+ """
7572
+ if dbs is not None:
7573
+ pulumi.set(__self__, "dbs", dbs)
7574
+ if dbxs is not None:
7575
+ pulumi.set(__self__, "dbxs", dbxs)
7576
+ if keks is not None:
7577
+ pulumi.set(__self__, "keks", keks)
7578
+ if pk is not None:
7579
+ pulumi.set(__self__, "pk", pk)
7580
+
7581
+ @property
7582
+ @pulumi.getter
7583
+ def dbs(self) -> Optional[Sequence['outputs.ImageShieldedInstanceInitialStateDb']]:
7584
+ """
7585
+ The Key Database (db).
7586
+ Structure is documented below.
7587
+ """
7588
+ return pulumi.get(self, "dbs")
7589
+
7590
+ @property
7591
+ @pulumi.getter
7592
+ def dbxs(self) -> Optional[Sequence['outputs.ImageShieldedInstanceInitialStateDbx']]:
7593
+ """
7594
+ The forbidden key database (dbx).
7595
+ Structure is documented below.
7596
+ """
7597
+ return pulumi.get(self, "dbxs")
7598
+
7599
+ @property
7600
+ @pulumi.getter
7601
+ def keks(self) -> Optional[Sequence['outputs.ImageShieldedInstanceInitialStateKek']]:
7602
+ """
7603
+ The Key Exchange Key (KEK).
7604
+ Structure is documented below.
7605
+ """
7606
+ return pulumi.get(self, "keks")
7607
+
7608
+ @property
7609
+ @pulumi.getter
7610
+ def pk(self) -> Optional['outputs.ImageShieldedInstanceInitialStatePk']:
7611
+ """
7612
+ The Platform Key (PK).
7613
+ Structure is documented below.
7614
+ """
7615
+ return pulumi.get(self, "pk")
7616
+
7617
+
7618
+ @pulumi.output_type
7619
+ class ImageShieldedInstanceInitialStateDb(dict):
7620
+ @staticmethod
7621
+ def __key_warning(key: str):
7622
+ suggest = None
7623
+ if key == "fileType":
7624
+ suggest = "file_type"
7625
+
7626
+ if suggest:
7627
+ pulumi.log.warn(f"Key '{key}' not found in ImageShieldedInstanceInitialStateDb. Access the value via the '{suggest}' property getter instead.")
7628
+
7629
+ def __getitem__(self, key: str) -> Any:
7630
+ ImageShieldedInstanceInitialStateDb.__key_warning(key)
7631
+ return super().__getitem__(key)
7632
+
7633
+ def get(self, key: str, default = None) -> Any:
7634
+ ImageShieldedInstanceInitialStateDb.__key_warning(key)
7635
+ return super().get(key, default)
7636
+
7637
+ def __init__(__self__, *,
7638
+ content: str,
7639
+ file_type: Optional[str] = None):
7640
+ """
7641
+ :param str content: The raw content in the secure keys file.
7642
+ A base64-encoded string.
7643
+ :param str file_type: The file type of source file.
7644
+ """
7645
+ pulumi.set(__self__, "content", content)
7646
+ if file_type is not None:
7647
+ pulumi.set(__self__, "file_type", file_type)
7648
+
7649
+ @property
7650
+ @pulumi.getter
7651
+ def content(self) -> str:
7652
+ """
7653
+ The raw content in the secure keys file.
7654
+ A base64-encoded string.
7655
+ """
7656
+ return pulumi.get(self, "content")
7657
+
7658
+ @property
7659
+ @pulumi.getter(name="fileType")
7660
+ def file_type(self) -> Optional[str]:
7661
+ """
7662
+ The file type of source file.
7663
+ """
7664
+ return pulumi.get(self, "file_type")
7665
+
7666
+
7667
+ @pulumi.output_type
7668
+ class ImageShieldedInstanceInitialStateDbx(dict):
7669
+ @staticmethod
7670
+ def __key_warning(key: str):
7671
+ suggest = None
7672
+ if key == "fileType":
7673
+ suggest = "file_type"
7674
+
7675
+ if suggest:
7676
+ pulumi.log.warn(f"Key '{key}' not found in ImageShieldedInstanceInitialStateDbx. Access the value via the '{suggest}' property getter instead.")
7677
+
7678
+ def __getitem__(self, key: str) -> Any:
7679
+ ImageShieldedInstanceInitialStateDbx.__key_warning(key)
7680
+ return super().__getitem__(key)
7681
+
7682
+ def get(self, key: str, default = None) -> Any:
7683
+ ImageShieldedInstanceInitialStateDbx.__key_warning(key)
7684
+ return super().get(key, default)
7685
+
7686
+ def __init__(__self__, *,
7687
+ content: str,
7688
+ file_type: Optional[str] = None):
7689
+ """
7690
+ :param str content: The raw content in the secure keys file.
7691
+ A base64-encoded string.
7692
+ :param str file_type: The file type of source file.
7693
+ """
7694
+ pulumi.set(__self__, "content", content)
7695
+ if file_type is not None:
7696
+ pulumi.set(__self__, "file_type", file_type)
7697
+
7698
+ @property
7699
+ @pulumi.getter
7700
+ def content(self) -> str:
7701
+ """
7702
+ The raw content in the secure keys file.
7703
+ A base64-encoded string.
7704
+ """
7705
+ return pulumi.get(self, "content")
7706
+
7707
+ @property
7708
+ @pulumi.getter(name="fileType")
7709
+ def file_type(self) -> Optional[str]:
7710
+ """
7711
+ The file type of source file.
7712
+ """
7713
+ return pulumi.get(self, "file_type")
7714
+
7715
+
7716
+ @pulumi.output_type
7717
+ class ImageShieldedInstanceInitialStateKek(dict):
7718
+ @staticmethod
7719
+ def __key_warning(key: str):
7720
+ suggest = None
7721
+ if key == "fileType":
7722
+ suggest = "file_type"
7723
+
7724
+ if suggest:
7725
+ pulumi.log.warn(f"Key '{key}' not found in ImageShieldedInstanceInitialStateKek. Access the value via the '{suggest}' property getter instead.")
7726
+
7727
+ def __getitem__(self, key: str) -> Any:
7728
+ ImageShieldedInstanceInitialStateKek.__key_warning(key)
7729
+ return super().__getitem__(key)
7730
+
7731
+ def get(self, key: str, default = None) -> Any:
7732
+ ImageShieldedInstanceInitialStateKek.__key_warning(key)
7733
+ return super().get(key, default)
7734
+
7735
+ def __init__(__self__, *,
7736
+ content: str,
7737
+ file_type: Optional[str] = None):
7738
+ """
7739
+ :param str content: The raw content in the secure keys file.
7740
+ A base64-encoded string.
7741
+ :param str file_type: The file type of source file.
7742
+ """
7743
+ pulumi.set(__self__, "content", content)
7744
+ if file_type is not None:
7745
+ pulumi.set(__self__, "file_type", file_type)
7746
+
7747
+ @property
7748
+ @pulumi.getter
7749
+ def content(self) -> str:
7750
+ """
7751
+ The raw content in the secure keys file.
7752
+ A base64-encoded string.
7753
+ """
7754
+ return pulumi.get(self, "content")
7755
+
7756
+ @property
7757
+ @pulumi.getter(name="fileType")
7758
+ def file_type(self) -> Optional[str]:
7759
+ """
7760
+ The file type of source file.
7761
+ """
7762
+ return pulumi.get(self, "file_type")
7763
+
7764
+
7765
+ @pulumi.output_type
7766
+ class ImageShieldedInstanceInitialStatePk(dict):
7767
+ @staticmethod
7768
+ def __key_warning(key: str):
7769
+ suggest = None
7770
+ if key == "fileType":
7771
+ suggest = "file_type"
7772
+
7773
+ if suggest:
7774
+ pulumi.log.warn(f"Key '{key}' not found in ImageShieldedInstanceInitialStatePk. Access the value via the '{suggest}' property getter instead.")
7775
+
7776
+ def __getitem__(self, key: str) -> Any:
7777
+ ImageShieldedInstanceInitialStatePk.__key_warning(key)
7778
+ return super().__getitem__(key)
7779
+
7780
+ def get(self, key: str, default = None) -> Any:
7781
+ ImageShieldedInstanceInitialStatePk.__key_warning(key)
7782
+ return super().get(key, default)
7783
+
7784
+ def __init__(__self__, *,
7785
+ content: str,
7786
+ file_type: Optional[str] = None):
7787
+ """
7788
+ :param str content: The raw content in the secure keys file.
7789
+ A base64-encoded string.
7790
+ :param str file_type: The file type of source file.
7791
+ """
7792
+ pulumi.set(__self__, "content", content)
7793
+ if file_type is not None:
7794
+ pulumi.set(__self__, "file_type", file_type)
7795
+
7796
+ @property
7797
+ @pulumi.getter
7798
+ def content(self) -> str:
7799
+ """
7800
+ The raw content in the secure keys file.
7801
+ A base64-encoded string.
7802
+ """
7803
+ return pulumi.get(self, "content")
7804
+
7805
+ @property
7806
+ @pulumi.getter(name="fileType")
7807
+ def file_type(self) -> Optional[str]:
7808
+ """
7809
+ The file type of source file.
7810
+ """
7811
+ return pulumi.get(self, "file_type")
7812
+
7813
+
7547
7814
  @pulumi.output_type
7548
7815
  class InstanceAdvancedMachineFeatures(dict):
7549
7816
  @staticmethod
@@ -7786,6 +8053,8 @@ class InstanceBootDisk(dict):
7786
8053
  suggest = "disk_encryption_key_raw"
7787
8054
  elif key == "diskEncryptionKeySha256":
7788
8055
  suggest = "disk_encryption_key_sha256"
8056
+ elif key == "guestOsFeatures":
8057
+ suggest = "guest_os_features"
7789
8058
  elif key == "initializeParams":
7790
8059
  suggest = "initialize_params"
7791
8060
  elif key == "kmsKeySelfLink":
@@ -7807,6 +8076,7 @@ class InstanceBootDisk(dict):
7807
8076
  device_name: Optional[str] = None,
7808
8077
  disk_encryption_key_raw: Optional[str] = None,
7809
8078
  disk_encryption_key_sha256: Optional[str] = None,
8079
+ guest_os_features: Optional[Sequence[str]] = None,
7810
8080
  initialize_params: Optional['outputs.InstanceBootDiskInitializeParams'] = None,
7811
8081
  interface: Optional[str] = None,
7812
8082
  kms_key_self_link: Optional[str] = None,
@@ -7825,6 +8095,7 @@ class InstanceBootDisk(dict):
7825
8095
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
7826
8096
  encoded SHA-256 hash of the [customer-supplied encryption key]
7827
8097
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8098
+ :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images. 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.
7828
8099
  :param 'InstanceBootDiskInitializeParamsArgs' initialize_params: Parameters for a new disk that will be created
7829
8100
  alongside the new instance. Either `initialize_params` or `source` must be set.
7830
8101
  Structure is documented below.
@@ -7846,6 +8117,8 @@ class InstanceBootDisk(dict):
7846
8117
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
7847
8118
  if disk_encryption_key_sha256 is not None:
7848
8119
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
8120
+ if guest_os_features is not None:
8121
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
7849
8122
  if initialize_params is not None:
7850
8123
  pulumi.set(__self__, "initialize_params", initialize_params)
7851
8124
  if interface is not None:
@@ -7897,6 +8170,14 @@ class InstanceBootDisk(dict):
7897
8170
  """
7898
8171
  return pulumi.get(self, "disk_encryption_key_sha256")
7899
8172
 
8173
+ @property
8174
+ @pulumi.getter(name="guestOsFeatures")
8175
+ def guest_os_features(self) -> Optional[Sequence[str]]:
8176
+ """
8177
+ A list of features to enable on the guest operating system. Applicable only for bootable images. 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.
8178
+ """
8179
+ return pulumi.get(self, "guest_os_features")
8180
+
7900
8181
  @property
7901
8182
  @pulumi.getter(name="initializeParams")
7902
8183
  def initialize_params(self) -> Optional['outputs.InstanceBootDiskInitializeParams']:
@@ -7975,6 +8256,7 @@ class InstanceBootDiskInitializeParams(dict):
7975
8256
  return super().get(key, default)
7976
8257
 
7977
8258
  def __init__(__self__, *,
8259
+ architecture: Optional[str] = None,
7978
8260
  enable_confidential_compute: Optional[bool] = None,
7979
8261
  image: Optional[str] = None,
7980
8262
  labels: Optional[Mapping[str, str]] = None,
@@ -7986,6 +8268,7 @@ class InstanceBootDiskInitializeParams(dict):
7986
8268
  storage_pool: Optional[str] = None,
7987
8269
  type: Optional[str] = None):
7988
8270
  """
8271
+ :param str architecture: The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
7989
8272
  :param bool enable_confidential_compute: Whether this disk is using confidential compute mode.
7990
8273
  Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
7991
8274
  :param str image: The image from which to initialize this disk. This can be
@@ -8025,6 +8308,8 @@ class InstanceBootDiskInitializeParams(dict):
8025
8308
  * /{storagePool}
8026
8309
  :param str type: The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
8027
8310
  """
8311
+ if architecture is not None:
8312
+ pulumi.set(__self__, "architecture", architecture)
8028
8313
  if enable_confidential_compute is not None:
8029
8314
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
8030
8315
  if image is not None:
@@ -8046,6 +8331,14 @@ class InstanceBootDiskInitializeParams(dict):
8046
8331
  if type is not None:
8047
8332
  pulumi.set(__self__, "type", type)
8048
8333
 
8334
+ @property
8335
+ @pulumi.getter
8336
+ def architecture(self) -> Optional[str]:
8337
+ """
8338
+ The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
8339
+ """
8340
+ return pulumi.get(self, "architecture")
8341
+
8049
8342
  @property
8050
8343
  @pulumi.getter(name="enableConfidentialCompute")
8051
8344
  def enable_confidential_compute(self) -> Optional[bool]:
@@ -8425,6 +8718,8 @@ class InstanceFromMachineImageBootDisk(dict):
8425
8718
  suggest = "disk_encryption_key_raw"
8426
8719
  elif key == "diskEncryptionKeySha256":
8427
8720
  suggest = "disk_encryption_key_sha256"
8721
+ elif key == "guestOsFeatures":
8722
+ suggest = "guest_os_features"
8428
8723
  elif key == "initializeParams":
8429
8724
  suggest = "initialize_params"
8430
8725
  elif key == "kmsKeySelfLink":
@@ -8446,6 +8741,7 @@ class InstanceFromMachineImageBootDisk(dict):
8446
8741
  device_name: Optional[str] = None,
8447
8742
  disk_encryption_key_raw: Optional[str] = None,
8448
8743
  disk_encryption_key_sha256: Optional[str] = None,
8744
+ guest_os_features: Optional[Sequence[str]] = None,
8449
8745
  initialize_params: Optional['outputs.InstanceFromMachineImageBootDiskInitializeParams'] = None,
8450
8746
  interface: Optional[str] = None,
8451
8747
  kms_key_self_link: Optional[str] = None,
@@ -8456,6 +8752,7 @@ class InstanceFromMachineImageBootDisk(dict):
8456
8752
  :param str device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
8457
8753
  :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
8458
8754
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
8755
+ :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
8459
8756
  :param 'InstanceFromMachineImageBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
8460
8757
  :param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
8461
8758
  :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
@@ -8470,6 +8767,8 @@ class InstanceFromMachineImageBootDisk(dict):
8470
8767
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
8471
8768
  if disk_encryption_key_sha256 is not None:
8472
8769
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
8770
+ if guest_os_features is not None:
8771
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
8473
8772
  if initialize_params is not None:
8474
8773
  pulumi.set(__self__, "initialize_params", initialize_params)
8475
8774
  if interface is not None:
@@ -8513,6 +8812,14 @@ class InstanceFromMachineImageBootDisk(dict):
8513
8812
  """
8514
8813
  return pulumi.get(self, "disk_encryption_key_sha256")
8515
8814
 
8815
+ @property
8816
+ @pulumi.getter(name="guestOsFeatures")
8817
+ def guest_os_features(self) -> Optional[Sequence[str]]:
8818
+ """
8819
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
8820
+ """
8821
+ return pulumi.get(self, "guest_os_features")
8822
+
8516
8823
  @property
8517
8824
  @pulumi.getter(name="initializeParams")
8518
8825
  def initialize_params(self) -> Optional['outputs.InstanceFromMachineImageBootDiskInitializeParams']:
@@ -8584,6 +8891,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8584
8891
  return super().get(key, default)
8585
8892
 
8586
8893
  def __init__(__self__, *,
8894
+ architecture: Optional[str] = None,
8587
8895
  enable_confidential_compute: Optional[bool] = None,
8588
8896
  image: Optional[str] = None,
8589
8897
  labels: Optional[Mapping[str, str]] = None,
@@ -8595,6 +8903,7 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8595
8903
  storage_pool: Optional[str] = None,
8596
8904
  type: Optional[str] = None):
8597
8905
  """
8906
+ :param str architecture: The architecture of the disk. One of "X86_64" or "ARM64".
8598
8907
  :param bool enable_confidential_compute: A flag to enable confidential compute mode on boot disk
8599
8908
  :param str image: The image from which this disk was initialised.
8600
8909
  :param Mapping[str, str] labels: A set of key/value label pairs assigned to the disk.
@@ -8606,6 +8915,8 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8606
8915
  :param str storage_pool: The URL of the storage pool in which the new disk is created
8607
8916
  :param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
8608
8917
  """
8918
+ if architecture is not None:
8919
+ pulumi.set(__self__, "architecture", architecture)
8609
8920
  if enable_confidential_compute is not None:
8610
8921
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
8611
8922
  if image is not None:
@@ -8627,6 +8938,14 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8627
8938
  if type is not None:
8628
8939
  pulumi.set(__self__, "type", type)
8629
8940
 
8941
+ @property
8942
+ @pulumi.getter
8943
+ def architecture(self) -> Optional[str]:
8944
+ """
8945
+ The architecture of the disk. One of "X86_64" or "ARM64".
8946
+ """
8947
+ return pulumi.get(self, "architecture")
8948
+
8630
8949
  @property
8631
8950
  @pulumi.getter(name="enableConfidentialCompute")
8632
8951
  def enable_confidential_compute(self) -> Optional[bool]:
@@ -10250,6 +10569,8 @@ class InstanceFromTemplateBootDisk(dict):
10250
10569
  suggest = "disk_encryption_key_raw"
10251
10570
  elif key == "diskEncryptionKeySha256":
10252
10571
  suggest = "disk_encryption_key_sha256"
10572
+ elif key == "guestOsFeatures":
10573
+ suggest = "guest_os_features"
10253
10574
  elif key == "initializeParams":
10254
10575
  suggest = "initialize_params"
10255
10576
  elif key == "kmsKeySelfLink":
@@ -10271,6 +10592,7 @@ class InstanceFromTemplateBootDisk(dict):
10271
10592
  device_name: Optional[str] = None,
10272
10593
  disk_encryption_key_raw: Optional[str] = None,
10273
10594
  disk_encryption_key_sha256: Optional[str] = None,
10595
+ guest_os_features: Optional[Sequence[str]] = None,
10274
10596
  initialize_params: Optional['outputs.InstanceFromTemplateBootDiskInitializeParams'] = None,
10275
10597
  interface: Optional[str] = None,
10276
10598
  kms_key_self_link: Optional[str] = None,
@@ -10281,6 +10603,7 @@ class InstanceFromTemplateBootDisk(dict):
10281
10603
  :param str device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
10282
10604
  :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
10283
10605
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
10606
+ :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
10284
10607
  :param 'InstanceFromTemplateBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
10285
10608
  :param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
10286
10609
  :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
@@ -10295,6 +10618,8 @@ class InstanceFromTemplateBootDisk(dict):
10295
10618
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
10296
10619
  if disk_encryption_key_sha256 is not None:
10297
10620
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
10621
+ if guest_os_features is not None:
10622
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
10298
10623
  if initialize_params is not None:
10299
10624
  pulumi.set(__self__, "initialize_params", initialize_params)
10300
10625
  if interface is not None:
@@ -10338,6 +10663,14 @@ class InstanceFromTemplateBootDisk(dict):
10338
10663
  """
10339
10664
  return pulumi.get(self, "disk_encryption_key_sha256")
10340
10665
 
10666
+ @property
10667
+ @pulumi.getter(name="guestOsFeatures")
10668
+ def guest_os_features(self) -> Optional[Sequence[str]]:
10669
+ """
10670
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
10671
+ """
10672
+ return pulumi.get(self, "guest_os_features")
10673
+
10341
10674
  @property
10342
10675
  @pulumi.getter(name="initializeParams")
10343
10676
  def initialize_params(self) -> Optional['outputs.InstanceFromTemplateBootDiskInitializeParams']:
@@ -10409,6 +10742,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10409
10742
  return super().get(key, default)
10410
10743
 
10411
10744
  def __init__(__self__, *,
10745
+ architecture: Optional[str] = None,
10412
10746
  enable_confidential_compute: Optional[bool] = None,
10413
10747
  image: Optional[str] = None,
10414
10748
  labels: Optional[Mapping[str, str]] = None,
@@ -10420,6 +10754,7 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10420
10754
  storage_pool: Optional[str] = None,
10421
10755
  type: Optional[str] = None):
10422
10756
  """
10757
+ :param str architecture: The architecture of the disk. One of "X86_64" or "ARM64".
10423
10758
  :param bool enable_confidential_compute: A flag to enable confidential compute mode on boot disk
10424
10759
  :param str image: The image from which this disk was initialised.
10425
10760
  :param Mapping[str, str] labels: A set of key/value label pairs assigned to the disk.
@@ -10431,6 +10766,8 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10431
10766
  :param str storage_pool: The URL of the storage pool in which the new disk is created
10432
10767
  :param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
10433
10768
  """
10769
+ if architecture is not None:
10770
+ pulumi.set(__self__, "architecture", architecture)
10434
10771
  if enable_confidential_compute is not None:
10435
10772
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
10436
10773
  if image is not None:
@@ -10452,6 +10789,14 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10452
10789
  if type is not None:
10453
10790
  pulumi.set(__self__, "type", type)
10454
10791
 
10792
+ @property
10793
+ @pulumi.getter
10794
+ def architecture(self) -> Optional[str]:
10795
+ """
10796
+ The architecture of the disk. One of "X86_64" or "ARM64".
10797
+ """
10798
+ return pulumi.get(self, "architecture")
10799
+
10455
10800
  @property
10456
10801
  @pulumi.getter(name="enableConfidentialCompute")
10457
10802
  def enable_confidential_compute(self) -> Optional[bool]:
@@ -11949,6 +12294,8 @@ class InstanceGroupManagerInstanceLifecyclePolicy(dict):
11949
12294
  suggest = "default_action_on_failure"
11950
12295
  elif key == "forceUpdateOnRepair":
11951
12296
  suggest = "force_update_on_repair"
12297
+ elif key == "onFailedHealthCheck":
12298
+ suggest = "on_failed_health_check"
11952
12299
 
11953
12300
  if suggest:
11954
12301
  pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerInstanceLifecyclePolicy. Access the value via the '{suggest}' property getter instead.")
@@ -11963,23 +12310,27 @@ class InstanceGroupManagerInstanceLifecyclePolicy(dict):
11963
12310
 
11964
12311
  def __init__(__self__, *,
11965
12312
  default_action_on_failure: Optional[str] = None,
11966
- force_update_on_repair: Optional[str] = None):
12313
+ force_update_on_repair: Optional[str] = None,
12314
+ on_failed_health_check: Optional[str] = None):
11967
12315
  """
11968
- :param str default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
11969
- - - -
12316
+ :param str default_action_on_failure: , Specifies the action that a MIG performs on a failed VM. If the value of the `on_failed_health_check` field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid options are: `DO_NOTHING`, `REPAIR`. If `DO_NOTHING`, then MIG does not repair a failed VM. If `REPAIR` (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG.
11970
12317
  :param str force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
12318
+ :param str on_failed_health_check: , Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid options are: `DEFAULT_ACTION`, `DO_NOTHING`, `REPAIR`. If `DEFAULT_ACTION` (default), then MIG uses the same action configured for the `default_action_on_failure` field. If `DO_NOTHING`, then MIG does not repair unhealthy VM. If `REPAIR`, then MIG automatically repairs an unhealthy VM by recreating it. For more information, see about repairing VMs in a MIG.
12319
+
12320
+ - - -
11971
12321
  """
11972
12322
  if default_action_on_failure is not None:
11973
12323
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
11974
12324
  if force_update_on_repair is not None:
11975
12325
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
12326
+ if on_failed_health_check is not None:
12327
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
11976
12328
 
11977
12329
  @property
11978
12330
  @pulumi.getter(name="defaultActionOnFailure")
11979
12331
  def default_action_on_failure(self) -> Optional[str]:
11980
12332
  """
11981
- , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
11982
- - - -
12333
+ , Specifies the action that a MIG performs on a failed VM. If the value of the `on_failed_health_check` field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid options are: `DO_NOTHING`, `REPAIR`. If `DO_NOTHING`, then MIG does not repair a failed VM. If `REPAIR` (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG.
11983
12334
  """
11984
12335
  return pulumi.get(self, "default_action_on_failure")
11985
12336
 
@@ -11991,6 +12342,16 @@ class InstanceGroupManagerInstanceLifecyclePolicy(dict):
11991
12342
  """
11992
12343
  return pulumi.get(self, "force_update_on_repair")
11993
12344
 
12345
+ @property
12346
+ @pulumi.getter(name="onFailedHealthCheck")
12347
+ def on_failed_health_check(self) -> Optional[str]:
12348
+ """
12349
+ , Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid options are: `DEFAULT_ACTION`, `DO_NOTHING`, `REPAIR`. If `DEFAULT_ACTION` (default), then MIG uses the same action configured for the `default_action_on_failure` field. If `DO_NOTHING`, then MIG does not repair unhealthy VM. If `REPAIR`, then MIG automatically repairs an unhealthy VM by recreating it. For more information, see about repairing VMs in a MIG.
12350
+
12351
+ - - -
12352
+ """
12353
+ return pulumi.get(self, "on_failed_health_check")
12354
+
11994
12355
 
11995
12356
  @pulumi.output_type
11996
12357
  class InstanceGroupManagerNamedPort(dict):
@@ -24360,6 +24721,8 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicy(dict):
24360
24721
  suggest = "default_action_on_failure"
24361
24722
  elif key == "forceUpdateOnRepair":
24362
24723
  suggest = "force_update_on_repair"
24724
+ elif key == "onFailedHealthCheck":
24725
+ suggest = "on_failed_health_check"
24363
24726
 
24364
24727
  if suggest:
24365
24728
  pulumi.log.warn(f"Key '{key}' not found in RegionInstanceGroupManagerInstanceLifecyclePolicy. Access the value via the '{suggest}' property getter instead.")
@@ -24374,27 +24737,28 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicy(dict):
24374
24737
 
24375
24738
  def __init__(__self__, *,
24376
24739
  default_action_on_failure: Optional[str] = None,
24377
- force_update_on_repair: Optional[str] = None):
24740
+ force_update_on_repair: Optional[str] = None,
24741
+ on_failed_health_check: Optional[str] = None):
24378
24742
  """
24379
- :param str default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
24743
+ :param str default_action_on_failure: , Specifies the action that a MIG performs on a failed VM. If the value of the `on_failed_health_check` field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid options are: `DO_NOTHING`, `REPAIR`. If `DO_NOTHING`, then MIG does not repair a failed VM. If `REPAIR` (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG.
24744
+ :param str force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
24745
+ :param str on_failed_health_check: , Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid options are: `DEFAULT_ACTION`, `DO_NOTHING`, `REPAIR`. If `DEFAULT_ACTION` (default), then MIG uses the same action configured for the `default_action_on_failure` field. If `DO_NOTHING`, then MIG does not repair unhealthy VM. If `REPAIR`, then MIG automatically repairs an unhealthy VM by recreating it. For more information, see about repairing VMs in a MIG.
24380
24746
 
24381
24747
  - - -
24382
24748
  <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
24383
- :param str force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
24384
24749
  """
24385
24750
  if default_action_on_failure is not None:
24386
24751
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
24387
24752
  if force_update_on_repair is not None:
24388
24753
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
24754
+ if on_failed_health_check is not None:
24755
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
24389
24756
 
24390
24757
  @property
24391
24758
  @pulumi.getter(name="defaultActionOnFailure")
24392
24759
  def default_action_on_failure(self) -> Optional[str]:
24393
24760
  """
24394
- , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
24395
-
24396
- - - -
24397
- <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
24761
+ , Specifies the action that a MIG performs on a failed VM. If the value of the `on_failed_health_check` field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid options are: `DO_NOTHING`, `REPAIR`. If `DO_NOTHING`, then MIG does not repair a failed VM. If `REPAIR` (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG.
24398
24762
  """
24399
24763
  return pulumi.get(self, "default_action_on_failure")
24400
24764
 
@@ -24406,6 +24770,17 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicy(dict):
24406
24770
  """
24407
24771
  return pulumi.get(self, "force_update_on_repair")
24408
24772
 
24773
+ @property
24774
+ @pulumi.getter(name="onFailedHealthCheck")
24775
+ def on_failed_health_check(self) -> Optional[str]:
24776
+ """
24777
+ , Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid options are: `DEFAULT_ACTION`, `DO_NOTHING`, `REPAIR`. If `DEFAULT_ACTION` (default), then MIG uses the same action configured for the `default_action_on_failure` field. If `DO_NOTHING`, then MIG does not repair unhealthy VM. If `REPAIR`, then MIG automatically repairs an unhealthy VM by recreating it. For more information, see about repairing VMs in a MIG.
24778
+
24779
+ - - -
24780
+ <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
24781
+ """
24782
+ return pulumi.get(self, "on_failed_health_check")
24783
+
24409
24784
 
24410
24785
  @pulumi.output_type
24411
24786
  class RegionInstanceGroupManagerNamedPort(dict):
@@ -38128,6 +38503,8 @@ class ResourcePolicyGroupPlacementPolicy(dict):
38128
38503
  suggest = None
38129
38504
  if key == "availabilityDomainCount":
38130
38505
  suggest = "availability_domain_count"
38506
+ elif key == "gpuTopology":
38507
+ suggest = "gpu_topology"
38131
38508
  elif key == "maxDistance":
38132
38509
  suggest = "max_distance"
38133
38510
  elif key == "vmCount":
@@ -38147,6 +38524,7 @@ class ResourcePolicyGroupPlacementPolicy(dict):
38147
38524
  def __init__(__self__, *,
38148
38525
  availability_domain_count: Optional[int] = None,
38149
38526
  collocation: Optional[str] = None,
38527
+ gpu_topology: Optional[str] = None,
38150
38528
  max_distance: Optional[int] = None,
38151
38529
  vm_count: Optional[int] = None):
38152
38530
  """
@@ -38157,6 +38535,7 @@ class ResourcePolicyGroupPlacementPolicy(dict):
38157
38535
  with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
38158
38536
  attached.
38159
38537
  Possible values are: `COLLOCATED`.
38538
+ :param str gpu_topology: Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
38160
38539
  :param int max_distance: Specifies the number of max logical switches.
38161
38540
  :param int vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
38162
38541
  unless you use a compact policy and you want your policy to work only if it contains this
@@ -38166,6 +38545,8 @@ class ResourcePolicyGroupPlacementPolicy(dict):
38166
38545
  pulumi.set(__self__, "availability_domain_count", availability_domain_count)
38167
38546
  if collocation is not None:
38168
38547
  pulumi.set(__self__, "collocation", collocation)
38548
+ if gpu_topology is not None:
38549
+ pulumi.set(__self__, "gpu_topology", gpu_topology)
38169
38550
  if max_distance is not None:
38170
38551
  pulumi.set(__self__, "max_distance", max_distance)
38171
38552
  if vm_count is not None:
@@ -38192,6 +38573,14 @@ class ResourcePolicyGroupPlacementPolicy(dict):
38192
38573
  """
38193
38574
  return pulumi.get(self, "collocation")
38194
38575
 
38576
+ @property
38577
+ @pulumi.getter(name="gpuTopology")
38578
+ def gpu_topology(self) -> Optional[str]:
38579
+ """
38580
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
38581
+ """
38582
+ return pulumi.get(self, "gpu_topology")
38583
+
38195
38584
  @property
38196
38585
  @pulumi.getter(name="maxDistance")
38197
38586
  def max_distance(self) -> Optional[int]:
@@ -38809,6 +39198,75 @@ class ResourcePolicySnapshotSchedulePolicySnapshotProperties(dict):
38809
39198
  return pulumi.get(self, "storage_locations")
38810
39199
 
38811
39200
 
39201
+ @pulumi.output_type
39202
+ class ResourcePolicyWorkloadPolicy(dict):
39203
+ @staticmethod
39204
+ def __key_warning(key: str):
39205
+ suggest = None
39206
+ if key == "acceleratorTopology":
39207
+ suggest = "accelerator_topology"
39208
+ elif key == "maxTopologyDistance":
39209
+ suggest = "max_topology_distance"
39210
+
39211
+ if suggest:
39212
+ pulumi.log.warn(f"Key '{key}' not found in ResourcePolicyWorkloadPolicy. Access the value via the '{suggest}' property getter instead.")
39213
+
39214
+ def __getitem__(self, key: str) -> Any:
39215
+ ResourcePolicyWorkloadPolicy.__key_warning(key)
39216
+ return super().__getitem__(key)
39217
+
39218
+ def get(self, key: str, default = None) -> Any:
39219
+ ResourcePolicyWorkloadPolicy.__key_warning(key)
39220
+ return super().get(key, default)
39221
+
39222
+ def __init__(__self__, *,
39223
+ type: str,
39224
+ accelerator_topology: Optional[str] = None,
39225
+ max_topology_distance: Optional[str] = None):
39226
+ """
39227
+ :param str type: The type of workload policy.
39228
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
39229
+ :param str accelerator_topology: The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
39230
+ and cannot be set if max topology distance is set.
39231
+ :param str max_topology_distance: The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
39232
+ and cannot be set if accelerator topology is set.
39233
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
39234
+ """
39235
+ pulumi.set(__self__, "type", type)
39236
+ if accelerator_topology is not None:
39237
+ pulumi.set(__self__, "accelerator_topology", accelerator_topology)
39238
+ if max_topology_distance is not None:
39239
+ pulumi.set(__self__, "max_topology_distance", max_topology_distance)
39240
+
39241
+ @property
39242
+ @pulumi.getter
39243
+ def type(self) -> str:
39244
+ """
39245
+ The type of workload policy.
39246
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
39247
+ """
39248
+ return pulumi.get(self, "type")
39249
+
39250
+ @property
39251
+ @pulumi.getter(name="acceleratorTopology")
39252
+ def accelerator_topology(self) -> Optional[str]:
39253
+ """
39254
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
39255
+ and cannot be set if max topology distance is set.
39256
+ """
39257
+ return pulumi.get(self, "accelerator_topology")
39258
+
39259
+ @property
39260
+ @pulumi.getter(name="maxTopologyDistance")
39261
+ def max_topology_distance(self) -> Optional[str]:
39262
+ """
39263
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
39264
+ and cannot be set if accelerator topology is set.
39265
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
39266
+ """
39267
+ return pulumi.get(self, "max_topology_distance")
39268
+
39269
+
38812
39270
  @pulumi.output_type
38813
39271
  class RouteAsPath(dict):
38814
39272
  @staticmethod
@@ -54524,6 +54982,141 @@ class GetHealthCheckTcpHealthCheckResult(dict):
54524
54982
  return pulumi.get(self, "response")
54525
54983
 
54526
54984
 
54985
+ @pulumi.output_type
54986
+ class GetImagesImageResult(dict):
54987
+ def __init__(__self__, *,
54988
+ archive_size_bytes: int,
54989
+ creation_timestamp: str,
54990
+ description: str,
54991
+ disk_size_gb: int,
54992
+ family: str,
54993
+ image_id: int,
54994
+ labels: Mapping[str, str],
54995
+ name: str,
54996
+ self_link: str,
54997
+ source_disk: str,
54998
+ source_disk_id: str,
54999
+ source_image_id: str):
55000
+ """
55001
+ :param int archive_size_bytes: The size of the image tar.gz archive stored in Google Cloud Storage in bytes.
55002
+ :param str creation_timestamp: The creation timestamp in RFC3339 text format.
55003
+ :param str description: An optional description of this image.
55004
+ :param int disk_size_gb: The size of the image when restored onto a persistent disk in gigabytes.
55005
+ :param str family: The family name of the image.
55006
+ :param Mapping[str, str] labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
55007
+ :param str name: The name of the image.
55008
+ :param str self_link: The URI of the image.
55009
+ :param str source_disk: The URL of the source disk used to create this image.
55010
+ :param str source_disk_id: The ID value of the disk used to create this image.
55011
+ :param str source_image_id: The ID value of the image used to create this image.
55012
+ """
55013
+ pulumi.set(__self__, "archive_size_bytes", archive_size_bytes)
55014
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
55015
+ pulumi.set(__self__, "description", description)
55016
+ pulumi.set(__self__, "disk_size_gb", disk_size_gb)
55017
+ pulumi.set(__self__, "family", family)
55018
+ pulumi.set(__self__, "image_id", image_id)
55019
+ pulumi.set(__self__, "labels", labels)
55020
+ pulumi.set(__self__, "name", name)
55021
+ pulumi.set(__self__, "self_link", self_link)
55022
+ pulumi.set(__self__, "source_disk", source_disk)
55023
+ pulumi.set(__self__, "source_disk_id", source_disk_id)
55024
+ pulumi.set(__self__, "source_image_id", source_image_id)
55025
+
55026
+ @property
55027
+ @pulumi.getter(name="archiveSizeBytes")
55028
+ def archive_size_bytes(self) -> int:
55029
+ """
55030
+ The size of the image tar.gz archive stored in Google Cloud Storage in bytes.
55031
+ """
55032
+ return pulumi.get(self, "archive_size_bytes")
55033
+
55034
+ @property
55035
+ @pulumi.getter(name="creationTimestamp")
55036
+ def creation_timestamp(self) -> str:
55037
+ """
55038
+ The creation timestamp in RFC3339 text format.
55039
+ """
55040
+ return pulumi.get(self, "creation_timestamp")
55041
+
55042
+ @property
55043
+ @pulumi.getter
55044
+ def description(self) -> str:
55045
+ """
55046
+ An optional description of this image.
55047
+ """
55048
+ return pulumi.get(self, "description")
55049
+
55050
+ @property
55051
+ @pulumi.getter(name="diskSizeGb")
55052
+ def disk_size_gb(self) -> int:
55053
+ """
55054
+ The size of the image when restored onto a persistent disk in gigabytes.
55055
+ """
55056
+ return pulumi.get(self, "disk_size_gb")
55057
+
55058
+ @property
55059
+ @pulumi.getter
55060
+ def family(self) -> str:
55061
+ """
55062
+ The family name of the image.
55063
+ """
55064
+ return pulumi.get(self, "family")
55065
+
55066
+ @property
55067
+ @pulumi.getter(name="imageId")
55068
+ def image_id(self) -> int:
55069
+ return pulumi.get(self, "image_id")
55070
+
55071
+ @property
55072
+ @pulumi.getter
55073
+ def labels(self) -> Mapping[str, str]:
55074
+ """
55075
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
55076
+ """
55077
+ return pulumi.get(self, "labels")
55078
+
55079
+ @property
55080
+ @pulumi.getter
55081
+ def name(self) -> str:
55082
+ """
55083
+ The name of the image.
55084
+ """
55085
+ return pulumi.get(self, "name")
55086
+
55087
+ @property
55088
+ @pulumi.getter(name="selfLink")
55089
+ def self_link(self) -> str:
55090
+ """
55091
+ The URI of the image.
55092
+ """
55093
+ return pulumi.get(self, "self_link")
55094
+
55095
+ @property
55096
+ @pulumi.getter(name="sourceDisk")
55097
+ def source_disk(self) -> str:
55098
+ """
55099
+ The URL of the source disk used to create this image.
55100
+ """
55101
+ return pulumi.get(self, "source_disk")
55102
+
55103
+ @property
55104
+ @pulumi.getter(name="sourceDiskId")
55105
+ def source_disk_id(self) -> str:
55106
+ """
55107
+ The ID value of the disk used to create this image.
55108
+ """
55109
+ return pulumi.get(self, "source_disk_id")
55110
+
55111
+ @property
55112
+ @pulumi.getter(name="sourceImageId")
55113
+ def source_image_id(self) -> str:
55114
+ """
55115
+ The ID value of the image used to create this image.
55116
+ """
55117
+ return pulumi.get(self, "source_image_id")
55118
+
55119
+
54527
55120
  @pulumi.output_type
54528
55121
  class GetInstanceAdvancedMachineFeatureResult(dict):
54529
55122
  def __init__(__self__, *,
@@ -54683,6 +55276,7 @@ class GetInstanceBootDiskResult(dict):
54683
55276
  device_name: str,
54684
55277
  disk_encryption_key_raw: str,
54685
55278
  disk_encryption_key_sha256: str,
55279
+ guest_os_features: Sequence[str],
54686
55280
  initialize_params: Sequence['outputs.GetInstanceBootDiskInitializeParamResult'],
54687
55281
  interface: str,
54688
55282
  kms_key_self_link: str,
@@ -54696,6 +55290,7 @@ class GetInstanceBootDiskResult(dict):
54696
55290
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
54697
55291
  encoded SHA-256 hash of the [customer-supplied encryption key]
54698
55292
  (<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>) that protects this resource.
55293
+ :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
54699
55294
  :param Sequence['GetInstanceBootDiskInitializeParamArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
54700
55295
  Structure is documented below.
54701
55296
  :param str interface: The disk interface used for attaching this disk. One of `SCSI` or `NVME`.
@@ -54707,6 +55302,7 @@ class GetInstanceBootDiskResult(dict):
54707
55302
  pulumi.set(__self__, "device_name", device_name)
54708
55303
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
54709
55304
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
55305
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
54710
55306
  pulumi.set(__self__, "initialize_params", initialize_params)
54711
55307
  pulumi.set(__self__, "interface", interface)
54712
55308
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
@@ -54748,6 +55344,14 @@ class GetInstanceBootDiskResult(dict):
54748
55344
  """
54749
55345
  return pulumi.get(self, "disk_encryption_key_sha256")
54750
55346
 
55347
+ @property
55348
+ @pulumi.getter(name="guestOsFeatures")
55349
+ def guest_os_features(self) -> Sequence[str]:
55350
+ """
55351
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
55352
+ """
55353
+ return pulumi.get(self, "guest_os_features")
55354
+
54751
55355
  @property
54752
55356
  @pulumi.getter(name="initializeParams")
54753
55357
  def initialize_params(self) -> Sequence['outputs.GetInstanceBootDiskInitializeParamResult']:
@@ -54793,6 +55397,7 @@ class GetInstanceBootDiskResult(dict):
54793
55397
  @pulumi.output_type
54794
55398
  class GetInstanceBootDiskInitializeParamResult(dict):
54795
55399
  def __init__(__self__, *,
55400
+ architecture: str,
54796
55401
  enable_confidential_compute: bool,
54797
55402
  image: str,
54798
55403
  labels: Mapping[str, str],
@@ -54804,6 +55409,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
54804
55409
  storage_pool: str,
54805
55410
  type: str):
54806
55411
  """
55412
+ :param str architecture: The architecture of the disk. One of "X86_64" or "ARM64".
54807
55413
  :param bool enable_confidential_compute: A flag to enable confidential compute mode on boot disk
54808
55414
  :param str image: The image from which this disk was initialised.
54809
55415
  :param Mapping[str, str] labels: A set of key/value label pairs assigned to the disk.
@@ -54815,6 +55421,7 @@ class GetInstanceBootDiskInitializeParamResult(dict):
54815
55421
  :param str storage_pool: The URL of the storage pool in which the new disk is created
54816
55422
  :param str type: The accelerator type resource exposed to this instance. E.g. `nvidia-tesla-k80`.
54817
55423
  """
55424
+ pulumi.set(__self__, "architecture", architecture)
54818
55425
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
54819
55426
  pulumi.set(__self__, "image", image)
54820
55427
  pulumi.set(__self__, "labels", labels)
@@ -54826,6 +55433,14 @@ class GetInstanceBootDiskInitializeParamResult(dict):
54826
55433
  pulumi.set(__self__, "storage_pool", storage_pool)
54827
55434
  pulumi.set(__self__, "type", type)
54828
55435
 
55436
+ @property
55437
+ @pulumi.getter
55438
+ def architecture(self) -> str:
55439
+ """
55440
+ The architecture of the disk. One of "X86_64" or "ARM64".
55441
+ """
55442
+ return pulumi.get(self, "architecture")
55443
+
54829
55444
  @property
54830
55445
  @pulumi.getter(name="enableConfidentialCompute")
54831
55446
  def enable_confidential_compute(self) -> bool:
@@ -55004,19 +55619,22 @@ class GetInstanceGroupManagerAutoHealingPolicyResult(dict):
55004
55619
  class GetInstanceGroupManagerInstanceLifecyclePolicyResult(dict):
55005
55620
  def __init__(__self__, *,
55006
55621
  default_action_on_failure: str,
55007
- force_update_on_repair: str):
55622
+ force_update_on_repair: str,
55623
+ on_failed_health_check: str):
55008
55624
  """
55009
- :param str default_action_on_failure: Default behavior for all instance or health check failures.
55625
+ :param str default_action_on_failure: Specifies the action that a MIG performs on a failed VM. If the value of the "on_failed_health_check" field is DEFAULT_ACTION, then the same action also applies to the VMs on which your application fails a health check. Valid values are: REPAIR, DO_NOTHING. If REPAIR (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. If DO_NOTHING, then MIG does not repair a failed VM.
55010
55626
  :param str force_update_on_repair: Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
55627
+ :param str on_failed_health_check: Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: DEFAULT_ACTION, DO_NOTHING, REPAIR. If DEFAULT_ACTION (default), then MIG uses the same action configured for the "default_action_on_failure" field. If DO_NOTHING, then MIG does not repair unhealthy VM. If REPAIR, then MIG automatically repairs an unhealthy VM by recreating it.
55011
55628
  """
55012
55629
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
55013
55630
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
55631
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
55014
55632
 
55015
55633
  @property
55016
55634
  @pulumi.getter(name="defaultActionOnFailure")
55017
55635
  def default_action_on_failure(self) -> str:
55018
55636
  """
55019
- Default behavior for all instance or health check failures.
55637
+ Specifies the action that a MIG performs on a failed VM. If the value of the "on_failed_health_check" field is DEFAULT_ACTION, then the same action also applies to the VMs on which your application fails a health check. Valid values are: REPAIR, DO_NOTHING. If REPAIR (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. If DO_NOTHING, then MIG does not repair a failed VM.
55020
55638
  """
55021
55639
  return pulumi.get(self, "default_action_on_failure")
55022
55640
 
@@ -55028,6 +55646,14 @@ class GetInstanceGroupManagerInstanceLifecyclePolicyResult(dict):
55028
55646
  """
55029
55647
  return pulumi.get(self, "force_update_on_repair")
55030
55648
 
55649
+ @property
55650
+ @pulumi.getter(name="onFailedHealthCheck")
55651
+ def on_failed_health_check(self) -> str:
55652
+ """
55653
+ Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: DEFAULT_ACTION, DO_NOTHING, REPAIR. If DEFAULT_ACTION (default), then MIG uses the same action configured for the "default_action_on_failure" field. If DO_NOTHING, then MIG does not repair unhealthy VM. If REPAIR, then MIG automatically repairs an unhealthy VM by recreating it.
55654
+ """
55655
+ return pulumi.get(self, "on_failed_health_check")
55656
+
55031
55657
 
55032
55658
  @pulumi.output_type
55033
55659
  class GetInstanceGroupManagerNamedPortResult(dict):
@@ -58486,19 +59112,22 @@ class GetRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionRes
58486
59112
  class GetRegionInstanceGroupManagerInstanceLifecyclePolicyResult(dict):
58487
59113
  def __init__(__self__, *,
58488
59114
  default_action_on_failure: str,
58489
- force_update_on_repair: str):
59115
+ force_update_on_repair: str,
59116
+ on_failed_health_check: str):
58490
59117
  """
58491
- :param str default_action_on_failure: Default behavior for all instance or health check failures.
59118
+ :param str default_action_on_failure: Specifies the action that a MIG performs on a failed VM. If the value of the "on_failed_health_check" field is DEFAULT_ACTION, then the same action also applies to the VMs on which your application fails a health check. Valid values are: REPAIR, DO_NOTHING. If REPAIR (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. If DO_NOTHING, then MIG does not repair a failed VM.
58492
59119
  :param str force_update_on_repair: Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
59120
+ :param str on_failed_health_check: Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: DEFAULT_ACTION, DO_NOTHING, REPAIR. If DEFAULT_ACTION (default), then MIG uses the same action configured for the "default_action_on_failure" field. If DO_NOTHING, then MIG does not repair unhealthy VM. If REPAIR, then MIG automatically repairs an unhealthy VM by recreating it.
58493
59121
  """
58494
59122
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
58495
59123
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
59124
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
58496
59125
 
58497
59126
  @property
58498
59127
  @pulumi.getter(name="defaultActionOnFailure")
58499
59128
  def default_action_on_failure(self) -> str:
58500
59129
  """
58501
- Default behavior for all instance or health check failures.
59130
+ Specifies the action that a MIG performs on a failed VM. If the value of the "on_failed_health_check" field is DEFAULT_ACTION, then the same action also applies to the VMs on which your application fails a health check. Valid values are: REPAIR, DO_NOTHING. If REPAIR (default), then MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. If DO_NOTHING, then MIG does not repair a failed VM.
58502
59131
  """
58503
59132
  return pulumi.get(self, "default_action_on_failure")
58504
59133
 
@@ -58510,6 +59139,14 @@ class GetRegionInstanceGroupManagerInstanceLifecyclePolicyResult(dict):
58510
59139
  """
58511
59140
  return pulumi.get(self, "force_update_on_repair")
58512
59141
 
59142
+ @property
59143
+ @pulumi.getter(name="onFailedHealthCheck")
59144
+ def on_failed_health_check(self) -> str:
59145
+ """
59146
+ Specifies the action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: DEFAULT_ACTION, DO_NOTHING, REPAIR. If DEFAULT_ACTION (default), then MIG uses the same action configured for the "default_action_on_failure" field. If DO_NOTHING, then MIG does not repair unhealthy VM. If REPAIR, then MIG automatically repairs an unhealthy VM by recreating it.
59147
+ """
59148
+ return pulumi.get(self, "on_failed_health_check")
59149
+
58513
59150
 
58514
59151
  @pulumi.output_type
58515
59152
  class GetRegionInstanceGroupManagerNamedPortResult(dict):
@@ -60902,6 +61539,7 @@ class GetResourcePolicyGroupPlacementPolicyResult(dict):
60902
61539
  def __init__(__self__, *,
60903
61540
  availability_domain_count: int,
60904
61541
  collocation: str,
61542
+ gpu_topology: str,
60905
61543
  max_distance: int,
60906
61544
  vm_count: int):
60907
61545
  """
@@ -60911,6 +61549,7 @@ class GetResourcePolicyGroupPlacementPolicyResult(dict):
60911
61549
  Specify 'COLLOCATED' to enable collocation. Can only be specified with 'vm_count'. If compute instances are created
60912
61550
  with a COLLOCATED policy, then exactly 'vm_count' instances must be created at the same time with the resource policy
60913
61551
  attached. Possible values: ["COLLOCATED"]
61552
+ :param str gpu_topology: Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
60914
61553
  :param int max_distance: Specifies the number of max logical switches.
60915
61554
  :param int vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
60916
61555
  unless you use a compact policy and you want your policy to work only if it contains this
@@ -60918,6 +61557,7 @@ class GetResourcePolicyGroupPlacementPolicyResult(dict):
60918
61557
  """
60919
61558
  pulumi.set(__self__, "availability_domain_count", availability_domain_count)
60920
61559
  pulumi.set(__self__, "collocation", collocation)
61560
+ pulumi.set(__self__, "gpu_topology", gpu_topology)
60921
61561
  pulumi.set(__self__, "max_distance", max_distance)
60922
61562
  pulumi.set(__self__, "vm_count", vm_count)
60923
61563
 
@@ -60941,6 +61581,14 @@ class GetResourcePolicyGroupPlacementPolicyResult(dict):
60941
61581
  """
60942
61582
  return pulumi.get(self, "collocation")
60943
61583
 
61584
+ @property
61585
+ @pulumi.getter(name="gpuTopology")
61586
+ def gpu_topology(self) -> str:
61587
+ """
61588
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
61589
+ """
61590
+ return pulumi.get(self, "gpu_topology")
61591
+
60944
61592
  @property
60945
61593
  @pulumi.getter(name="maxDistance")
60946
61594
  def max_distance(self) -> int:
@@ -61343,6 +61991,50 @@ class GetResourcePolicySnapshotSchedulePolicySnapshotPropertyResult(dict):
61343
61991
  return pulumi.get(self, "storage_locations")
61344
61992
 
61345
61993
 
61994
+ @pulumi.output_type
61995
+ class GetResourcePolicyWorkloadPolicyResult(dict):
61996
+ def __init__(__self__, *,
61997
+ accelerator_topology: str,
61998
+ max_topology_distance: str,
61999
+ type: str):
62000
+ """
62001
+ :param str accelerator_topology: The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
62002
+ and cannot be set if max topology distance is set.
62003
+ :param str max_topology_distance: The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
62004
+ and cannot be set if accelerator topology is set. Possible values: ["BLOCK", "CLUSTER", "SUBBLOCK"]
62005
+ :param str type: The type of workload policy. Possible values: ["HIGH_AVAILABILITY", "HIGH_THROUGHPUT"]
62006
+ """
62007
+ pulumi.set(__self__, "accelerator_topology", accelerator_topology)
62008
+ pulumi.set(__self__, "max_topology_distance", max_topology_distance)
62009
+ pulumi.set(__self__, "type", type)
62010
+
62011
+ @property
62012
+ @pulumi.getter(name="acceleratorTopology")
62013
+ def accelerator_topology(self) -> str:
62014
+ """
62015
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
62016
+ and cannot be set if max topology distance is set.
62017
+ """
62018
+ return pulumi.get(self, "accelerator_topology")
62019
+
62020
+ @property
62021
+ @pulumi.getter(name="maxTopologyDistance")
62022
+ def max_topology_distance(self) -> str:
62023
+ """
62024
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
62025
+ and cannot be set if accelerator topology is set. Possible values: ["BLOCK", "CLUSTER", "SUBBLOCK"]
62026
+ """
62027
+ return pulumi.get(self, "max_topology_distance")
62028
+
62029
+ @property
62030
+ @pulumi.getter
62031
+ def type(self) -> str:
62032
+ """
62033
+ The type of workload policy. Possible values: ["HIGH_AVAILABILITY", "HIGH_THROUGHPUT"]
62034
+ """
62035
+ return pulumi.get(self, "type")
62036
+
62037
+
61346
62038
  @pulumi.output_type
61347
62039
  class GetRouterBgpResult(dict):
61348
62040
  def __init__(__self__, *,