pulumi-gcp 8.24.0a1742970634__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.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -173,6 +173,16 @@ __all__ = [
173
173
  'ImageImageEncryptionKeyArgsDict',
174
174
  'ImageRawDiskArgs',
175
175
  'ImageRawDiskArgsDict',
176
+ 'ImageShieldedInstanceInitialStateArgs',
177
+ 'ImageShieldedInstanceInitialStateArgsDict',
178
+ 'ImageShieldedInstanceInitialStateDbArgs',
179
+ 'ImageShieldedInstanceInitialStateDbArgsDict',
180
+ 'ImageShieldedInstanceInitialStateDbxArgs',
181
+ 'ImageShieldedInstanceInitialStateDbxArgsDict',
182
+ 'ImageShieldedInstanceInitialStateKekArgs',
183
+ 'ImageShieldedInstanceInitialStateKekArgsDict',
184
+ 'ImageShieldedInstanceInitialStatePkArgs',
185
+ 'ImageShieldedInstanceInitialStatePkArgsDict',
176
186
  'InstanceAdvancedMachineFeaturesArgs',
177
187
  'InstanceAdvancedMachineFeaturesArgsDict',
178
188
  'InstanceAttachedDiskArgs',
@@ -1021,6 +1031,8 @@ __all__ = [
1021
1031
  'ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeekArgsDict',
1022
1032
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs',
1023
1033
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgsDict',
1034
+ 'ResourcePolicyWorkloadPolicyArgs',
1035
+ 'ResourcePolicyWorkloadPolicyArgsDict',
1024
1036
  'RouteAsPathArgs',
1025
1037
  'RouteAsPathArgsDict',
1026
1038
  'RouteWarningArgs',
@@ -10409,6 +10421,326 @@ class ImageRawDiskArgs:
10409
10421
  pulumi.set(self, "sha1", value)
10410
10422
 
10411
10423
 
10424
+ if not MYPY:
10425
+ class ImageShieldedInstanceInitialStateArgsDict(TypedDict):
10426
+ dbs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgsDict']]]]
10427
+ """
10428
+ The Key Database (db).
10429
+ Structure is documented below.
10430
+ """
10431
+ dbxs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgsDict']]]]
10432
+ """
10433
+ The forbidden key database (dbx).
10434
+ Structure is documented below.
10435
+ """
10436
+ keks: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgsDict']]]]
10437
+ """
10438
+ The Key Exchange Key (KEK).
10439
+ Structure is documented below.
10440
+ """
10441
+ pk: NotRequired[pulumi.Input['ImageShieldedInstanceInitialStatePkArgsDict']]
10442
+ """
10443
+ The Platform Key (PK).
10444
+ Structure is documented below.
10445
+ """
10446
+ elif False:
10447
+ ImageShieldedInstanceInitialStateArgsDict: TypeAlias = Mapping[str, Any]
10448
+
10449
+ @pulumi.input_type
10450
+ class ImageShieldedInstanceInitialStateArgs:
10451
+ def __init__(__self__, *,
10452
+ dbs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]] = None,
10453
+ dbxs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]] = None,
10454
+ keks: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]] = None,
10455
+ pk: Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']] = None):
10456
+ """
10457
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]] dbs: The Key Database (db).
10458
+ Structure is documented below.
10459
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]] dbxs: The forbidden key database (dbx).
10460
+ Structure is documented below.
10461
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]] keks: The Key Exchange Key (KEK).
10462
+ Structure is documented below.
10463
+ :param pulumi.Input['ImageShieldedInstanceInitialStatePkArgs'] pk: The Platform Key (PK).
10464
+ Structure is documented below.
10465
+ """
10466
+ if dbs is not None:
10467
+ pulumi.set(__self__, "dbs", dbs)
10468
+ if dbxs is not None:
10469
+ pulumi.set(__self__, "dbxs", dbxs)
10470
+ if keks is not None:
10471
+ pulumi.set(__self__, "keks", keks)
10472
+ if pk is not None:
10473
+ pulumi.set(__self__, "pk", pk)
10474
+
10475
+ @property
10476
+ @pulumi.getter
10477
+ def dbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]]:
10478
+ """
10479
+ The Key Database (db).
10480
+ Structure is documented below.
10481
+ """
10482
+ return pulumi.get(self, "dbs")
10483
+
10484
+ @dbs.setter
10485
+ def dbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]]):
10486
+ pulumi.set(self, "dbs", value)
10487
+
10488
+ @property
10489
+ @pulumi.getter
10490
+ def dbxs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]]:
10491
+ """
10492
+ The forbidden key database (dbx).
10493
+ Structure is documented below.
10494
+ """
10495
+ return pulumi.get(self, "dbxs")
10496
+
10497
+ @dbxs.setter
10498
+ def dbxs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]]):
10499
+ pulumi.set(self, "dbxs", value)
10500
+
10501
+ @property
10502
+ @pulumi.getter
10503
+ def keks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]]:
10504
+ """
10505
+ The Key Exchange Key (KEK).
10506
+ Structure is documented below.
10507
+ """
10508
+ return pulumi.get(self, "keks")
10509
+
10510
+ @keks.setter
10511
+ def keks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]]):
10512
+ pulumi.set(self, "keks", value)
10513
+
10514
+ @property
10515
+ @pulumi.getter
10516
+ def pk(self) -> Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']]:
10517
+ """
10518
+ The Platform Key (PK).
10519
+ Structure is documented below.
10520
+ """
10521
+ return pulumi.get(self, "pk")
10522
+
10523
+ @pk.setter
10524
+ def pk(self, value: Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']]):
10525
+ pulumi.set(self, "pk", value)
10526
+
10527
+
10528
+ if not MYPY:
10529
+ class ImageShieldedInstanceInitialStateDbArgsDict(TypedDict):
10530
+ content: pulumi.Input[str]
10531
+ """
10532
+ The raw content in the secure keys file.
10533
+ A base64-encoded string.
10534
+ """
10535
+ file_type: NotRequired[pulumi.Input[str]]
10536
+ """
10537
+ The file type of source file.
10538
+ """
10539
+ elif False:
10540
+ ImageShieldedInstanceInitialStateDbArgsDict: TypeAlias = Mapping[str, Any]
10541
+
10542
+ @pulumi.input_type
10543
+ class ImageShieldedInstanceInitialStateDbArgs:
10544
+ def __init__(__self__, *,
10545
+ content: pulumi.Input[str],
10546
+ file_type: Optional[pulumi.Input[str]] = None):
10547
+ """
10548
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10549
+ A base64-encoded string.
10550
+ :param pulumi.Input[str] file_type: The file type of source file.
10551
+ """
10552
+ pulumi.set(__self__, "content", content)
10553
+ if file_type is not None:
10554
+ pulumi.set(__self__, "file_type", file_type)
10555
+
10556
+ @property
10557
+ @pulumi.getter
10558
+ def content(self) -> pulumi.Input[str]:
10559
+ """
10560
+ The raw content in the secure keys file.
10561
+ A base64-encoded string.
10562
+ """
10563
+ return pulumi.get(self, "content")
10564
+
10565
+ @content.setter
10566
+ def content(self, value: pulumi.Input[str]):
10567
+ pulumi.set(self, "content", value)
10568
+
10569
+ @property
10570
+ @pulumi.getter(name="fileType")
10571
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10572
+ """
10573
+ The file type of source file.
10574
+ """
10575
+ return pulumi.get(self, "file_type")
10576
+
10577
+ @file_type.setter
10578
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10579
+ pulumi.set(self, "file_type", value)
10580
+
10581
+
10582
+ if not MYPY:
10583
+ class ImageShieldedInstanceInitialStateDbxArgsDict(TypedDict):
10584
+ content: pulumi.Input[str]
10585
+ """
10586
+ The raw content in the secure keys file.
10587
+ A base64-encoded string.
10588
+ """
10589
+ file_type: NotRequired[pulumi.Input[str]]
10590
+ """
10591
+ The file type of source file.
10592
+ """
10593
+ elif False:
10594
+ ImageShieldedInstanceInitialStateDbxArgsDict: TypeAlias = Mapping[str, Any]
10595
+
10596
+ @pulumi.input_type
10597
+ class ImageShieldedInstanceInitialStateDbxArgs:
10598
+ def __init__(__self__, *,
10599
+ content: pulumi.Input[str],
10600
+ file_type: Optional[pulumi.Input[str]] = None):
10601
+ """
10602
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10603
+ A base64-encoded string.
10604
+ :param pulumi.Input[str] file_type: The file type of source file.
10605
+ """
10606
+ pulumi.set(__self__, "content", content)
10607
+ if file_type is not None:
10608
+ pulumi.set(__self__, "file_type", file_type)
10609
+
10610
+ @property
10611
+ @pulumi.getter
10612
+ def content(self) -> pulumi.Input[str]:
10613
+ """
10614
+ The raw content in the secure keys file.
10615
+ A base64-encoded string.
10616
+ """
10617
+ return pulumi.get(self, "content")
10618
+
10619
+ @content.setter
10620
+ def content(self, value: pulumi.Input[str]):
10621
+ pulumi.set(self, "content", value)
10622
+
10623
+ @property
10624
+ @pulumi.getter(name="fileType")
10625
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10626
+ """
10627
+ The file type of source file.
10628
+ """
10629
+ return pulumi.get(self, "file_type")
10630
+
10631
+ @file_type.setter
10632
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10633
+ pulumi.set(self, "file_type", value)
10634
+
10635
+
10636
+ if not MYPY:
10637
+ class ImageShieldedInstanceInitialStateKekArgsDict(TypedDict):
10638
+ content: pulumi.Input[str]
10639
+ """
10640
+ The raw content in the secure keys file.
10641
+ A base64-encoded string.
10642
+ """
10643
+ file_type: NotRequired[pulumi.Input[str]]
10644
+ """
10645
+ The file type of source file.
10646
+ """
10647
+ elif False:
10648
+ ImageShieldedInstanceInitialStateKekArgsDict: TypeAlias = Mapping[str, Any]
10649
+
10650
+ @pulumi.input_type
10651
+ class ImageShieldedInstanceInitialStateKekArgs:
10652
+ def __init__(__self__, *,
10653
+ content: pulumi.Input[str],
10654
+ file_type: Optional[pulumi.Input[str]] = None):
10655
+ """
10656
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10657
+ A base64-encoded string.
10658
+ :param pulumi.Input[str] file_type: The file type of source file.
10659
+ """
10660
+ pulumi.set(__self__, "content", content)
10661
+ if file_type is not None:
10662
+ pulumi.set(__self__, "file_type", file_type)
10663
+
10664
+ @property
10665
+ @pulumi.getter
10666
+ def content(self) -> pulumi.Input[str]:
10667
+ """
10668
+ The raw content in the secure keys file.
10669
+ A base64-encoded string.
10670
+ """
10671
+ return pulumi.get(self, "content")
10672
+
10673
+ @content.setter
10674
+ def content(self, value: pulumi.Input[str]):
10675
+ pulumi.set(self, "content", value)
10676
+
10677
+ @property
10678
+ @pulumi.getter(name="fileType")
10679
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10680
+ """
10681
+ The file type of source file.
10682
+ """
10683
+ return pulumi.get(self, "file_type")
10684
+
10685
+ @file_type.setter
10686
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10687
+ pulumi.set(self, "file_type", value)
10688
+
10689
+
10690
+ if not MYPY:
10691
+ class ImageShieldedInstanceInitialStatePkArgsDict(TypedDict):
10692
+ content: pulumi.Input[str]
10693
+ """
10694
+ The raw content in the secure keys file.
10695
+ A base64-encoded string.
10696
+ """
10697
+ file_type: NotRequired[pulumi.Input[str]]
10698
+ """
10699
+ The file type of source file.
10700
+ """
10701
+ elif False:
10702
+ ImageShieldedInstanceInitialStatePkArgsDict: TypeAlias = Mapping[str, Any]
10703
+
10704
+ @pulumi.input_type
10705
+ class ImageShieldedInstanceInitialStatePkArgs:
10706
+ def __init__(__self__, *,
10707
+ content: pulumi.Input[str],
10708
+ file_type: Optional[pulumi.Input[str]] = None):
10709
+ """
10710
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10711
+ A base64-encoded string.
10712
+ :param pulumi.Input[str] file_type: The file type of source file.
10713
+ """
10714
+ pulumi.set(__self__, "content", content)
10715
+ if file_type is not None:
10716
+ pulumi.set(__self__, "file_type", file_type)
10717
+
10718
+ @property
10719
+ @pulumi.getter
10720
+ def content(self) -> pulumi.Input[str]:
10721
+ """
10722
+ The raw content in the secure keys file.
10723
+ A base64-encoded string.
10724
+ """
10725
+ return pulumi.get(self, "content")
10726
+
10727
+ @content.setter
10728
+ def content(self, value: pulumi.Input[str]):
10729
+ pulumi.set(self, "content", value)
10730
+
10731
+ @property
10732
+ @pulumi.getter(name="fileType")
10733
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10734
+ """
10735
+ The file type of source file.
10736
+ """
10737
+ return pulumi.get(self, "file_type")
10738
+
10739
+ @file_type.setter
10740
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10741
+ pulumi.set(self, "file_type", value)
10742
+
10743
+
10412
10744
  if not MYPY:
10413
10745
  class InstanceAdvancedMachineFeaturesArgsDict(TypedDict):
10414
10746
  enable_nested_virtualization: NotRequired[pulumi.Input[bool]]
@@ -10731,6 +11063,10 @@ if not MYPY:
10731
11063
  encoded SHA-256 hash of the [customer-supplied encryption key]
10732
11064
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
10733
11065
  """
11066
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
11067
+ """
11068
+ 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.
11069
+ """
10734
11070
  initialize_params: NotRequired[pulumi.Input['InstanceBootDiskInitializeParamsArgsDict']]
10735
11071
  """
10736
11072
  Parameters for a new disk that will be created
@@ -10768,6 +11104,7 @@ class InstanceBootDiskArgs:
10768
11104
  device_name: Optional[pulumi.Input[str]] = None,
10769
11105
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
10770
11106
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11107
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
10771
11108
  initialize_params: Optional[pulumi.Input['InstanceBootDiskInitializeParamsArgs']] = None,
10772
11109
  interface: Optional[pulumi.Input[str]] = None,
10773
11110
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -10786,6 +11123,7 @@ class InstanceBootDiskArgs:
10786
11123
  :param pulumi.Input[str] disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10787
11124
  encoded SHA-256 hash of the [customer-supplied encryption key]
10788
11125
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
11126
+ :param pulumi.Input[Sequence[pulumi.Input[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.
10789
11127
  :param pulumi.Input['InstanceBootDiskInitializeParamsArgs'] initialize_params: Parameters for a new disk that will be created
10790
11128
  alongside the new instance. Either `initialize_params` or `source` must be set.
10791
11129
  Structure is documented below.
@@ -10807,6 +11145,8 @@ class InstanceBootDiskArgs:
10807
11145
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
10808
11146
  if disk_encryption_key_sha256 is not None:
10809
11147
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
11148
+ if guest_os_features is not None:
11149
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
10810
11150
  if initialize_params is not None:
10811
11151
  pulumi.set(__self__, "initialize_params", initialize_params)
10812
11152
  if interface is not None:
@@ -10874,6 +11214,18 @@ class InstanceBootDiskArgs:
10874
11214
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
10875
11215
  pulumi.set(self, "disk_encryption_key_sha256", value)
10876
11216
 
11217
+ @property
11218
+ @pulumi.getter(name="guestOsFeatures")
11219
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
11220
+ """
11221
+ 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.
11222
+ """
11223
+ return pulumi.get(self, "guest_os_features")
11224
+
11225
+ @guest_os_features.setter
11226
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
11227
+ pulumi.set(self, "guest_os_features", value)
11228
+
10877
11229
  @property
10878
11230
  @pulumi.getter(name="initializeParams")
10879
11231
  def initialize_params(self) -> Optional[pulumi.Input['InstanceBootDiskInitializeParamsArgs']]:
@@ -10944,6 +11296,10 @@ class InstanceBootDiskArgs:
10944
11296
 
10945
11297
  if not MYPY:
10946
11298
  class InstanceBootDiskInitializeParamsArgsDict(TypedDict):
11299
+ architecture: NotRequired[pulumi.Input[str]]
11300
+ """
11301
+ The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11302
+ """
10947
11303
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
10948
11304
  """
10949
11305
  Whether this disk is using confidential compute mode.
@@ -11018,6 +11374,7 @@ elif False:
11018
11374
  @pulumi.input_type
11019
11375
  class InstanceBootDiskInitializeParamsArgs:
11020
11376
  def __init__(__self__, *,
11377
+ architecture: Optional[pulumi.Input[str]] = None,
11021
11378
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
11022
11379
  image: Optional[pulumi.Input[str]] = None,
11023
11380
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -11029,6 +11386,7 @@ class InstanceBootDiskInitializeParamsArgs:
11029
11386
  storage_pool: Optional[pulumi.Input[str]] = None,
11030
11387
  type: Optional[pulumi.Input[str]] = None):
11031
11388
  """
11389
+ :param pulumi.Input[str] architecture: The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11032
11390
  :param pulumi.Input[bool] enable_confidential_compute: Whether this disk is using confidential compute mode.
11033
11391
  Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
11034
11392
  :param pulumi.Input[str] image: The image from which to initialize this disk. This can be
@@ -11068,6 +11426,8 @@ class InstanceBootDiskInitializeParamsArgs:
11068
11426
  * /{storagePool}
11069
11427
  :param pulumi.Input[str] type: The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
11070
11428
  """
11429
+ if architecture is not None:
11430
+ pulumi.set(__self__, "architecture", architecture)
11071
11431
  if enable_confidential_compute is not None:
11072
11432
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
11073
11433
  if image is not None:
@@ -11089,6 +11449,18 @@ class InstanceBootDiskInitializeParamsArgs:
11089
11449
  if type is not None:
11090
11450
  pulumi.set(__self__, "type", type)
11091
11451
 
11452
+ @property
11453
+ @pulumi.getter
11454
+ def architecture(self) -> Optional[pulumi.Input[str]]:
11455
+ """
11456
+ The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11457
+ """
11458
+ return pulumi.get(self, "architecture")
11459
+
11460
+ @architecture.setter
11461
+ def architecture(self, value: Optional[pulumi.Input[str]]):
11462
+ pulumi.set(self, "architecture", value)
11463
+
11092
11464
  @property
11093
11465
  @pulumi.getter(name="enableConfidentialCompute")
11094
11466
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -11571,6 +11943,10 @@ if not MYPY:
11571
11943
  """
11572
11944
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11573
11945
  """
11946
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
11947
+ """
11948
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
11949
+ """
11574
11950
  initialize_params: NotRequired[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgsDict']]
11575
11951
  """
11576
11952
  Parameters with which a disk was created alongside the instance.
@@ -11601,6 +11977,7 @@ class InstanceFromMachineImageBootDiskArgs:
11601
11977
  device_name: Optional[pulumi.Input[str]] = None,
11602
11978
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
11603
11979
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11980
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
11604
11981
  initialize_params: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs']] = None,
11605
11982
  interface: Optional[pulumi.Input[str]] = None,
11606
11983
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -11611,6 +11988,7 @@ class InstanceFromMachineImageBootDiskArgs:
11611
11988
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
11612
11989
  :param pulumi.Input[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.
11613
11990
  :param pulumi.Input[str] disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11991
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
11614
11992
  :param pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
11615
11993
  :param pulumi.Input[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.)
11616
11994
  :param pulumi.Input[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.
@@ -11625,6 +12003,8 @@ class InstanceFromMachineImageBootDiskArgs:
11625
12003
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
11626
12004
  if disk_encryption_key_sha256 is not None:
11627
12005
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
12006
+ if guest_os_features is not None:
12007
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
11628
12008
  if initialize_params is not None:
11629
12009
  pulumi.set(__self__, "initialize_params", initialize_params)
11630
12010
  if interface is not None:
@@ -11684,6 +12064,18 @@ class InstanceFromMachineImageBootDiskArgs:
11684
12064
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11685
12065
  pulumi.set(self, "disk_encryption_key_sha256", value)
11686
12066
 
12067
+ @property
12068
+ @pulumi.getter(name="guestOsFeatures")
12069
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
12070
+ """
12071
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
12072
+ """
12073
+ return pulumi.get(self, "guest_os_features")
12074
+
12075
+ @guest_os_features.setter
12076
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
12077
+ pulumi.set(self, "guest_os_features", value)
12078
+
11687
12079
  @property
11688
12080
  @pulumi.getter(name="initializeParams")
11689
12081
  def initialize_params(self) -> Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs']]:
@@ -11747,6 +12139,10 @@ class InstanceFromMachineImageBootDiskArgs:
11747
12139
 
11748
12140
  if not MYPY:
11749
12141
  class InstanceFromMachineImageBootDiskInitializeParamsArgsDict(TypedDict):
12142
+ architecture: NotRequired[pulumi.Input[str]]
12143
+ """
12144
+ The architecture of the disk. One of "X86_64" or "ARM64".
12145
+ """
11750
12146
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
11751
12147
  """
11752
12148
  A flag to enable confidential compute mode on boot disk
@@ -11793,6 +12189,7 @@ elif False:
11793
12189
  @pulumi.input_type
11794
12190
  class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11795
12191
  def __init__(__self__, *,
12192
+ architecture: Optional[pulumi.Input[str]] = None,
11796
12193
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
11797
12194
  image: Optional[pulumi.Input[str]] = None,
11798
12195
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -11804,6 +12201,7 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11804
12201
  storage_pool: Optional[pulumi.Input[str]] = None,
11805
12202
  type: Optional[pulumi.Input[str]] = None):
11806
12203
  """
12204
+ :param pulumi.Input[str] architecture: The architecture of the disk. One of "X86_64" or "ARM64".
11807
12205
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
11808
12206
  :param pulumi.Input[str] image: The image from which this disk was initialised.
11809
12207
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs assigned to the disk.
@@ -11815,6 +12213,8 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11815
12213
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
11816
12214
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
11817
12215
  """
12216
+ if architecture is not None:
12217
+ pulumi.set(__self__, "architecture", architecture)
11818
12218
  if enable_confidential_compute is not None:
11819
12219
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
11820
12220
  if image is not None:
@@ -11836,6 +12236,18 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11836
12236
  if type is not None:
11837
12237
  pulumi.set(__self__, "type", type)
11838
12238
 
12239
+ @property
12240
+ @pulumi.getter
12241
+ def architecture(self) -> Optional[pulumi.Input[str]]:
12242
+ """
12243
+ The architecture of the disk. One of "X86_64" or "ARM64".
12244
+ """
12245
+ return pulumi.get(self, "architecture")
12246
+
12247
+ @architecture.setter
12248
+ def architecture(self, value: Optional[pulumi.Input[str]]):
12249
+ pulumi.set(self, "architecture", value)
12250
+
11839
12251
  @property
11840
12252
  @pulumi.getter(name="enableConfidentialCompute")
11841
12253
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -13963,6 +14375,10 @@ if not MYPY:
13963
14375
  """
13964
14376
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
13965
14377
  """
14378
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
14379
+ """
14380
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
14381
+ """
13966
14382
  initialize_params: NotRequired[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgsDict']]
13967
14383
  """
13968
14384
  Parameters with which a disk was created alongside the instance.
@@ -13993,6 +14409,7 @@ class InstanceFromTemplateBootDiskArgs:
13993
14409
  device_name: Optional[pulumi.Input[str]] = None,
13994
14410
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
13995
14411
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
14412
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
13996
14413
  initialize_params: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs']] = None,
13997
14414
  interface: Optional[pulumi.Input[str]] = None,
13998
14415
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -14003,6 +14420,7 @@ class InstanceFromTemplateBootDiskArgs:
14003
14420
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
14004
14421
  :param pulumi.Input[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.
14005
14422
  :param pulumi.Input[str] disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
14423
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
14006
14424
  :param pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
14007
14425
  :param pulumi.Input[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.)
14008
14426
  :param pulumi.Input[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.
@@ -14017,6 +14435,8 @@ class InstanceFromTemplateBootDiskArgs:
14017
14435
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
14018
14436
  if disk_encryption_key_sha256 is not None:
14019
14437
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
14438
+ if guest_os_features is not None:
14439
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
14020
14440
  if initialize_params is not None:
14021
14441
  pulumi.set(__self__, "initialize_params", initialize_params)
14022
14442
  if interface is not None:
@@ -14076,6 +14496,18 @@ class InstanceFromTemplateBootDiskArgs:
14076
14496
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
14077
14497
  pulumi.set(self, "disk_encryption_key_sha256", value)
14078
14498
 
14499
+ @property
14500
+ @pulumi.getter(name="guestOsFeatures")
14501
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
14502
+ """
14503
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
14504
+ """
14505
+ return pulumi.get(self, "guest_os_features")
14506
+
14507
+ @guest_os_features.setter
14508
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
14509
+ pulumi.set(self, "guest_os_features", value)
14510
+
14079
14511
  @property
14080
14512
  @pulumi.getter(name="initializeParams")
14081
14513
  def initialize_params(self) -> Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs']]:
@@ -14139,6 +14571,10 @@ class InstanceFromTemplateBootDiskArgs:
14139
14571
 
14140
14572
  if not MYPY:
14141
14573
  class InstanceFromTemplateBootDiskInitializeParamsArgsDict(TypedDict):
14574
+ architecture: NotRequired[pulumi.Input[str]]
14575
+ """
14576
+ The architecture of the disk. One of "X86_64" or "ARM64".
14577
+ """
14142
14578
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
14143
14579
  """
14144
14580
  A flag to enable confidential compute mode on boot disk
@@ -14185,6 +14621,7 @@ elif False:
14185
14621
  @pulumi.input_type
14186
14622
  class InstanceFromTemplateBootDiskInitializeParamsArgs:
14187
14623
  def __init__(__self__, *,
14624
+ architecture: Optional[pulumi.Input[str]] = None,
14188
14625
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
14189
14626
  image: Optional[pulumi.Input[str]] = None,
14190
14627
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -14196,6 +14633,7 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14196
14633
  storage_pool: Optional[pulumi.Input[str]] = None,
14197
14634
  type: Optional[pulumi.Input[str]] = None):
14198
14635
  """
14636
+ :param pulumi.Input[str] architecture: The architecture of the disk. One of "X86_64" or "ARM64".
14199
14637
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
14200
14638
  :param pulumi.Input[str] image: The image from which this disk was initialised.
14201
14639
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs assigned to the disk.
@@ -14207,6 +14645,8 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14207
14645
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
14208
14646
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
14209
14647
  """
14648
+ if architecture is not None:
14649
+ pulumi.set(__self__, "architecture", architecture)
14210
14650
  if enable_confidential_compute is not None:
14211
14651
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
14212
14652
  if image is not None:
@@ -14228,6 +14668,18 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14228
14668
  if type is not None:
14229
14669
  pulumi.set(__self__, "type", type)
14230
14670
 
14671
+ @property
14672
+ @pulumi.getter
14673
+ def architecture(self) -> Optional[pulumi.Input[str]]:
14674
+ """
14675
+ The architecture of the disk. One of "X86_64" or "ARM64".
14676
+ """
14677
+ return pulumi.get(self, "architecture")
14678
+
14679
+ @architecture.setter
14680
+ def architecture(self, value: Optional[pulumi.Input[str]]):
14681
+ pulumi.set(self, "architecture", value)
14682
+
14231
14683
  @property
14232
14684
  @pulumi.getter(name="enableConfidentialCompute")
14233
14685
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -16189,13 +16641,18 @@ if not MYPY:
16189
16641
  class InstanceGroupManagerInstanceLifecyclePolicyArgsDict(TypedDict):
16190
16642
  default_action_on_failure: NotRequired[pulumi.Input[str]]
16191
16643
  """
16192
- , 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.
16193
- - - -
16644
+ , 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.
16194
16645
  """
16195
16646
  force_update_on_repair: NotRequired[pulumi.Input[str]]
16196
16647
  """
16197
16648
  , 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.
16198
16649
  """
16650
+ on_failed_health_check: NotRequired[pulumi.Input[str]]
16651
+ """
16652
+ , 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.
16653
+
16654
+ - - -
16655
+ """
16199
16656
  elif False:
16200
16657
  InstanceGroupManagerInstanceLifecyclePolicyArgsDict: TypeAlias = Mapping[str, Any]
16201
16658
 
@@ -16203,23 +16660,27 @@ elif False:
16203
16660
  class InstanceGroupManagerInstanceLifecyclePolicyArgs:
16204
16661
  def __init__(__self__, *,
16205
16662
  default_action_on_failure: Optional[pulumi.Input[str]] = None,
16206
- force_update_on_repair: Optional[pulumi.Input[str]] = None):
16663
+ force_update_on_repair: Optional[pulumi.Input[str]] = None,
16664
+ on_failed_health_check: Optional[pulumi.Input[str]] = None):
16207
16665
  """
16208
- :param pulumi.Input[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.
16209
- - - -
16666
+ :param pulumi.Input[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.
16210
16667
  :param pulumi.Input[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.
16668
+ :param pulumi.Input[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.
16669
+
16670
+ - - -
16211
16671
  """
16212
16672
  if default_action_on_failure is not None:
16213
16673
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
16214
16674
  if force_update_on_repair is not None:
16215
16675
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
16676
+ if on_failed_health_check is not None:
16677
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
16216
16678
 
16217
16679
  @property
16218
16680
  @pulumi.getter(name="defaultActionOnFailure")
16219
16681
  def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
16220
16682
  """
16221
- , 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.
16222
- - - -
16683
+ , 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.
16223
16684
  """
16224
16685
  return pulumi.get(self, "default_action_on_failure")
16225
16686
 
@@ -16239,6 +16700,20 @@ class InstanceGroupManagerInstanceLifecyclePolicyArgs:
16239
16700
  def force_update_on_repair(self, value: Optional[pulumi.Input[str]]):
16240
16701
  pulumi.set(self, "force_update_on_repair", value)
16241
16702
 
16703
+ @property
16704
+ @pulumi.getter(name="onFailedHealthCheck")
16705
+ def on_failed_health_check(self) -> Optional[pulumi.Input[str]]:
16706
+ """
16707
+ , 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.
16708
+
16709
+ - - -
16710
+ """
16711
+ return pulumi.get(self, "on_failed_health_check")
16712
+
16713
+ @on_failed_health_check.setter
16714
+ def on_failed_health_check(self, value: Optional[pulumi.Input[str]]):
16715
+ pulumi.set(self, "on_failed_health_check", value)
16716
+
16242
16717
 
16243
16718
  if not MYPY:
16244
16719
  class InstanceGroupManagerNamedPortArgsDict(TypedDict):
@@ -32886,15 +33361,19 @@ if not MYPY:
32886
33361
  class RegionInstanceGroupManagerInstanceLifecyclePolicyArgsDict(TypedDict):
32887
33362
  default_action_on_failure: NotRequired[pulumi.Input[str]]
32888
33363
  """
32889
- , 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.
32890
-
32891
- - - -
32892
- <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
33364
+ , 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.
32893
33365
  """
32894
33366
  force_update_on_repair: NotRequired[pulumi.Input[str]]
32895
33367
  """
32896
33368
  , 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.
32897
33369
  """
33370
+ on_failed_health_check: NotRequired[pulumi.Input[str]]
33371
+ """
33372
+ , 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.
33373
+
33374
+ - - -
33375
+ <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
33376
+ """
32898
33377
  elif False:
32899
33378
  RegionInstanceGroupManagerInstanceLifecyclePolicyArgsDict: TypeAlias = Mapping[str, Any]
32900
33379
 
@@ -32902,27 +33381,28 @@ elif False:
32902
33381
  class RegionInstanceGroupManagerInstanceLifecyclePolicyArgs:
32903
33382
  def __init__(__self__, *,
32904
33383
  default_action_on_failure: Optional[pulumi.Input[str]] = None,
32905
- force_update_on_repair: Optional[pulumi.Input[str]] = None):
33384
+ force_update_on_repair: Optional[pulumi.Input[str]] = None,
33385
+ on_failed_health_check: Optional[pulumi.Input[str]] = None):
32906
33386
  """
32907
- :param pulumi.Input[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.
33387
+ :param pulumi.Input[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.
33388
+ :param pulumi.Input[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.
33389
+ :param pulumi.Input[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.
32908
33390
 
32909
33391
  - - -
32910
33392
  <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
32911
- :param pulumi.Input[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.
32912
33393
  """
32913
33394
  if default_action_on_failure is not None:
32914
33395
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
32915
33396
  if force_update_on_repair is not None:
32916
33397
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
33398
+ if on_failed_health_check is not None:
33399
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
32917
33400
 
32918
33401
  @property
32919
33402
  @pulumi.getter(name="defaultActionOnFailure")
32920
33403
  def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
32921
33404
  """
32922
- , 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.
32923
-
32924
- - - -
32925
- <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
33405
+ , 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.
32926
33406
  """
32927
33407
  return pulumi.get(self, "default_action_on_failure")
32928
33408
 
@@ -32942,6 +33422,21 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicyArgs:
32942
33422
  def force_update_on_repair(self, value: Optional[pulumi.Input[str]]):
32943
33423
  pulumi.set(self, "force_update_on_repair", value)
32944
33424
 
33425
+ @property
33426
+ @pulumi.getter(name="onFailedHealthCheck")
33427
+ def on_failed_health_check(self) -> Optional[pulumi.Input[str]]:
33428
+ """
33429
+ , 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.
33430
+
33431
+ - - -
33432
+ <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
33433
+ """
33434
+ return pulumi.get(self, "on_failed_health_check")
33435
+
33436
+ @on_failed_health_check.setter
33437
+ def on_failed_health_check(self, value: Optional[pulumi.Input[str]]):
33438
+ pulumi.set(self, "on_failed_health_check", value)
33439
+
32945
33440
 
32946
33441
  if not MYPY:
32947
33442
  class RegionInstanceGroupManagerNamedPortArgsDict(TypedDict):
@@ -51147,6 +51642,10 @@ if not MYPY:
51147
51642
  attached.
51148
51643
  Possible values are: `COLLOCATED`.
51149
51644
  """
51645
+ gpu_topology: NotRequired[pulumi.Input[str]]
51646
+ """
51647
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
51648
+ """
51150
51649
  max_distance: NotRequired[pulumi.Input[int]]
51151
51650
  """
51152
51651
  Specifies the number of max logical switches.
@@ -51165,6 +51664,7 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51165
51664
  def __init__(__self__, *,
51166
51665
  availability_domain_count: Optional[pulumi.Input[int]] = None,
51167
51666
  collocation: Optional[pulumi.Input[str]] = None,
51667
+ gpu_topology: Optional[pulumi.Input[str]] = None,
51168
51668
  max_distance: Optional[pulumi.Input[int]] = None,
51169
51669
  vm_count: Optional[pulumi.Input[int]] = None):
51170
51670
  """
@@ -51175,6 +51675,7 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51175
51675
  with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
51176
51676
  attached.
51177
51677
  Possible values are: `COLLOCATED`.
51678
+ :param pulumi.Input[str] gpu_topology: Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
51178
51679
  :param pulumi.Input[int] max_distance: Specifies the number of max logical switches.
51179
51680
  :param pulumi.Input[int] vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
51180
51681
  unless you use a compact policy and you want your policy to work only if it contains this
@@ -51184,6 +51685,8 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51184
51685
  pulumi.set(__self__, "availability_domain_count", availability_domain_count)
51185
51686
  if collocation is not None:
51186
51687
  pulumi.set(__self__, "collocation", collocation)
51688
+ if gpu_topology is not None:
51689
+ pulumi.set(__self__, "gpu_topology", gpu_topology)
51187
51690
  if max_distance is not None:
51188
51691
  pulumi.set(__self__, "max_distance", max_distance)
51189
51692
  if vm_count is not None:
@@ -51218,6 +51721,18 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51218
51721
  def collocation(self, value: Optional[pulumi.Input[str]]):
51219
51722
  pulumi.set(self, "collocation", value)
51220
51723
 
51724
+ @property
51725
+ @pulumi.getter(name="gpuTopology")
51726
+ def gpu_topology(self) -> Optional[pulumi.Input[str]]:
51727
+ """
51728
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
51729
+ """
51730
+ return pulumi.get(self, "gpu_topology")
51731
+
51732
+ @gpu_topology.setter
51733
+ def gpu_topology(self, value: Optional[pulumi.Input[str]]):
51734
+ pulumi.set(self, "gpu_topology", value)
51735
+
51221
51736
  @property
51222
51737
  @pulumi.getter(name="maxDistance")
51223
51738
  def max_distance(self) -> Optional[pulumi.Input[int]]:
@@ -51951,6 +52466,89 @@ class ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs:
51951
52466
  pulumi.set(self, "storage_locations", value)
51952
52467
 
51953
52468
 
52469
+ if not MYPY:
52470
+ class ResourcePolicyWorkloadPolicyArgsDict(TypedDict):
52471
+ type: pulumi.Input[str]
52472
+ """
52473
+ The type of workload policy.
52474
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
52475
+ """
52476
+ accelerator_topology: NotRequired[pulumi.Input[str]]
52477
+ """
52478
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52479
+ and cannot be set if max topology distance is set.
52480
+ """
52481
+ max_topology_distance: NotRequired[pulumi.Input[str]]
52482
+ """
52483
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52484
+ and cannot be set if accelerator topology is set.
52485
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
52486
+ """
52487
+ elif False:
52488
+ ResourcePolicyWorkloadPolicyArgsDict: TypeAlias = Mapping[str, Any]
52489
+
52490
+ @pulumi.input_type
52491
+ class ResourcePolicyWorkloadPolicyArgs:
52492
+ def __init__(__self__, *,
52493
+ type: pulumi.Input[str],
52494
+ accelerator_topology: Optional[pulumi.Input[str]] = None,
52495
+ max_topology_distance: Optional[pulumi.Input[str]] = None):
52496
+ """
52497
+ :param pulumi.Input[str] type: The type of workload policy.
52498
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
52499
+ :param pulumi.Input[str] accelerator_topology: The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52500
+ and cannot be set if max topology distance is set.
52501
+ :param pulumi.Input[str] max_topology_distance: The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52502
+ and cannot be set if accelerator topology is set.
52503
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
52504
+ """
52505
+ pulumi.set(__self__, "type", type)
52506
+ if accelerator_topology is not None:
52507
+ pulumi.set(__self__, "accelerator_topology", accelerator_topology)
52508
+ if max_topology_distance is not None:
52509
+ pulumi.set(__self__, "max_topology_distance", max_topology_distance)
52510
+
52511
+ @property
52512
+ @pulumi.getter
52513
+ def type(self) -> pulumi.Input[str]:
52514
+ """
52515
+ The type of workload policy.
52516
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
52517
+ """
52518
+ return pulumi.get(self, "type")
52519
+
52520
+ @type.setter
52521
+ def type(self, value: pulumi.Input[str]):
52522
+ pulumi.set(self, "type", value)
52523
+
52524
+ @property
52525
+ @pulumi.getter(name="acceleratorTopology")
52526
+ def accelerator_topology(self) -> Optional[pulumi.Input[str]]:
52527
+ """
52528
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52529
+ and cannot be set if max topology distance is set.
52530
+ """
52531
+ return pulumi.get(self, "accelerator_topology")
52532
+
52533
+ @accelerator_topology.setter
52534
+ def accelerator_topology(self, value: Optional[pulumi.Input[str]]):
52535
+ pulumi.set(self, "accelerator_topology", value)
52536
+
52537
+ @property
52538
+ @pulumi.getter(name="maxTopologyDistance")
52539
+ def max_topology_distance(self) -> Optional[pulumi.Input[str]]:
52540
+ """
52541
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
52542
+ and cannot be set if accelerator topology is set.
52543
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
52544
+ """
52545
+ return pulumi.get(self, "max_topology_distance")
52546
+
52547
+ @max_topology_distance.setter
52548
+ def max_topology_distance(self, value: Optional[pulumi.Input[str]]):
52549
+ pulumi.set(self, "max_topology_distance", value)
52550
+
52551
+
51954
52552
  if not MYPY:
51955
52553
  class RouteAsPathArgsDict(TypedDict):
51956
52554
  as_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]