pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -97,6 +97,10 @@ __all__ = [
97
97
  'BackendServiceStrongSessionAffinityCookieArgsDict',
98
98
  'BackendServiceStrongSessionAffinityCookieTtlArgs',
99
99
  'BackendServiceStrongSessionAffinityCookieTtlArgsDict',
100
+ 'BackendServiceTlsSettingsArgs',
101
+ 'BackendServiceTlsSettingsArgsDict',
102
+ 'BackendServiceTlsSettingsSubjectAltNameArgs',
103
+ 'BackendServiceTlsSettingsSubjectAltNameArgsDict',
100
104
  'DiskAsyncPrimaryDiskArgs',
101
105
  'DiskAsyncPrimaryDiskArgsDict',
102
106
  'DiskAsyncReplicationSecondaryDiskArgs',
@@ -173,6 +177,16 @@ __all__ = [
173
177
  'ImageImageEncryptionKeyArgsDict',
174
178
  'ImageRawDiskArgs',
175
179
  'ImageRawDiskArgsDict',
180
+ 'ImageShieldedInstanceInitialStateArgs',
181
+ 'ImageShieldedInstanceInitialStateArgsDict',
182
+ 'ImageShieldedInstanceInitialStateDbArgs',
183
+ 'ImageShieldedInstanceInitialStateDbArgsDict',
184
+ 'ImageShieldedInstanceInitialStateDbxArgs',
185
+ 'ImageShieldedInstanceInitialStateDbxArgsDict',
186
+ 'ImageShieldedInstanceInitialStateKekArgs',
187
+ 'ImageShieldedInstanceInitialStateKekArgsDict',
188
+ 'ImageShieldedInstanceInitialStatePkArgs',
189
+ 'ImageShieldedInstanceInitialStatePkArgsDict',
176
190
  'InstanceAdvancedMachineFeaturesArgs',
177
191
  'InstanceAdvancedMachineFeaturesArgsDict',
178
192
  'InstanceAttachedDiskArgs',
@@ -181,6 +195,10 @@ __all__ = [
181
195
  'InstanceBootDiskArgsDict',
182
196
  'InstanceBootDiskInitializeParamsArgs',
183
197
  'InstanceBootDiskInitializeParamsArgsDict',
198
+ 'InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
199
+ 'InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
200
+ 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
201
+ 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
184
202
  'InstanceConfidentialInstanceConfigArgs',
185
203
  'InstanceConfidentialInstanceConfigArgsDict',
186
204
  'InstanceFromMachineImageAdvancedMachineFeaturesArgs',
@@ -191,10 +209,16 @@ __all__ = [
191
209
  'InstanceFromMachineImageBootDiskArgsDict',
192
210
  'InstanceFromMachineImageBootDiskInitializeParamsArgs',
193
211
  'InstanceFromMachineImageBootDiskInitializeParamsArgsDict',
212
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
213
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
214
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
215
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
194
216
  'InstanceFromMachineImageConfidentialInstanceConfigArgs',
195
217
  'InstanceFromMachineImageConfidentialInstanceConfigArgsDict',
196
218
  'InstanceFromMachineImageGuestAcceleratorArgs',
197
219
  'InstanceFromMachineImageGuestAcceleratorArgsDict',
220
+ 'InstanceFromMachineImageInstanceEncryptionKeyArgs',
221
+ 'InstanceFromMachineImageInstanceEncryptionKeyArgsDict',
198
222
  'InstanceFromMachineImageNetworkInterfaceArgs',
199
223
  'InstanceFromMachineImageNetworkInterfaceArgsDict',
200
224
  'InstanceFromMachineImageNetworkInterfaceAccessConfigArgs',
@@ -231,6 +255,8 @@ __all__ = [
231
255
  'InstanceFromMachineImageServiceAccountArgsDict',
232
256
  'InstanceFromMachineImageShieldedInstanceConfigArgs',
233
257
  'InstanceFromMachineImageShieldedInstanceConfigArgsDict',
258
+ 'InstanceFromMachineImageSourceMachineImageEncryptionKeyArgs',
259
+ 'InstanceFromMachineImageSourceMachineImageEncryptionKeyArgsDict',
234
260
  'InstanceFromTemplateAdvancedMachineFeaturesArgs',
235
261
  'InstanceFromTemplateAdvancedMachineFeaturesArgsDict',
236
262
  'InstanceFromTemplateAttachedDiskArgs',
@@ -239,10 +265,16 @@ __all__ = [
239
265
  'InstanceFromTemplateBootDiskArgsDict',
240
266
  'InstanceFromTemplateBootDiskInitializeParamsArgs',
241
267
  'InstanceFromTemplateBootDiskInitializeParamsArgsDict',
268
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
269
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
270
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
271
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
242
272
  'InstanceFromTemplateConfidentialInstanceConfigArgs',
243
273
  'InstanceFromTemplateConfidentialInstanceConfigArgsDict',
244
274
  'InstanceFromTemplateGuestAcceleratorArgs',
245
275
  'InstanceFromTemplateGuestAcceleratorArgsDict',
276
+ 'InstanceFromTemplateInstanceEncryptionKeyArgs',
277
+ 'InstanceFromTemplateInstanceEncryptionKeyArgsDict',
246
278
  'InstanceFromTemplateNetworkInterfaceArgs',
247
279
  'InstanceFromTemplateNetworkInterfaceArgsDict',
248
280
  'InstanceFromTemplateNetworkInterfaceAccessConfigArgs',
@@ -321,6 +353,8 @@ __all__ = [
321
353
  'InstanceIAMBindingConditionArgsDict',
322
354
  'InstanceIAMMemberConditionArgs',
323
355
  'InstanceIAMMemberConditionArgsDict',
356
+ 'InstanceInstanceEncryptionKeyArgs',
357
+ 'InstanceInstanceEncryptionKeyArgsDict',
324
358
  'InstanceNetworkInterfaceArgs',
325
359
  'InstanceNetworkInterfaceArgsDict',
326
360
  'InstanceNetworkInterfaceAccessConfigArgs',
@@ -1021,6 +1055,8 @@ __all__ = [
1021
1055
  'ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeekArgsDict',
1022
1056
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs',
1023
1057
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgsDict',
1058
+ 'ResourcePolicyWorkloadPolicyArgs',
1059
+ 'ResourcePolicyWorkloadPolicyArgsDict',
1024
1060
  'RouteAsPathArgs',
1025
1061
  'RouteAsPathArgsDict',
1026
1062
  'RouteWarningArgs',
@@ -1031,6 +1067,8 @@ __all__ = [
1031
1067
  'RouterBgpArgsDict',
1032
1068
  'RouterBgpAdvertisedIpRangeArgs',
1033
1069
  'RouterBgpAdvertisedIpRangeArgsDict',
1070
+ 'RouterMd5AuthenticationKeysArgs',
1071
+ 'RouterMd5AuthenticationKeysArgsDict',
1034
1072
  'RouterNatLogConfigArgs',
1035
1073
  'RouterNatLogConfigArgsDict',
1036
1074
  'RouterNatRuleArgs',
@@ -1271,6 +1309,10 @@ __all__ = [
1271
1309
  'URLMapPathMatcherPathRuleUrlRedirectArgsDict',
1272
1310
  'URLMapPathMatcherRouteRuleArgs',
1273
1311
  'URLMapPathMatcherRouteRuleArgsDict',
1312
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs',
1313
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgsDict',
1314
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs',
1315
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict',
1274
1316
  'URLMapPathMatcherRouteRuleHeaderActionArgs',
1275
1317
  'URLMapPathMatcherRouteRuleHeaderActionArgsDict',
1276
1318
  'URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgs',
@@ -5775,6 +5817,160 @@ class BackendServiceStrongSessionAffinityCookieTtlArgs:
5775
5817
  pulumi.set(self, "nanos", value)
5776
5818
 
5777
5819
 
5820
+ if not MYPY:
5821
+ class BackendServiceTlsSettingsArgsDict(TypedDict):
5822
+ authentication_config: NotRequired[pulumi.Input[str]]
5823
+ """
5824
+ Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
5825
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
5826
+ Can only be specified if authenticationMode is not NONE.
5827
+ """
5828
+ sni: NotRequired[pulumi.Input[str]]
5829
+ """
5830
+ Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
5831
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
5832
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
5833
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
5834
+ """
5835
+ subject_alt_names: NotRequired[pulumi.Input[Sequence[pulumi.Input['BackendServiceTlsSettingsSubjectAltNameArgsDict']]]]
5836
+ """
5837
+ A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
5838
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
5839
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
5840
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
5841
+ subjectAltNames.
5842
+ Structure is documented below.
5843
+ """
5844
+ elif False:
5845
+ BackendServiceTlsSettingsArgsDict: TypeAlias = Mapping[str, Any]
5846
+
5847
+ @pulumi.input_type
5848
+ class BackendServiceTlsSettingsArgs:
5849
+ def __init__(__self__, *,
5850
+ authentication_config: Optional[pulumi.Input[str]] = None,
5851
+ sni: Optional[pulumi.Input[str]] = None,
5852
+ subject_alt_names: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceTlsSettingsSubjectAltNameArgs']]]] = None):
5853
+ """
5854
+ :param pulumi.Input[str] authentication_config: Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
5855
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
5856
+ Can only be specified if authenticationMode is not NONE.
5857
+ :param pulumi.Input[str] sni: Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
5858
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
5859
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
5860
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
5861
+ :param pulumi.Input[Sequence[pulumi.Input['BackendServiceTlsSettingsSubjectAltNameArgs']]] subject_alt_names: A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
5862
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
5863
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
5864
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
5865
+ subjectAltNames.
5866
+ Structure is documented below.
5867
+ """
5868
+ if authentication_config is not None:
5869
+ pulumi.set(__self__, "authentication_config", authentication_config)
5870
+ if sni is not None:
5871
+ pulumi.set(__self__, "sni", sni)
5872
+ if subject_alt_names is not None:
5873
+ pulumi.set(__self__, "subject_alt_names", subject_alt_names)
5874
+
5875
+ @property
5876
+ @pulumi.getter(name="authenticationConfig")
5877
+ def authentication_config(self) -> Optional[pulumi.Input[str]]:
5878
+ """
5879
+ Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
5880
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
5881
+ Can only be specified if authenticationMode is not NONE.
5882
+ """
5883
+ return pulumi.get(self, "authentication_config")
5884
+
5885
+ @authentication_config.setter
5886
+ def authentication_config(self, value: Optional[pulumi.Input[str]]):
5887
+ pulumi.set(self, "authentication_config", value)
5888
+
5889
+ @property
5890
+ @pulumi.getter
5891
+ def sni(self) -> Optional[pulumi.Input[str]]:
5892
+ """
5893
+ Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
5894
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
5895
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
5896
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
5897
+ """
5898
+ return pulumi.get(self, "sni")
5899
+
5900
+ @sni.setter
5901
+ def sni(self, value: Optional[pulumi.Input[str]]):
5902
+ pulumi.set(self, "sni", value)
5903
+
5904
+ @property
5905
+ @pulumi.getter(name="subjectAltNames")
5906
+ def subject_alt_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceTlsSettingsSubjectAltNameArgs']]]]:
5907
+ """
5908
+ A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
5909
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
5910
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
5911
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
5912
+ subjectAltNames.
5913
+ Structure is documented below.
5914
+ """
5915
+ return pulumi.get(self, "subject_alt_names")
5916
+
5917
+ @subject_alt_names.setter
5918
+ def subject_alt_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendServiceTlsSettingsSubjectAltNameArgs']]]]):
5919
+ pulumi.set(self, "subject_alt_names", value)
5920
+
5921
+
5922
+ if not MYPY:
5923
+ class BackendServiceTlsSettingsSubjectAltNameArgsDict(TypedDict):
5924
+ dns_name: NotRequired[pulumi.Input[str]]
5925
+ """
5926
+ The SAN specified as a DNS Name.
5927
+ """
5928
+ uniform_resource_identifier: NotRequired[pulumi.Input[str]]
5929
+ """
5930
+ The SAN specified as a URI.
5931
+ """
5932
+ elif False:
5933
+ BackendServiceTlsSettingsSubjectAltNameArgsDict: TypeAlias = Mapping[str, Any]
5934
+
5935
+ @pulumi.input_type
5936
+ class BackendServiceTlsSettingsSubjectAltNameArgs:
5937
+ def __init__(__self__, *,
5938
+ dns_name: Optional[pulumi.Input[str]] = None,
5939
+ uniform_resource_identifier: Optional[pulumi.Input[str]] = None):
5940
+ """
5941
+ :param pulumi.Input[str] dns_name: The SAN specified as a DNS Name.
5942
+ :param pulumi.Input[str] uniform_resource_identifier: The SAN specified as a URI.
5943
+ """
5944
+ if dns_name is not None:
5945
+ pulumi.set(__self__, "dns_name", dns_name)
5946
+ if uniform_resource_identifier is not None:
5947
+ pulumi.set(__self__, "uniform_resource_identifier", uniform_resource_identifier)
5948
+
5949
+ @property
5950
+ @pulumi.getter(name="dnsName")
5951
+ def dns_name(self) -> Optional[pulumi.Input[str]]:
5952
+ """
5953
+ The SAN specified as a DNS Name.
5954
+ """
5955
+ return pulumi.get(self, "dns_name")
5956
+
5957
+ @dns_name.setter
5958
+ def dns_name(self, value: Optional[pulumi.Input[str]]):
5959
+ pulumi.set(self, "dns_name", value)
5960
+
5961
+ @property
5962
+ @pulumi.getter(name="uniformResourceIdentifier")
5963
+ def uniform_resource_identifier(self) -> Optional[pulumi.Input[str]]:
5964
+ """
5965
+ The SAN specified as a URI.
5966
+ """
5967
+ return pulumi.get(self, "uniform_resource_identifier")
5968
+
5969
+ @uniform_resource_identifier.setter
5970
+ def uniform_resource_identifier(self, value: Optional[pulumi.Input[str]]):
5971
+ pulumi.set(self, "uniform_resource_identifier", value)
5972
+
5973
+
5778
5974
  if not MYPY:
5779
5975
  class DiskAsyncPrimaryDiskArgsDict(TypedDict):
5780
5976
  disk: pulumi.Input[str]
@@ -10266,6 +10462,18 @@ if not MYPY:
10266
10462
  given KMS key. If absent, the Compute Engine default service
10267
10463
  account is used.
10268
10464
  """
10465
+ raw_key: NotRequired[pulumi.Input[str]]
10466
+ """
10467
+ Specifies a 256-bit customer-supplied encryption key, encoded in
10468
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10469
+ **Note**: This property is sensitive and will not be displayed in the plan.
10470
+ """
10471
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
10472
+ """
10473
+ Specifies a 256-bit customer-supplied encryption key, encoded in
10474
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10475
+ **Note**: This property is sensitive and will not be displayed in the plan.
10476
+ """
10269
10477
  elif False:
10270
10478
  ImageImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
10271
10479
 
@@ -10273,18 +10481,30 @@ elif False:
10273
10481
  class ImageImageEncryptionKeyArgs:
10274
10482
  def __init__(__self__, *,
10275
10483
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
10276
- kms_key_service_account: Optional[pulumi.Input[str]] = None):
10484
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
10485
+ raw_key: Optional[pulumi.Input[str]] = None,
10486
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None):
10277
10487
  """
10278
10488
  :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud
10279
10489
  KMS.
10280
10490
  :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the
10281
10491
  given KMS key. If absent, the Compute Engine default service
10282
10492
  account is used.
10493
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
10494
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10495
+ **Note**: This property is sensitive and will not be displayed in the plan.
10496
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies a 256-bit customer-supplied encryption key, encoded in
10497
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10498
+ **Note**: This property is sensitive and will not be displayed in the plan.
10283
10499
  """
10284
10500
  if kms_key_self_link is not None:
10285
10501
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
10286
10502
  if kms_key_service_account is not None:
10287
10503
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
10504
+ if raw_key is not None:
10505
+ pulumi.set(__self__, "raw_key", raw_key)
10506
+ if rsa_encrypted_key is not None:
10507
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
10288
10508
 
10289
10509
  @property
10290
10510
  @pulumi.getter(name="kmsKeySelfLink")
@@ -10313,6 +10533,34 @@ class ImageImageEncryptionKeyArgs:
10313
10533
  def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
10314
10534
  pulumi.set(self, "kms_key_service_account", value)
10315
10535
 
10536
+ @property
10537
+ @pulumi.getter(name="rawKey")
10538
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
10539
+ """
10540
+ Specifies a 256-bit customer-supplied encryption key, encoded in
10541
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10542
+ **Note**: This property is sensitive and will not be displayed in the plan.
10543
+ """
10544
+ return pulumi.get(self, "raw_key")
10545
+
10546
+ @raw_key.setter
10547
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
10548
+ pulumi.set(self, "raw_key", value)
10549
+
10550
+ @property
10551
+ @pulumi.getter(name="rsaEncryptedKey")
10552
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
10553
+ """
10554
+ Specifies a 256-bit customer-supplied encryption key, encoded in
10555
+ RFC 4648 base64 to either encrypt or decrypt this resource.
10556
+ **Note**: This property is sensitive and will not be displayed in the plan.
10557
+ """
10558
+ return pulumi.get(self, "rsa_encrypted_key")
10559
+
10560
+ @rsa_encrypted_key.setter
10561
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
10562
+ pulumi.set(self, "rsa_encrypted_key", value)
10563
+
10316
10564
 
10317
10565
  if not MYPY:
10318
10566
  class ImageRawDiskArgsDict(TypedDict):
@@ -10409,6 +10657,326 @@ class ImageRawDiskArgs:
10409
10657
  pulumi.set(self, "sha1", value)
10410
10658
 
10411
10659
 
10660
+ if not MYPY:
10661
+ class ImageShieldedInstanceInitialStateArgsDict(TypedDict):
10662
+ dbs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgsDict']]]]
10663
+ """
10664
+ The Key Database (db).
10665
+ Structure is documented below.
10666
+ """
10667
+ dbxs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgsDict']]]]
10668
+ """
10669
+ The forbidden key database (dbx).
10670
+ Structure is documented below.
10671
+ """
10672
+ keks: NotRequired[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgsDict']]]]
10673
+ """
10674
+ The Key Exchange Key (KEK).
10675
+ Structure is documented below.
10676
+ """
10677
+ pk: NotRequired[pulumi.Input['ImageShieldedInstanceInitialStatePkArgsDict']]
10678
+ """
10679
+ The Platform Key (PK).
10680
+ Structure is documented below.
10681
+ """
10682
+ elif False:
10683
+ ImageShieldedInstanceInitialStateArgsDict: TypeAlias = Mapping[str, Any]
10684
+
10685
+ @pulumi.input_type
10686
+ class ImageShieldedInstanceInitialStateArgs:
10687
+ def __init__(__self__, *,
10688
+ dbs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]] = None,
10689
+ dbxs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]] = None,
10690
+ keks: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]] = None,
10691
+ pk: Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']] = None):
10692
+ """
10693
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]] dbs: The Key Database (db).
10694
+ Structure is documented below.
10695
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]] dbxs: The forbidden key database (dbx).
10696
+ Structure is documented below.
10697
+ :param pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]] keks: The Key Exchange Key (KEK).
10698
+ Structure is documented below.
10699
+ :param pulumi.Input['ImageShieldedInstanceInitialStatePkArgs'] pk: The Platform Key (PK).
10700
+ Structure is documented below.
10701
+ """
10702
+ if dbs is not None:
10703
+ pulumi.set(__self__, "dbs", dbs)
10704
+ if dbxs is not None:
10705
+ pulumi.set(__self__, "dbxs", dbxs)
10706
+ if keks is not None:
10707
+ pulumi.set(__self__, "keks", keks)
10708
+ if pk is not None:
10709
+ pulumi.set(__self__, "pk", pk)
10710
+
10711
+ @property
10712
+ @pulumi.getter
10713
+ def dbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]]:
10714
+ """
10715
+ The Key Database (db).
10716
+ Structure is documented below.
10717
+ """
10718
+ return pulumi.get(self, "dbs")
10719
+
10720
+ @dbs.setter
10721
+ def dbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbArgs']]]]):
10722
+ pulumi.set(self, "dbs", value)
10723
+
10724
+ @property
10725
+ @pulumi.getter
10726
+ def dbxs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]]:
10727
+ """
10728
+ The forbidden key database (dbx).
10729
+ Structure is documented below.
10730
+ """
10731
+ return pulumi.get(self, "dbxs")
10732
+
10733
+ @dbxs.setter
10734
+ def dbxs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateDbxArgs']]]]):
10735
+ pulumi.set(self, "dbxs", value)
10736
+
10737
+ @property
10738
+ @pulumi.getter
10739
+ def keks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]]:
10740
+ """
10741
+ The Key Exchange Key (KEK).
10742
+ Structure is documented below.
10743
+ """
10744
+ return pulumi.get(self, "keks")
10745
+
10746
+ @keks.setter
10747
+ def keks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageShieldedInstanceInitialStateKekArgs']]]]):
10748
+ pulumi.set(self, "keks", value)
10749
+
10750
+ @property
10751
+ @pulumi.getter
10752
+ def pk(self) -> Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']]:
10753
+ """
10754
+ The Platform Key (PK).
10755
+ Structure is documented below.
10756
+ """
10757
+ return pulumi.get(self, "pk")
10758
+
10759
+ @pk.setter
10760
+ def pk(self, value: Optional[pulumi.Input['ImageShieldedInstanceInitialStatePkArgs']]):
10761
+ pulumi.set(self, "pk", value)
10762
+
10763
+
10764
+ if not MYPY:
10765
+ class ImageShieldedInstanceInitialStateDbArgsDict(TypedDict):
10766
+ content: pulumi.Input[str]
10767
+ """
10768
+ The raw content in the secure keys file.
10769
+ A base64-encoded string.
10770
+ """
10771
+ file_type: NotRequired[pulumi.Input[str]]
10772
+ """
10773
+ The file type of source file.
10774
+ """
10775
+ elif False:
10776
+ ImageShieldedInstanceInitialStateDbArgsDict: TypeAlias = Mapping[str, Any]
10777
+
10778
+ @pulumi.input_type
10779
+ class ImageShieldedInstanceInitialStateDbArgs:
10780
+ def __init__(__self__, *,
10781
+ content: pulumi.Input[str],
10782
+ file_type: Optional[pulumi.Input[str]] = None):
10783
+ """
10784
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10785
+ A base64-encoded string.
10786
+ :param pulumi.Input[str] file_type: The file type of source file.
10787
+ """
10788
+ pulumi.set(__self__, "content", content)
10789
+ if file_type is not None:
10790
+ pulumi.set(__self__, "file_type", file_type)
10791
+
10792
+ @property
10793
+ @pulumi.getter
10794
+ def content(self) -> pulumi.Input[str]:
10795
+ """
10796
+ The raw content in the secure keys file.
10797
+ A base64-encoded string.
10798
+ """
10799
+ return pulumi.get(self, "content")
10800
+
10801
+ @content.setter
10802
+ def content(self, value: pulumi.Input[str]):
10803
+ pulumi.set(self, "content", value)
10804
+
10805
+ @property
10806
+ @pulumi.getter(name="fileType")
10807
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10808
+ """
10809
+ The file type of source file.
10810
+ """
10811
+ return pulumi.get(self, "file_type")
10812
+
10813
+ @file_type.setter
10814
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10815
+ pulumi.set(self, "file_type", value)
10816
+
10817
+
10818
+ if not MYPY:
10819
+ class ImageShieldedInstanceInitialStateDbxArgsDict(TypedDict):
10820
+ content: pulumi.Input[str]
10821
+ """
10822
+ The raw content in the secure keys file.
10823
+ A base64-encoded string.
10824
+ """
10825
+ file_type: NotRequired[pulumi.Input[str]]
10826
+ """
10827
+ The file type of source file.
10828
+ """
10829
+ elif False:
10830
+ ImageShieldedInstanceInitialStateDbxArgsDict: TypeAlias = Mapping[str, Any]
10831
+
10832
+ @pulumi.input_type
10833
+ class ImageShieldedInstanceInitialStateDbxArgs:
10834
+ def __init__(__self__, *,
10835
+ content: pulumi.Input[str],
10836
+ file_type: Optional[pulumi.Input[str]] = None):
10837
+ """
10838
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10839
+ A base64-encoded string.
10840
+ :param pulumi.Input[str] file_type: The file type of source file.
10841
+ """
10842
+ pulumi.set(__self__, "content", content)
10843
+ if file_type is not None:
10844
+ pulumi.set(__self__, "file_type", file_type)
10845
+
10846
+ @property
10847
+ @pulumi.getter
10848
+ def content(self) -> pulumi.Input[str]:
10849
+ """
10850
+ The raw content in the secure keys file.
10851
+ A base64-encoded string.
10852
+ """
10853
+ return pulumi.get(self, "content")
10854
+
10855
+ @content.setter
10856
+ def content(self, value: pulumi.Input[str]):
10857
+ pulumi.set(self, "content", value)
10858
+
10859
+ @property
10860
+ @pulumi.getter(name="fileType")
10861
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10862
+ """
10863
+ The file type of source file.
10864
+ """
10865
+ return pulumi.get(self, "file_type")
10866
+
10867
+ @file_type.setter
10868
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10869
+ pulumi.set(self, "file_type", value)
10870
+
10871
+
10872
+ if not MYPY:
10873
+ class ImageShieldedInstanceInitialStateKekArgsDict(TypedDict):
10874
+ content: pulumi.Input[str]
10875
+ """
10876
+ The raw content in the secure keys file.
10877
+ A base64-encoded string.
10878
+ """
10879
+ file_type: NotRequired[pulumi.Input[str]]
10880
+ """
10881
+ The file type of source file.
10882
+ """
10883
+ elif False:
10884
+ ImageShieldedInstanceInitialStateKekArgsDict: TypeAlias = Mapping[str, Any]
10885
+
10886
+ @pulumi.input_type
10887
+ class ImageShieldedInstanceInitialStateKekArgs:
10888
+ def __init__(__self__, *,
10889
+ content: pulumi.Input[str],
10890
+ file_type: Optional[pulumi.Input[str]] = None):
10891
+ """
10892
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10893
+ A base64-encoded string.
10894
+ :param pulumi.Input[str] file_type: The file type of source file.
10895
+ """
10896
+ pulumi.set(__self__, "content", content)
10897
+ if file_type is not None:
10898
+ pulumi.set(__self__, "file_type", file_type)
10899
+
10900
+ @property
10901
+ @pulumi.getter
10902
+ def content(self) -> pulumi.Input[str]:
10903
+ """
10904
+ The raw content in the secure keys file.
10905
+ A base64-encoded string.
10906
+ """
10907
+ return pulumi.get(self, "content")
10908
+
10909
+ @content.setter
10910
+ def content(self, value: pulumi.Input[str]):
10911
+ pulumi.set(self, "content", value)
10912
+
10913
+ @property
10914
+ @pulumi.getter(name="fileType")
10915
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10916
+ """
10917
+ The file type of source file.
10918
+ """
10919
+ return pulumi.get(self, "file_type")
10920
+
10921
+ @file_type.setter
10922
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10923
+ pulumi.set(self, "file_type", value)
10924
+
10925
+
10926
+ if not MYPY:
10927
+ class ImageShieldedInstanceInitialStatePkArgsDict(TypedDict):
10928
+ content: pulumi.Input[str]
10929
+ """
10930
+ The raw content in the secure keys file.
10931
+ A base64-encoded string.
10932
+ """
10933
+ file_type: NotRequired[pulumi.Input[str]]
10934
+ """
10935
+ The file type of source file.
10936
+ """
10937
+ elif False:
10938
+ ImageShieldedInstanceInitialStatePkArgsDict: TypeAlias = Mapping[str, Any]
10939
+
10940
+ @pulumi.input_type
10941
+ class ImageShieldedInstanceInitialStatePkArgs:
10942
+ def __init__(__self__, *,
10943
+ content: pulumi.Input[str],
10944
+ file_type: Optional[pulumi.Input[str]] = None):
10945
+ """
10946
+ :param pulumi.Input[str] content: The raw content in the secure keys file.
10947
+ A base64-encoded string.
10948
+ :param pulumi.Input[str] file_type: The file type of source file.
10949
+ """
10950
+ pulumi.set(__self__, "content", content)
10951
+ if file_type is not None:
10952
+ pulumi.set(__self__, "file_type", file_type)
10953
+
10954
+ @property
10955
+ @pulumi.getter
10956
+ def content(self) -> pulumi.Input[str]:
10957
+ """
10958
+ The raw content in the secure keys file.
10959
+ A base64-encoded string.
10960
+ """
10961
+ return pulumi.get(self, "content")
10962
+
10963
+ @content.setter
10964
+ def content(self, value: pulumi.Input[str]):
10965
+ pulumi.set(self, "content", value)
10966
+
10967
+ @property
10968
+ @pulumi.getter(name="fileType")
10969
+ def file_type(self) -> Optional[pulumi.Input[str]]:
10970
+ """
10971
+ The file type of source file.
10972
+ """
10973
+ return pulumi.get(self, "file_type")
10974
+
10975
+ @file_type.setter
10976
+ def file_type(self, value: Optional[pulumi.Input[str]]):
10977
+ pulumi.set(self, "file_type", value)
10978
+
10979
+
10412
10980
  if not MYPY:
10413
10981
  class InstanceAdvancedMachineFeaturesArgsDict(TypedDict):
10414
10982
  enable_nested_virtualization: NotRequired[pulumi.Input[bool]]
@@ -10557,7 +11125,14 @@ if not MYPY:
10557
11125
  A 256-bit [customer-supplied encryption key]
10558
11126
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10559
11127
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10560
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.
11128
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11129
+ may be set.
11130
+ """
11131
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
11132
+ """
11133
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11134
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11135
+ may be set.
10561
11136
  """
10562
11137
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
10563
11138
  """
@@ -10565,11 +11140,15 @@ if not MYPY:
10565
11140
  encoded SHA-256 hash of the [customer-supplied encryption key]
10566
11141
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
10567
11142
  """
11143
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
11144
+ """
11145
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11146
+ """
10568
11147
  kms_key_self_link: NotRequired[pulumi.Input[str]]
10569
11148
  """
10570
11149
  The self_link of the encryption key that is
10571
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10572
- and `disk_encryption_key_raw` may be set.
11150
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11151
+ may be set.
10573
11152
  """
10574
11153
  mode: NotRequired[pulumi.Input[str]]
10575
11154
  """
@@ -10587,7 +11166,9 @@ class InstanceAttachedDiskArgs:
10587
11166
  source: pulumi.Input[str],
10588
11167
  device_name: Optional[pulumi.Input[str]] = None,
10589
11168
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
11169
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
10590
11170
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11171
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
10591
11172
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
10592
11173
  mode: Optional[pulumi.Input[str]] = None):
10593
11174
  """
@@ -10597,13 +11178,18 @@ class InstanceAttachedDiskArgs:
10597
11178
  :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
10598
11179
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10599
11180
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10600
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.
11181
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11182
+ may be set.
11183
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11184
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11185
+ may be set.
10601
11186
  :param pulumi.Input[str] disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10602
11187
  encoded SHA-256 hash of the [customer-supplied encryption key]
10603
11188
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
11189
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
10604
11190
  :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
10605
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10606
- and `disk_encryption_key_raw` may be set.
11191
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11192
+ may be set.
10607
11193
  :param pulumi.Input[str] mode: Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
10608
11194
  If you have a persistent disk with data that you want to share
10609
11195
  between multiple instances, detach it from any read-write instances and
@@ -10614,8 +11200,12 @@ class InstanceAttachedDiskArgs:
10614
11200
  pulumi.set(__self__, "device_name", device_name)
10615
11201
  if disk_encryption_key_raw is not None:
10616
11202
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
11203
+ if disk_encryption_key_rsa is not None:
11204
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
10617
11205
  if disk_encryption_key_sha256 is not None:
10618
11206
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
11207
+ if disk_encryption_service_account is not None:
11208
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
10619
11209
  if kms_key_self_link is not None:
10620
11210
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
10621
11211
  if mode is not None:
@@ -10653,7 +11243,8 @@ class InstanceAttachedDiskArgs:
10653
11243
  A 256-bit [customer-supplied encryption key]
10654
11244
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10655
11245
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10656
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.
11246
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11247
+ may be set.
10657
11248
  """
10658
11249
  return pulumi.get(self, "disk_encryption_key_raw")
10659
11250
 
@@ -10661,6 +11252,20 @@ class InstanceAttachedDiskArgs:
10661
11252
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
10662
11253
  pulumi.set(self, "disk_encryption_key_raw", value)
10663
11254
 
11255
+ @property
11256
+ @pulumi.getter(name="diskEncryptionKeyRsa")
11257
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
11258
+ """
11259
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11260
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11261
+ may be set.
11262
+ """
11263
+ return pulumi.get(self, "disk_encryption_key_rsa")
11264
+
11265
+ @disk_encryption_key_rsa.setter
11266
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
11267
+ pulumi.set(self, "disk_encryption_key_rsa", value)
11268
+
10664
11269
  @property
10665
11270
  @pulumi.getter(name="diskEncryptionKeySha256")
10666
11271
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -10675,13 +11280,25 @@ class InstanceAttachedDiskArgs:
10675
11280
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
10676
11281
  pulumi.set(self, "disk_encryption_key_sha256", value)
10677
11282
 
11283
+ @property
11284
+ @pulumi.getter(name="diskEncryptionServiceAccount")
11285
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
11286
+ """
11287
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11288
+ """
11289
+ return pulumi.get(self, "disk_encryption_service_account")
11290
+
11291
+ @disk_encryption_service_account.setter
11292
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
11293
+ pulumi.set(self, "disk_encryption_service_account", value)
11294
+
10678
11295
  @property
10679
11296
  @pulumi.getter(name="kmsKeySelfLink")
10680
11297
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
10681
11298
  """
10682
11299
  The self_link of the encryption key that is
10683
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10684
- and `disk_encryption_key_raw` may be set.
11300
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11301
+ may be set.
10685
11302
  """
10686
11303
  return pulumi.get(self, "kms_key_self_link")
10687
11304
 
@@ -10722,15 +11339,28 @@ if not MYPY:
10722
11339
  A 256-bit [customer-supplied encryption key]
10723
11340
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10724
11341
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10725
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
11342
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
10726
11343
  may be set.
10727
11344
  """
11345
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
11346
+ """
11347
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11348
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11349
+ """
10728
11350
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
10729
11351
  """
10730
11352
  The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10731
11353
  encoded SHA-256 hash of the [customer-supplied encryption key]
10732
11354
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
10733
11355
  """
11356
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
11357
+ """
11358
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11359
+ """
11360
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
11361
+ """
11362
+ 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.
11363
+ """
10734
11364
  initialize_params: NotRequired[pulumi.Input['InstanceBootDiskInitializeParamsArgsDict']]
10735
11365
  """
10736
11366
  Parameters for a new disk that will be created
@@ -10744,8 +11374,9 @@ if not MYPY:
10744
11374
  kms_key_self_link: NotRequired[pulumi.Input[str]]
10745
11375
  """
10746
11376
  The self_link of the encryption key that is
10747
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10748
- and `disk_encryption_key_raw` may be set.
11377
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`,
11378
+ `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11379
+ may be set.
10749
11380
  """
10750
11381
  mode: NotRequired[pulumi.Input[str]]
10751
11382
  """
@@ -10767,7 +11398,10 @@ class InstanceBootDiskArgs:
10767
11398
  auto_delete: Optional[pulumi.Input[bool]] = None,
10768
11399
  device_name: Optional[pulumi.Input[str]] = None,
10769
11400
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
11401
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
10770
11402
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11403
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
11404
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
10771
11405
  initialize_params: Optional[pulumi.Input['InstanceBootDiskInitializeParamsArgs']] = None,
10772
11406
  interface: Optional[pulumi.Input[str]] = None,
10773
11407
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -10781,18 +11415,23 @@ class InstanceBootDiskArgs:
10781
11415
  :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
10782
11416
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10783
11417
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10784
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
11418
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
10785
11419
  may be set.
11420
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11421
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
10786
11422
  :param pulumi.Input[str] disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10787
11423
  encoded SHA-256 hash of the [customer-supplied encryption key]
10788
11424
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
11425
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11426
+ :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
11427
  :param pulumi.Input['InstanceBootDiskInitializeParamsArgs'] initialize_params: Parameters for a new disk that will be created
10790
11428
  alongside the new instance. Either `initialize_params` or `source` must be set.
10791
11429
  Structure is documented below.
10792
11430
  :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.)
10793
11431
  :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
10794
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10795
- and `disk_encryption_key_raw` may be set.
11432
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`,
11433
+ `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11434
+ may be set.
10796
11435
  :param pulumi.Input[str] mode: The mode in which to attach this disk, either `READ_WRITE`
10797
11436
  or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode.
10798
11437
  :param pulumi.Input[str] source: The name or self_link of the existing disk (such as those managed by
@@ -10805,8 +11444,14 @@ class InstanceBootDiskArgs:
10805
11444
  pulumi.set(__self__, "device_name", device_name)
10806
11445
  if disk_encryption_key_raw is not None:
10807
11446
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
11447
+ if disk_encryption_key_rsa is not None:
11448
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
10808
11449
  if disk_encryption_key_sha256 is not None:
10809
11450
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
11451
+ if disk_encryption_service_account is not None:
11452
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
11453
+ if guest_os_features is not None:
11454
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
10810
11455
  if initialize_params is not None:
10811
11456
  pulumi.set(__self__, "initialize_params", initialize_params)
10812
11457
  if interface is not None:
@@ -10851,7 +11496,7 @@ class InstanceBootDiskArgs:
10851
11496
  A 256-bit [customer-supplied encryption key]
10852
11497
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10853
11498
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10854
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
11499
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
10855
11500
  may be set.
10856
11501
  """
10857
11502
  return pulumi.get(self, "disk_encryption_key_raw")
@@ -10860,6 +11505,19 @@ class InstanceBootDiskArgs:
10860
11505
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
10861
11506
  pulumi.set(self, "disk_encryption_key_raw", value)
10862
11507
 
11508
+ @property
11509
+ @pulumi.getter(name="diskEncryptionKeyRsa")
11510
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
11511
+ """
11512
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
11513
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11514
+ """
11515
+ return pulumi.get(self, "disk_encryption_key_rsa")
11516
+
11517
+ @disk_encryption_key_rsa.setter
11518
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
11519
+ pulumi.set(self, "disk_encryption_key_rsa", value)
11520
+
10863
11521
  @property
10864
11522
  @pulumi.getter(name="diskEncryptionKeySha256")
10865
11523
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -10874,6 +11532,30 @@ class InstanceBootDiskArgs:
10874
11532
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
10875
11533
  pulumi.set(self, "disk_encryption_key_sha256", value)
10876
11534
 
11535
+ @property
11536
+ @pulumi.getter(name="diskEncryptionServiceAccount")
11537
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
11538
+ """
11539
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11540
+ """
11541
+ return pulumi.get(self, "disk_encryption_service_account")
11542
+
11543
+ @disk_encryption_service_account.setter
11544
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
11545
+ pulumi.set(self, "disk_encryption_service_account", value)
11546
+
11547
+ @property
11548
+ @pulumi.getter(name="guestOsFeatures")
11549
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
11550
+ """
11551
+ 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.
11552
+ """
11553
+ return pulumi.get(self, "guest_os_features")
11554
+
11555
+ @guest_os_features.setter
11556
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
11557
+ pulumi.set(self, "guest_os_features", value)
11558
+
10877
11559
  @property
10878
11560
  @pulumi.getter(name="initializeParams")
10879
11561
  def initialize_params(self) -> Optional[pulumi.Input['InstanceBootDiskInitializeParamsArgs']]:
@@ -10905,8 +11587,9 @@ class InstanceBootDiskArgs:
10905
11587
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
10906
11588
  """
10907
11589
  The self_link of the encryption key that is
10908
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10909
- and `disk_encryption_key_raw` may be set.
11590
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`,
11591
+ `disk_encryption_key_rsa` and `disk_encryption_key_raw`
11592
+ may be set.
10910
11593
  """
10911
11594
  return pulumi.get(self, "kms_key_self_link")
10912
11595
 
@@ -10944,6 +11627,10 @@ class InstanceBootDiskArgs:
10944
11627
 
10945
11628
  if not MYPY:
10946
11629
  class InstanceBootDiskInitializeParamsArgsDict(TypedDict):
11630
+ architecture: NotRequired[pulumi.Input[str]]
11631
+ """
11632
+ The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11633
+ """
10947
11634
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
10948
11635
  """
10949
11636
  Whether this disk is using confidential compute mode.
@@ -10999,6 +11686,18 @@ if not MYPY:
10999
11686
  The size of the image in gigabytes. If not specified, it
11000
11687
  will inherit the size of its base image.
11001
11688
  """
11689
+ snapshot: NotRequired[pulumi.Input[str]]
11690
+ """
11691
+ The snapshot from which to initialize this disk. To create a disk with a snapshot that you created, specify the snapshot name in the following format: `global/snapshots/my-backup`
11692
+ """
11693
+ source_image_encryption_key: NotRequired[pulumi.Input['InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict']]
11694
+ """
11695
+ Encryption key used to decrypt the given image. Structure is documented below.
11696
+ """
11697
+ source_snapshot_encryption_key: NotRequired[pulumi.Input['InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict']]
11698
+ """
11699
+ Encryption key used to decrypt the given snapshot. Structure is documented below.
11700
+ """
11002
11701
  storage_pool: NotRequired[pulumi.Input[str]]
11003
11702
  """
11004
11703
  The URL or the name of the storage pool in which the new disk is created.
@@ -11018,6 +11717,7 @@ elif False:
11018
11717
  @pulumi.input_type
11019
11718
  class InstanceBootDiskInitializeParamsArgs:
11020
11719
  def __init__(__self__, *,
11720
+ architecture: Optional[pulumi.Input[str]] = None,
11021
11721
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
11022
11722
  image: Optional[pulumi.Input[str]] = None,
11023
11723
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -11026,9 +11726,13 @@ class InstanceBootDiskInitializeParamsArgs:
11026
11726
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
11027
11727
  resource_policies: Optional[pulumi.Input[str]] = None,
11028
11728
  size: Optional[pulumi.Input[int]] = None,
11729
+ snapshot: Optional[pulumi.Input[str]] = None,
11730
+ source_image_encryption_key: Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs']] = None,
11731
+ source_snapshot_encryption_key: Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']] = None,
11029
11732
  storage_pool: Optional[pulumi.Input[str]] = None,
11030
11733
  type: Optional[pulumi.Input[str]] = None):
11031
11734
  """
11735
+ :param pulumi.Input[str] architecture: The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11032
11736
  :param pulumi.Input[bool] enable_confidential_compute: Whether this disk is using confidential compute mode.
11033
11737
  Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
11034
11738
  :param pulumi.Input[str] image: The image from which to initialize this disk. This can be
@@ -11060,6 +11764,9 @@ class InstanceBootDiskInitializeParamsArgs:
11060
11764
  :param pulumi.Input[str] resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
11061
11765
  :param pulumi.Input[int] size: The size of the image in gigabytes. If not specified, it
11062
11766
  will inherit the size of its base image.
11767
+ :param pulumi.Input[str] snapshot: The snapshot from which to initialize this disk. To create a disk with a snapshot that you created, specify the snapshot name in the following format: `global/snapshots/my-backup`
11768
+ :param pulumi.Input['InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs'] source_image_encryption_key: Encryption key used to decrypt the given image. Structure is documented below.
11769
+ :param pulumi.Input['InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_key: Encryption key used to decrypt the given snapshot. Structure is documented below.
11063
11770
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
11064
11771
  For example:
11065
11772
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -11068,6 +11775,8 @@ class InstanceBootDiskInitializeParamsArgs:
11068
11775
  * /{storagePool}
11069
11776
  :param pulumi.Input[str] type: The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
11070
11777
  """
11778
+ if architecture is not None:
11779
+ pulumi.set(__self__, "architecture", architecture)
11071
11780
  if enable_confidential_compute is not None:
11072
11781
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
11073
11782
  if image is not None:
@@ -11084,11 +11793,29 @@ class InstanceBootDiskInitializeParamsArgs:
11084
11793
  pulumi.set(__self__, "resource_policies", resource_policies)
11085
11794
  if size is not None:
11086
11795
  pulumi.set(__self__, "size", size)
11796
+ if snapshot is not None:
11797
+ pulumi.set(__self__, "snapshot", snapshot)
11798
+ if source_image_encryption_key is not None:
11799
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
11800
+ if source_snapshot_encryption_key is not None:
11801
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
11087
11802
  if storage_pool is not None:
11088
11803
  pulumi.set(__self__, "storage_pool", storage_pool)
11089
11804
  if type is not None:
11090
11805
  pulumi.set(__self__, "type", type)
11091
11806
 
11807
+ @property
11808
+ @pulumi.getter
11809
+ def architecture(self) -> Optional[pulumi.Input[str]]:
11810
+ """
11811
+ The architecture of the attached disk. Valid values are `ARM64` or `x86_64`.
11812
+ """
11813
+ return pulumi.get(self, "architecture")
11814
+
11815
+ @architecture.setter
11816
+ def architecture(self, value: Optional[pulumi.Input[str]]):
11817
+ pulumi.set(self, "architecture", value)
11818
+
11092
11819
  @property
11093
11820
  @pulumi.getter(name="enableConfidentialCompute")
11094
11821
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -11208,6 +11935,42 @@ class InstanceBootDiskInitializeParamsArgs:
11208
11935
  def size(self, value: Optional[pulumi.Input[int]]):
11209
11936
  pulumi.set(self, "size", value)
11210
11937
 
11938
+ @property
11939
+ @pulumi.getter
11940
+ def snapshot(self) -> Optional[pulumi.Input[str]]:
11941
+ """
11942
+ The snapshot from which to initialize this disk. To create a disk with a snapshot that you created, specify the snapshot name in the following format: `global/snapshots/my-backup`
11943
+ """
11944
+ return pulumi.get(self, "snapshot")
11945
+
11946
+ @snapshot.setter
11947
+ def snapshot(self, value: Optional[pulumi.Input[str]]):
11948
+ pulumi.set(self, "snapshot", value)
11949
+
11950
+ @property
11951
+ @pulumi.getter(name="sourceImageEncryptionKey")
11952
+ def source_image_encryption_key(self) -> Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]:
11953
+ """
11954
+ Encryption key used to decrypt the given image. Structure is documented below.
11955
+ """
11956
+ return pulumi.get(self, "source_image_encryption_key")
11957
+
11958
+ @source_image_encryption_key.setter
11959
+ def source_image_encryption_key(self, value: Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]):
11960
+ pulumi.set(self, "source_image_encryption_key", value)
11961
+
11962
+ @property
11963
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
11964
+ def source_snapshot_encryption_key(self) -> Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]:
11965
+ """
11966
+ Encryption key used to decrypt the given snapshot. Structure is documented below.
11967
+ """
11968
+ return pulumi.get(self, "source_snapshot_encryption_key")
11969
+
11970
+ @source_snapshot_encryption_key.setter
11971
+ def source_snapshot_encryption_key(self, value: Optional[pulumi.Input['InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]):
11972
+ pulumi.set(self, "source_snapshot_encryption_key", value)
11973
+
11211
11974
  @property
11212
11975
  @pulumi.getter(name="storagePool")
11213
11976
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -11238,6 +12001,266 @@ class InstanceBootDiskInitializeParamsArgs:
11238
12001
  pulumi.set(self, "type", value)
11239
12002
 
11240
12003
 
12004
+ if not MYPY:
12005
+ class InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict(TypedDict):
12006
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
12007
+ """
12008
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12009
+ """
12010
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
12011
+ """
12012
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12013
+ """
12014
+ raw_key: NotRequired[pulumi.Input[str]]
12015
+ """
12016
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12017
+ """
12018
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
12019
+ """
12020
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12021
+ """
12022
+ sha256: NotRequired[pulumi.Input[str]]
12023
+ """
12024
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12025
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12026
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12027
+ """
12028
+ elif False:
12029
+ InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
12030
+
12031
+ @pulumi.input_type
12032
+ class InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs:
12033
+ def __init__(__self__, *,
12034
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
12035
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
12036
+ raw_key: Optional[pulumi.Input[str]] = None,
12037
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
12038
+ sha256: Optional[pulumi.Input[str]] = None):
12039
+ """
12040
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12041
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12042
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12043
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12044
+ :param pulumi.Input[str] sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12045
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12046
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12047
+ """
12048
+ if kms_key_self_link is not None:
12049
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
12050
+ if kms_key_service_account is not None:
12051
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
12052
+ if raw_key is not None:
12053
+ pulumi.set(__self__, "raw_key", raw_key)
12054
+ if rsa_encrypted_key is not None:
12055
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
12056
+ if sha256 is not None:
12057
+ pulumi.set(__self__, "sha256", sha256)
12058
+
12059
+ @property
12060
+ @pulumi.getter(name="kmsKeySelfLink")
12061
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
12062
+ """
12063
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12064
+ """
12065
+ return pulumi.get(self, "kms_key_self_link")
12066
+
12067
+ @kms_key_self_link.setter
12068
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
12069
+ pulumi.set(self, "kms_key_self_link", value)
12070
+
12071
+ @property
12072
+ @pulumi.getter(name="kmsKeyServiceAccount")
12073
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
12074
+ """
12075
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12076
+ """
12077
+ return pulumi.get(self, "kms_key_service_account")
12078
+
12079
+ @kms_key_service_account.setter
12080
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
12081
+ pulumi.set(self, "kms_key_service_account", value)
12082
+
12083
+ @property
12084
+ @pulumi.getter(name="rawKey")
12085
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
12086
+ """
12087
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12088
+ """
12089
+ return pulumi.get(self, "raw_key")
12090
+
12091
+ @raw_key.setter
12092
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
12093
+ pulumi.set(self, "raw_key", value)
12094
+
12095
+ @property
12096
+ @pulumi.getter(name="rsaEncryptedKey")
12097
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
12098
+ """
12099
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
12100
+ """
12101
+ return pulumi.get(self, "rsa_encrypted_key")
12102
+
12103
+ @rsa_encrypted_key.setter
12104
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
12105
+ pulumi.set(self, "rsa_encrypted_key", value)
12106
+
12107
+ @property
12108
+ @pulumi.getter
12109
+ def sha256(self) -> Optional[pulumi.Input[str]]:
12110
+ """
12111
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12112
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12113
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12114
+ """
12115
+ return pulumi.get(self, "sha256")
12116
+
12117
+ @sha256.setter
12118
+ def sha256(self, value: Optional[pulumi.Input[str]]):
12119
+ pulumi.set(self, "sha256", value)
12120
+
12121
+
12122
+ if not MYPY:
12123
+ class InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict(TypedDict):
12124
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
12125
+ """
12126
+ The self_link of the encryption key that is
12127
+ stored in Google Cloud KMS to decrypt the given image. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12128
+ may be set.
12129
+ """
12130
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
12131
+ """
12132
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12133
+ """
12134
+ raw_key: NotRequired[pulumi.Input[str]]
12135
+ """
12136
+ A 256-bit [customer-supplied encryption key]
12137
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
12138
+ encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12139
+ to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12140
+ may be set.
12141
+ """
12142
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
12143
+ """
12144
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
12145
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12146
+ may be set.
12147
+ """
12148
+ sha256: NotRequired[pulumi.Input[str]]
12149
+ """
12150
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12151
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12152
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12153
+ """
12154
+ elif False:
12155
+ InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
12156
+
12157
+ @pulumi.input_type
12158
+ class InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs:
12159
+ def __init__(__self__, *,
12160
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
12161
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
12162
+ raw_key: Optional[pulumi.Input[str]] = None,
12163
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
12164
+ sha256: Optional[pulumi.Input[str]] = None):
12165
+ """
12166
+ :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
12167
+ stored in Google Cloud KMS to decrypt the given image. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12168
+ may be set.
12169
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12170
+ :param pulumi.Input[str] raw_key: A 256-bit [customer-supplied encryption key]
12171
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
12172
+ encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12173
+ to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12174
+ may be set.
12175
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
12176
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12177
+ may be set.
12178
+ :param pulumi.Input[str] sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12179
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12180
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12181
+ """
12182
+ if kms_key_self_link is not None:
12183
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
12184
+ if kms_key_service_account is not None:
12185
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
12186
+ if raw_key is not None:
12187
+ pulumi.set(__self__, "raw_key", raw_key)
12188
+ if rsa_encrypted_key is not None:
12189
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
12190
+ if sha256 is not None:
12191
+ pulumi.set(__self__, "sha256", sha256)
12192
+
12193
+ @property
12194
+ @pulumi.getter(name="kmsKeySelfLink")
12195
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
12196
+ """
12197
+ The self_link of the encryption key that is
12198
+ stored in Google Cloud KMS to decrypt the given image. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12199
+ may be set.
12200
+ """
12201
+ return pulumi.get(self, "kms_key_self_link")
12202
+
12203
+ @kms_key_self_link.setter
12204
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
12205
+ pulumi.set(self, "kms_key_self_link", value)
12206
+
12207
+ @property
12208
+ @pulumi.getter(name="kmsKeyServiceAccount")
12209
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
12210
+ """
12211
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12212
+ """
12213
+ return pulumi.get(self, "kms_key_service_account")
12214
+
12215
+ @kms_key_service_account.setter
12216
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
12217
+ pulumi.set(self, "kms_key_service_account", value)
12218
+
12219
+ @property
12220
+ @pulumi.getter(name="rawKey")
12221
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
12222
+ """
12223
+ A 256-bit [customer-supplied encryption key]
12224
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
12225
+ encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12226
+ to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12227
+ may be set.
12228
+ """
12229
+ return pulumi.get(self, "raw_key")
12230
+
12231
+ @raw_key.setter
12232
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
12233
+ pulumi.set(self, "raw_key", value)
12234
+
12235
+ @property
12236
+ @pulumi.getter(name="rsaEncryptedKey")
12237
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
12238
+ """
12239
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
12240
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
12241
+ may be set.
12242
+ """
12243
+ return pulumi.get(self, "rsa_encrypted_key")
12244
+
12245
+ @rsa_encrypted_key.setter
12246
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
12247
+ pulumi.set(self, "rsa_encrypted_key", value)
12248
+
12249
+ @property
12250
+ @pulumi.getter
12251
+ def sha256(self) -> Optional[pulumi.Input[str]]:
12252
+ """
12253
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
12254
+ encoded SHA-256 hash of the [customer-supplied encryption key]
12255
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
12256
+ """
12257
+ return pulumi.get(self, "sha256")
12258
+
12259
+ @sha256.setter
12260
+ def sha256(self, value: Optional[pulumi.Input[str]]):
12261
+ pulumi.set(self, "sha256", value)
12262
+
12263
+
11241
12264
  if not MYPY:
11242
12265
  class InstanceConfidentialInstanceConfigArgsDict(TypedDict):
11243
12266
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -11434,15 +12457,23 @@ if not MYPY:
11434
12457
  """
11435
12458
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
11436
12459
  """
11437
- 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.
12460
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
12461
+ """
12462
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
12463
+ """
12464
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11438
12465
  """
11439
12466
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
11440
12467
  """
11441
12468
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11442
12469
  """
12470
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
12471
+ """
12472
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12473
+ """
11443
12474
  kms_key_self_link: NotRequired[pulumi.Input[str]]
11444
12475
  """
11445
- 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.
12476
+ 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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11446
12477
  """
11447
12478
  mode: NotRequired[pulumi.Input[str]]
11448
12479
  """
@@ -11457,15 +12488,19 @@ class InstanceFromMachineImageAttachedDiskArgs:
11457
12488
  source: pulumi.Input[str],
11458
12489
  device_name: Optional[pulumi.Input[str]] = None,
11459
12490
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
12491
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
11460
12492
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
12493
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
11461
12494
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
11462
12495
  mode: Optional[pulumi.Input[str]] = None):
11463
12496
  """
11464
12497
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
11465
12498
  :param pulumi.Input[str] device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
11466
- :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.
12499
+ :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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
12500
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11467
12501
  :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.
11468
- :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.
12502
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12503
+ :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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11469
12504
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
11470
12505
  """
11471
12506
  pulumi.set(__self__, "source", source)
@@ -11473,8 +12508,12 @@ class InstanceFromMachineImageAttachedDiskArgs:
11473
12508
  pulumi.set(__self__, "device_name", device_name)
11474
12509
  if disk_encryption_key_raw is not None:
11475
12510
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
12511
+ if disk_encryption_key_rsa is not None:
12512
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
11476
12513
  if disk_encryption_key_sha256 is not None:
11477
12514
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
12515
+ if disk_encryption_service_account is not None:
12516
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
11478
12517
  if kms_key_self_link is not None:
11479
12518
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
11480
12519
  if mode is not None:
@@ -11508,7 +12547,7 @@ class InstanceFromMachineImageAttachedDiskArgs:
11508
12547
  @pulumi.getter(name="diskEncryptionKeyRaw")
11509
12548
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
11510
12549
  """
11511
- 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.
12550
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11512
12551
  """
11513
12552
  return pulumi.get(self, "disk_encryption_key_raw")
11514
12553
 
@@ -11516,6 +12555,18 @@ class InstanceFromMachineImageAttachedDiskArgs:
11516
12555
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
11517
12556
  pulumi.set(self, "disk_encryption_key_raw", value)
11518
12557
 
12558
+ @property
12559
+ @pulumi.getter(name="diskEncryptionKeyRsa")
12560
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
12561
+ """
12562
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
12563
+ """
12564
+ return pulumi.get(self, "disk_encryption_key_rsa")
12565
+
12566
+ @disk_encryption_key_rsa.setter
12567
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
12568
+ pulumi.set(self, "disk_encryption_key_rsa", value)
12569
+
11519
12570
  @property
11520
12571
  @pulumi.getter(name="diskEncryptionKeySha256")
11521
12572
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -11528,11 +12579,23 @@ class InstanceFromMachineImageAttachedDiskArgs:
11528
12579
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11529
12580
  pulumi.set(self, "disk_encryption_key_sha256", value)
11530
12581
 
12582
+ @property
12583
+ @pulumi.getter(name="diskEncryptionServiceAccount")
12584
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
12585
+ """
12586
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12587
+ """
12588
+ return pulumi.get(self, "disk_encryption_service_account")
12589
+
12590
+ @disk_encryption_service_account.setter
12591
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
12592
+ pulumi.set(self, "disk_encryption_service_account", value)
12593
+
11531
12594
  @property
11532
12595
  @pulumi.getter(name="kmsKeySelfLink")
11533
12596
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
11534
12597
  """
11535
- 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.
12598
+ 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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11536
12599
  """
11537
12600
  return pulumi.get(self, "kms_key_self_link")
11538
12601
 
@@ -11565,12 +12628,24 @@ if not MYPY:
11565
12628
  """
11566
12629
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
11567
12630
  """
11568
- 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.
12631
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
12632
+ """
12633
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
12634
+ """
12635
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11569
12636
  """
11570
12637
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
11571
12638
  """
11572
12639
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11573
12640
  """
12641
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
12642
+ """
12643
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12644
+ """
12645
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
12646
+ """
12647
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
12648
+ """
11574
12649
  initialize_params: NotRequired[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgsDict']]
11575
12650
  """
11576
12651
  Parameters with which a disk was created alongside the instance.
@@ -11581,7 +12656,7 @@ if not MYPY:
11581
12656
  """
11582
12657
  kms_key_self_link: NotRequired[pulumi.Input[str]]
11583
12658
  """
11584
- 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.
12659
+ 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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11585
12660
  """
11586
12661
  mode: NotRequired[pulumi.Input[str]]
11587
12662
  """
@@ -11600,7 +12675,10 @@ class InstanceFromMachineImageBootDiskArgs:
11600
12675
  auto_delete: Optional[pulumi.Input[bool]] = None,
11601
12676
  device_name: Optional[pulumi.Input[str]] = None,
11602
12677
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
12678
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
11603
12679
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
12680
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
12681
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
11604
12682
  initialize_params: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs']] = None,
11605
12683
  interface: Optional[pulumi.Input[str]] = None,
11606
12684
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -11609,11 +12687,14 @@ class InstanceFromMachineImageBootDiskArgs:
11609
12687
  """
11610
12688
  :param pulumi.Input[bool] auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
11611
12689
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
11612
- :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.
12690
+ :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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
12691
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11613
12692
  :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.
12693
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12694
+ :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
12695
  :param pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
11615
12696
  :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
- :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.
12697
+ :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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11617
12698
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
11618
12699
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
11619
12700
  """
@@ -11623,8 +12704,14 @@ class InstanceFromMachineImageBootDiskArgs:
11623
12704
  pulumi.set(__self__, "device_name", device_name)
11624
12705
  if disk_encryption_key_raw is not None:
11625
12706
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
12707
+ if disk_encryption_key_rsa is not None:
12708
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
11626
12709
  if disk_encryption_key_sha256 is not None:
11627
12710
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
12711
+ if disk_encryption_service_account is not None:
12712
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
12713
+ if guest_os_features is not None:
12714
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
11628
12715
  if initialize_params is not None:
11629
12716
  pulumi.set(__self__, "initialize_params", initialize_params)
11630
12717
  if interface is not None:
@@ -11664,7 +12751,7 @@ class InstanceFromMachineImageBootDiskArgs:
11664
12751
  @pulumi.getter(name="diskEncryptionKeyRaw")
11665
12752
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
11666
12753
  """
11667
- 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.
12754
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11668
12755
  """
11669
12756
  return pulumi.get(self, "disk_encryption_key_raw")
11670
12757
 
@@ -11672,6 +12759,18 @@ class InstanceFromMachineImageBootDiskArgs:
11672
12759
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
11673
12760
  pulumi.set(self, "disk_encryption_key_raw", value)
11674
12761
 
12762
+ @property
12763
+ @pulumi.getter(name="diskEncryptionKeyRsa")
12764
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
12765
+ """
12766
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
12767
+ """
12768
+ return pulumi.get(self, "disk_encryption_key_rsa")
12769
+
12770
+ @disk_encryption_key_rsa.setter
12771
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
12772
+ pulumi.set(self, "disk_encryption_key_rsa", value)
12773
+
11675
12774
  @property
11676
12775
  @pulumi.getter(name="diskEncryptionKeySha256")
11677
12776
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -11684,6 +12783,30 @@ class InstanceFromMachineImageBootDiskArgs:
11684
12783
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11685
12784
  pulumi.set(self, "disk_encryption_key_sha256", value)
11686
12785
 
12786
+ @property
12787
+ @pulumi.getter(name="diskEncryptionServiceAccount")
12788
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
12789
+ """
12790
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
12791
+ """
12792
+ return pulumi.get(self, "disk_encryption_service_account")
12793
+
12794
+ @disk_encryption_service_account.setter
12795
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
12796
+ pulumi.set(self, "disk_encryption_service_account", value)
12797
+
12798
+ @property
12799
+ @pulumi.getter(name="guestOsFeatures")
12800
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
12801
+ """
12802
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
12803
+ """
12804
+ return pulumi.get(self, "guest_os_features")
12805
+
12806
+ @guest_os_features.setter
12807
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
12808
+ pulumi.set(self, "guest_os_features", value)
12809
+
11687
12810
  @property
11688
12811
  @pulumi.getter(name="initializeParams")
11689
12812
  def initialize_params(self) -> Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs']]:
@@ -11712,7 +12835,7 @@ class InstanceFromMachineImageBootDiskArgs:
11712
12835
  @pulumi.getter(name="kmsKeySelfLink")
11713
12836
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
11714
12837
  """
11715
- 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.
12838
+ 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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11716
12839
  """
11717
12840
  return pulumi.get(self, "kms_key_self_link")
11718
12841
 
@@ -11747,6 +12870,10 @@ class InstanceFromMachineImageBootDiskArgs:
11747
12870
 
11748
12871
  if not MYPY:
11749
12872
  class InstanceFromMachineImageBootDiskInitializeParamsArgsDict(TypedDict):
12873
+ architecture: NotRequired[pulumi.Input[str]]
12874
+ """
12875
+ The architecture of the disk. One of "X86_64" or "ARM64".
12876
+ """
11750
12877
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
11751
12878
  """
11752
12879
  A flag to enable confidential compute mode on boot disk
@@ -11779,6 +12906,18 @@ if not MYPY:
11779
12906
  """
11780
12907
  The size of the image in gigabytes.
11781
12908
  """
12909
+ snapshot: NotRequired[pulumi.Input[str]]
12910
+ """
12911
+ The snapshot from which this disk was initialised.
12912
+ """
12913
+ source_image_encryption_key: NotRequired[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict']]
12914
+ """
12915
+ The encryption key used to decrypt the source image.
12916
+ """
12917
+ source_snapshot_encryption_key: NotRequired[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict']]
12918
+ """
12919
+ The encryption key used to decrypt the source snapshot.
12920
+ """
11782
12921
  storage_pool: NotRequired[pulumi.Input[str]]
11783
12922
  """
11784
12923
  The URL of the storage pool in which the new disk is created
@@ -11793,6 +12932,7 @@ elif False:
11793
12932
  @pulumi.input_type
11794
12933
  class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11795
12934
  def __init__(__self__, *,
12935
+ architecture: Optional[pulumi.Input[str]] = None,
11796
12936
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
11797
12937
  image: Optional[pulumi.Input[str]] = None,
11798
12938
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -11801,9 +12941,13 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11801
12941
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
11802
12942
  resource_policies: Optional[pulumi.Input[str]] = None,
11803
12943
  size: Optional[pulumi.Input[int]] = None,
12944
+ snapshot: Optional[pulumi.Input[str]] = None,
12945
+ source_image_encryption_key: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs']] = None,
12946
+ source_snapshot_encryption_key: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']] = None,
11804
12947
  storage_pool: Optional[pulumi.Input[str]] = None,
11805
12948
  type: Optional[pulumi.Input[str]] = None):
11806
12949
  """
12950
+ :param pulumi.Input[str] architecture: The architecture of the disk. One of "X86_64" or "ARM64".
11807
12951
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
11808
12952
  :param pulumi.Input[str] image: The image from which this disk was initialised.
11809
12953
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs assigned to the disk.
@@ -11812,9 +12956,14 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11812
12956
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
11813
12957
  :param pulumi.Input[str] resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
11814
12958
  :param pulumi.Input[int] size: The size of the image in gigabytes.
12959
+ :param pulumi.Input[str] snapshot: The snapshot from which this disk was initialised.
12960
+ :param pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs'] source_image_encryption_key: The encryption key used to decrypt the source image.
12961
+ :param pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_key: The encryption key used to decrypt the source snapshot.
11815
12962
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
11816
12963
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
11817
12964
  """
12965
+ if architecture is not None:
12966
+ pulumi.set(__self__, "architecture", architecture)
11818
12967
  if enable_confidential_compute is not None:
11819
12968
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
11820
12969
  if image is not None:
@@ -11831,11 +12980,29 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11831
12980
  pulumi.set(__self__, "resource_policies", resource_policies)
11832
12981
  if size is not None:
11833
12982
  pulumi.set(__self__, "size", size)
12983
+ if snapshot is not None:
12984
+ pulumi.set(__self__, "snapshot", snapshot)
12985
+ if source_image_encryption_key is not None:
12986
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
12987
+ if source_snapshot_encryption_key is not None:
12988
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
11834
12989
  if storage_pool is not None:
11835
12990
  pulumi.set(__self__, "storage_pool", storage_pool)
11836
12991
  if type is not None:
11837
12992
  pulumi.set(__self__, "type", type)
11838
12993
 
12994
+ @property
12995
+ @pulumi.getter
12996
+ def architecture(self) -> Optional[pulumi.Input[str]]:
12997
+ """
12998
+ The architecture of the disk. One of "X86_64" or "ARM64".
12999
+ """
13000
+ return pulumi.get(self, "architecture")
13001
+
13002
+ @architecture.setter
13003
+ def architecture(self, value: Optional[pulumi.Input[str]]):
13004
+ pulumi.set(self, "architecture", value)
13005
+
11839
13006
  @property
11840
13007
  @pulumi.getter(name="enableConfidentialCompute")
11841
13008
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -11932,6 +13099,42 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11932
13099
  def size(self, value: Optional[pulumi.Input[int]]):
11933
13100
  pulumi.set(self, "size", value)
11934
13101
 
13102
+ @property
13103
+ @pulumi.getter
13104
+ def snapshot(self) -> Optional[pulumi.Input[str]]:
13105
+ """
13106
+ The snapshot from which this disk was initialised.
13107
+ """
13108
+ return pulumi.get(self, "snapshot")
13109
+
13110
+ @snapshot.setter
13111
+ def snapshot(self, value: Optional[pulumi.Input[str]]):
13112
+ pulumi.set(self, "snapshot", value)
13113
+
13114
+ @property
13115
+ @pulumi.getter(name="sourceImageEncryptionKey")
13116
+ def source_image_encryption_key(self) -> Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]:
13117
+ """
13118
+ The encryption key used to decrypt the source image.
13119
+ """
13120
+ return pulumi.get(self, "source_image_encryption_key")
13121
+
13122
+ @source_image_encryption_key.setter
13123
+ def source_image_encryption_key(self, value: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]):
13124
+ pulumi.set(self, "source_image_encryption_key", value)
13125
+
13126
+ @property
13127
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
13128
+ def source_snapshot_encryption_key(self) -> Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]:
13129
+ """
13130
+ The encryption key used to decrypt the source snapshot.
13131
+ """
13132
+ return pulumi.get(self, "source_snapshot_encryption_key")
13133
+
13134
+ @source_snapshot_encryption_key.setter
13135
+ def source_snapshot_encryption_key(self, value: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]):
13136
+ pulumi.set(self, "source_snapshot_encryption_key", value)
13137
+
11935
13138
  @property
11936
13139
  @pulumi.getter(name="storagePool")
11937
13140
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -11957,6 +13160,230 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
11957
13160
  pulumi.set(self, "type", value)
11958
13161
 
11959
13162
 
13163
+ if not MYPY:
13164
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict(TypedDict):
13165
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
13166
+ """
13167
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13168
+ """
13169
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
13170
+ """
13171
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13172
+ """
13173
+ raw_key: NotRequired[pulumi.Input[str]]
13174
+ """
13175
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13176
+ """
13177
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
13178
+ """
13179
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13180
+ """
13181
+ sha256: NotRequired[pulumi.Input[str]]
13182
+ """
13183
+ The SHA256 hash of the encryption key used to encrypt this disk.
13184
+ """
13185
+ elif False:
13186
+ InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
13187
+
13188
+ @pulumi.input_type
13189
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs:
13190
+ def __init__(__self__, *,
13191
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
13192
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
13193
+ raw_key: Optional[pulumi.Input[str]] = None,
13194
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
13195
+ sha256: Optional[pulumi.Input[str]] = None):
13196
+ """
13197
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13198
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13199
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13200
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13201
+ :param pulumi.Input[str] sha256: The SHA256 hash of the encryption key used to encrypt this disk.
13202
+ """
13203
+ if kms_key_self_link is not None:
13204
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
13205
+ if kms_key_service_account is not None:
13206
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
13207
+ if raw_key is not None:
13208
+ pulumi.set(__self__, "raw_key", raw_key)
13209
+ if rsa_encrypted_key is not None:
13210
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
13211
+ if sha256 is not None:
13212
+ pulumi.set(__self__, "sha256", sha256)
13213
+
13214
+ @property
13215
+ @pulumi.getter(name="kmsKeySelfLink")
13216
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
13217
+ """
13218
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13219
+ """
13220
+ return pulumi.get(self, "kms_key_self_link")
13221
+
13222
+ @kms_key_self_link.setter
13223
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
13224
+ pulumi.set(self, "kms_key_self_link", value)
13225
+
13226
+ @property
13227
+ @pulumi.getter(name="kmsKeyServiceAccount")
13228
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
13229
+ """
13230
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13231
+ """
13232
+ return pulumi.get(self, "kms_key_service_account")
13233
+
13234
+ @kms_key_service_account.setter
13235
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
13236
+ pulumi.set(self, "kms_key_service_account", value)
13237
+
13238
+ @property
13239
+ @pulumi.getter(name="rawKey")
13240
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
13241
+ """
13242
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13243
+ """
13244
+ return pulumi.get(self, "raw_key")
13245
+
13246
+ @raw_key.setter
13247
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
13248
+ pulumi.set(self, "raw_key", value)
13249
+
13250
+ @property
13251
+ @pulumi.getter(name="rsaEncryptedKey")
13252
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
13253
+ """
13254
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13255
+ """
13256
+ return pulumi.get(self, "rsa_encrypted_key")
13257
+
13258
+ @rsa_encrypted_key.setter
13259
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
13260
+ pulumi.set(self, "rsa_encrypted_key", value)
13261
+
13262
+ @property
13263
+ @pulumi.getter
13264
+ def sha256(self) -> Optional[pulumi.Input[str]]:
13265
+ """
13266
+ The SHA256 hash of the encryption key used to encrypt this disk.
13267
+ """
13268
+ return pulumi.get(self, "sha256")
13269
+
13270
+ @sha256.setter
13271
+ def sha256(self, value: Optional[pulumi.Input[str]]):
13272
+ pulumi.set(self, "sha256", value)
13273
+
13274
+
13275
+ if not MYPY:
13276
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict(TypedDict):
13277
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
13278
+ """
13279
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13280
+ """
13281
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
13282
+ """
13283
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13284
+ """
13285
+ raw_key: NotRequired[pulumi.Input[str]]
13286
+ """
13287
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13288
+ """
13289
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
13290
+ """
13291
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13292
+ """
13293
+ sha256: NotRequired[pulumi.Input[str]]
13294
+ """
13295
+ The SHA256 hash of the encryption key used to encrypt this disk.
13296
+ """
13297
+ elif False:
13298
+ InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
13299
+
13300
+ @pulumi.input_type
13301
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs:
13302
+ def __init__(__self__, *,
13303
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
13304
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
13305
+ raw_key: Optional[pulumi.Input[str]] = None,
13306
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
13307
+ sha256: Optional[pulumi.Input[str]] = None):
13308
+ """
13309
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13310
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13311
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13312
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13313
+ :param pulumi.Input[str] sha256: The SHA256 hash of the encryption key used to encrypt this disk.
13314
+ """
13315
+ if kms_key_self_link is not None:
13316
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
13317
+ if kms_key_service_account is not None:
13318
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
13319
+ if raw_key is not None:
13320
+ pulumi.set(__self__, "raw_key", raw_key)
13321
+ if rsa_encrypted_key is not None:
13322
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
13323
+ if sha256 is not None:
13324
+ pulumi.set(__self__, "sha256", sha256)
13325
+
13326
+ @property
13327
+ @pulumi.getter(name="kmsKeySelfLink")
13328
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
13329
+ """
13330
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13331
+ """
13332
+ return pulumi.get(self, "kms_key_self_link")
13333
+
13334
+ @kms_key_self_link.setter
13335
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
13336
+ pulumi.set(self, "kms_key_self_link", value)
13337
+
13338
+ @property
13339
+ @pulumi.getter(name="kmsKeyServiceAccount")
13340
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
13341
+ """
13342
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13343
+ """
13344
+ return pulumi.get(self, "kms_key_service_account")
13345
+
13346
+ @kms_key_service_account.setter
13347
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
13348
+ pulumi.set(self, "kms_key_service_account", value)
13349
+
13350
+ @property
13351
+ @pulumi.getter(name="rawKey")
13352
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
13353
+ """
13354
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13355
+ """
13356
+ return pulumi.get(self, "raw_key")
13357
+
13358
+ @raw_key.setter
13359
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
13360
+ pulumi.set(self, "raw_key", value)
13361
+
13362
+ @property
13363
+ @pulumi.getter(name="rsaEncryptedKey")
13364
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
13365
+ """
13366
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
13367
+ """
13368
+ return pulumi.get(self, "rsa_encrypted_key")
13369
+
13370
+ @rsa_encrypted_key.setter
13371
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
13372
+ pulumi.set(self, "rsa_encrypted_key", value)
13373
+
13374
+ @property
13375
+ @pulumi.getter
13376
+ def sha256(self) -> Optional[pulumi.Input[str]]:
13377
+ """
13378
+ The SHA256 hash of the encryption key used to encrypt this disk.
13379
+ """
13380
+ return pulumi.get(self, "sha256")
13381
+
13382
+ @sha256.setter
13383
+ def sha256(self, value: Optional[pulumi.Input[str]]):
13384
+ pulumi.set(self, "sha256", value)
13385
+
13386
+
11960
13387
  if not MYPY:
11961
13388
  class InstanceFromMachineImageConfidentialInstanceConfigArgsDict(TypedDict):
11962
13389
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -12068,6 +13495,78 @@ class InstanceFromMachineImageGuestAcceleratorArgs:
12068
13495
  pulumi.set(self, "type", value)
12069
13496
 
12070
13497
 
13498
+ if not MYPY:
13499
+ class InstanceFromMachineImageInstanceEncryptionKeyArgsDict(TypedDict):
13500
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
13501
+ """
13502
+ The self link of the encryption key that is stored in Google Cloud KMS.
13503
+ """
13504
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
13505
+ """
13506
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13507
+ """
13508
+ sha256: NotRequired[pulumi.Input[str]]
13509
+ """
13510
+ The SHA256 hash of the customer's encryption key.
13511
+ """
13512
+ elif False:
13513
+ InstanceFromMachineImageInstanceEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
13514
+
13515
+ @pulumi.input_type
13516
+ class InstanceFromMachineImageInstanceEncryptionKeyArgs:
13517
+ def __init__(__self__, *,
13518
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
13519
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
13520
+ sha256: Optional[pulumi.Input[str]] = None):
13521
+ """
13522
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS.
13523
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13524
+ :param pulumi.Input[str] sha256: The SHA256 hash of the customer's encryption key.
13525
+ """
13526
+ if kms_key_self_link is not None:
13527
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
13528
+ if kms_key_service_account is not None:
13529
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
13530
+ if sha256 is not None:
13531
+ pulumi.set(__self__, "sha256", sha256)
13532
+
13533
+ @property
13534
+ @pulumi.getter(name="kmsKeySelfLink")
13535
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
13536
+ """
13537
+ The self link of the encryption key that is stored in Google Cloud KMS.
13538
+ """
13539
+ return pulumi.get(self, "kms_key_self_link")
13540
+
13541
+ @kms_key_self_link.setter
13542
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
13543
+ pulumi.set(self, "kms_key_self_link", value)
13544
+
13545
+ @property
13546
+ @pulumi.getter(name="kmsKeyServiceAccount")
13547
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
13548
+ """
13549
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
13550
+ """
13551
+ return pulumi.get(self, "kms_key_service_account")
13552
+
13553
+ @kms_key_service_account.setter
13554
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
13555
+ pulumi.set(self, "kms_key_service_account", value)
13556
+
13557
+ @property
13558
+ @pulumi.getter
13559
+ def sha256(self) -> Optional[pulumi.Input[str]]:
13560
+ """
13561
+ The SHA256 hash of the customer's encryption key.
13562
+ """
13563
+ return pulumi.get(self, "sha256")
13564
+
13565
+ @sha256.setter
13566
+ def sha256(self, value: Optional[pulumi.Input[str]]):
13567
+ pulumi.set(self, "sha256", value)
13568
+
13569
+
12071
13570
  if not MYPY:
12072
13571
  class InstanceFromMachineImageNetworkInterfaceArgsDict(TypedDict):
12073
13572
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageNetworkInterfaceAccessConfigArgsDict']]]]
@@ -13682,6 +15181,81 @@ class InstanceFromMachineImageShieldedInstanceConfigArgs:
13682
15181
  pulumi.set(self, "enable_vtpm", value)
13683
15182
 
13684
15183
 
15184
+ if not MYPY:
15185
+ class InstanceFromMachineImageSourceMachineImageEncryptionKeyArgsDict(TypedDict):
15186
+ kms_key_name: NotRequired[pulumi.Input[str]]
15187
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
15188
+ raw_key: NotRequired[pulumi.Input[str]]
15189
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
15190
+ sha256: NotRequired[pulumi.Input[str]]
15191
+ elif False:
15192
+ InstanceFromMachineImageSourceMachineImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
15193
+
15194
+ @pulumi.input_type
15195
+ class InstanceFromMachineImageSourceMachineImageEncryptionKeyArgs:
15196
+ def __init__(__self__, *,
15197
+ kms_key_name: Optional[pulumi.Input[str]] = None,
15198
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
15199
+ raw_key: Optional[pulumi.Input[str]] = None,
15200
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
15201
+ sha256: Optional[pulumi.Input[str]] = None):
15202
+ if kms_key_name is not None:
15203
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
15204
+ if kms_key_service_account is not None:
15205
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
15206
+ if raw_key is not None:
15207
+ pulumi.set(__self__, "raw_key", raw_key)
15208
+ if rsa_encrypted_key is not None:
15209
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
15210
+ if sha256 is not None:
15211
+ pulumi.set(__self__, "sha256", sha256)
15212
+
15213
+ @property
15214
+ @pulumi.getter(name="kmsKeyName")
15215
+ def kms_key_name(self) -> Optional[pulumi.Input[str]]:
15216
+ return pulumi.get(self, "kms_key_name")
15217
+
15218
+ @kms_key_name.setter
15219
+ def kms_key_name(self, value: Optional[pulumi.Input[str]]):
15220
+ pulumi.set(self, "kms_key_name", value)
15221
+
15222
+ @property
15223
+ @pulumi.getter(name="kmsKeyServiceAccount")
15224
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
15225
+ return pulumi.get(self, "kms_key_service_account")
15226
+
15227
+ @kms_key_service_account.setter
15228
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
15229
+ pulumi.set(self, "kms_key_service_account", value)
15230
+
15231
+ @property
15232
+ @pulumi.getter(name="rawKey")
15233
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
15234
+ return pulumi.get(self, "raw_key")
15235
+
15236
+ @raw_key.setter
15237
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
15238
+ pulumi.set(self, "raw_key", value)
15239
+
15240
+ @property
15241
+ @pulumi.getter(name="rsaEncryptedKey")
15242
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
15243
+ return pulumi.get(self, "rsa_encrypted_key")
15244
+
15245
+ @rsa_encrypted_key.setter
15246
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
15247
+ pulumi.set(self, "rsa_encrypted_key", value)
15248
+
15249
+ @property
15250
+ @pulumi.getter
15251
+ def sha256(self) -> Optional[pulumi.Input[str]]:
15252
+ return pulumi.get(self, "sha256")
15253
+
15254
+ @sha256.setter
15255
+ def sha256(self, value: Optional[pulumi.Input[str]]):
15256
+ pulumi.set(self, "sha256", value)
15257
+
15258
+
13685
15259
  if not MYPY:
13686
15260
  class InstanceFromTemplateAdvancedMachineFeaturesArgsDict(TypedDict):
13687
15261
  enable_nested_virtualization: NotRequired[pulumi.Input[bool]]
@@ -13826,15 +15400,23 @@ if not MYPY:
13826
15400
  """
13827
15401
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
13828
15402
  """
13829
- 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.
15403
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
15404
+ """
15405
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
15406
+ """
15407
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13830
15408
  """
13831
15409
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
13832
15410
  """
13833
15411
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
13834
15412
  """
15413
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
15414
+ """
15415
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15416
+ """
13835
15417
  kms_key_self_link: NotRequired[pulumi.Input[str]]
13836
15418
  """
13837
- 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.
15419
+ 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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13838
15420
  """
13839
15421
  mode: NotRequired[pulumi.Input[str]]
13840
15422
  """
@@ -13849,15 +15431,19 @@ class InstanceFromTemplateAttachedDiskArgs:
13849
15431
  source: pulumi.Input[str],
13850
15432
  device_name: Optional[pulumi.Input[str]] = None,
13851
15433
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
15434
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
13852
15435
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
15436
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
13853
15437
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
13854
15438
  mode: Optional[pulumi.Input[str]] = None):
13855
15439
  """
13856
15440
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
13857
15441
  :param pulumi.Input[str] device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
13858
- :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.
15442
+ :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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
15443
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13859
15444
  :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.
13860
- :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.
15445
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15446
+ :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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13861
15447
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
13862
15448
  """
13863
15449
  pulumi.set(__self__, "source", source)
@@ -13865,8 +15451,12 @@ class InstanceFromTemplateAttachedDiskArgs:
13865
15451
  pulumi.set(__self__, "device_name", device_name)
13866
15452
  if disk_encryption_key_raw is not None:
13867
15453
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
15454
+ if disk_encryption_key_rsa is not None:
15455
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
13868
15456
  if disk_encryption_key_sha256 is not None:
13869
15457
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
15458
+ if disk_encryption_service_account is not None:
15459
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
13870
15460
  if kms_key_self_link is not None:
13871
15461
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
13872
15462
  if mode is not None:
@@ -13900,7 +15490,7 @@ class InstanceFromTemplateAttachedDiskArgs:
13900
15490
  @pulumi.getter(name="diskEncryptionKeyRaw")
13901
15491
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
13902
15492
  """
13903
- 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.
15493
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13904
15494
  """
13905
15495
  return pulumi.get(self, "disk_encryption_key_raw")
13906
15496
 
@@ -13908,6 +15498,18 @@ class InstanceFromTemplateAttachedDiskArgs:
13908
15498
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
13909
15499
  pulumi.set(self, "disk_encryption_key_raw", value)
13910
15500
 
15501
+ @property
15502
+ @pulumi.getter(name="diskEncryptionKeyRsa")
15503
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
15504
+ """
15505
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
15506
+ """
15507
+ return pulumi.get(self, "disk_encryption_key_rsa")
15508
+
15509
+ @disk_encryption_key_rsa.setter
15510
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
15511
+ pulumi.set(self, "disk_encryption_key_rsa", value)
15512
+
13911
15513
  @property
13912
15514
  @pulumi.getter(name="diskEncryptionKeySha256")
13913
15515
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -13920,11 +15522,23 @@ class InstanceFromTemplateAttachedDiskArgs:
13920
15522
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
13921
15523
  pulumi.set(self, "disk_encryption_key_sha256", value)
13922
15524
 
15525
+ @property
15526
+ @pulumi.getter(name="diskEncryptionServiceAccount")
15527
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
15528
+ """
15529
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15530
+ """
15531
+ return pulumi.get(self, "disk_encryption_service_account")
15532
+
15533
+ @disk_encryption_service_account.setter
15534
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
15535
+ pulumi.set(self, "disk_encryption_service_account", value)
15536
+
13923
15537
  @property
13924
15538
  @pulumi.getter(name="kmsKeySelfLink")
13925
15539
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
13926
15540
  """
13927
- 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.
15541
+ 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, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
13928
15542
  """
13929
15543
  return pulumi.get(self, "kms_key_self_link")
13930
15544
 
@@ -13957,12 +15571,24 @@ if not MYPY:
13957
15571
  """
13958
15572
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
13959
15573
  """
13960
- 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.
15574
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
15575
+ """
15576
+ disk_encryption_key_rsa: NotRequired[pulumi.Input[str]]
15577
+ """
15578
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
13961
15579
  """
13962
15580
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
13963
15581
  """
13964
15582
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
13965
15583
  """
15584
+ disk_encryption_service_account: NotRequired[pulumi.Input[str]]
15585
+ """
15586
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15587
+ """
15588
+ guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
15589
+ """
15590
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
15591
+ """
13966
15592
  initialize_params: NotRequired[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgsDict']]
13967
15593
  """
13968
15594
  Parameters with which a disk was created alongside the instance.
@@ -13973,7 +15599,7 @@ if not MYPY:
13973
15599
  """
13974
15600
  kms_key_self_link: NotRequired[pulumi.Input[str]]
13975
15601
  """
13976
- 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.
15602
+ 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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
13977
15603
  """
13978
15604
  mode: NotRequired[pulumi.Input[str]]
13979
15605
  """
@@ -13992,7 +15618,10 @@ class InstanceFromTemplateBootDiskArgs:
13992
15618
  auto_delete: Optional[pulumi.Input[bool]] = None,
13993
15619
  device_name: Optional[pulumi.Input[str]] = None,
13994
15620
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
15621
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
13995
15622
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
15623
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
15624
+ guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
13996
15625
  initialize_params: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs']] = None,
13997
15626
  interface: Optional[pulumi.Input[str]] = None,
13998
15627
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
@@ -14001,11 +15630,14 @@ class InstanceFromTemplateBootDiskArgs:
14001
15630
  """
14002
15631
  :param pulumi.Input[bool] auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
14003
15632
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
14004
- :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.
15633
+ :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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
15634
+ :param pulumi.Input[str] disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
14005
15635
  :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.
15636
+ :param pulumi.Input[str] disk_encryption_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15637
+ :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
15638
  :param pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
14007
15639
  :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
- :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.
15640
+ :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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
14009
15641
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
14010
15642
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
14011
15643
  """
@@ -14015,8 +15647,14 @@ class InstanceFromTemplateBootDiskArgs:
14015
15647
  pulumi.set(__self__, "device_name", device_name)
14016
15648
  if disk_encryption_key_raw is not None:
14017
15649
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
15650
+ if disk_encryption_key_rsa is not None:
15651
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
14018
15652
  if disk_encryption_key_sha256 is not None:
14019
15653
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
15654
+ if disk_encryption_service_account is not None:
15655
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
15656
+ if guest_os_features is not None:
15657
+ pulumi.set(__self__, "guest_os_features", guest_os_features)
14020
15658
  if initialize_params is not None:
14021
15659
  pulumi.set(__self__, "initialize_params", initialize_params)
14022
15660
  if interface is not None:
@@ -14056,7 +15694,7 @@ class InstanceFromTemplateBootDiskArgs:
14056
15694
  @pulumi.getter(name="diskEncryptionKeyRaw")
14057
15695
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
14058
15696
  """
14059
- 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.
15697
+ A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
14060
15698
  """
14061
15699
  return pulumi.get(self, "disk_encryption_key_raw")
14062
15700
 
@@ -14064,6 +15702,18 @@ class InstanceFromTemplateBootDiskArgs:
14064
15702
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
14065
15703
  pulumi.set(self, "disk_encryption_key_raw", value)
14066
15704
 
15705
+ @property
15706
+ @pulumi.getter(name="diskEncryptionKeyRsa")
15707
+ def disk_encryption_key_rsa(self) -> Optional[pulumi.Input[str]]:
15708
+ """
15709
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
15710
+ """
15711
+ return pulumi.get(self, "disk_encryption_key_rsa")
15712
+
15713
+ @disk_encryption_key_rsa.setter
15714
+ def disk_encryption_key_rsa(self, value: Optional[pulumi.Input[str]]):
15715
+ pulumi.set(self, "disk_encryption_key_rsa", value)
15716
+
14067
15717
  @property
14068
15718
  @pulumi.getter(name="diskEncryptionKeySha256")
14069
15719
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -14076,6 +15726,30 @@ class InstanceFromTemplateBootDiskArgs:
14076
15726
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
14077
15727
  pulumi.set(self, "disk_encryption_key_sha256", value)
14078
15728
 
15729
+ @property
15730
+ @pulumi.getter(name="diskEncryptionServiceAccount")
15731
+ def disk_encryption_service_account(self) -> Optional[pulumi.Input[str]]:
15732
+ """
15733
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
15734
+ """
15735
+ return pulumi.get(self, "disk_encryption_service_account")
15736
+
15737
+ @disk_encryption_service_account.setter
15738
+ def disk_encryption_service_account(self, value: Optional[pulumi.Input[str]]):
15739
+ pulumi.set(self, "disk_encryption_service_account", value)
15740
+
15741
+ @property
15742
+ @pulumi.getter(name="guestOsFeatures")
15743
+ def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
15744
+ """
15745
+ A list of features to enable on the guest operating system. Applicable only for bootable images.
15746
+ """
15747
+ return pulumi.get(self, "guest_os_features")
15748
+
15749
+ @guest_os_features.setter
15750
+ def guest_os_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
15751
+ pulumi.set(self, "guest_os_features", value)
15752
+
14079
15753
  @property
14080
15754
  @pulumi.getter(name="initializeParams")
14081
15755
  def initialize_params(self) -> Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs']]:
@@ -14104,7 +15778,7 @@ class InstanceFromTemplateBootDiskArgs:
14104
15778
  @pulumi.getter(name="kmsKeySelfLink")
14105
15779
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
14106
15780
  """
14107
- 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.
15781
+ 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, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
14108
15782
  """
14109
15783
  return pulumi.get(self, "kms_key_self_link")
14110
15784
 
@@ -14139,6 +15813,10 @@ class InstanceFromTemplateBootDiskArgs:
14139
15813
 
14140
15814
  if not MYPY:
14141
15815
  class InstanceFromTemplateBootDiskInitializeParamsArgsDict(TypedDict):
15816
+ architecture: NotRequired[pulumi.Input[str]]
15817
+ """
15818
+ The architecture of the disk. One of "X86_64" or "ARM64".
15819
+ """
14142
15820
  enable_confidential_compute: NotRequired[pulumi.Input[bool]]
14143
15821
  """
14144
15822
  A flag to enable confidential compute mode on boot disk
@@ -14171,6 +15849,18 @@ if not MYPY:
14171
15849
  """
14172
15850
  The size of the image in gigabytes.
14173
15851
  """
15852
+ snapshot: NotRequired[pulumi.Input[str]]
15853
+ """
15854
+ The snapshot from which this disk was initialised.
15855
+ """
15856
+ source_image_encryption_key: NotRequired[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict']]
15857
+ """
15858
+ The encryption key used to decrypt the source image.
15859
+ """
15860
+ source_snapshot_encryption_key: NotRequired[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict']]
15861
+ """
15862
+ The encryption key used to decrypt the source snapshot.
15863
+ """
14174
15864
  storage_pool: NotRequired[pulumi.Input[str]]
14175
15865
  """
14176
15866
  The URL of the storage pool in which the new disk is created
@@ -14185,6 +15875,7 @@ elif False:
14185
15875
  @pulumi.input_type
14186
15876
  class InstanceFromTemplateBootDiskInitializeParamsArgs:
14187
15877
  def __init__(__self__, *,
15878
+ architecture: Optional[pulumi.Input[str]] = None,
14188
15879
  enable_confidential_compute: Optional[pulumi.Input[bool]] = None,
14189
15880
  image: Optional[pulumi.Input[str]] = None,
14190
15881
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -14193,9 +15884,13 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14193
15884
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
14194
15885
  resource_policies: Optional[pulumi.Input[str]] = None,
14195
15886
  size: Optional[pulumi.Input[int]] = None,
15887
+ snapshot: Optional[pulumi.Input[str]] = None,
15888
+ source_image_encryption_key: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs']] = None,
15889
+ source_snapshot_encryption_key: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']] = None,
14196
15890
  storage_pool: Optional[pulumi.Input[str]] = None,
14197
15891
  type: Optional[pulumi.Input[str]] = None):
14198
15892
  """
15893
+ :param pulumi.Input[str] architecture: The architecture of the disk. One of "X86_64" or "ARM64".
14199
15894
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
14200
15895
  :param pulumi.Input[str] image: The image from which this disk was initialised.
14201
15896
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs assigned to the disk.
@@ -14204,9 +15899,14 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14204
15899
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
14205
15900
  :param pulumi.Input[str] resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
14206
15901
  :param pulumi.Input[int] size: The size of the image in gigabytes.
15902
+ :param pulumi.Input[str] snapshot: The snapshot from which this disk was initialised.
15903
+ :param pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs'] source_image_encryption_key: The encryption key used to decrypt the source image.
15904
+ :param pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_key: The encryption key used to decrypt the source snapshot.
14207
15905
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
14208
15906
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
14209
15907
  """
15908
+ if architecture is not None:
15909
+ pulumi.set(__self__, "architecture", architecture)
14210
15910
  if enable_confidential_compute is not None:
14211
15911
  pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
14212
15912
  if image is not None:
@@ -14223,11 +15923,29 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14223
15923
  pulumi.set(__self__, "resource_policies", resource_policies)
14224
15924
  if size is not None:
14225
15925
  pulumi.set(__self__, "size", size)
15926
+ if snapshot is not None:
15927
+ pulumi.set(__self__, "snapshot", snapshot)
15928
+ if source_image_encryption_key is not None:
15929
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
15930
+ if source_snapshot_encryption_key is not None:
15931
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
14226
15932
  if storage_pool is not None:
14227
15933
  pulumi.set(__self__, "storage_pool", storage_pool)
14228
15934
  if type is not None:
14229
15935
  pulumi.set(__self__, "type", type)
14230
15936
 
15937
+ @property
15938
+ @pulumi.getter
15939
+ def architecture(self) -> Optional[pulumi.Input[str]]:
15940
+ """
15941
+ The architecture of the disk. One of "X86_64" or "ARM64".
15942
+ """
15943
+ return pulumi.get(self, "architecture")
15944
+
15945
+ @architecture.setter
15946
+ def architecture(self, value: Optional[pulumi.Input[str]]):
15947
+ pulumi.set(self, "architecture", value)
15948
+
14231
15949
  @property
14232
15950
  @pulumi.getter(name="enableConfidentialCompute")
14233
15951
  def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
@@ -14324,6 +16042,42 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14324
16042
  def size(self, value: Optional[pulumi.Input[int]]):
14325
16043
  pulumi.set(self, "size", value)
14326
16044
 
16045
+ @property
16046
+ @pulumi.getter
16047
+ def snapshot(self) -> Optional[pulumi.Input[str]]:
16048
+ """
16049
+ The snapshot from which this disk was initialised.
16050
+ """
16051
+ return pulumi.get(self, "snapshot")
16052
+
16053
+ @snapshot.setter
16054
+ def snapshot(self, value: Optional[pulumi.Input[str]]):
16055
+ pulumi.set(self, "snapshot", value)
16056
+
16057
+ @property
16058
+ @pulumi.getter(name="sourceImageEncryptionKey")
16059
+ def source_image_encryption_key(self) -> Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]:
16060
+ """
16061
+ The encryption key used to decrypt the source image.
16062
+ """
16063
+ return pulumi.get(self, "source_image_encryption_key")
16064
+
16065
+ @source_image_encryption_key.setter
16066
+ def source_image_encryption_key(self, value: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs']]):
16067
+ pulumi.set(self, "source_image_encryption_key", value)
16068
+
16069
+ @property
16070
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
16071
+ def source_snapshot_encryption_key(self) -> Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]:
16072
+ """
16073
+ The encryption key used to decrypt the source snapshot.
16074
+ """
16075
+ return pulumi.get(self, "source_snapshot_encryption_key")
16076
+
16077
+ @source_snapshot_encryption_key.setter
16078
+ def source_snapshot_encryption_key(self, value: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs']]):
16079
+ pulumi.set(self, "source_snapshot_encryption_key", value)
16080
+
14327
16081
  @property
14328
16082
  @pulumi.getter(name="storagePool")
14329
16083
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -14349,6 +16103,230 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14349
16103
  pulumi.set(self, "type", value)
14350
16104
 
14351
16105
 
16106
+ if not MYPY:
16107
+ class InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict(TypedDict):
16108
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
16109
+ """
16110
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16111
+ """
16112
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
16113
+ """
16114
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16115
+ """
16116
+ raw_key: NotRequired[pulumi.Input[str]]
16117
+ """
16118
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16119
+ """
16120
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
16121
+ """
16122
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16123
+ """
16124
+ sha256: NotRequired[pulumi.Input[str]]
16125
+ """
16126
+ The SHA256 hash of the encryption key used to encrypt this disk.
16127
+ """
16128
+ elif False:
16129
+ InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
16130
+
16131
+ @pulumi.input_type
16132
+ class InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs:
16133
+ def __init__(__self__, *,
16134
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
16135
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
16136
+ raw_key: Optional[pulumi.Input[str]] = None,
16137
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
16138
+ sha256: Optional[pulumi.Input[str]] = None):
16139
+ """
16140
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16141
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16142
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16143
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16144
+ :param pulumi.Input[str] sha256: The SHA256 hash of the encryption key used to encrypt this disk.
16145
+ """
16146
+ if kms_key_self_link is not None:
16147
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
16148
+ if kms_key_service_account is not None:
16149
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
16150
+ if raw_key is not None:
16151
+ pulumi.set(__self__, "raw_key", raw_key)
16152
+ if rsa_encrypted_key is not None:
16153
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
16154
+ if sha256 is not None:
16155
+ pulumi.set(__self__, "sha256", sha256)
16156
+
16157
+ @property
16158
+ @pulumi.getter(name="kmsKeySelfLink")
16159
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
16160
+ """
16161
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16162
+ """
16163
+ return pulumi.get(self, "kms_key_self_link")
16164
+
16165
+ @kms_key_self_link.setter
16166
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
16167
+ pulumi.set(self, "kms_key_self_link", value)
16168
+
16169
+ @property
16170
+ @pulumi.getter(name="kmsKeyServiceAccount")
16171
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
16172
+ """
16173
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16174
+ """
16175
+ return pulumi.get(self, "kms_key_service_account")
16176
+
16177
+ @kms_key_service_account.setter
16178
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
16179
+ pulumi.set(self, "kms_key_service_account", value)
16180
+
16181
+ @property
16182
+ @pulumi.getter(name="rawKey")
16183
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
16184
+ """
16185
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16186
+ """
16187
+ return pulumi.get(self, "raw_key")
16188
+
16189
+ @raw_key.setter
16190
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
16191
+ pulumi.set(self, "raw_key", value)
16192
+
16193
+ @property
16194
+ @pulumi.getter(name="rsaEncryptedKey")
16195
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
16196
+ """
16197
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16198
+ """
16199
+ return pulumi.get(self, "rsa_encrypted_key")
16200
+
16201
+ @rsa_encrypted_key.setter
16202
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
16203
+ pulumi.set(self, "rsa_encrypted_key", value)
16204
+
16205
+ @property
16206
+ @pulumi.getter
16207
+ def sha256(self) -> Optional[pulumi.Input[str]]:
16208
+ """
16209
+ The SHA256 hash of the encryption key used to encrypt this disk.
16210
+ """
16211
+ return pulumi.get(self, "sha256")
16212
+
16213
+ @sha256.setter
16214
+ def sha256(self, value: Optional[pulumi.Input[str]]):
16215
+ pulumi.set(self, "sha256", value)
16216
+
16217
+
16218
+ if not MYPY:
16219
+ class InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict(TypedDict):
16220
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
16221
+ """
16222
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16223
+ """
16224
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
16225
+ """
16226
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16227
+ """
16228
+ raw_key: NotRequired[pulumi.Input[str]]
16229
+ """
16230
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16231
+ """
16232
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
16233
+ """
16234
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16235
+ """
16236
+ sha256: NotRequired[pulumi.Input[str]]
16237
+ """
16238
+ The SHA256 hash of the encryption key used to encrypt this disk.
16239
+ """
16240
+ elif False:
16241
+ InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
16242
+
16243
+ @pulumi.input_type
16244
+ class InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs:
16245
+ def __init__(__self__, *,
16246
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
16247
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
16248
+ raw_key: Optional[pulumi.Input[str]] = None,
16249
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
16250
+ sha256: Optional[pulumi.Input[str]] = None):
16251
+ """
16252
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16253
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16254
+ :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16255
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16256
+ :param pulumi.Input[str] sha256: The SHA256 hash of the encryption key used to encrypt this disk.
16257
+ """
16258
+ if kms_key_self_link is not None:
16259
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
16260
+ if kms_key_service_account is not None:
16261
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
16262
+ if raw_key is not None:
16263
+ pulumi.set(__self__, "raw_key", raw_key)
16264
+ if rsa_encrypted_key is not None:
16265
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
16266
+ if sha256 is not None:
16267
+ pulumi.set(__self__, "sha256", sha256)
16268
+
16269
+ @property
16270
+ @pulumi.getter(name="kmsKeySelfLink")
16271
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
16272
+ """
16273
+ The self link of the encryption key that is stored in Google Cloud KMS. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16274
+ """
16275
+ return pulumi.get(self, "kms_key_self_link")
16276
+
16277
+ @kms_key_self_link.setter
16278
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
16279
+ pulumi.set(self, "kms_key_self_link", value)
16280
+
16281
+ @property
16282
+ @pulumi.getter(name="kmsKeyServiceAccount")
16283
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
16284
+ """
16285
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16286
+ """
16287
+ return pulumi.get(self, "kms_key_service_account")
16288
+
16289
+ @kms_key_service_account.setter
16290
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
16291
+ pulumi.set(self, "kms_key_service_account", value)
16292
+
16293
+ @property
16294
+ @pulumi.getter(name="rawKey")
16295
+ def raw_key(self) -> Optional[pulumi.Input[str]]:
16296
+ """
16297
+ Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16298
+ """
16299
+ return pulumi.get(self, "raw_key")
16300
+
16301
+ @raw_key.setter
16302
+ def raw_key(self, value: Optional[pulumi.Input[str]]):
16303
+ pulumi.set(self, "raw_key", value)
16304
+
16305
+ @property
16306
+ @pulumi.getter(name="rsaEncryptedKey")
16307
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
16308
+ """
16309
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. Only one of kms_key_self_link, rsa_encrypted_key and raw_key may be set.
16310
+ """
16311
+ return pulumi.get(self, "rsa_encrypted_key")
16312
+
16313
+ @rsa_encrypted_key.setter
16314
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
16315
+ pulumi.set(self, "rsa_encrypted_key", value)
16316
+
16317
+ @property
16318
+ @pulumi.getter
16319
+ def sha256(self) -> Optional[pulumi.Input[str]]:
16320
+ """
16321
+ The SHA256 hash of the encryption key used to encrypt this disk.
16322
+ """
16323
+ return pulumi.get(self, "sha256")
16324
+
16325
+ @sha256.setter
16326
+ def sha256(self, value: Optional[pulumi.Input[str]]):
16327
+ pulumi.set(self, "sha256", value)
16328
+
16329
+
14352
16330
  if not MYPY:
14353
16331
  class InstanceFromTemplateConfidentialInstanceConfigArgsDict(TypedDict):
14354
16332
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -14460,6 +16438,78 @@ class InstanceFromTemplateGuestAcceleratorArgs:
14460
16438
  pulumi.set(self, "type", value)
14461
16439
 
14462
16440
 
16441
+ if not MYPY:
16442
+ class InstanceFromTemplateInstanceEncryptionKeyArgsDict(TypedDict):
16443
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
16444
+ """
16445
+ The self link of the encryption key that is stored in Google Cloud KMS.
16446
+ """
16447
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
16448
+ """
16449
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16450
+ """
16451
+ sha256: NotRequired[pulumi.Input[str]]
16452
+ """
16453
+ The SHA256 hash of the customer's encryption key.
16454
+ """
16455
+ elif False:
16456
+ InstanceFromTemplateInstanceEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
16457
+
16458
+ @pulumi.input_type
16459
+ class InstanceFromTemplateInstanceEncryptionKeyArgs:
16460
+ def __init__(__self__, *,
16461
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
16462
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
16463
+ sha256: Optional[pulumi.Input[str]] = None):
16464
+ """
16465
+ :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS.
16466
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16467
+ :param pulumi.Input[str] sha256: The SHA256 hash of the customer's encryption key.
16468
+ """
16469
+ if kms_key_self_link is not None:
16470
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
16471
+ if kms_key_service_account is not None:
16472
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
16473
+ if sha256 is not None:
16474
+ pulumi.set(__self__, "sha256", sha256)
16475
+
16476
+ @property
16477
+ @pulumi.getter(name="kmsKeySelfLink")
16478
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
16479
+ """
16480
+ The self link of the encryption key that is stored in Google Cloud KMS.
16481
+ """
16482
+ return pulumi.get(self, "kms_key_self_link")
16483
+
16484
+ @kms_key_self_link.setter
16485
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
16486
+ pulumi.set(self, "kms_key_self_link", value)
16487
+
16488
+ @property
16489
+ @pulumi.getter(name="kmsKeyServiceAccount")
16490
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
16491
+ """
16492
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
16493
+ """
16494
+ return pulumi.get(self, "kms_key_service_account")
16495
+
16496
+ @kms_key_service_account.setter
16497
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
16498
+ pulumi.set(self, "kms_key_service_account", value)
16499
+
16500
+ @property
16501
+ @pulumi.getter
16502
+ def sha256(self) -> Optional[pulumi.Input[str]]:
16503
+ """
16504
+ The SHA256 hash of the customer's encryption key.
16505
+ """
16506
+ return pulumi.get(self, "sha256")
16507
+
16508
+ @sha256.setter
16509
+ def sha256(self, value: Optional[pulumi.Input[str]]):
16510
+ pulumi.set(self, "sha256", value)
16511
+
16512
+
14463
16513
  if not MYPY:
14464
16514
  class InstanceFromTemplateNetworkInterfaceArgsDict(TypedDict):
14465
16515
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateNetworkInterfaceAccessConfigArgsDict']]]]
@@ -16189,13 +18239,18 @@ if not MYPY:
16189
18239
  class InstanceGroupManagerInstanceLifecyclePolicyArgsDict(TypedDict):
16190
18240
  default_action_on_failure: NotRequired[pulumi.Input[str]]
16191
18241
  """
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
- - - -
18242
+ , 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
18243
  """
16195
18244
  force_update_on_repair: NotRequired[pulumi.Input[str]]
16196
18245
  """
16197
18246
  , 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
18247
  """
18248
+ on_failed_health_check: NotRequired[pulumi.Input[str]]
18249
+ """
18250
+ , 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.
18251
+
18252
+ - - -
18253
+ """
16199
18254
  elif False:
16200
18255
  InstanceGroupManagerInstanceLifecyclePolicyArgsDict: TypeAlias = Mapping[str, Any]
16201
18256
 
@@ -16203,23 +18258,27 @@ elif False:
16203
18258
  class InstanceGroupManagerInstanceLifecyclePolicyArgs:
16204
18259
  def __init__(__self__, *,
16205
18260
  default_action_on_failure: Optional[pulumi.Input[str]] = None,
16206
- force_update_on_repair: Optional[pulumi.Input[str]] = None):
18261
+ force_update_on_repair: Optional[pulumi.Input[str]] = None,
18262
+ on_failed_health_check: Optional[pulumi.Input[str]] = None):
16207
18263
  """
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
- - - -
18264
+ :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
18265
  :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.
18266
+ :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.
18267
+
18268
+ - - -
16211
18269
  """
16212
18270
  if default_action_on_failure is not None:
16213
18271
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
16214
18272
  if force_update_on_repair is not None:
16215
18273
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
18274
+ if on_failed_health_check is not None:
18275
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
16216
18276
 
16217
18277
  @property
16218
18278
  @pulumi.getter(name="defaultActionOnFailure")
16219
18279
  def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
16220
18280
  """
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
- - - -
18281
+ , 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
18282
  """
16224
18283
  return pulumi.get(self, "default_action_on_failure")
16225
18284
 
@@ -16239,6 +18298,20 @@ class InstanceGroupManagerInstanceLifecyclePolicyArgs:
16239
18298
  def force_update_on_repair(self, value: Optional[pulumi.Input[str]]):
16240
18299
  pulumi.set(self, "force_update_on_repair", value)
16241
18300
 
18301
+ @property
18302
+ @pulumi.getter(name="onFailedHealthCheck")
18303
+ def on_failed_health_check(self) -> Optional[pulumi.Input[str]]:
18304
+ """
18305
+ , 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.
18306
+
18307
+ - - -
18308
+ """
18309
+ return pulumi.get(self, "on_failed_health_check")
18310
+
18311
+ @on_failed_health_check.setter
18312
+ def on_failed_health_check(self, value: Optional[pulumi.Input[str]]):
18313
+ pulumi.set(self, "on_failed_health_check", value)
18314
+
16242
18315
 
16243
18316
  if not MYPY:
16244
18317
  class InstanceGroupManagerNamedPortArgsDict(TypedDict):
@@ -17396,6 +19469,81 @@ class InstanceIAMMemberConditionArgs:
17396
19469
  pulumi.set(self, "description", value)
17397
19470
 
17398
19471
 
19472
+ if not MYPY:
19473
+ class InstanceInstanceEncryptionKeyArgsDict(TypedDict):
19474
+ kms_key_self_link: NotRequired[pulumi.Input[str]]
19475
+ """
19476
+ The self_link of the encryption key that is
19477
+ stored in Google Cloud KMS to encrypt the data on this instance.
19478
+ """
19479
+ kms_key_service_account: NotRequired[pulumi.Input[str]]
19480
+ """
19481
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
19482
+ """
19483
+ sha256: NotRequired[pulumi.Input[str]]
19484
+ """
19485
+ The SHA256 hash of the customer's encryption key.
19486
+ """
19487
+ elif False:
19488
+ InstanceInstanceEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
19489
+
19490
+ @pulumi.input_type
19491
+ class InstanceInstanceEncryptionKeyArgs:
19492
+ def __init__(__self__, *,
19493
+ kms_key_self_link: Optional[pulumi.Input[str]] = None,
19494
+ kms_key_service_account: Optional[pulumi.Input[str]] = None,
19495
+ sha256: Optional[pulumi.Input[str]] = None):
19496
+ """
19497
+ :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
19498
+ stored in Google Cloud KMS to encrypt the data on this instance.
19499
+ :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
19500
+ :param pulumi.Input[str] sha256: The SHA256 hash of the customer's encryption key.
19501
+ """
19502
+ if kms_key_self_link is not None:
19503
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
19504
+ if kms_key_service_account is not None:
19505
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
19506
+ if sha256 is not None:
19507
+ pulumi.set(__self__, "sha256", sha256)
19508
+
19509
+ @property
19510
+ @pulumi.getter(name="kmsKeySelfLink")
19511
+ def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
19512
+ """
19513
+ The self_link of the encryption key that is
19514
+ stored in Google Cloud KMS to encrypt the data on this instance.
19515
+ """
19516
+ return pulumi.get(self, "kms_key_self_link")
19517
+
19518
+ @kms_key_self_link.setter
19519
+ def kms_key_self_link(self, value: Optional[pulumi.Input[str]]):
19520
+ pulumi.set(self, "kms_key_self_link", value)
19521
+
19522
+ @property
19523
+ @pulumi.getter(name="kmsKeyServiceAccount")
19524
+ def kms_key_service_account(self) -> Optional[pulumi.Input[str]]:
19525
+ """
19526
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
19527
+ """
19528
+ return pulumi.get(self, "kms_key_service_account")
19529
+
19530
+ @kms_key_service_account.setter
19531
+ def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
19532
+ pulumi.set(self, "kms_key_service_account", value)
19533
+
19534
+ @property
19535
+ @pulumi.getter
19536
+ def sha256(self) -> Optional[pulumi.Input[str]]:
19537
+ """
19538
+ The SHA256 hash of the customer's encryption key.
19539
+ """
19540
+ return pulumi.get(self, "sha256")
19541
+
19542
+ @sha256.setter
19543
+ def sha256(self, value: Optional[pulumi.Input[str]]):
19544
+ pulumi.set(self, "sha256", value)
19545
+
19546
+
17399
19547
  if not MYPY:
17400
19548
  class InstanceNetworkInterfaceArgsDict(TypedDict):
17401
19549
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceNetworkInterfaceAccessConfigArgsDict']]]]
@@ -32886,15 +35034,19 @@ if not MYPY:
32886
35034
  class RegionInstanceGroupManagerInstanceLifecyclePolicyArgsDict(TypedDict):
32887
35035
  default_action_on_failure: NotRequired[pulumi.Input[str]]
32888
35036
  """
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:
35037
+ , 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
35038
  """
32894
35039
  force_update_on_repair: NotRequired[pulumi.Input[str]]
32895
35040
  """
32896
35041
  , 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
35042
  """
35043
+ on_failed_health_check: NotRequired[pulumi.Input[str]]
35044
+ """
35045
+ , 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.
35046
+
35047
+ - - -
35048
+ <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
35049
+ """
32898
35050
  elif False:
32899
35051
  RegionInstanceGroupManagerInstanceLifecyclePolicyArgsDict: TypeAlias = Mapping[str, Any]
32900
35052
 
@@ -32902,27 +35054,28 @@ elif False:
32902
35054
  class RegionInstanceGroupManagerInstanceLifecyclePolicyArgs:
32903
35055
  def __init__(__self__, *,
32904
35056
  default_action_on_failure: Optional[pulumi.Input[str]] = None,
32905
- force_update_on_repair: Optional[pulumi.Input[str]] = None):
35057
+ force_update_on_repair: Optional[pulumi.Input[str]] = None,
35058
+ on_failed_health_check: Optional[pulumi.Input[str]] = None):
32906
35059
  """
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.
35060
+ :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.
35061
+ :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.
35062
+ :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
35063
 
32909
35064
  - - -
32910
35065
  <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
35066
  """
32913
35067
  if default_action_on_failure is not None:
32914
35068
  pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
32915
35069
  if force_update_on_repair is not None:
32916
35070
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
35071
+ if on_failed_health_check is not None:
35072
+ pulumi.set(__self__, "on_failed_health_check", on_failed_health_check)
32917
35073
 
32918
35074
  @property
32919
35075
  @pulumi.getter(name="defaultActionOnFailure")
32920
35076
  def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
32921
35077
  """
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:
35078
+ , 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
35079
  """
32927
35080
  return pulumi.get(self, "default_action_on_failure")
32928
35081
 
@@ -32942,6 +35095,21 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicyArgs:
32942
35095
  def force_update_on_repair(self, value: Optional[pulumi.Input[str]]):
32943
35096
  pulumi.set(self, "force_update_on_repair", value)
32944
35097
 
35098
+ @property
35099
+ @pulumi.getter(name="onFailedHealthCheck")
35100
+ def on_failed_health_check(self) -> Optional[pulumi.Input[str]]:
35101
+ """
35102
+ , 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.
35103
+
35104
+ - - -
35105
+ <a name="nested_instance_flexibility_policy"></a>The `instance_flexibility_policy` block supports:
35106
+ """
35107
+ return pulumi.get(self, "on_failed_health_check")
35108
+
35109
+ @on_failed_health_check.setter
35110
+ def on_failed_health_check(self, value: Optional[pulumi.Input[str]]):
35111
+ pulumi.set(self, "on_failed_health_check", value)
35112
+
32945
35113
 
32946
35114
  if not MYPY:
32947
35115
  class RegionInstanceGroupManagerNamedPortArgsDict(TypedDict):
@@ -51147,6 +53315,10 @@ if not MYPY:
51147
53315
  attached.
51148
53316
  Possible values are: `COLLOCATED`.
51149
53317
  """
53318
+ gpu_topology: NotRequired[pulumi.Input[str]]
53319
+ """
53320
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
53321
+ """
51150
53322
  max_distance: NotRequired[pulumi.Input[int]]
51151
53323
  """
51152
53324
  Specifies the number of max logical switches.
@@ -51165,6 +53337,7 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51165
53337
  def __init__(__self__, *,
51166
53338
  availability_domain_count: Optional[pulumi.Input[int]] = None,
51167
53339
  collocation: Optional[pulumi.Input[str]] = None,
53340
+ gpu_topology: Optional[pulumi.Input[str]] = None,
51168
53341
  max_distance: Optional[pulumi.Input[int]] = None,
51169
53342
  vm_count: Optional[pulumi.Input[int]] = None):
51170
53343
  """
@@ -51175,6 +53348,7 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51175
53348
  with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
51176
53349
  attached.
51177
53350
  Possible values are: `COLLOCATED`.
53351
+ :param pulumi.Input[str] gpu_topology: Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
51178
53352
  :param pulumi.Input[int] max_distance: Specifies the number of max logical switches.
51179
53353
  :param pulumi.Input[int] vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
51180
53354
  unless you use a compact policy and you want your policy to work only if it contains this
@@ -51184,6 +53358,8 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51184
53358
  pulumi.set(__self__, "availability_domain_count", availability_domain_count)
51185
53359
  if collocation is not None:
51186
53360
  pulumi.set(__self__, "collocation", collocation)
53361
+ if gpu_topology is not None:
53362
+ pulumi.set(__self__, "gpu_topology", gpu_topology)
51187
53363
  if max_distance is not None:
51188
53364
  pulumi.set(__self__, "max_distance", max_distance)
51189
53365
  if vm_count is not None:
@@ -51218,6 +53394,18 @@ class ResourcePolicyGroupPlacementPolicyArgs:
51218
53394
  def collocation(self, value: Optional[pulumi.Input[str]]):
51219
53395
  pulumi.set(self, "collocation", value)
51220
53396
 
53397
+ @property
53398
+ @pulumi.getter(name="gpuTopology")
53399
+ def gpu_topology(self) -> Optional[pulumi.Input[str]]:
53400
+ """
53401
+ Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
53402
+ """
53403
+ return pulumi.get(self, "gpu_topology")
53404
+
53405
+ @gpu_topology.setter
53406
+ def gpu_topology(self, value: Optional[pulumi.Input[str]]):
53407
+ pulumi.set(self, "gpu_topology", value)
53408
+
51221
53409
  @property
51222
53410
  @pulumi.getter(name="maxDistance")
51223
53411
  def max_distance(self) -> Optional[pulumi.Input[int]]:
@@ -51951,6 +54139,89 @@ class ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs:
51951
54139
  pulumi.set(self, "storage_locations", value)
51952
54140
 
51953
54141
 
54142
+ if not MYPY:
54143
+ class ResourcePolicyWorkloadPolicyArgsDict(TypedDict):
54144
+ type: pulumi.Input[str]
54145
+ """
54146
+ The type of workload policy.
54147
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
54148
+ """
54149
+ accelerator_topology: NotRequired[pulumi.Input[str]]
54150
+ """
54151
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
54152
+ and cannot be set if max topology distance is set.
54153
+ """
54154
+ max_topology_distance: NotRequired[pulumi.Input[str]]
54155
+ """
54156
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
54157
+ and cannot be set if accelerator topology is set.
54158
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
54159
+ """
54160
+ elif False:
54161
+ ResourcePolicyWorkloadPolicyArgsDict: TypeAlias = Mapping[str, Any]
54162
+
54163
+ @pulumi.input_type
54164
+ class ResourcePolicyWorkloadPolicyArgs:
54165
+ def __init__(__self__, *,
54166
+ type: pulumi.Input[str],
54167
+ accelerator_topology: Optional[pulumi.Input[str]] = None,
54168
+ max_topology_distance: Optional[pulumi.Input[str]] = None):
54169
+ """
54170
+ :param pulumi.Input[str] type: The type of workload policy.
54171
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
54172
+ :param pulumi.Input[str] accelerator_topology: The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
54173
+ and cannot be set if max topology distance is set.
54174
+ :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
54175
+ and cannot be set if accelerator topology is set.
54176
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
54177
+ """
54178
+ pulumi.set(__self__, "type", type)
54179
+ if accelerator_topology is not None:
54180
+ pulumi.set(__self__, "accelerator_topology", accelerator_topology)
54181
+ if max_topology_distance is not None:
54182
+ pulumi.set(__self__, "max_topology_distance", max_topology_distance)
54183
+
54184
+ @property
54185
+ @pulumi.getter
54186
+ def type(self) -> pulumi.Input[str]:
54187
+ """
54188
+ The type of workload policy.
54189
+ Possible values are: `HIGH_AVAILABILITY`, `HIGH_THROUGHPUT`.
54190
+ """
54191
+ return pulumi.get(self, "type")
54192
+
54193
+ @type.setter
54194
+ def type(self, value: pulumi.Input[str]):
54195
+ pulumi.set(self, "type", value)
54196
+
54197
+ @property
54198
+ @pulumi.getter(name="acceleratorTopology")
54199
+ def accelerator_topology(self) -> Optional[pulumi.Input[str]]:
54200
+ """
54201
+ The accelerator topology. This field can be set only when the workload policy type is HIGH_THROUGHPUT
54202
+ and cannot be set if max topology distance is set.
54203
+ """
54204
+ return pulumi.get(self, "accelerator_topology")
54205
+
54206
+ @accelerator_topology.setter
54207
+ def accelerator_topology(self, value: Optional[pulumi.Input[str]]):
54208
+ pulumi.set(self, "accelerator_topology", value)
54209
+
54210
+ @property
54211
+ @pulumi.getter(name="maxTopologyDistance")
54212
+ def max_topology_distance(self) -> Optional[pulumi.Input[str]]:
54213
+ """
54214
+ The maximum topology distance. This field can be set only when the workload policy type is HIGH_THROUGHPUT
54215
+ and cannot be set if accelerator topology is set.
54216
+ Possible values are: `BLOCK`, `CLUSTER`, `SUBBLOCK`.
54217
+ """
54218
+ return pulumi.get(self, "max_topology_distance")
54219
+
54220
+ @max_topology_distance.setter
54221
+ def max_topology_distance(self, value: Optional[pulumi.Input[str]]):
54222
+ pulumi.set(self, "max_topology_distance", value)
54223
+
54224
+
51954
54225
  if not MYPY:
51955
54226
  class RouteAsPathArgsDict(TypedDict):
51956
54227
  as_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]
@@ -52391,6 +54662,8 @@ if not MYPY:
52391
54662
  description: NotRequired[pulumi.Input[str]]
52392
54663
  """
52393
54664
  User-specified description for the IP range.
54665
+
54666
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
52394
54667
  """
52395
54668
  elif False:
52396
54669
  RouterBgpAdvertisedIpRangeArgsDict: TypeAlias = Mapping[str, Any]
@@ -52404,6 +54677,8 @@ class RouterBgpAdvertisedIpRangeArgs:
52404
54677
  :param pulumi.Input[str] range: The IP range to advertise. The value must be a
52405
54678
  CIDR-formatted string.
52406
54679
  :param pulumi.Input[str] description: User-specified description for the IP range.
54680
+
54681
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
52407
54682
  """
52408
54683
  pulumi.set(__self__, "range", range)
52409
54684
  if description is not None:
@@ -52427,6 +54702,8 @@ class RouterBgpAdvertisedIpRangeArgs:
52427
54702
  def description(self) -> Optional[pulumi.Input[str]]:
52428
54703
  """
52429
54704
  User-specified description for the IP range.
54705
+
54706
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
52430
54707
  """
52431
54708
  return pulumi.get(self, "description")
52432
54709
 
@@ -52435,6 +54712,71 @@ class RouterBgpAdvertisedIpRangeArgs:
52435
54712
  pulumi.set(self, "description", value)
52436
54713
 
52437
54714
 
54715
+ if not MYPY:
54716
+ class RouterMd5AuthenticationKeysArgsDict(TypedDict):
54717
+ key: pulumi.Input[str]
54718
+ """
54719
+ Value of the key used for MD5 authentication.
54720
+ """
54721
+ name: pulumi.Input[str]
54722
+ """
54723
+ Name of the resource. The name must be 1-63 characters long, and
54724
+ comply with RFC1035. Specifically, the name must be 1-63 characters
54725
+ long and match the regular expression `a-z?`
54726
+ which means the first character must be a lowercase letter, and all
54727
+ following characters must be a dash, lowercase letter, or digit,
54728
+ except the last character, which cannot be a dash.
54729
+ """
54730
+ elif False:
54731
+ RouterMd5AuthenticationKeysArgsDict: TypeAlias = Mapping[str, Any]
54732
+
54733
+ @pulumi.input_type
54734
+ class RouterMd5AuthenticationKeysArgs:
54735
+ def __init__(__self__, *,
54736
+ key: pulumi.Input[str],
54737
+ name: pulumi.Input[str]):
54738
+ """
54739
+ :param pulumi.Input[str] key: Value of the key used for MD5 authentication.
54740
+ :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
54741
+ comply with RFC1035. Specifically, the name must be 1-63 characters
54742
+ long and match the regular expression `a-z?`
54743
+ which means the first character must be a lowercase letter, and all
54744
+ following characters must be a dash, lowercase letter, or digit,
54745
+ except the last character, which cannot be a dash.
54746
+ """
54747
+ pulumi.set(__self__, "key", key)
54748
+ pulumi.set(__self__, "name", name)
54749
+
54750
+ @property
54751
+ @pulumi.getter
54752
+ def key(self) -> pulumi.Input[str]:
54753
+ """
54754
+ Value of the key used for MD5 authentication.
54755
+ """
54756
+ return pulumi.get(self, "key")
54757
+
54758
+ @key.setter
54759
+ def key(self, value: pulumi.Input[str]):
54760
+ pulumi.set(self, "key", value)
54761
+
54762
+ @property
54763
+ @pulumi.getter
54764
+ def name(self) -> pulumi.Input[str]:
54765
+ """
54766
+ Name of the resource. The name must be 1-63 characters long, and
54767
+ comply with RFC1035. Specifically, the name must be 1-63 characters
54768
+ long and match the regular expression `a-z?`
54769
+ which means the first character must be a lowercase letter, and all
54770
+ following characters must be a dash, lowercase letter, or digit,
54771
+ except the last character, which cannot be a dash.
54772
+ """
54773
+ return pulumi.get(self, "name")
54774
+
54775
+ @name.setter
54776
+ def name(self, value: pulumi.Input[str]):
54777
+ pulumi.set(self, "name", value)
54778
+
54779
+
52438
54780
  if not MYPY:
52439
54781
  class RouterNatLogConfigArgsDict(TypedDict):
52440
54782
  enable: pulumi.Input[bool]
@@ -56195,6 +58537,12 @@ if not MYPY:
56195
58537
  RFC 4648 base64 to either encrypt or decrypt this resource.
56196
58538
  **Note**: This property is sensitive and will not be displayed in the plan.
56197
58539
  """
58540
+ rsa_encrypted_key: NotRequired[pulumi.Input[str]]
58541
+ """
58542
+ Specifies an encryption key stored in Google Cloud KMS, encoded in
58543
+ RFC 4648 base64 to either encrypt or decrypt this resource.
58544
+ **Note**: This property is sensitive and will not be displayed in the plan.
58545
+ """
56198
58546
  sha256: NotRequired[pulumi.Input[str]]
56199
58547
  """
56200
58548
  (Output)
@@ -56210,6 +58558,7 @@ class SnapshotSnapshotEncryptionKeyArgs:
56210
58558
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
56211
58559
  kms_key_service_account: Optional[pulumi.Input[str]] = None,
56212
58560
  raw_key: Optional[pulumi.Input[str]] = None,
58561
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
56213
58562
  sha256: Optional[pulumi.Input[str]] = None):
56214
58563
  """
56215
58564
  :param pulumi.Input[str] kms_key_self_link: The name of the encryption key that is stored in Google Cloud KMS.
@@ -56218,6 +58567,9 @@ class SnapshotSnapshotEncryptionKeyArgs:
56218
58567
  :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
56219
58568
  RFC 4648 base64 to either encrypt or decrypt this resource.
56220
58569
  **Note**: This property is sensitive and will not be displayed in the plan.
58570
+ :param pulumi.Input[str] rsa_encrypted_key: Specifies an encryption key stored in Google Cloud KMS, encoded in
58571
+ RFC 4648 base64 to either encrypt or decrypt this resource.
58572
+ **Note**: This property is sensitive and will not be displayed in the plan.
56221
58573
  :param pulumi.Input[str] sha256: (Output)
56222
58574
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
56223
58575
  encryption key that protects this resource.
@@ -56228,6 +58580,8 @@ class SnapshotSnapshotEncryptionKeyArgs:
56228
58580
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
56229
58581
  if raw_key is not None:
56230
58582
  pulumi.set(__self__, "raw_key", raw_key)
58583
+ if rsa_encrypted_key is not None:
58584
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
56231
58585
  if sha256 is not None:
56232
58586
  pulumi.set(__self__, "sha256", sha256)
56233
58587
 
@@ -56270,6 +58624,20 @@ class SnapshotSnapshotEncryptionKeyArgs:
56270
58624
  def raw_key(self, value: Optional[pulumi.Input[str]]):
56271
58625
  pulumi.set(self, "raw_key", value)
56272
58626
 
58627
+ @property
58628
+ @pulumi.getter(name="rsaEncryptedKey")
58629
+ def rsa_encrypted_key(self) -> Optional[pulumi.Input[str]]:
58630
+ """
58631
+ Specifies an encryption key stored in Google Cloud KMS, encoded in
58632
+ RFC 4648 base64 to either encrypt or decrypt this resource.
58633
+ **Note**: This property is sensitive and will not be displayed in the plan.
58634
+ """
58635
+ return pulumi.get(self, "rsa_encrypted_key")
58636
+
58637
+ @rsa_encrypted_key.setter
58638
+ def rsa_encrypted_key(self, value: Optional[pulumi.Input[str]]):
58639
+ pulumi.set(self, "rsa_encrypted_key", value)
58640
+
56273
58641
  @property
56274
58642
  @pulumi.getter
56275
58643
  def sha256(self) -> Optional[pulumi.Input[str]]:
@@ -63176,6 +65544,11 @@ if not MYPY:
63176
65544
  you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
63177
65545
  future without any impact on existing rules.
63178
65546
  """
65547
+ custom_error_response_policy: NotRequired[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgsDict']]
65548
+ """
65549
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
65550
+ Structure is documented below.
65551
+ """
63179
65552
  header_action: NotRequired[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgsDict']]
63180
65553
  """
63181
65554
  Specifies changes to request and response headers that need to take effect for
@@ -63223,6 +65596,7 @@ elif False:
63223
65596
  class URLMapPathMatcherRouteRuleArgs:
63224
65597
  def __init__(__self__, *,
63225
65598
  priority: pulumi.Input[int],
65599
+ custom_error_response_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs']] = None,
63226
65600
  header_action: Optional[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs']] = None,
63227
65601
  match_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleMatchRuleArgs']]]] = None,
63228
65602
  route_action: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionArgs']] = None,
@@ -63242,6 +65616,8 @@ class URLMapPathMatcherRouteRuleArgs:
63242
65616
  1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
63243
65617
  you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
63244
65618
  future without any impact on existing rules.
65619
+ :param pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs'] custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
65620
+ Structure is documented below.
63245
65621
  :param pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs'] header_action: Specifies changes to request and response headers that need to take effect for
63246
65622
  the selected backendService. The headerAction specified here are applied before
63247
65623
  the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
@@ -63269,6 +65645,8 @@ class URLMapPathMatcherRouteRuleArgs:
63269
65645
  Structure is documented below.
63270
65646
  """
63271
65647
  pulumi.set(__self__, "priority", priority)
65648
+ if custom_error_response_policy is not None:
65649
+ pulumi.set(__self__, "custom_error_response_policy", custom_error_response_policy)
63272
65650
  if header_action is not None:
63273
65651
  pulumi.set(__self__, "header_action", header_action)
63274
65652
  if match_rules is not None:
@@ -63304,6 +65682,19 @@ class URLMapPathMatcherRouteRuleArgs:
63304
65682
  def priority(self, value: pulumi.Input[int]):
63305
65683
  pulumi.set(self, "priority", value)
63306
65684
 
65685
+ @property
65686
+ @pulumi.getter(name="customErrorResponsePolicy")
65687
+ def custom_error_response_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs']]:
65688
+ """
65689
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
65690
+ Structure is documented below.
65691
+ """
65692
+ return pulumi.get(self, "custom_error_response_policy")
65693
+
65694
+ @custom_error_response_policy.setter
65695
+ def custom_error_response_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs']]):
65696
+ pulumi.set(self, "custom_error_response_policy", value)
65697
+
63307
65698
  @property
63308
65699
  @pulumi.getter(name="headerAction")
63309
65700
  def header_action(self) -> Optional[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs']]:
@@ -63385,6 +65776,181 @@ class URLMapPathMatcherRouteRuleArgs:
63385
65776
  pulumi.set(self, "url_redirect", value)
63386
65777
 
63387
65778
 
65779
+ if not MYPY:
65780
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgsDict(TypedDict):
65781
+ error_response_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict']]]]
65782
+ """
65783
+ Specifies rules for returning error responses.
65784
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
65785
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
65786
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
65787
+ Structure is documented below.
65788
+ """
65789
+ error_service: NotRequired[pulumi.Input[str]]
65790
+ """
65791
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
65792
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
65793
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
65794
+ global/backendBuckets/myBackendBucket
65795
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
65796
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
65797
+ """
65798
+ elif False:
65799
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgsDict: TypeAlias = Mapping[str, Any]
65800
+
65801
+ @pulumi.input_type
65802
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs:
65803
+ def __init__(__self__, *,
65804
+ error_response_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]] = None,
65805
+ error_service: Optional[pulumi.Input[str]] = None):
65806
+ """
65807
+ :param pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]] error_response_rules: Specifies rules for returning error responses.
65808
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
65809
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
65810
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
65811
+ Structure is documented below.
65812
+ :param pulumi.Input[str] error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
65813
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
65814
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
65815
+ global/backendBuckets/myBackendBucket
65816
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
65817
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
65818
+ """
65819
+ if error_response_rules is not None:
65820
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
65821
+ if error_service is not None:
65822
+ pulumi.set(__self__, "error_service", error_service)
65823
+
65824
+ @property
65825
+ @pulumi.getter(name="errorResponseRules")
65826
+ def error_response_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]]:
65827
+ """
65828
+ Specifies rules for returning error responses.
65829
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
65830
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
65831
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
65832
+ Structure is documented below.
65833
+ """
65834
+ return pulumi.get(self, "error_response_rules")
65835
+
65836
+ @error_response_rules.setter
65837
+ def error_response_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]]):
65838
+ pulumi.set(self, "error_response_rules", value)
65839
+
65840
+ @property
65841
+ @pulumi.getter(name="errorService")
65842
+ def error_service(self) -> Optional[pulumi.Input[str]]:
65843
+ """
65844
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
65845
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
65846
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
65847
+ global/backendBuckets/myBackendBucket
65848
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
65849
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
65850
+ """
65851
+ return pulumi.get(self, "error_service")
65852
+
65853
+ @error_service.setter
65854
+ def error_service(self, value: Optional[pulumi.Input[str]]):
65855
+ pulumi.set(self, "error_service", value)
65856
+
65857
+
65858
+ if not MYPY:
65859
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict(TypedDict):
65860
+ match_response_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
65861
+ """
65862
+ Valid values include:
65863
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
65864
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
65865
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
65866
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
65867
+ """
65868
+ override_response_code: NotRequired[pulumi.Input[int]]
65869
+ """
65870
+ The HTTP status code returned with the response containing the custom error content.
65871
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
65872
+ """
65873
+ path: NotRequired[pulumi.Input[str]]
65874
+ """
65875
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
65876
+ path must start with a leading slash. path cannot have trailing slashes.
65877
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
65878
+ The value must be from 1 to 1024 characters.
65879
+ """
65880
+ elif False:
65881
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict: TypeAlias = Mapping[str, Any]
65882
+
65883
+ @pulumi.input_type
65884
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs:
65885
+ def __init__(__self__, *,
65886
+ match_response_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
65887
+ override_response_code: Optional[pulumi.Input[int]] = None,
65888
+ path: Optional[pulumi.Input[str]] = None):
65889
+ """
65890
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] match_response_codes: Valid values include:
65891
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
65892
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
65893
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
65894
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
65895
+ :param pulumi.Input[int] override_response_code: The HTTP status code returned with the response containing the custom error content.
65896
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
65897
+ :param pulumi.Input[str] path: The full path to a file within backendBucket. For example: /errors/defaultError.html
65898
+ path must start with a leading slash. path cannot have trailing slashes.
65899
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
65900
+ The value must be from 1 to 1024 characters.
65901
+ """
65902
+ if match_response_codes is not None:
65903
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
65904
+ if override_response_code is not None:
65905
+ pulumi.set(__self__, "override_response_code", override_response_code)
65906
+ if path is not None:
65907
+ pulumi.set(__self__, "path", path)
65908
+
65909
+ @property
65910
+ @pulumi.getter(name="matchResponseCodes")
65911
+ def match_response_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
65912
+ """
65913
+ Valid values include:
65914
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
65915
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
65916
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
65917
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
65918
+ """
65919
+ return pulumi.get(self, "match_response_codes")
65920
+
65921
+ @match_response_codes.setter
65922
+ def match_response_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
65923
+ pulumi.set(self, "match_response_codes", value)
65924
+
65925
+ @property
65926
+ @pulumi.getter(name="overrideResponseCode")
65927
+ def override_response_code(self) -> Optional[pulumi.Input[int]]:
65928
+ """
65929
+ The HTTP status code returned with the response containing the custom error content.
65930
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
65931
+ """
65932
+ return pulumi.get(self, "override_response_code")
65933
+
65934
+ @override_response_code.setter
65935
+ def override_response_code(self, value: Optional[pulumi.Input[int]]):
65936
+ pulumi.set(self, "override_response_code", value)
65937
+
65938
+ @property
65939
+ @pulumi.getter
65940
+ def path(self) -> Optional[pulumi.Input[str]]:
65941
+ """
65942
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
65943
+ path must start with a leading slash. path cannot have trailing slashes.
65944
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
65945
+ The value must be from 1 to 1024 characters.
65946
+ """
65947
+ return pulumi.get(self, "path")
65948
+
65949
+ @path.setter
65950
+ def path(self, value: Optional[pulumi.Input[str]]):
65951
+ pulumi.set(self, "path", value)
65952
+
65953
+
63388
65954
  if not MYPY:
63389
65955
  class URLMapPathMatcherRouteRuleHeaderActionArgsDict(TypedDict):
63390
65956
  request_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgsDict']]]]