pulumi-gcp 8.25.0a1743575622__py3-none-any.whl → 8.25.0a1743706148__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 (126) hide show
  1. pulumi_gcp/__init__.py +104 -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/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.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',
@@ -191,6 +195,10 @@ __all__ = [
191
195
  'InstanceBootDiskArgsDict',
192
196
  'InstanceBootDiskInitializeParamsArgs',
193
197
  'InstanceBootDiskInitializeParamsArgsDict',
198
+ 'InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
199
+ 'InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
200
+ 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
201
+ 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
194
202
  'InstanceConfidentialInstanceConfigArgs',
195
203
  'InstanceConfidentialInstanceConfigArgsDict',
196
204
  'InstanceFromMachineImageAdvancedMachineFeaturesArgs',
@@ -201,10 +209,16 @@ __all__ = [
201
209
  'InstanceFromMachineImageBootDiskArgsDict',
202
210
  'InstanceFromMachineImageBootDiskInitializeParamsArgs',
203
211
  'InstanceFromMachineImageBootDiskInitializeParamsArgsDict',
212
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
213
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
214
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
215
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
204
216
  'InstanceFromMachineImageConfidentialInstanceConfigArgs',
205
217
  'InstanceFromMachineImageConfidentialInstanceConfigArgsDict',
206
218
  'InstanceFromMachineImageGuestAcceleratorArgs',
207
219
  'InstanceFromMachineImageGuestAcceleratorArgsDict',
220
+ 'InstanceFromMachineImageInstanceEncryptionKeyArgs',
221
+ 'InstanceFromMachineImageInstanceEncryptionKeyArgsDict',
208
222
  'InstanceFromMachineImageNetworkInterfaceArgs',
209
223
  'InstanceFromMachineImageNetworkInterfaceArgsDict',
210
224
  'InstanceFromMachineImageNetworkInterfaceAccessConfigArgs',
@@ -241,6 +255,8 @@ __all__ = [
241
255
  'InstanceFromMachineImageServiceAccountArgsDict',
242
256
  'InstanceFromMachineImageShieldedInstanceConfigArgs',
243
257
  'InstanceFromMachineImageShieldedInstanceConfigArgsDict',
258
+ 'InstanceFromMachineImageSourceMachineImageEncryptionKeyArgs',
259
+ 'InstanceFromMachineImageSourceMachineImageEncryptionKeyArgsDict',
244
260
  'InstanceFromTemplateAdvancedMachineFeaturesArgs',
245
261
  'InstanceFromTemplateAdvancedMachineFeaturesArgsDict',
246
262
  'InstanceFromTemplateAttachedDiskArgs',
@@ -249,10 +265,16 @@ __all__ = [
249
265
  'InstanceFromTemplateBootDiskArgsDict',
250
266
  'InstanceFromTemplateBootDiskInitializeParamsArgs',
251
267
  'InstanceFromTemplateBootDiskInitializeParamsArgsDict',
268
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs',
269
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgsDict',
270
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs',
271
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgsDict',
252
272
  'InstanceFromTemplateConfidentialInstanceConfigArgs',
253
273
  'InstanceFromTemplateConfidentialInstanceConfigArgsDict',
254
274
  'InstanceFromTemplateGuestAcceleratorArgs',
255
275
  'InstanceFromTemplateGuestAcceleratorArgsDict',
276
+ 'InstanceFromTemplateInstanceEncryptionKeyArgs',
277
+ 'InstanceFromTemplateInstanceEncryptionKeyArgsDict',
256
278
  'InstanceFromTemplateNetworkInterfaceArgs',
257
279
  'InstanceFromTemplateNetworkInterfaceArgsDict',
258
280
  'InstanceFromTemplateNetworkInterfaceAccessConfigArgs',
@@ -331,6 +353,8 @@ __all__ = [
331
353
  'InstanceIAMBindingConditionArgsDict',
332
354
  'InstanceIAMMemberConditionArgs',
333
355
  'InstanceIAMMemberConditionArgsDict',
356
+ 'InstanceInstanceEncryptionKeyArgs',
357
+ 'InstanceInstanceEncryptionKeyArgsDict',
334
358
  'InstanceNetworkInterfaceArgs',
335
359
  'InstanceNetworkInterfaceArgsDict',
336
360
  'InstanceNetworkInterfaceAccessConfigArgs',
@@ -1043,6 +1067,8 @@ __all__ = [
1043
1067
  'RouterBgpArgsDict',
1044
1068
  'RouterBgpAdvertisedIpRangeArgs',
1045
1069
  'RouterBgpAdvertisedIpRangeArgsDict',
1070
+ 'RouterMd5AuthenticationKeysArgs',
1071
+ 'RouterMd5AuthenticationKeysArgsDict',
1046
1072
  'RouterNatLogConfigArgs',
1047
1073
  'RouterNatLogConfigArgsDict',
1048
1074
  'RouterNatRuleArgs',
@@ -1283,6 +1309,10 @@ __all__ = [
1283
1309
  'URLMapPathMatcherPathRuleUrlRedirectArgsDict',
1284
1310
  'URLMapPathMatcherRouteRuleArgs',
1285
1311
  'URLMapPathMatcherRouteRuleArgsDict',
1312
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs',
1313
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgsDict',
1314
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs',
1315
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict',
1286
1316
  'URLMapPathMatcherRouteRuleHeaderActionArgs',
1287
1317
  'URLMapPathMatcherRouteRuleHeaderActionArgsDict',
1288
1318
  'URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgs',
@@ -5787,6 +5817,160 @@ class BackendServiceStrongSessionAffinityCookieTtlArgs:
5787
5817
  pulumi.set(self, "nanos", value)
5788
5818
 
5789
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
+
5790
5974
  if not MYPY:
5791
5975
  class DiskAsyncPrimaryDiskArgsDict(TypedDict):
5792
5976
  disk: pulumi.Input[str]
@@ -10278,6 +10462,18 @@ if not MYPY:
10278
10462
  given KMS key. If absent, the Compute Engine default service
10279
10463
  account is used.
10280
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
+ """
10281
10477
  elif False:
10282
10478
  ImageImageEncryptionKeyArgsDict: TypeAlias = Mapping[str, Any]
10283
10479
 
@@ -10285,18 +10481,30 @@ elif False:
10285
10481
  class ImageImageEncryptionKeyArgs:
10286
10482
  def __init__(__self__, *,
10287
10483
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
10288
- 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):
10289
10487
  """
10290
10488
  :param pulumi.Input[str] kms_key_self_link: The self link of the encryption key that is stored in Google Cloud
10291
10489
  KMS.
10292
10490
  :param pulumi.Input[str] kms_key_service_account: The service account being used for the encryption request for the
10293
10491
  given KMS key. If absent, the Compute Engine default service
10294
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.
10295
10499
  """
10296
10500
  if kms_key_self_link is not None:
10297
10501
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
10298
10502
  if kms_key_service_account is not None:
10299
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)
10300
10508
 
10301
10509
  @property
10302
10510
  @pulumi.getter(name="kmsKeySelfLink")
@@ -10325,6 +10533,34 @@ class ImageImageEncryptionKeyArgs:
10325
10533
  def kms_key_service_account(self, value: Optional[pulumi.Input[str]]):
10326
10534
  pulumi.set(self, "kms_key_service_account", value)
10327
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
+
10328
10564
 
10329
10565
  if not MYPY:
10330
10566
  class ImageRawDiskArgsDict(TypedDict):
@@ -10889,7 +11125,14 @@ if not MYPY:
10889
11125
  A 256-bit [customer-supplied encryption key]
10890
11126
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10891
11127
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10892
- 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.
10893
11136
  """
10894
11137
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
10895
11138
  """
@@ -10897,11 +11140,15 @@ if not MYPY:
10897
11140
  encoded SHA-256 hash of the [customer-supplied encryption key]
10898
11141
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
10899
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
+ """
10900
11147
  kms_key_self_link: NotRequired[pulumi.Input[str]]
10901
11148
  """
10902
11149
  The self_link of the encryption key that is
10903
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10904
- 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.
10905
11152
  """
10906
11153
  mode: NotRequired[pulumi.Input[str]]
10907
11154
  """
@@ -10919,7 +11166,9 @@ class InstanceAttachedDiskArgs:
10919
11166
  source: pulumi.Input[str],
10920
11167
  device_name: Optional[pulumi.Input[str]] = None,
10921
11168
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
11169
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
10922
11170
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11171
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
10923
11172
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
10924
11173
  mode: Optional[pulumi.Input[str]] = None):
10925
11174
  """
@@ -10929,13 +11178,18 @@ class InstanceAttachedDiskArgs:
10929
11178
  :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
10930
11179
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10931
11180
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10932
- 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.
10933
11186
  :param pulumi.Input[str] disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10934
11187
  encoded SHA-256 hash of the [customer-supplied encryption key]
10935
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.
10936
11190
  :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
10937
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
10938
- 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.
10939
11193
  :param pulumi.Input[str] mode: Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
10940
11194
  If you have a persistent disk with data that you want to share
10941
11195
  between multiple instances, detach it from any read-write instances and
@@ -10946,8 +11200,12 @@ class InstanceAttachedDiskArgs:
10946
11200
  pulumi.set(__self__, "device_name", device_name)
10947
11201
  if disk_encryption_key_raw is not None:
10948
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)
10949
11205
  if disk_encryption_key_sha256 is not None:
10950
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)
10951
11209
  if kms_key_self_link is not None:
10952
11210
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
10953
11211
  if mode is not None:
@@ -10985,7 +11243,8 @@ class InstanceAttachedDiskArgs:
10985
11243
  A 256-bit [customer-supplied encryption key]
10986
11244
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
10987
11245
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
10988
- 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.
10989
11248
  """
10990
11249
  return pulumi.get(self, "disk_encryption_key_raw")
10991
11250
 
@@ -10993,6 +11252,20 @@ class InstanceAttachedDiskArgs:
10993
11252
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
10994
11253
  pulumi.set(self, "disk_encryption_key_raw", value)
10995
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
+
10996
11269
  @property
10997
11270
  @pulumi.getter(name="diskEncryptionKeySha256")
10998
11271
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -11007,13 +11280,25 @@ class InstanceAttachedDiskArgs:
11007
11280
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11008
11281
  pulumi.set(self, "disk_encryption_key_sha256", value)
11009
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
+
11010
11295
  @property
11011
11296
  @pulumi.getter(name="kmsKeySelfLink")
11012
11297
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
11013
11298
  """
11014
11299
  The self_link of the encryption key that is
11015
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
11016
- 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.
11017
11302
  """
11018
11303
  return pulumi.get(self, "kms_key_self_link")
11019
11304
 
@@ -11054,15 +11339,24 @@ if not MYPY:
11054
11339
  A 256-bit [customer-supplied encryption key]
11055
11340
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
11056
11341
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
11057
- 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`
11058
11343
  may be set.
11059
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
+ """
11060
11350
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
11061
11351
  """
11062
11352
  The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
11063
11353
  encoded SHA-256 hash of the [customer-supplied encryption key]
11064
11354
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
11065
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
+ """
11066
11360
  guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
11067
11361
  """
11068
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.
@@ -11080,8 +11374,9 @@ if not MYPY:
11080
11374
  kms_key_self_link: NotRequired[pulumi.Input[str]]
11081
11375
  """
11082
11376
  The self_link of the encryption key that is
11083
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
11084
- 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.
11085
11380
  """
11086
11381
  mode: NotRequired[pulumi.Input[str]]
11087
11382
  """
@@ -11103,7 +11398,9 @@ class InstanceBootDiskArgs:
11103
11398
  auto_delete: Optional[pulumi.Input[bool]] = None,
11104
11399
  device_name: Optional[pulumi.Input[str]] = None,
11105
11400
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
11401
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
11106
11402
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
11403
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
11107
11404
  guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
11108
11405
  initialize_params: Optional[pulumi.Input['InstanceBootDiskInitializeParamsArgs']] = None,
11109
11406
  interface: Optional[pulumi.Input[str]] = None,
@@ -11118,19 +11415,23 @@ class InstanceBootDiskArgs:
11118
11415
  :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
11119
11416
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
11120
11417
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
11121
- 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`
11122
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`
11123
11422
  :param pulumi.Input[str] disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
11124
11423
  encoded SHA-256 hash of the [customer-supplied encryption key]
11125
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.
11126
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.
11127
11427
  :param pulumi.Input['InstanceBootDiskInitializeParamsArgs'] initialize_params: Parameters for a new disk that will be created
11128
11428
  alongside the new instance. Either `initialize_params` or `source` must be set.
11129
11429
  Structure is documented below.
11130
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.)
11131
11431
  :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is
11132
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
11133
- 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.
11134
11435
  :param pulumi.Input[str] mode: The mode in which to attach this disk, either `READ_WRITE`
11135
11436
  or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode.
11136
11437
  :param pulumi.Input[str] source: The name or self_link of the existing disk (such as those managed by
@@ -11143,8 +11444,12 @@ class InstanceBootDiskArgs:
11143
11444
  pulumi.set(__self__, "device_name", device_name)
11144
11445
  if disk_encryption_key_raw is not None:
11145
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)
11146
11449
  if disk_encryption_key_sha256 is not None:
11147
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)
11148
11453
  if guest_os_features is not None:
11149
11454
  pulumi.set(__self__, "guest_os_features", guest_os_features)
11150
11455
  if initialize_params is not None:
@@ -11191,7 +11496,7 @@ class InstanceBootDiskArgs:
11191
11496
  A 256-bit [customer-supplied encryption key]
11192
11497
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
11193
11498
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
11194
- 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`
11195
11500
  may be set.
11196
11501
  """
11197
11502
  return pulumi.get(self, "disk_encryption_key_raw")
@@ -11200,6 +11505,19 @@ class InstanceBootDiskArgs:
11200
11505
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
11201
11506
  pulumi.set(self, "disk_encryption_key_raw", value)
11202
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
+
11203
11521
  @property
11204
11522
  @pulumi.getter(name="diskEncryptionKeySha256")
11205
11523
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -11214,6 +11532,18 @@ class InstanceBootDiskArgs:
11214
11532
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11215
11533
  pulumi.set(self, "disk_encryption_key_sha256", value)
11216
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
+
11217
11547
  @property
11218
11548
  @pulumi.getter(name="guestOsFeatures")
11219
11549
  def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -11257,8 +11587,9 @@ class InstanceBootDiskArgs:
11257
11587
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
11258
11588
  """
11259
11589
  The self_link of the encryption key that is
11260
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
11261
- 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.
11262
11593
  """
11263
11594
  return pulumi.get(self, "kms_key_self_link")
11264
11595
 
@@ -11355,6 +11686,18 @@ if not MYPY:
11355
11686
  The size of the image in gigabytes. If not specified, it
11356
11687
  will inherit the size of its base image.
11357
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
+ """
11358
11701
  storage_pool: NotRequired[pulumi.Input[str]]
11359
11702
  """
11360
11703
  The URL or the name of the storage pool in which the new disk is created.
@@ -11383,6 +11726,9 @@ class InstanceBootDiskInitializeParamsArgs:
11383
11726
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
11384
11727
  resource_policies: Optional[pulumi.Input[str]] = None,
11385
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,
11386
11732
  storage_pool: Optional[pulumi.Input[str]] = None,
11387
11733
  type: Optional[pulumi.Input[str]] = None):
11388
11734
  """
@@ -11418,6 +11764,9 @@ class InstanceBootDiskInitializeParamsArgs:
11418
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.
11419
11765
  :param pulumi.Input[int] size: The size of the image in gigabytes. If not specified, it
11420
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.
11421
11770
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
11422
11771
  For example:
11423
11772
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -11444,6 +11793,12 @@ class InstanceBootDiskInitializeParamsArgs:
11444
11793
  pulumi.set(__self__, "resource_policies", resource_policies)
11445
11794
  if size is not None:
11446
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)
11447
11802
  if storage_pool is not None:
11448
11803
  pulumi.set(__self__, "storage_pool", storage_pool)
11449
11804
  if type is not None:
@@ -11580,6 +11935,42 @@ class InstanceBootDiskInitializeParamsArgs:
11580
11935
  def size(self, value: Optional[pulumi.Input[int]]):
11581
11936
  pulumi.set(self, "size", value)
11582
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
+
11583
11974
  @property
11584
11975
  @pulumi.getter(name="storagePool")
11585
11976
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -11610,6 +12001,266 @@ class InstanceBootDiskInitializeParamsArgs:
11610
12001
  pulumi.set(self, "type", value)
11611
12002
 
11612
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
+
11613
12264
  if not MYPY:
11614
12265
  class InstanceConfidentialInstanceConfigArgsDict(TypedDict):
11615
12266
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -11806,15 +12457,23 @@ if not MYPY:
11806
12457
  """
11807
12458
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
11808
12459
  """
11809
- 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.
11810
12465
  """
11811
12466
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
11812
12467
  """
11813
12468
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11814
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
+ """
11815
12474
  kms_key_self_link: NotRequired[pulumi.Input[str]]
11816
12475
  """
11817
- 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.
11818
12477
  """
11819
12478
  mode: NotRequired[pulumi.Input[str]]
11820
12479
  """
@@ -11829,15 +12488,19 @@ class InstanceFromMachineImageAttachedDiskArgs:
11829
12488
  source: pulumi.Input[str],
11830
12489
  device_name: Optional[pulumi.Input[str]] = None,
11831
12490
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
12491
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
11832
12492
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
12493
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
11833
12494
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
11834
12495
  mode: Optional[pulumi.Input[str]] = None):
11835
12496
  """
11836
12497
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
11837
12498
  :param pulumi.Input[str] device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
11838
- :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.
11839
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.
11840
- :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.
11841
12504
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
11842
12505
  """
11843
12506
  pulumi.set(__self__, "source", source)
@@ -11845,8 +12508,12 @@ class InstanceFromMachineImageAttachedDiskArgs:
11845
12508
  pulumi.set(__self__, "device_name", device_name)
11846
12509
  if disk_encryption_key_raw is not None:
11847
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)
11848
12513
  if disk_encryption_key_sha256 is not None:
11849
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)
11850
12517
  if kms_key_self_link is not None:
11851
12518
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
11852
12519
  if mode is not None:
@@ -11880,7 +12547,7 @@ class InstanceFromMachineImageAttachedDiskArgs:
11880
12547
  @pulumi.getter(name="diskEncryptionKeyRaw")
11881
12548
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
11882
12549
  """
11883
- 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.
11884
12551
  """
11885
12552
  return pulumi.get(self, "disk_encryption_key_raw")
11886
12553
 
@@ -11888,6 +12555,18 @@ class InstanceFromMachineImageAttachedDiskArgs:
11888
12555
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
11889
12556
  pulumi.set(self, "disk_encryption_key_raw", value)
11890
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
+
11891
12570
  @property
11892
12571
  @pulumi.getter(name="diskEncryptionKeySha256")
11893
12572
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -11900,11 +12579,23 @@ class InstanceFromMachineImageAttachedDiskArgs:
11900
12579
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
11901
12580
  pulumi.set(self, "disk_encryption_key_sha256", value)
11902
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
+
11903
12594
  @property
11904
12595
  @pulumi.getter(name="kmsKeySelfLink")
11905
12596
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
11906
12597
  """
11907
- 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.
11908
12599
  """
11909
12600
  return pulumi.get(self, "kms_key_self_link")
11910
12601
 
@@ -11937,12 +12628,20 @@ if not MYPY:
11937
12628
  """
11938
12629
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
11939
12630
  """
11940
- 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.
11941
12636
  """
11942
12637
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
11943
12638
  """
11944
12639
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11945
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
+ """
11946
12645
  guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
11947
12646
  """
11948
12647
  A list of features to enable on the guest operating system. Applicable only for bootable images.
@@ -11957,7 +12656,7 @@ if not MYPY:
11957
12656
  """
11958
12657
  kms_key_self_link: NotRequired[pulumi.Input[str]]
11959
12658
  """
11960
- 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.
11961
12660
  """
11962
12661
  mode: NotRequired[pulumi.Input[str]]
11963
12662
  """
@@ -11976,7 +12675,9 @@ class InstanceFromMachineImageBootDiskArgs:
11976
12675
  auto_delete: Optional[pulumi.Input[bool]] = None,
11977
12676
  device_name: Optional[pulumi.Input[str]] = None,
11978
12677
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
12678
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
11979
12679
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
12680
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
11980
12681
  guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
11981
12682
  initialize_params: Optional[pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs']] = None,
11982
12683
  interface: Optional[pulumi.Input[str]] = None,
@@ -11986,12 +12687,14 @@ class InstanceFromMachineImageBootDiskArgs:
11986
12687
  """
11987
12688
  :param pulumi.Input[bool] auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
11988
12689
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
11989
- :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
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.
11990
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
11991
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.
11992
12695
  :param pulumi.Input['InstanceFromMachineImageBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
11993
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.)
11994
- :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
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.
11995
12698
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
11996
12699
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
11997
12700
  """
@@ -12001,8 +12704,12 @@ class InstanceFromMachineImageBootDiskArgs:
12001
12704
  pulumi.set(__self__, "device_name", device_name)
12002
12705
  if disk_encryption_key_raw is not None:
12003
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)
12004
12709
  if disk_encryption_key_sha256 is not None:
12005
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)
12006
12713
  if guest_os_features is not None:
12007
12714
  pulumi.set(__self__, "guest_os_features", guest_os_features)
12008
12715
  if initialize_params is not None:
@@ -12044,7 +12751,7 @@ class InstanceFromMachineImageBootDiskArgs:
12044
12751
  @pulumi.getter(name="diskEncryptionKeyRaw")
12045
12752
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
12046
12753
  """
12047
- 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.
12048
12755
  """
12049
12756
  return pulumi.get(self, "disk_encryption_key_raw")
12050
12757
 
@@ -12052,6 +12759,18 @@ class InstanceFromMachineImageBootDiskArgs:
12052
12759
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
12053
12760
  pulumi.set(self, "disk_encryption_key_raw", value)
12054
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
+
12055
12774
  @property
12056
12775
  @pulumi.getter(name="diskEncryptionKeySha256")
12057
12776
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -12064,6 +12783,18 @@ class InstanceFromMachineImageBootDiskArgs:
12064
12783
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
12065
12784
  pulumi.set(self, "disk_encryption_key_sha256", value)
12066
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
+
12067
12798
  @property
12068
12799
  @pulumi.getter(name="guestOsFeatures")
12069
12800
  def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -12104,7 +12835,7 @@ class InstanceFromMachineImageBootDiskArgs:
12104
12835
  @pulumi.getter(name="kmsKeySelfLink")
12105
12836
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
12106
12837
  """
12107
- 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.
12108
12839
  """
12109
12840
  return pulumi.get(self, "kms_key_self_link")
12110
12841
 
@@ -12175,6 +12906,18 @@ if not MYPY:
12175
12906
  """
12176
12907
  The size of the image in gigabytes.
12177
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
+ """
12178
12921
  storage_pool: NotRequired[pulumi.Input[str]]
12179
12922
  """
12180
12923
  The URL of the storage pool in which the new disk is created
@@ -12198,6 +12941,9 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
12198
12941
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
12199
12942
  resource_policies: Optional[pulumi.Input[str]] = None,
12200
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,
12201
12947
  storage_pool: Optional[pulumi.Input[str]] = None,
12202
12948
  type: Optional[pulumi.Input[str]] = None):
12203
12949
  """
@@ -12210,6 +12956,9 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
12210
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.
12211
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.
12212
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.
12213
12962
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
12214
12963
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
12215
12964
  """
@@ -12231,6 +12980,12 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
12231
12980
  pulumi.set(__self__, "resource_policies", resource_policies)
12232
12981
  if size is not None:
12233
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)
12234
12989
  if storage_pool is not None:
12235
12990
  pulumi.set(__self__, "storage_pool", storage_pool)
12236
12991
  if type is not None:
@@ -12344,6 +13099,42 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
12344
13099
  def size(self, value: Optional[pulumi.Input[int]]):
12345
13100
  pulumi.set(self, "size", value)
12346
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
+
12347
13138
  @property
12348
13139
  @pulumi.getter(name="storagePool")
12349
13140
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -12369,6 +13160,230 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
12369
13160
  pulumi.set(self, "type", value)
12370
13161
 
12371
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
+
12372
13387
  if not MYPY:
12373
13388
  class InstanceFromMachineImageConfidentialInstanceConfigArgsDict(TypedDict):
12374
13389
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -12480,6 +13495,78 @@ class InstanceFromMachineImageGuestAcceleratorArgs:
12480
13495
  pulumi.set(self, "type", value)
12481
13496
 
12482
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
+
12483
13570
  if not MYPY:
12484
13571
  class InstanceFromMachineImageNetworkInterfaceArgsDict(TypedDict):
12485
13572
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageNetworkInterfaceAccessConfigArgsDict']]]]
@@ -14094,6 +15181,81 @@ class InstanceFromMachineImageShieldedInstanceConfigArgs:
14094
15181
  pulumi.set(self, "enable_vtpm", value)
14095
15182
 
14096
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
+
14097
15259
  if not MYPY:
14098
15260
  class InstanceFromTemplateAdvancedMachineFeaturesArgsDict(TypedDict):
14099
15261
  enable_nested_virtualization: NotRequired[pulumi.Input[bool]]
@@ -14238,15 +15400,23 @@ if not MYPY:
14238
15400
  """
14239
15401
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
14240
15402
  """
14241
- 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.
14242
15408
  """
14243
15409
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
14244
15410
  """
14245
15411
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
14246
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
+ """
14247
15417
  kms_key_self_link: NotRequired[pulumi.Input[str]]
14248
15418
  """
14249
- 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.
14250
15420
  """
14251
15421
  mode: NotRequired[pulumi.Input[str]]
14252
15422
  """
@@ -14261,15 +15431,19 @@ class InstanceFromTemplateAttachedDiskArgs:
14261
15431
  source: pulumi.Input[str],
14262
15432
  device_name: Optional[pulumi.Input[str]] = None,
14263
15433
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
15434
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
14264
15435
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
15436
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
14265
15437
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
14266
15438
  mode: Optional[pulumi.Input[str]] = None):
14267
15439
  """
14268
15440
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
14269
15441
  :param pulumi.Input[str] device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
14270
- :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.
14271
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.
14272
- :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.
14273
15447
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
14274
15448
  """
14275
15449
  pulumi.set(__self__, "source", source)
@@ -14277,8 +15451,12 @@ class InstanceFromTemplateAttachedDiskArgs:
14277
15451
  pulumi.set(__self__, "device_name", device_name)
14278
15452
  if disk_encryption_key_raw is not None:
14279
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)
14280
15456
  if disk_encryption_key_sha256 is not None:
14281
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)
14282
15460
  if kms_key_self_link is not None:
14283
15461
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
14284
15462
  if mode is not None:
@@ -14312,7 +15490,7 @@ class InstanceFromTemplateAttachedDiskArgs:
14312
15490
  @pulumi.getter(name="diskEncryptionKeyRaw")
14313
15491
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
14314
15492
  """
14315
- 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.
14316
15494
  """
14317
15495
  return pulumi.get(self, "disk_encryption_key_raw")
14318
15496
 
@@ -14320,6 +15498,18 @@ class InstanceFromTemplateAttachedDiskArgs:
14320
15498
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
14321
15499
  pulumi.set(self, "disk_encryption_key_raw", value)
14322
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
+
14323
15513
  @property
14324
15514
  @pulumi.getter(name="diskEncryptionKeySha256")
14325
15515
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -14332,11 +15522,23 @@ class InstanceFromTemplateAttachedDiskArgs:
14332
15522
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
14333
15523
  pulumi.set(self, "disk_encryption_key_sha256", value)
14334
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
+
14335
15537
  @property
14336
15538
  @pulumi.getter(name="kmsKeySelfLink")
14337
15539
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
14338
15540
  """
14339
- 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.
14340
15542
  """
14341
15543
  return pulumi.get(self, "kms_key_self_link")
14342
15544
 
@@ -14369,12 +15571,20 @@ if not MYPY:
14369
15571
  """
14370
15572
  disk_encryption_key_raw: NotRequired[pulumi.Input[str]]
14371
15573
  """
14372
- 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.
14373
15579
  """
14374
15580
  disk_encryption_key_sha256: NotRequired[pulumi.Input[str]]
14375
15581
  """
14376
15582
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
14377
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
+ """
14378
15588
  guest_os_features: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
14379
15589
  """
14380
15590
  A list of features to enable on the guest operating system. Applicable only for bootable images.
@@ -14389,7 +15599,7 @@ if not MYPY:
14389
15599
  """
14390
15600
  kms_key_self_link: NotRequired[pulumi.Input[str]]
14391
15601
  """
14392
- 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.
14393
15603
  """
14394
15604
  mode: NotRequired[pulumi.Input[str]]
14395
15605
  """
@@ -14408,7 +15618,9 @@ class InstanceFromTemplateBootDiskArgs:
14408
15618
  auto_delete: Optional[pulumi.Input[bool]] = None,
14409
15619
  device_name: Optional[pulumi.Input[str]] = None,
14410
15620
  disk_encryption_key_raw: Optional[pulumi.Input[str]] = None,
15621
+ disk_encryption_key_rsa: Optional[pulumi.Input[str]] = None,
14411
15622
  disk_encryption_key_sha256: Optional[pulumi.Input[str]] = None,
15623
+ disk_encryption_service_account: Optional[pulumi.Input[str]] = None,
14412
15624
  guest_os_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
14413
15625
  initialize_params: Optional[pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs']] = None,
14414
15626
  interface: Optional[pulumi.Input[str]] = None,
@@ -14418,12 +15630,14 @@ class InstanceFromTemplateBootDiskArgs:
14418
15630
  """
14419
15631
  :param pulumi.Input[bool] auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
14420
15632
  :param pulumi.Input[str] device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
14421
- :param pulumi.Input[str] disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
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.
14422
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
14423
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.
14424
15638
  :param pulumi.Input['InstanceFromTemplateBootDiskInitializeParamsArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
14425
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.)
14426
- :param pulumi.Input[str] kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
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.
14427
15641
  :param pulumi.Input[str] mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
14428
15642
  :param pulumi.Input[str] source: The name or self_link of the disk attached to this instance.
14429
15643
  """
@@ -14433,8 +15647,12 @@ class InstanceFromTemplateBootDiskArgs:
14433
15647
  pulumi.set(__self__, "device_name", device_name)
14434
15648
  if disk_encryption_key_raw is not None:
14435
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)
14436
15652
  if disk_encryption_key_sha256 is not None:
14437
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)
14438
15656
  if guest_os_features is not None:
14439
15657
  pulumi.set(__self__, "guest_os_features", guest_os_features)
14440
15658
  if initialize_params is not None:
@@ -14476,7 +15694,7 @@ class InstanceFromTemplateBootDiskArgs:
14476
15694
  @pulumi.getter(name="diskEncryptionKeyRaw")
14477
15695
  def disk_encryption_key_raw(self) -> Optional[pulumi.Input[str]]:
14478
15696
  """
14479
- 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.
14480
15698
  """
14481
15699
  return pulumi.get(self, "disk_encryption_key_raw")
14482
15700
 
@@ -14484,6 +15702,18 @@ class InstanceFromTemplateBootDiskArgs:
14484
15702
  def disk_encryption_key_raw(self, value: Optional[pulumi.Input[str]]):
14485
15703
  pulumi.set(self, "disk_encryption_key_raw", value)
14486
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
+
14487
15717
  @property
14488
15718
  @pulumi.getter(name="diskEncryptionKeySha256")
14489
15719
  def disk_encryption_key_sha256(self) -> Optional[pulumi.Input[str]]:
@@ -14496,6 +15726,18 @@ class InstanceFromTemplateBootDiskArgs:
14496
15726
  def disk_encryption_key_sha256(self, value: Optional[pulumi.Input[str]]):
14497
15727
  pulumi.set(self, "disk_encryption_key_sha256", value)
14498
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
+
14499
15741
  @property
14500
15742
  @pulumi.getter(name="guestOsFeatures")
14501
15743
  def guest_os_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -14536,7 +15778,7 @@ class InstanceFromTemplateBootDiskArgs:
14536
15778
  @pulumi.getter(name="kmsKeySelfLink")
14537
15779
  def kms_key_self_link(self) -> Optional[pulumi.Input[str]]:
14538
15780
  """
14539
- 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.
14540
15782
  """
14541
15783
  return pulumi.get(self, "kms_key_self_link")
14542
15784
 
@@ -14607,6 +15849,18 @@ if not MYPY:
14607
15849
  """
14608
15850
  The size of the image in gigabytes.
14609
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
+ """
14610
15864
  storage_pool: NotRequired[pulumi.Input[str]]
14611
15865
  """
14612
15866
  The URL of the storage pool in which the new disk is created
@@ -14630,6 +15884,9 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14630
15884
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
14631
15885
  resource_policies: Optional[pulumi.Input[str]] = None,
14632
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,
14633
15890
  storage_pool: Optional[pulumi.Input[str]] = None,
14634
15891
  type: Optional[pulumi.Input[str]] = None):
14635
15892
  """
@@ -14642,6 +15899,9 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14642
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.
14643
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.
14644
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.
14645
15905
  :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
14646
15906
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
14647
15907
  """
@@ -14663,6 +15923,12 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14663
15923
  pulumi.set(__self__, "resource_policies", resource_policies)
14664
15924
  if size is not None:
14665
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)
14666
15932
  if storage_pool is not None:
14667
15933
  pulumi.set(__self__, "storage_pool", storage_pool)
14668
15934
  if type is not None:
@@ -14776,6 +16042,42 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14776
16042
  def size(self, value: Optional[pulumi.Input[int]]):
14777
16043
  pulumi.set(self, "size", value)
14778
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
+
14779
16081
  @property
14780
16082
  @pulumi.getter(name="storagePool")
14781
16083
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -14801,6 +16103,230 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
14801
16103
  pulumi.set(self, "type", value)
14802
16104
 
14803
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
+
14804
16330
  if not MYPY:
14805
16331
  class InstanceFromTemplateConfidentialInstanceConfigArgsDict(TypedDict):
14806
16332
  confidential_instance_type: NotRequired[pulumi.Input[str]]
@@ -14912,6 +16438,78 @@ class InstanceFromTemplateGuestAcceleratorArgs:
14912
16438
  pulumi.set(self, "type", value)
14913
16439
 
14914
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
+
14915
16513
  if not MYPY:
14916
16514
  class InstanceFromTemplateNetworkInterfaceArgsDict(TypedDict):
14917
16515
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateNetworkInterfaceAccessConfigArgsDict']]]]
@@ -17871,6 +19469,81 @@ class InstanceIAMMemberConditionArgs:
17871
19469
  pulumi.set(self, "description", value)
17872
19470
 
17873
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
+
17874
19547
  if not MYPY:
17875
19548
  class InstanceNetworkInterfaceArgsDict(TypedDict):
17876
19549
  access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceNetworkInterfaceAccessConfigArgsDict']]]]
@@ -52989,6 +54662,8 @@ if not MYPY:
52989
54662
  description: NotRequired[pulumi.Input[str]]
52990
54663
  """
52991
54664
  User-specified description for the IP range.
54665
+
54666
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
52992
54667
  """
52993
54668
  elif False:
52994
54669
  RouterBgpAdvertisedIpRangeArgsDict: TypeAlias = Mapping[str, Any]
@@ -53002,6 +54677,8 @@ class RouterBgpAdvertisedIpRangeArgs:
53002
54677
  :param pulumi.Input[str] range: The IP range to advertise. The value must be a
53003
54678
  CIDR-formatted string.
53004
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:
53005
54682
  """
53006
54683
  pulumi.set(__self__, "range", range)
53007
54684
  if description is not None:
@@ -53025,6 +54702,8 @@ class RouterBgpAdvertisedIpRangeArgs:
53025
54702
  def description(self) -> Optional[pulumi.Input[str]]:
53026
54703
  """
53027
54704
  User-specified description for the IP range.
54705
+
54706
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
53028
54707
  """
53029
54708
  return pulumi.get(self, "description")
53030
54709
 
@@ -53033,6 +54712,71 @@ class RouterBgpAdvertisedIpRangeArgs:
53033
54712
  pulumi.set(self, "description", value)
53034
54713
 
53035
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
+
53036
54780
  if not MYPY:
53037
54781
  class RouterNatLogConfigArgsDict(TypedDict):
53038
54782
  enable: pulumi.Input[bool]
@@ -56793,6 +58537,12 @@ if not MYPY:
56793
58537
  RFC 4648 base64 to either encrypt or decrypt this resource.
56794
58538
  **Note**: This property is sensitive and will not be displayed in the plan.
56795
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
+ """
56796
58546
  sha256: NotRequired[pulumi.Input[str]]
56797
58547
  """
56798
58548
  (Output)
@@ -56808,6 +58558,7 @@ class SnapshotSnapshotEncryptionKeyArgs:
56808
58558
  kms_key_self_link: Optional[pulumi.Input[str]] = None,
56809
58559
  kms_key_service_account: Optional[pulumi.Input[str]] = None,
56810
58560
  raw_key: Optional[pulumi.Input[str]] = None,
58561
+ rsa_encrypted_key: Optional[pulumi.Input[str]] = None,
56811
58562
  sha256: Optional[pulumi.Input[str]] = None):
56812
58563
  """
56813
58564
  :param pulumi.Input[str] kms_key_self_link: The name of the encryption key that is stored in Google Cloud KMS.
@@ -56816,6 +58567,9 @@ class SnapshotSnapshotEncryptionKeyArgs:
56816
58567
  :param pulumi.Input[str] raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
56817
58568
  RFC 4648 base64 to either encrypt or decrypt this resource.
56818
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.
56819
58573
  :param pulumi.Input[str] sha256: (Output)
56820
58574
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
56821
58575
  encryption key that protects this resource.
@@ -56826,6 +58580,8 @@ class SnapshotSnapshotEncryptionKeyArgs:
56826
58580
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
56827
58581
  if raw_key is not None:
56828
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)
56829
58585
  if sha256 is not None:
56830
58586
  pulumi.set(__self__, "sha256", sha256)
56831
58587
 
@@ -56868,6 +58624,20 @@ class SnapshotSnapshotEncryptionKeyArgs:
56868
58624
  def raw_key(self, value: Optional[pulumi.Input[str]]):
56869
58625
  pulumi.set(self, "raw_key", value)
56870
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
+
56871
58641
  @property
56872
58642
  @pulumi.getter
56873
58643
  def sha256(self) -> Optional[pulumi.Input[str]]:
@@ -63774,6 +65544,11 @@ if not MYPY:
63774
65544
  you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
63775
65545
  future without any impact on existing rules.
63776
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
+ """
63777
65552
  header_action: NotRequired[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgsDict']]
63778
65553
  """
63779
65554
  Specifies changes to request and response headers that need to take effect for
@@ -63821,6 +65596,7 @@ elif False:
63821
65596
  class URLMapPathMatcherRouteRuleArgs:
63822
65597
  def __init__(__self__, *,
63823
65598
  priority: pulumi.Input[int],
65599
+ custom_error_response_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs']] = None,
63824
65600
  header_action: Optional[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs']] = None,
63825
65601
  match_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleMatchRuleArgs']]]] = None,
63826
65602
  route_action: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionArgs']] = None,
@@ -63840,6 +65616,8 @@ class URLMapPathMatcherRouteRuleArgs:
63840
65616
  1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
63841
65617
  you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
63842
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.
63843
65621
  :param pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs'] header_action: Specifies changes to request and response headers that need to take effect for
63844
65622
  the selected backendService. The headerAction specified here are applied before
63845
65623
  the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
@@ -63867,6 +65645,8 @@ class URLMapPathMatcherRouteRuleArgs:
63867
65645
  Structure is documented below.
63868
65646
  """
63869
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)
63870
65650
  if header_action is not None:
63871
65651
  pulumi.set(__self__, "header_action", header_action)
63872
65652
  if match_rules is not None:
@@ -63902,6 +65682,19 @@ class URLMapPathMatcherRouteRuleArgs:
63902
65682
  def priority(self, value: pulumi.Input[int]):
63903
65683
  pulumi.set(self, "priority", value)
63904
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
+
63905
65698
  @property
63906
65699
  @pulumi.getter(name="headerAction")
63907
65700
  def header_action(self) -> Optional[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionArgs']]:
@@ -63983,6 +65776,181 @@ class URLMapPathMatcherRouteRuleArgs:
63983
65776
  pulumi.set(self, "url_redirect", value)
63984
65777
 
63985
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
+
63986
65954
  if not MYPY:
63987
65955
  class URLMapPathMatcherRouteRuleHeaderActionArgsDict(TypedDict):
63988
65956
  request_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgsDict']]]]