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
@@ -57,6 +57,8 @@ __all__ = [
57
57
  'BackendServiceSecuritySettingsAwsV4Authentication',
58
58
  'BackendServiceStrongSessionAffinityCookie',
59
59
  'BackendServiceStrongSessionAffinityCookieTtl',
60
+ 'BackendServiceTlsSettings',
61
+ 'BackendServiceTlsSettingsSubjectAltName',
60
62
  'DiskAsyncPrimaryDisk',
61
63
  'DiskAsyncReplicationSecondaryDisk',
62
64
  'DiskDiskEncryptionKey',
@@ -104,13 +106,18 @@ __all__ = [
104
106
  'InstanceAttachedDisk',
105
107
  'InstanceBootDisk',
106
108
  'InstanceBootDiskInitializeParams',
109
+ 'InstanceBootDiskInitializeParamsSourceImageEncryptionKey',
110
+ 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey',
107
111
  'InstanceConfidentialInstanceConfig',
108
112
  'InstanceFromMachineImageAdvancedMachineFeatures',
109
113
  'InstanceFromMachineImageAttachedDisk',
110
114
  'InstanceFromMachineImageBootDisk',
111
115
  'InstanceFromMachineImageBootDiskInitializeParams',
116
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey',
117
+ 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey',
112
118
  'InstanceFromMachineImageConfidentialInstanceConfig',
113
119
  'InstanceFromMachineImageGuestAccelerator',
120
+ 'InstanceFromMachineImageInstanceEncryptionKey',
114
121
  'InstanceFromMachineImageNetworkInterface',
115
122
  'InstanceFromMachineImageNetworkInterfaceAccessConfig',
116
123
  'InstanceFromMachineImageNetworkInterfaceAliasIpRange',
@@ -129,12 +136,16 @@ __all__ = [
129
136
  'InstanceFromMachineImageScratchDisk',
130
137
  'InstanceFromMachineImageServiceAccount',
131
138
  'InstanceFromMachineImageShieldedInstanceConfig',
139
+ 'InstanceFromMachineImageSourceMachineImageEncryptionKey',
132
140
  'InstanceFromTemplateAdvancedMachineFeatures',
133
141
  'InstanceFromTemplateAttachedDisk',
134
142
  'InstanceFromTemplateBootDisk',
135
143
  'InstanceFromTemplateBootDiskInitializeParams',
144
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey',
145
+ 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey',
136
146
  'InstanceFromTemplateConfidentialInstanceConfig',
137
147
  'InstanceFromTemplateGuestAccelerator',
148
+ 'InstanceFromTemplateInstanceEncryptionKey',
138
149
  'InstanceFromTemplateNetworkInterface',
139
150
  'InstanceFromTemplateNetworkInterfaceAccessConfig',
140
151
  'InstanceFromTemplateNetworkInterfaceAliasIpRange',
@@ -174,6 +185,7 @@ __all__ = [
174
185
  'InstanceGuestAccelerator',
175
186
  'InstanceIAMBindingCondition',
176
187
  'InstanceIAMMemberCondition',
188
+ 'InstanceInstanceEncryptionKey',
177
189
  'InstanceNetworkInterface',
178
190
  'InstanceNetworkInterfaceAccessConfig',
179
191
  'InstanceNetworkInterfaceAliasIpRange',
@@ -530,6 +542,7 @@ __all__ = [
530
542
  'RouteWarningData',
531
543
  'RouterBgp',
532
544
  'RouterBgpAdvertisedIpRange',
545
+ 'RouterMd5AuthenticationKeys',
533
546
  'RouterNatLogConfig',
534
547
  'RouterNatRule',
535
548
  'RouterNatRuleAction',
@@ -658,6 +671,8 @@ __all__ = [
658
671
  'URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAdd',
659
672
  'URLMapPathMatcherPathRuleUrlRedirect',
660
673
  'URLMapPathMatcherRouteRule',
674
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicy',
675
+ 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule',
661
676
  'URLMapPathMatcherRouteRuleHeaderAction',
662
677
  'URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAdd',
663
678
  'URLMapPathMatcherRouteRuleHeaderActionResponseHeadersToAdd',
@@ -714,6 +729,8 @@ __all__ = [
714
729
  'GetBackendServiceSecuritySettingAwsV4AuthenticationResult',
715
730
  'GetBackendServiceStrongSessionAffinityCookyResult',
716
731
  'GetBackendServiceStrongSessionAffinityCookyTtlResult',
732
+ 'GetBackendServiceTlsSettingResult',
733
+ 'GetBackendServiceTlsSettingSubjectAltNameResult',
717
734
  'GetDiskAsyncPrimaryDiskResult',
718
735
  'GetDiskDiskEncryptionKeyResult',
719
736
  'GetDiskGuestOsFeatureResult',
@@ -739,6 +756,8 @@ __all__ = [
739
756
  'GetInstanceAttachedDiskResult',
740
757
  'GetInstanceBootDiskResult',
741
758
  'GetInstanceBootDiskInitializeParamResult',
759
+ 'GetInstanceBootDiskInitializeParamSourceImageEncryptionKeyResult',
760
+ 'GetInstanceBootDiskInitializeParamSourceSnapshotEncryptionKeyResult',
742
761
  'GetInstanceConfidentialInstanceConfigResult',
743
762
  'GetInstanceGroupManagerAllInstancesConfigResult',
744
763
  'GetInstanceGroupManagerAutoHealingPolicyResult',
@@ -760,6 +779,7 @@ __all__ = [
760
779
  'GetInstanceGroupNamedPortResult',
761
780
  'GetInstanceGuestAcceleratorResult',
762
781
  'GetInstanceGuestAttributesQueryValueResult',
782
+ 'GetInstanceInstanceEncryptionKeyResult',
763
783
  'GetInstanceNetworkInterfaceResult',
764
784
  'GetInstanceNetworkInterfaceAccessConfigResult',
765
785
  'GetInstanceNetworkInterfaceAliasIpRangeResult',
@@ -805,6 +825,27 @@ __all__ = [
805
825
  'GetMachineTypesMachineTypeAcceleratorResult',
806
826
  'GetMachineTypesMachineTypeBundledLocalSsdResult',
807
827
  'GetMachineTypesMachineTypeDeprecatedResult',
828
+ 'GetRegionBackendServiceBackendResult',
829
+ 'GetRegionBackendServiceBackendCustomMetricResult',
830
+ 'GetRegionBackendServiceCdnPolicyResult',
831
+ 'GetRegionBackendServiceCdnPolicyCacheKeyPolicyResult',
832
+ 'GetRegionBackendServiceCdnPolicyNegativeCachingPolicyResult',
833
+ 'GetRegionBackendServiceCircuitBreakerResult',
834
+ 'GetRegionBackendServiceCircuitBreakerConnectTimeoutResult',
835
+ 'GetRegionBackendServiceConnectionTrackingPolicyResult',
836
+ 'GetRegionBackendServiceConsistentHashResult',
837
+ 'GetRegionBackendServiceConsistentHashHttpCookyResult',
838
+ 'GetRegionBackendServiceConsistentHashHttpCookyTtlResult',
839
+ 'GetRegionBackendServiceCustomMetricResult',
840
+ 'GetRegionBackendServiceFailoverPolicyResult',
841
+ 'GetRegionBackendServiceIapResult',
842
+ 'GetRegionBackendServiceLogConfigResult',
843
+ 'GetRegionBackendServiceOutlierDetectionResult',
844
+ 'GetRegionBackendServiceOutlierDetectionBaseEjectionTimeResult',
845
+ 'GetRegionBackendServiceOutlierDetectionIntervalResult',
846
+ 'GetRegionBackendServiceStrongSessionAffinityCookyResult',
847
+ 'GetRegionBackendServiceStrongSessionAffinityCookyTtlResult',
848
+ 'GetRegionBackendServiceSubsettingResult',
808
849
  'GetRegionDiskAsyncPrimaryDiskResult',
809
850
  'GetRegionDiskDiskEncryptionKeyResult',
810
851
  'GetRegionDiskGuestOsFeatureResult',
@@ -880,6 +921,7 @@ __all__ = [
880
921
  'GetResourcePolicyWorkloadPolicyResult',
881
922
  'GetRouterBgpResult',
882
923
  'GetRouterBgpAdvertisedIpRangeResult',
924
+ 'GetRouterMd5AuthenticationKeyResult',
883
925
  'GetRouterNatLogConfigResult',
884
926
  'GetRouterNatRuleResult',
885
927
  'GetRouterNatRuleActionResult',
@@ -4171,6 +4213,138 @@ class BackendServiceStrongSessionAffinityCookieTtl(dict):
4171
4213
  return pulumi.get(self, "nanos")
4172
4214
 
4173
4215
 
4216
+ @pulumi.output_type
4217
+ class BackendServiceTlsSettings(dict):
4218
+ @staticmethod
4219
+ def __key_warning(key: str):
4220
+ suggest = None
4221
+ if key == "authenticationConfig":
4222
+ suggest = "authentication_config"
4223
+ elif key == "subjectAltNames":
4224
+ suggest = "subject_alt_names"
4225
+
4226
+ if suggest:
4227
+ pulumi.log.warn(f"Key '{key}' not found in BackendServiceTlsSettings. Access the value via the '{suggest}' property getter instead.")
4228
+
4229
+ def __getitem__(self, key: str) -> Any:
4230
+ BackendServiceTlsSettings.__key_warning(key)
4231
+ return super().__getitem__(key)
4232
+
4233
+ def get(self, key: str, default = None) -> Any:
4234
+ BackendServiceTlsSettings.__key_warning(key)
4235
+ return super().get(key, default)
4236
+
4237
+ def __init__(__self__, *,
4238
+ authentication_config: Optional[str] = None,
4239
+ sni: Optional[str] = None,
4240
+ subject_alt_names: Optional[Sequence['outputs.BackendServiceTlsSettingsSubjectAltName']] = None):
4241
+ """
4242
+ :param str authentication_config: Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
4243
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
4244
+ Can only be specified if authenticationMode is not NONE.
4245
+ :param str sni: Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
4246
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
4247
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
4248
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
4249
+ :param Sequence['BackendServiceTlsSettingsSubjectAltNameArgs'] subject_alt_names: A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
4250
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
4251
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
4252
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
4253
+ subjectAltNames.
4254
+ Structure is documented below.
4255
+ """
4256
+ if authentication_config is not None:
4257
+ pulumi.set(__self__, "authentication_config", authentication_config)
4258
+ if sni is not None:
4259
+ pulumi.set(__self__, "sni", sni)
4260
+ if subject_alt_names is not None:
4261
+ pulumi.set(__self__, "subject_alt_names", subject_alt_names)
4262
+
4263
+ @property
4264
+ @pulumi.getter(name="authenticationConfig")
4265
+ def authentication_config(self) -> Optional[str]:
4266
+ """
4267
+ Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
4268
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
4269
+ Can only be specified if authenticationMode is not NONE.
4270
+ """
4271
+ return pulumi.get(self, "authentication_config")
4272
+
4273
+ @property
4274
+ @pulumi.getter
4275
+ def sni(self) -> Optional[str]:
4276
+ """
4277
+ Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
4278
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
4279
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
4280
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
4281
+ """
4282
+ return pulumi.get(self, "sni")
4283
+
4284
+ @property
4285
+ @pulumi.getter(name="subjectAltNames")
4286
+ def subject_alt_names(self) -> Optional[Sequence['outputs.BackendServiceTlsSettingsSubjectAltName']]:
4287
+ """
4288
+ A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
4289
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
4290
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
4291
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
4292
+ subjectAltNames.
4293
+ Structure is documented below.
4294
+ """
4295
+ return pulumi.get(self, "subject_alt_names")
4296
+
4297
+
4298
+ @pulumi.output_type
4299
+ class BackendServiceTlsSettingsSubjectAltName(dict):
4300
+ @staticmethod
4301
+ def __key_warning(key: str):
4302
+ suggest = None
4303
+ if key == "dnsName":
4304
+ suggest = "dns_name"
4305
+ elif key == "uniformResourceIdentifier":
4306
+ suggest = "uniform_resource_identifier"
4307
+
4308
+ if suggest:
4309
+ pulumi.log.warn(f"Key '{key}' not found in BackendServiceTlsSettingsSubjectAltName. Access the value via the '{suggest}' property getter instead.")
4310
+
4311
+ def __getitem__(self, key: str) -> Any:
4312
+ BackendServiceTlsSettingsSubjectAltName.__key_warning(key)
4313
+ return super().__getitem__(key)
4314
+
4315
+ def get(self, key: str, default = None) -> Any:
4316
+ BackendServiceTlsSettingsSubjectAltName.__key_warning(key)
4317
+ return super().get(key, default)
4318
+
4319
+ def __init__(__self__, *,
4320
+ dns_name: Optional[str] = None,
4321
+ uniform_resource_identifier: Optional[str] = None):
4322
+ """
4323
+ :param str dns_name: The SAN specified as a DNS Name.
4324
+ :param str uniform_resource_identifier: The SAN specified as a URI.
4325
+ """
4326
+ if dns_name is not None:
4327
+ pulumi.set(__self__, "dns_name", dns_name)
4328
+ if uniform_resource_identifier is not None:
4329
+ pulumi.set(__self__, "uniform_resource_identifier", uniform_resource_identifier)
4330
+
4331
+ @property
4332
+ @pulumi.getter(name="dnsName")
4333
+ def dns_name(self) -> Optional[str]:
4334
+ """
4335
+ The SAN specified as a DNS Name.
4336
+ """
4337
+ return pulumi.get(self, "dns_name")
4338
+
4339
+ @property
4340
+ @pulumi.getter(name="uniformResourceIdentifier")
4341
+ def uniform_resource_identifier(self) -> Optional[str]:
4342
+ """
4343
+ The SAN specified as a URI.
4344
+ """
4345
+ return pulumi.get(self, "uniform_resource_identifier")
4346
+
4347
+
4174
4348
  @pulumi.output_type
4175
4349
  class DiskAsyncPrimaryDisk(dict):
4176
4350
  def __init__(__self__, *,
@@ -7430,6 +7604,10 @@ class ImageImageEncryptionKey(dict):
7430
7604
  suggest = "kms_key_self_link"
7431
7605
  elif key == "kmsKeyServiceAccount":
7432
7606
  suggest = "kms_key_service_account"
7607
+ elif key == "rawKey":
7608
+ suggest = "raw_key"
7609
+ elif key == "rsaEncryptedKey":
7610
+ suggest = "rsa_encrypted_key"
7433
7611
 
7434
7612
  if suggest:
7435
7613
  pulumi.log.warn(f"Key '{key}' not found in ImageImageEncryptionKey. Access the value via the '{suggest}' property getter instead.")
@@ -7444,18 +7622,30 @@ class ImageImageEncryptionKey(dict):
7444
7622
 
7445
7623
  def __init__(__self__, *,
7446
7624
  kms_key_self_link: Optional[str] = None,
7447
- kms_key_service_account: Optional[str] = None):
7625
+ kms_key_service_account: Optional[str] = None,
7626
+ raw_key: Optional[str] = None,
7627
+ rsa_encrypted_key: Optional[str] = None):
7448
7628
  """
7449
7629
  :param str kms_key_self_link: The self link of the encryption key that is stored in Google Cloud
7450
7630
  KMS.
7451
7631
  :param str kms_key_service_account: The service account being used for the encryption request for the
7452
7632
  given KMS key. If absent, the Compute Engine default service
7453
7633
  account is used.
7634
+ :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
7635
+ RFC 4648 base64 to either encrypt or decrypt this resource.
7636
+ **Note**: This property is sensitive and will not be displayed in the plan.
7637
+ :param str rsa_encrypted_key: Specifies a 256-bit customer-supplied encryption key, encoded in
7638
+ RFC 4648 base64 to either encrypt or decrypt this resource.
7639
+ **Note**: This property is sensitive and will not be displayed in the plan.
7454
7640
  """
7455
7641
  if kms_key_self_link is not None:
7456
7642
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
7457
7643
  if kms_key_service_account is not None:
7458
7644
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
7645
+ if raw_key is not None:
7646
+ pulumi.set(__self__, "raw_key", raw_key)
7647
+ if rsa_encrypted_key is not None:
7648
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
7459
7649
 
7460
7650
  @property
7461
7651
  @pulumi.getter(name="kmsKeySelfLink")
@@ -7476,6 +7666,26 @@ class ImageImageEncryptionKey(dict):
7476
7666
  """
7477
7667
  return pulumi.get(self, "kms_key_service_account")
7478
7668
 
7669
+ @property
7670
+ @pulumi.getter(name="rawKey")
7671
+ def raw_key(self) -> Optional[str]:
7672
+ """
7673
+ Specifies a 256-bit customer-supplied encryption key, encoded in
7674
+ RFC 4648 base64 to either encrypt or decrypt this resource.
7675
+ **Note**: This property is sensitive and will not be displayed in the plan.
7676
+ """
7677
+ return pulumi.get(self, "raw_key")
7678
+
7679
+ @property
7680
+ @pulumi.getter(name="rsaEncryptedKey")
7681
+ def rsa_encrypted_key(self) -> Optional[str]:
7682
+ """
7683
+ Specifies a 256-bit customer-supplied encryption key, encoded in
7684
+ RFC 4648 base64 to either encrypt or decrypt this resource.
7685
+ **Note**: This property is sensitive and will not be displayed in the plan.
7686
+ """
7687
+ return pulumi.get(self, "rsa_encrypted_key")
7688
+
7479
7689
 
7480
7690
  @pulumi.output_type
7481
7691
  class ImageRawDisk(dict):
@@ -7926,8 +8136,12 @@ class InstanceAttachedDisk(dict):
7926
8136
  suggest = "device_name"
7927
8137
  elif key == "diskEncryptionKeyRaw":
7928
8138
  suggest = "disk_encryption_key_raw"
8139
+ elif key == "diskEncryptionKeyRsa":
8140
+ suggest = "disk_encryption_key_rsa"
7929
8141
  elif key == "diskEncryptionKeySha256":
7930
8142
  suggest = "disk_encryption_key_sha256"
8143
+ elif key == "diskEncryptionServiceAccount":
8144
+ suggest = "disk_encryption_service_account"
7931
8145
  elif key == "kmsKeySelfLink":
7932
8146
  suggest = "kms_key_self_link"
7933
8147
 
@@ -7946,7 +8160,9 @@ class InstanceAttachedDisk(dict):
7946
8160
  source: str,
7947
8161
  device_name: Optional[str] = None,
7948
8162
  disk_encryption_key_raw: Optional[str] = None,
8163
+ disk_encryption_key_rsa: Optional[str] = None,
7949
8164
  disk_encryption_key_sha256: Optional[str] = None,
8165
+ disk_encryption_service_account: Optional[str] = None,
7950
8166
  kms_key_self_link: Optional[str] = None,
7951
8167
  mode: Optional[str] = None):
7952
8168
  """
@@ -7956,13 +8172,18 @@ class InstanceAttachedDisk(dict):
7956
8172
  :param str disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
7957
8173
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
7958
8174
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
7959
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.
8175
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8176
+ may be set.
8177
+ :param str disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8178
+ (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`
8179
+ may be set.
7960
8180
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
7961
8181
  encoded SHA-256 hash of the [customer-supplied encryption key]
7962
8182
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8183
+ :param 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.
7963
8184
  :param str kms_key_self_link: The self_link of the encryption key that is
7964
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
7965
- and `disk_encryption_key_raw` may be set.
8185
+ 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`
8186
+ may be set.
7966
8187
  :param str mode: Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE"
7967
8188
  If you have a persistent disk with data that you want to share
7968
8189
  between multiple instances, detach it from any read-write instances and
@@ -7973,8 +8194,12 @@ class InstanceAttachedDisk(dict):
7973
8194
  pulumi.set(__self__, "device_name", device_name)
7974
8195
  if disk_encryption_key_raw is not None:
7975
8196
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
8197
+ if disk_encryption_key_rsa is not None:
8198
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
7976
8199
  if disk_encryption_key_sha256 is not None:
7977
8200
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
8201
+ if disk_encryption_service_account is not None:
8202
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
7978
8203
  if kms_key_self_link is not None:
7979
8204
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
7980
8205
  if mode is not None:
@@ -8004,10 +8229,21 @@ class InstanceAttachedDisk(dict):
8004
8229
  A 256-bit [customer-supplied encryption key]
8005
8230
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
8006
8231
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8007
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.
8232
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8233
+ may be set.
8008
8234
  """
8009
8235
  return pulumi.get(self, "disk_encryption_key_raw")
8010
8236
 
8237
+ @property
8238
+ @pulumi.getter(name="diskEncryptionKeyRsa")
8239
+ def disk_encryption_key_rsa(self) -> Optional[str]:
8240
+ """
8241
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8242
+ (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`
8243
+ may be set.
8244
+ """
8245
+ return pulumi.get(self, "disk_encryption_key_rsa")
8246
+
8011
8247
  @property
8012
8248
  @pulumi.getter(name="diskEncryptionKeySha256")
8013
8249
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -8018,13 +8254,21 @@ class InstanceAttachedDisk(dict):
8018
8254
  """
8019
8255
  return pulumi.get(self, "disk_encryption_key_sha256")
8020
8256
 
8257
+ @property
8258
+ @pulumi.getter(name="diskEncryptionServiceAccount")
8259
+ def disk_encryption_service_account(self) -> Optional[str]:
8260
+ """
8261
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
8262
+ """
8263
+ return pulumi.get(self, "disk_encryption_service_account")
8264
+
8021
8265
  @property
8022
8266
  @pulumi.getter(name="kmsKeySelfLink")
8023
8267
  def kms_key_self_link(self) -> Optional[str]:
8024
8268
  """
8025
8269
  The self_link of the encryption key that is
8026
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
8027
- and `disk_encryption_key_raw` may be set.
8270
+ 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`
8271
+ may be set.
8028
8272
  """
8029
8273
  return pulumi.get(self, "kms_key_self_link")
8030
8274
 
@@ -8051,8 +8295,12 @@ class InstanceBootDisk(dict):
8051
8295
  suggest = "device_name"
8052
8296
  elif key == "diskEncryptionKeyRaw":
8053
8297
  suggest = "disk_encryption_key_raw"
8298
+ elif key == "diskEncryptionKeyRsa":
8299
+ suggest = "disk_encryption_key_rsa"
8054
8300
  elif key == "diskEncryptionKeySha256":
8055
8301
  suggest = "disk_encryption_key_sha256"
8302
+ elif key == "diskEncryptionServiceAccount":
8303
+ suggest = "disk_encryption_service_account"
8056
8304
  elif key == "guestOsFeatures":
8057
8305
  suggest = "guest_os_features"
8058
8306
  elif key == "initializeParams":
@@ -8075,7 +8323,9 @@ class InstanceBootDisk(dict):
8075
8323
  auto_delete: Optional[bool] = None,
8076
8324
  device_name: Optional[str] = None,
8077
8325
  disk_encryption_key_raw: Optional[str] = None,
8326
+ disk_encryption_key_rsa: Optional[str] = None,
8078
8327
  disk_encryption_key_sha256: Optional[str] = None,
8328
+ disk_encryption_service_account: Optional[str] = None,
8079
8329
  guest_os_features: Optional[Sequence[str]] = None,
8080
8330
  initialize_params: Optional['outputs.InstanceBootDiskInitializeParams'] = None,
8081
8331
  interface: Optional[str] = None,
@@ -8090,19 +8340,23 @@ class InstanceBootDisk(dict):
8090
8340
  :param str disk_encryption_key_raw: A 256-bit [customer-supplied encryption key]
8091
8341
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
8092
8342
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8093
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
8343
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8094
8344
  may be set.
8345
+ :param str disk_encryption_key_rsa: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8346
+ (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`
8095
8347
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8096
8348
  encoded SHA-256 hash of the [customer-supplied encryption key]
8097
8349
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8350
+ :param 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.
8098
8351
  :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options.
8099
8352
  :param 'InstanceBootDiskInitializeParamsArgs' initialize_params: Parameters for a new disk that will be created
8100
8353
  alongside the new instance. Either `initialize_params` or `source` must be set.
8101
8354
  Structure is documented below.
8102
8355
  :param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
8103
8356
  :param str kms_key_self_link: The self_link of the encryption key that is
8104
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
8105
- and `disk_encryption_key_raw` may be set.
8357
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`,
8358
+ `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8359
+ may be set.
8106
8360
  :param str mode: The mode in which to attach this disk, either `READ_WRITE`
8107
8361
  or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode.
8108
8362
  :param str source: The name or self_link of the existing disk (such as those managed by
@@ -8115,8 +8369,12 @@ class InstanceBootDisk(dict):
8115
8369
  pulumi.set(__self__, "device_name", device_name)
8116
8370
  if disk_encryption_key_raw is not None:
8117
8371
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
8372
+ if disk_encryption_key_rsa is not None:
8373
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
8118
8374
  if disk_encryption_key_sha256 is not None:
8119
8375
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
8376
+ if disk_encryption_service_account is not None:
8377
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
8120
8378
  if guest_os_features is not None:
8121
8379
  pulumi.set(__self__, "guest_os_features", guest_os_features)
8122
8380
  if initialize_params is not None:
@@ -8155,11 +8413,20 @@ class InstanceBootDisk(dict):
8155
8413
  A 256-bit [customer-supplied encryption key]
8156
8414
  (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
8157
8415
  encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8158
- to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
8416
+ to encrypt this disk. Only one of `kms_key_self_link`, `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8159
8417
  may be set.
8160
8418
  """
8161
8419
  return pulumi.get(self, "disk_encryption_key_raw")
8162
8420
 
8421
+ @property
8422
+ @pulumi.getter(name="diskEncryptionKeyRsa")
8423
+ def disk_encryption_key_rsa(self) -> Optional[str]:
8424
+ """
8425
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8426
+ (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`
8427
+ """
8428
+ return pulumi.get(self, "disk_encryption_key_rsa")
8429
+
8163
8430
  @property
8164
8431
  @pulumi.getter(name="diskEncryptionKeySha256")
8165
8432
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -8170,6 +8437,14 @@ class InstanceBootDisk(dict):
8170
8437
  """
8171
8438
  return pulumi.get(self, "disk_encryption_key_sha256")
8172
8439
 
8440
+ @property
8441
+ @pulumi.getter(name="diskEncryptionServiceAccount")
8442
+ def disk_encryption_service_account(self) -> Optional[str]:
8443
+ """
8444
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
8445
+ """
8446
+ return pulumi.get(self, "disk_encryption_service_account")
8447
+
8173
8448
  @property
8174
8449
  @pulumi.getter(name="guestOsFeatures")
8175
8450
  def guest_os_features(self) -> Optional[Sequence[str]]:
@@ -8201,8 +8476,9 @@ class InstanceBootDisk(dict):
8201
8476
  def kms_key_self_link(self) -> Optional[str]:
8202
8477
  """
8203
8478
  The self_link of the encryption key that is
8204
- stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
8205
- and `disk_encryption_key_raw` may be set.
8479
+ stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`,
8480
+ `disk_encryption_key_rsa` and `disk_encryption_key_raw`
8481
+ may be set.
8206
8482
  """
8207
8483
  return pulumi.get(self, "kms_key_self_link")
8208
8484
 
@@ -8241,6 +8517,10 @@ class InstanceBootDiskInitializeParams(dict):
8241
8517
  suggest = "resource_manager_tags"
8242
8518
  elif key == "resourcePolicies":
8243
8519
  suggest = "resource_policies"
8520
+ elif key == "sourceImageEncryptionKey":
8521
+ suggest = "source_image_encryption_key"
8522
+ elif key == "sourceSnapshotEncryptionKey":
8523
+ suggest = "source_snapshot_encryption_key"
8244
8524
  elif key == "storagePool":
8245
8525
  suggest = "storage_pool"
8246
8526
 
@@ -8265,6 +8545,9 @@ class InstanceBootDiskInitializeParams(dict):
8265
8545
  resource_manager_tags: Optional[Mapping[str, str]] = None,
8266
8546
  resource_policies: Optional[str] = None,
8267
8547
  size: Optional[int] = None,
8548
+ snapshot: Optional[str] = None,
8549
+ source_image_encryption_key: Optional['outputs.InstanceBootDiskInitializeParamsSourceImageEncryptionKey'] = None,
8550
+ source_snapshot_encryption_key: Optional['outputs.InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey'] = None,
8268
8551
  storage_pool: Optional[str] = None,
8269
8552
  type: Optional[str] = None):
8270
8553
  """
@@ -8300,6 +8583,9 @@ class InstanceBootDiskInitializeParams(dict):
8300
8583
  :param 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.
8301
8584
  :param int size: The size of the image in gigabytes. If not specified, it
8302
8585
  will inherit the size of its base image.
8586
+ :param 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`
8587
+ :param 'InstanceBootDiskInitializeParamsSourceImageEncryptionKeyArgs' source_image_encryption_key: Encryption key used to decrypt the given image. Structure is documented below.
8588
+ :param 'InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs' source_snapshot_encryption_key: Encryption key used to decrypt the given snapshot. Structure is documented below.
8303
8589
  :param str storage_pool: The URL or the name of the storage pool in which the new disk is created.
8304
8590
  For example:
8305
8591
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -8326,6 +8612,12 @@ class InstanceBootDiskInitializeParams(dict):
8326
8612
  pulumi.set(__self__, "resource_policies", resource_policies)
8327
8613
  if size is not None:
8328
8614
  pulumi.set(__self__, "size", size)
8615
+ if snapshot is not None:
8616
+ pulumi.set(__self__, "snapshot", snapshot)
8617
+ if source_image_encryption_key is not None:
8618
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
8619
+ if source_snapshot_encryption_key is not None:
8620
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
8329
8621
  if storage_pool is not None:
8330
8622
  pulumi.set(__self__, "storage_pool", storage_pool)
8331
8623
  if type is not None:
@@ -8426,6 +8718,30 @@ class InstanceBootDiskInitializeParams(dict):
8426
8718
  """
8427
8719
  return pulumi.get(self, "size")
8428
8720
 
8721
+ @property
8722
+ @pulumi.getter
8723
+ def snapshot(self) -> Optional[str]:
8724
+ """
8725
+ 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`
8726
+ """
8727
+ return pulumi.get(self, "snapshot")
8728
+
8729
+ @property
8730
+ @pulumi.getter(name="sourceImageEncryptionKey")
8731
+ def source_image_encryption_key(self) -> Optional['outputs.InstanceBootDiskInitializeParamsSourceImageEncryptionKey']:
8732
+ """
8733
+ Encryption key used to decrypt the given image. Structure is documented below.
8734
+ """
8735
+ return pulumi.get(self, "source_image_encryption_key")
8736
+
8737
+ @property
8738
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
8739
+ def source_snapshot_encryption_key(self) -> Optional['outputs.InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey']:
8740
+ """
8741
+ Encryption key used to decrypt the given snapshot. Structure is documented below.
8742
+ """
8743
+ return pulumi.get(self, "source_snapshot_encryption_key")
8744
+
8429
8745
  @property
8430
8746
  @pulumi.getter(name="storagePool")
8431
8747
  def storage_pool(self) -> Optional[str]:
@@ -8448,6 +8764,210 @@ class InstanceBootDiskInitializeParams(dict):
8448
8764
  return pulumi.get(self, "type")
8449
8765
 
8450
8766
 
8767
+ @pulumi.output_type
8768
+ class InstanceBootDiskInitializeParamsSourceImageEncryptionKey(dict):
8769
+ @staticmethod
8770
+ def __key_warning(key: str):
8771
+ suggest = None
8772
+ if key == "kmsKeySelfLink":
8773
+ suggest = "kms_key_self_link"
8774
+ elif key == "kmsKeyServiceAccount":
8775
+ suggest = "kms_key_service_account"
8776
+ elif key == "rawKey":
8777
+ suggest = "raw_key"
8778
+ elif key == "rsaEncryptedKey":
8779
+ suggest = "rsa_encrypted_key"
8780
+
8781
+ if suggest:
8782
+ pulumi.log.warn(f"Key '{key}' not found in InstanceBootDiskInitializeParamsSourceImageEncryptionKey. Access the value via the '{suggest}' property getter instead.")
8783
+
8784
+ def __getitem__(self, key: str) -> Any:
8785
+ InstanceBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
8786
+ return super().__getitem__(key)
8787
+
8788
+ def get(self, key: str, default = None) -> Any:
8789
+ InstanceBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
8790
+ return super().get(key, default)
8791
+
8792
+ def __init__(__self__, *,
8793
+ kms_key_self_link: Optional[str] = None,
8794
+ kms_key_service_account: Optional[str] = None,
8795
+ raw_key: Optional[str] = None,
8796
+ rsa_encrypted_key: Optional[str] = None,
8797
+ sha256: Optional[str] = None):
8798
+ """
8799
+ :param 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.
8800
+ :param 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.
8801
+ :param 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.
8802
+ :param 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.
8803
+ :param str sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8804
+ encoded SHA-256 hash of the [customer-supplied encryption key]
8805
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8806
+ """
8807
+ if kms_key_self_link is not None:
8808
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
8809
+ if kms_key_service_account is not None:
8810
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
8811
+ if raw_key is not None:
8812
+ pulumi.set(__self__, "raw_key", raw_key)
8813
+ if rsa_encrypted_key is not None:
8814
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
8815
+ if sha256 is not None:
8816
+ pulumi.set(__self__, "sha256", sha256)
8817
+
8818
+ @property
8819
+ @pulumi.getter(name="kmsKeySelfLink")
8820
+ def kms_key_self_link(self) -> Optional[str]:
8821
+ """
8822
+ 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.
8823
+ """
8824
+ return pulumi.get(self, "kms_key_self_link")
8825
+
8826
+ @property
8827
+ @pulumi.getter(name="kmsKeyServiceAccount")
8828
+ def kms_key_service_account(self) -> Optional[str]:
8829
+ """
8830
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
8831
+ """
8832
+ return pulumi.get(self, "kms_key_service_account")
8833
+
8834
+ @property
8835
+ @pulumi.getter(name="rawKey")
8836
+ def raw_key(self) -> Optional[str]:
8837
+ """
8838
+ 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.
8839
+ """
8840
+ return pulumi.get(self, "raw_key")
8841
+
8842
+ @property
8843
+ @pulumi.getter(name="rsaEncryptedKey")
8844
+ def rsa_encrypted_key(self) -> Optional[str]:
8845
+ """
8846
+ 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.
8847
+ """
8848
+ return pulumi.get(self, "rsa_encrypted_key")
8849
+
8850
+ @property
8851
+ @pulumi.getter
8852
+ def sha256(self) -> Optional[str]:
8853
+ """
8854
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8855
+ encoded SHA-256 hash of the [customer-supplied encryption key]
8856
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8857
+ """
8858
+ return pulumi.get(self, "sha256")
8859
+
8860
+
8861
+ @pulumi.output_type
8862
+ class InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey(dict):
8863
+ @staticmethod
8864
+ def __key_warning(key: str):
8865
+ suggest = None
8866
+ if key == "kmsKeySelfLink":
8867
+ suggest = "kms_key_self_link"
8868
+ elif key == "kmsKeyServiceAccount":
8869
+ suggest = "kms_key_service_account"
8870
+ elif key == "rawKey":
8871
+ suggest = "raw_key"
8872
+ elif key == "rsaEncryptedKey":
8873
+ suggest = "rsa_encrypted_key"
8874
+
8875
+ if suggest:
8876
+ pulumi.log.warn(f"Key '{key}' not found in InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey. Access the value via the '{suggest}' property getter instead.")
8877
+
8878
+ def __getitem__(self, key: str) -> Any:
8879
+ InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
8880
+ return super().__getitem__(key)
8881
+
8882
+ def get(self, key: str, default = None) -> Any:
8883
+ InstanceBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
8884
+ return super().get(key, default)
8885
+
8886
+ def __init__(__self__, *,
8887
+ kms_key_self_link: Optional[str] = None,
8888
+ kms_key_service_account: Optional[str] = None,
8889
+ raw_key: Optional[str] = None,
8890
+ rsa_encrypted_key: Optional[str] = None,
8891
+ sha256: Optional[str] = None):
8892
+ """
8893
+ :param str kms_key_self_link: The self_link of the encryption key that is
8894
+ stored in Google Cloud KMS to decrypt the given image. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
8895
+ may be set.
8896
+ :param 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.
8897
+ :param str raw_key: A 256-bit [customer-supplied encryption key]
8898
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
8899
+ encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8900
+ to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
8901
+ may be set.
8902
+ :param str rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8903
+ (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`
8904
+ may be set.
8905
+ :param str sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8906
+ encoded SHA-256 hash of the [customer-supplied encryption key]
8907
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8908
+ """
8909
+ if kms_key_self_link is not None:
8910
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
8911
+ if kms_key_service_account is not None:
8912
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
8913
+ if raw_key is not None:
8914
+ pulumi.set(__self__, "raw_key", raw_key)
8915
+ if rsa_encrypted_key is not None:
8916
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
8917
+ if sha256 is not None:
8918
+ pulumi.set(__self__, "sha256", sha256)
8919
+
8920
+ @property
8921
+ @pulumi.getter(name="kmsKeySelfLink")
8922
+ def kms_key_self_link(self) -> Optional[str]:
8923
+ """
8924
+ The self_link of the encryption key that is
8925
+ stored in Google Cloud KMS to decrypt the given image. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
8926
+ may be set.
8927
+ """
8928
+ return pulumi.get(self, "kms_key_self_link")
8929
+
8930
+ @property
8931
+ @pulumi.getter(name="kmsKeyServiceAccount")
8932
+ def kms_key_service_account(self) -> Optional[str]:
8933
+ """
8934
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
8935
+ """
8936
+ return pulumi.get(self, "kms_key_service_account")
8937
+
8938
+ @property
8939
+ @pulumi.getter(name="rawKey")
8940
+ def raw_key(self) -> Optional[str]:
8941
+ """
8942
+ A 256-bit [customer-supplied encryption key]
8943
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
8944
+ encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8945
+ to decrypt the given snapshot. Only one of `kms_key_self_link`, `rsa_encrypted_key` and `raw_key`
8946
+ may be set.
8947
+ """
8948
+ return pulumi.get(self, "raw_key")
8949
+
8950
+ @property
8951
+ @pulumi.getter(name="rsaEncryptedKey")
8952
+ def rsa_encrypted_key(self) -> Optional[str]:
8953
+ """
8954
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit [customer-supplied encryption key]
8955
+ (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`
8956
+ may be set.
8957
+ """
8958
+ return pulumi.get(self, "rsa_encrypted_key")
8959
+
8960
+ @property
8961
+ @pulumi.getter
8962
+ def sha256(self) -> Optional[str]:
8963
+ """
8964
+ The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
8965
+ encoded SHA-256 hash of the [customer-supplied encryption key]
8966
+ (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
8967
+ """
8968
+ return pulumi.get(self, "sha256")
8969
+
8970
+
8451
8971
  @pulumi.output_type
8452
8972
  class InstanceConfidentialInstanceConfig(dict):
8453
8973
  @staticmethod
@@ -8613,8 +9133,12 @@ class InstanceFromMachineImageAttachedDisk(dict):
8613
9133
  suggest = "device_name"
8614
9134
  elif key == "diskEncryptionKeyRaw":
8615
9135
  suggest = "disk_encryption_key_raw"
9136
+ elif key == "diskEncryptionKeyRsa":
9137
+ suggest = "disk_encryption_key_rsa"
8616
9138
  elif key == "diskEncryptionKeySha256":
8617
9139
  suggest = "disk_encryption_key_sha256"
9140
+ elif key == "diskEncryptionServiceAccount":
9141
+ suggest = "disk_encryption_service_account"
8618
9142
  elif key == "kmsKeySelfLink":
8619
9143
  suggest = "kms_key_self_link"
8620
9144
 
@@ -8633,15 +9157,19 @@ class InstanceFromMachineImageAttachedDisk(dict):
8633
9157
  source: str,
8634
9158
  device_name: Optional[str] = None,
8635
9159
  disk_encryption_key_raw: Optional[str] = None,
9160
+ disk_encryption_key_rsa: Optional[str] = None,
8636
9161
  disk_encryption_key_sha256: Optional[str] = None,
9162
+ disk_encryption_service_account: Optional[str] = None,
8637
9163
  kms_key_self_link: Optional[str] = None,
8638
9164
  mode: Optional[str] = None):
8639
9165
  """
8640
9166
  :param str source: The name or self_link of the disk attached to this instance.
8641
9167
  :param str device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
8642
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
9168
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
9169
+ :param 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.
8643
9170
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
8644
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
9171
+ :param 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
9172
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
8645
9173
  :param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
8646
9174
  """
8647
9175
  pulumi.set(__self__, "source", source)
@@ -8649,8 +9177,12 @@ class InstanceFromMachineImageAttachedDisk(dict):
8649
9177
  pulumi.set(__self__, "device_name", device_name)
8650
9178
  if disk_encryption_key_raw is not None:
8651
9179
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
9180
+ if disk_encryption_key_rsa is not None:
9181
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
8652
9182
  if disk_encryption_key_sha256 is not None:
8653
9183
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
9184
+ if disk_encryption_service_account is not None:
9185
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
8654
9186
  if kms_key_self_link is not None:
8655
9187
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
8656
9188
  if mode is not None:
@@ -8676,10 +9208,18 @@ class InstanceFromMachineImageAttachedDisk(dict):
8676
9208
  @pulumi.getter(name="diskEncryptionKeyRaw")
8677
9209
  def disk_encryption_key_raw(self) -> Optional[str]:
8678
9210
  """
8679
- 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.
9211
+ 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.
8680
9212
  """
8681
9213
  return pulumi.get(self, "disk_encryption_key_raw")
8682
9214
 
9215
+ @property
9216
+ @pulumi.getter(name="diskEncryptionKeyRsa")
9217
+ def disk_encryption_key_rsa(self) -> Optional[str]:
9218
+ """
9219
+ 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.
9220
+ """
9221
+ return pulumi.get(self, "disk_encryption_key_rsa")
9222
+
8683
9223
  @property
8684
9224
  @pulumi.getter(name="diskEncryptionKeySha256")
8685
9225
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -8688,11 +9228,19 @@ class InstanceFromMachineImageAttachedDisk(dict):
8688
9228
  """
8689
9229
  return pulumi.get(self, "disk_encryption_key_sha256")
8690
9230
 
9231
+ @property
9232
+ @pulumi.getter(name="diskEncryptionServiceAccount")
9233
+ def disk_encryption_service_account(self) -> Optional[str]:
9234
+ """
9235
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
9236
+ """
9237
+ return pulumi.get(self, "disk_encryption_service_account")
9238
+
8691
9239
  @property
8692
9240
  @pulumi.getter(name="kmsKeySelfLink")
8693
9241
  def kms_key_self_link(self) -> Optional[str]:
8694
9242
  """
8695
- 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.
9243
+ 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.
8696
9244
  """
8697
9245
  return pulumi.get(self, "kms_key_self_link")
8698
9246
 
@@ -8716,8 +9264,12 @@ class InstanceFromMachineImageBootDisk(dict):
8716
9264
  suggest = "device_name"
8717
9265
  elif key == "diskEncryptionKeyRaw":
8718
9266
  suggest = "disk_encryption_key_raw"
9267
+ elif key == "diskEncryptionKeyRsa":
9268
+ suggest = "disk_encryption_key_rsa"
8719
9269
  elif key == "diskEncryptionKeySha256":
8720
9270
  suggest = "disk_encryption_key_sha256"
9271
+ elif key == "diskEncryptionServiceAccount":
9272
+ suggest = "disk_encryption_service_account"
8721
9273
  elif key == "guestOsFeatures":
8722
9274
  suggest = "guest_os_features"
8723
9275
  elif key == "initializeParams":
@@ -8740,7 +9292,9 @@ class InstanceFromMachineImageBootDisk(dict):
8740
9292
  auto_delete: Optional[bool] = None,
8741
9293
  device_name: Optional[str] = None,
8742
9294
  disk_encryption_key_raw: Optional[str] = None,
9295
+ disk_encryption_key_rsa: Optional[str] = None,
8743
9296
  disk_encryption_key_sha256: Optional[str] = None,
9297
+ disk_encryption_service_account: Optional[str] = None,
8744
9298
  guest_os_features: Optional[Sequence[str]] = None,
8745
9299
  initialize_params: Optional['outputs.InstanceFromMachineImageBootDiskInitializeParams'] = None,
8746
9300
  interface: Optional[str] = None,
@@ -8750,12 +9304,14 @@ class InstanceFromMachineImageBootDisk(dict):
8750
9304
  """
8751
9305
  :param bool auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
8752
9306
  :param str device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
8753
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
9307
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
9308
+ :param 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.
8754
9309
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
9310
+ :param 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
8755
9311
  :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
8756
9312
  :param 'InstanceFromMachineImageBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
8757
9313
  :param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
8758
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
9314
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
8759
9315
  :param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
8760
9316
  :param str source: The name or self_link of the disk attached to this instance.
8761
9317
  """
@@ -8765,8 +9321,12 @@ class InstanceFromMachineImageBootDisk(dict):
8765
9321
  pulumi.set(__self__, "device_name", device_name)
8766
9322
  if disk_encryption_key_raw is not None:
8767
9323
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
9324
+ if disk_encryption_key_rsa is not None:
9325
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
8768
9326
  if disk_encryption_key_sha256 is not None:
8769
9327
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
9328
+ if disk_encryption_service_account is not None:
9329
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
8770
9330
  if guest_os_features is not None:
8771
9331
  pulumi.set(__self__, "guest_os_features", guest_os_features)
8772
9332
  if initialize_params is not None:
@@ -8800,10 +9360,18 @@ class InstanceFromMachineImageBootDisk(dict):
8800
9360
  @pulumi.getter(name="diskEncryptionKeyRaw")
8801
9361
  def disk_encryption_key_raw(self) -> Optional[str]:
8802
9362
  """
8803
- 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.
9363
+ 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.
8804
9364
  """
8805
9365
  return pulumi.get(self, "disk_encryption_key_raw")
8806
9366
 
9367
+ @property
9368
+ @pulumi.getter(name="diskEncryptionKeyRsa")
9369
+ def disk_encryption_key_rsa(self) -> Optional[str]:
9370
+ """
9371
+ 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.
9372
+ """
9373
+ return pulumi.get(self, "disk_encryption_key_rsa")
9374
+
8807
9375
  @property
8808
9376
  @pulumi.getter(name="diskEncryptionKeySha256")
8809
9377
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -8812,6 +9380,14 @@ class InstanceFromMachineImageBootDisk(dict):
8812
9380
  """
8813
9381
  return pulumi.get(self, "disk_encryption_key_sha256")
8814
9382
 
9383
+ @property
9384
+ @pulumi.getter(name="diskEncryptionServiceAccount")
9385
+ def disk_encryption_service_account(self) -> Optional[str]:
9386
+ """
9387
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
9388
+ """
9389
+ return pulumi.get(self, "disk_encryption_service_account")
9390
+
8815
9391
  @property
8816
9392
  @pulumi.getter(name="guestOsFeatures")
8817
9393
  def guest_os_features(self) -> Optional[Sequence[str]]:
@@ -8840,7 +9416,7 @@ class InstanceFromMachineImageBootDisk(dict):
8840
9416
  @pulumi.getter(name="kmsKeySelfLink")
8841
9417
  def kms_key_self_link(self) -> Optional[str]:
8842
9418
  """
8843
- 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.
9419
+ 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.
8844
9420
  """
8845
9421
  return pulumi.get(self, "kms_key_self_link")
8846
9422
 
@@ -8876,6 +9452,10 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8876
9452
  suggest = "resource_manager_tags"
8877
9453
  elif key == "resourcePolicies":
8878
9454
  suggest = "resource_policies"
9455
+ elif key == "sourceImageEncryptionKey":
9456
+ suggest = "source_image_encryption_key"
9457
+ elif key == "sourceSnapshotEncryptionKey":
9458
+ suggest = "source_snapshot_encryption_key"
8879
9459
  elif key == "storagePool":
8880
9460
  suggest = "storage_pool"
8881
9461
 
@@ -8900,6 +9480,9 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8900
9480
  resource_manager_tags: Optional[Mapping[str, str]] = None,
8901
9481
  resource_policies: Optional[str] = None,
8902
9482
  size: Optional[int] = None,
9483
+ snapshot: Optional[str] = None,
9484
+ source_image_encryption_key: Optional['outputs.InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey'] = None,
9485
+ source_snapshot_encryption_key: Optional['outputs.InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey'] = None,
8903
9486
  storage_pool: Optional[str] = None,
8904
9487
  type: Optional[str] = None):
8905
9488
  """
@@ -8912,6 +9495,9 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8912
9495
  :param Mapping[str, 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.
8913
9496
  :param 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.
8914
9497
  :param int size: The size of the image in gigabytes.
9498
+ :param str snapshot: The snapshot from which this disk was initialised.
9499
+ :param 'InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKeyArgs' source_image_encryption_key: The encryption key used to decrypt the source image.
9500
+ :param 'InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs' source_snapshot_encryption_key: The encryption key used to decrypt the source snapshot.
8915
9501
  :param str storage_pool: The URL of the storage pool in which the new disk is created
8916
9502
  :param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
8917
9503
  """
@@ -8933,6 +9519,12 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
8933
9519
  pulumi.set(__self__, "resource_policies", resource_policies)
8934
9520
  if size is not None:
8935
9521
  pulumi.set(__self__, "size", size)
9522
+ if snapshot is not None:
9523
+ pulumi.set(__self__, "snapshot", snapshot)
9524
+ if source_image_encryption_key is not None:
9525
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
9526
+ if source_snapshot_encryption_key is not None:
9527
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
8936
9528
  if storage_pool is not None:
8937
9529
  pulumi.set(__self__, "storage_pool", storage_pool)
8938
9530
  if type is not None:
@@ -9010,6 +9602,30 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
9010
9602
  """
9011
9603
  return pulumi.get(self, "size")
9012
9604
 
9605
+ @property
9606
+ @pulumi.getter
9607
+ def snapshot(self) -> Optional[str]:
9608
+ """
9609
+ The snapshot from which this disk was initialised.
9610
+ """
9611
+ return pulumi.get(self, "snapshot")
9612
+
9613
+ @property
9614
+ @pulumi.getter(name="sourceImageEncryptionKey")
9615
+ def source_image_encryption_key(self) -> Optional['outputs.InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey']:
9616
+ """
9617
+ The encryption key used to decrypt the source image.
9618
+ """
9619
+ return pulumi.get(self, "source_image_encryption_key")
9620
+
9621
+ @property
9622
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
9623
+ def source_snapshot_encryption_key(self) -> Optional['outputs.InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey']:
9624
+ """
9625
+ The encryption key used to decrypt the source snapshot.
9626
+ """
9627
+ return pulumi.get(self, "source_snapshot_encryption_key")
9628
+
9013
9629
  @property
9014
9630
  @pulumi.getter(name="storagePool")
9015
9631
  def storage_pool(self) -> Optional[str]:
@@ -9027,6 +9643,186 @@ class InstanceFromMachineImageBootDiskInitializeParams(dict):
9027
9643
  return pulumi.get(self, "type")
9028
9644
 
9029
9645
 
9646
+ @pulumi.output_type
9647
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey(dict):
9648
+ @staticmethod
9649
+ def __key_warning(key: str):
9650
+ suggest = None
9651
+ if key == "kmsKeySelfLink":
9652
+ suggest = "kms_key_self_link"
9653
+ elif key == "kmsKeyServiceAccount":
9654
+ suggest = "kms_key_service_account"
9655
+ elif key == "rawKey":
9656
+ suggest = "raw_key"
9657
+ elif key == "rsaEncryptedKey":
9658
+ suggest = "rsa_encrypted_key"
9659
+
9660
+ if suggest:
9661
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey. Access the value via the '{suggest}' property getter instead.")
9662
+
9663
+ def __getitem__(self, key: str) -> Any:
9664
+ InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
9665
+ return super().__getitem__(key)
9666
+
9667
+ def get(self, key: str, default = None) -> Any:
9668
+ InstanceFromMachineImageBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
9669
+ return super().get(key, default)
9670
+
9671
+ def __init__(__self__, *,
9672
+ kms_key_self_link: Optional[str] = None,
9673
+ kms_key_service_account: Optional[str] = None,
9674
+ raw_key: Optional[str] = None,
9675
+ rsa_encrypted_key: Optional[str] = None,
9676
+ sha256: Optional[str] = None):
9677
+ """
9678
+ :param 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.
9679
+ :param 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.
9680
+ :param 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.
9681
+ :param 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.
9682
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
9683
+ """
9684
+ if kms_key_self_link is not None:
9685
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
9686
+ if kms_key_service_account is not None:
9687
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
9688
+ if raw_key is not None:
9689
+ pulumi.set(__self__, "raw_key", raw_key)
9690
+ if rsa_encrypted_key is not None:
9691
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
9692
+ if sha256 is not None:
9693
+ pulumi.set(__self__, "sha256", sha256)
9694
+
9695
+ @property
9696
+ @pulumi.getter(name="kmsKeySelfLink")
9697
+ def kms_key_self_link(self) -> Optional[str]:
9698
+ """
9699
+ 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.
9700
+ """
9701
+ return pulumi.get(self, "kms_key_self_link")
9702
+
9703
+ @property
9704
+ @pulumi.getter(name="kmsKeyServiceAccount")
9705
+ def kms_key_service_account(self) -> Optional[str]:
9706
+ """
9707
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
9708
+ """
9709
+ return pulumi.get(self, "kms_key_service_account")
9710
+
9711
+ @property
9712
+ @pulumi.getter(name="rawKey")
9713
+ def raw_key(self) -> Optional[str]:
9714
+ """
9715
+ 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.
9716
+ """
9717
+ return pulumi.get(self, "raw_key")
9718
+
9719
+ @property
9720
+ @pulumi.getter(name="rsaEncryptedKey")
9721
+ def rsa_encrypted_key(self) -> Optional[str]:
9722
+ """
9723
+ 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.
9724
+ """
9725
+ return pulumi.get(self, "rsa_encrypted_key")
9726
+
9727
+ @property
9728
+ @pulumi.getter
9729
+ def sha256(self) -> Optional[str]:
9730
+ """
9731
+ The SHA256 hash of the encryption key used to encrypt this disk.
9732
+ """
9733
+ return pulumi.get(self, "sha256")
9734
+
9735
+
9736
+ @pulumi.output_type
9737
+ class InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey(dict):
9738
+ @staticmethod
9739
+ def __key_warning(key: str):
9740
+ suggest = None
9741
+ if key == "kmsKeySelfLink":
9742
+ suggest = "kms_key_self_link"
9743
+ elif key == "kmsKeyServiceAccount":
9744
+ suggest = "kms_key_service_account"
9745
+ elif key == "rawKey":
9746
+ suggest = "raw_key"
9747
+ elif key == "rsaEncryptedKey":
9748
+ suggest = "rsa_encrypted_key"
9749
+
9750
+ if suggest:
9751
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey. Access the value via the '{suggest}' property getter instead.")
9752
+
9753
+ def __getitem__(self, key: str) -> Any:
9754
+ InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
9755
+ return super().__getitem__(key)
9756
+
9757
+ def get(self, key: str, default = None) -> Any:
9758
+ InstanceFromMachineImageBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
9759
+ return super().get(key, default)
9760
+
9761
+ def __init__(__self__, *,
9762
+ kms_key_self_link: Optional[str] = None,
9763
+ kms_key_service_account: Optional[str] = None,
9764
+ raw_key: Optional[str] = None,
9765
+ rsa_encrypted_key: Optional[str] = None,
9766
+ sha256: Optional[str] = None):
9767
+ """
9768
+ :param 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.
9769
+ :param 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.
9770
+ :param 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.
9771
+ :param 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.
9772
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
9773
+ """
9774
+ if kms_key_self_link is not None:
9775
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
9776
+ if kms_key_service_account is not None:
9777
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
9778
+ if raw_key is not None:
9779
+ pulumi.set(__self__, "raw_key", raw_key)
9780
+ if rsa_encrypted_key is not None:
9781
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
9782
+ if sha256 is not None:
9783
+ pulumi.set(__self__, "sha256", sha256)
9784
+
9785
+ @property
9786
+ @pulumi.getter(name="kmsKeySelfLink")
9787
+ def kms_key_self_link(self) -> Optional[str]:
9788
+ """
9789
+ 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.
9790
+ """
9791
+ return pulumi.get(self, "kms_key_self_link")
9792
+
9793
+ @property
9794
+ @pulumi.getter(name="kmsKeyServiceAccount")
9795
+ def kms_key_service_account(self) -> Optional[str]:
9796
+ """
9797
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
9798
+ """
9799
+ return pulumi.get(self, "kms_key_service_account")
9800
+
9801
+ @property
9802
+ @pulumi.getter(name="rawKey")
9803
+ def raw_key(self) -> Optional[str]:
9804
+ """
9805
+ 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.
9806
+ """
9807
+ return pulumi.get(self, "raw_key")
9808
+
9809
+ @property
9810
+ @pulumi.getter(name="rsaEncryptedKey")
9811
+ def rsa_encrypted_key(self) -> Optional[str]:
9812
+ """
9813
+ 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.
9814
+ """
9815
+ return pulumi.get(self, "rsa_encrypted_key")
9816
+
9817
+ @property
9818
+ @pulumi.getter
9819
+ def sha256(self) -> Optional[str]:
9820
+ """
9821
+ The SHA256 hash of the encryption key used to encrypt this disk.
9822
+ """
9823
+ return pulumi.get(self, "sha256")
9824
+
9825
+
9030
9826
  @pulumi.output_type
9031
9827
  class InstanceFromMachineImageConfidentialInstanceConfig(dict):
9032
9828
  @staticmethod
@@ -9112,6 +9908,68 @@ class InstanceFromMachineImageGuestAccelerator(dict):
9112
9908
  return pulumi.get(self, "type")
9113
9909
 
9114
9910
 
9911
+ @pulumi.output_type
9912
+ class InstanceFromMachineImageInstanceEncryptionKey(dict):
9913
+ @staticmethod
9914
+ def __key_warning(key: str):
9915
+ suggest = None
9916
+ if key == "kmsKeySelfLink":
9917
+ suggest = "kms_key_self_link"
9918
+ elif key == "kmsKeyServiceAccount":
9919
+ suggest = "kms_key_service_account"
9920
+
9921
+ if suggest:
9922
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageInstanceEncryptionKey. Access the value via the '{suggest}' property getter instead.")
9923
+
9924
+ def __getitem__(self, key: str) -> Any:
9925
+ InstanceFromMachineImageInstanceEncryptionKey.__key_warning(key)
9926
+ return super().__getitem__(key)
9927
+
9928
+ def get(self, key: str, default = None) -> Any:
9929
+ InstanceFromMachineImageInstanceEncryptionKey.__key_warning(key)
9930
+ return super().get(key, default)
9931
+
9932
+ def __init__(__self__, *,
9933
+ kms_key_self_link: Optional[str] = None,
9934
+ kms_key_service_account: Optional[str] = None,
9935
+ sha256: Optional[str] = None):
9936
+ """
9937
+ :param str kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS.
9938
+ :param 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.
9939
+ :param str sha256: The SHA256 hash of the customer's encryption key.
9940
+ """
9941
+ if kms_key_self_link is not None:
9942
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
9943
+ if kms_key_service_account is not None:
9944
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
9945
+ if sha256 is not None:
9946
+ pulumi.set(__self__, "sha256", sha256)
9947
+
9948
+ @property
9949
+ @pulumi.getter(name="kmsKeySelfLink")
9950
+ def kms_key_self_link(self) -> Optional[str]:
9951
+ """
9952
+ The self link of the encryption key that is stored in Google Cloud KMS.
9953
+ """
9954
+ return pulumi.get(self, "kms_key_self_link")
9955
+
9956
+ @property
9957
+ @pulumi.getter(name="kmsKeyServiceAccount")
9958
+ def kms_key_service_account(self) -> Optional[str]:
9959
+ """
9960
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
9961
+ """
9962
+ return pulumi.get(self, "kms_key_service_account")
9963
+
9964
+ @property
9965
+ @pulumi.getter
9966
+ def sha256(self) -> Optional[str]:
9967
+ """
9968
+ The SHA256 hash of the customer's encryption key.
9969
+ """
9970
+ return pulumi.get(self, "sha256")
9971
+
9972
+
9115
9973
  @pulumi.output_type
9116
9974
  class InstanceFromMachineImageNetworkInterface(dict):
9117
9975
  @staticmethod
@@ -10349,6 +11207,74 @@ class InstanceFromMachineImageShieldedInstanceConfig(dict):
10349
11207
  return pulumi.get(self, "enable_vtpm")
10350
11208
 
10351
11209
 
11210
+ @pulumi.output_type
11211
+ class InstanceFromMachineImageSourceMachineImageEncryptionKey(dict):
11212
+ @staticmethod
11213
+ def __key_warning(key: str):
11214
+ suggest = None
11215
+ if key == "kmsKeyName":
11216
+ suggest = "kms_key_name"
11217
+ elif key == "kmsKeyServiceAccount":
11218
+ suggest = "kms_key_service_account"
11219
+ elif key == "rawKey":
11220
+ suggest = "raw_key"
11221
+ elif key == "rsaEncryptedKey":
11222
+ suggest = "rsa_encrypted_key"
11223
+
11224
+ if suggest:
11225
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageSourceMachineImageEncryptionKey. Access the value via the '{suggest}' property getter instead.")
11226
+
11227
+ def __getitem__(self, key: str) -> Any:
11228
+ InstanceFromMachineImageSourceMachineImageEncryptionKey.__key_warning(key)
11229
+ return super().__getitem__(key)
11230
+
11231
+ def get(self, key: str, default = None) -> Any:
11232
+ InstanceFromMachineImageSourceMachineImageEncryptionKey.__key_warning(key)
11233
+ return super().get(key, default)
11234
+
11235
+ def __init__(__self__, *,
11236
+ kms_key_name: Optional[str] = None,
11237
+ kms_key_service_account: Optional[str] = None,
11238
+ raw_key: Optional[str] = None,
11239
+ rsa_encrypted_key: Optional[str] = None,
11240
+ sha256: Optional[str] = None):
11241
+ if kms_key_name is not None:
11242
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
11243
+ if kms_key_service_account is not None:
11244
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
11245
+ if raw_key is not None:
11246
+ pulumi.set(__self__, "raw_key", raw_key)
11247
+ if rsa_encrypted_key is not None:
11248
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
11249
+ if sha256 is not None:
11250
+ pulumi.set(__self__, "sha256", sha256)
11251
+
11252
+ @property
11253
+ @pulumi.getter(name="kmsKeyName")
11254
+ def kms_key_name(self) -> Optional[str]:
11255
+ return pulumi.get(self, "kms_key_name")
11256
+
11257
+ @property
11258
+ @pulumi.getter(name="kmsKeyServiceAccount")
11259
+ def kms_key_service_account(self) -> Optional[str]:
11260
+ return pulumi.get(self, "kms_key_service_account")
11261
+
11262
+ @property
11263
+ @pulumi.getter(name="rawKey")
11264
+ def raw_key(self) -> Optional[str]:
11265
+ return pulumi.get(self, "raw_key")
11266
+
11267
+ @property
11268
+ @pulumi.getter(name="rsaEncryptedKey")
11269
+ def rsa_encrypted_key(self) -> Optional[str]:
11270
+ return pulumi.get(self, "rsa_encrypted_key")
11271
+
11272
+ @property
11273
+ @pulumi.getter
11274
+ def sha256(self) -> Optional[str]:
11275
+ return pulumi.get(self, "sha256")
11276
+
11277
+
10352
11278
  @pulumi.output_type
10353
11279
  class InstanceFromTemplateAdvancedMachineFeatures(dict):
10354
11280
  @staticmethod
@@ -10464,8 +11390,12 @@ class InstanceFromTemplateAttachedDisk(dict):
10464
11390
  suggest = "device_name"
10465
11391
  elif key == "diskEncryptionKeyRaw":
10466
11392
  suggest = "disk_encryption_key_raw"
11393
+ elif key == "diskEncryptionKeyRsa":
11394
+ suggest = "disk_encryption_key_rsa"
10467
11395
  elif key == "diskEncryptionKeySha256":
10468
11396
  suggest = "disk_encryption_key_sha256"
11397
+ elif key == "diskEncryptionServiceAccount":
11398
+ suggest = "disk_encryption_service_account"
10469
11399
  elif key == "kmsKeySelfLink":
10470
11400
  suggest = "kms_key_self_link"
10471
11401
 
@@ -10484,15 +11414,19 @@ class InstanceFromTemplateAttachedDisk(dict):
10484
11414
  source: str,
10485
11415
  device_name: Optional[str] = None,
10486
11416
  disk_encryption_key_raw: Optional[str] = None,
11417
+ disk_encryption_key_rsa: Optional[str] = None,
10487
11418
  disk_encryption_key_sha256: Optional[str] = None,
11419
+ disk_encryption_service_account: Optional[str] = None,
10488
11420
  kms_key_self_link: Optional[str] = None,
10489
11421
  mode: Optional[str] = None):
10490
11422
  """
10491
11423
  :param str source: The name or self_link of the disk attached to this instance.
10492
11424
  :param str device_name: Name with which the attached disk is accessible under /dev/disk/by-id/
10493
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
11425
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
11426
+ :param 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.
10494
11427
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
10495
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
11428
+ :param 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
11429
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
10496
11430
  :param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
10497
11431
  """
10498
11432
  pulumi.set(__self__, "source", source)
@@ -10500,8 +11434,12 @@ class InstanceFromTemplateAttachedDisk(dict):
10500
11434
  pulumi.set(__self__, "device_name", device_name)
10501
11435
  if disk_encryption_key_raw is not None:
10502
11436
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
11437
+ if disk_encryption_key_rsa is not None:
11438
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
10503
11439
  if disk_encryption_key_sha256 is not None:
10504
11440
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
11441
+ if disk_encryption_service_account is not None:
11442
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
10505
11443
  if kms_key_self_link is not None:
10506
11444
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
10507
11445
  if mode is not None:
@@ -10527,10 +11465,18 @@ class InstanceFromTemplateAttachedDisk(dict):
10527
11465
  @pulumi.getter(name="diskEncryptionKeyRaw")
10528
11466
  def disk_encryption_key_raw(self) -> Optional[str]:
10529
11467
  """
10530
- 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.
11468
+ 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.
10531
11469
  """
10532
11470
  return pulumi.get(self, "disk_encryption_key_raw")
10533
11471
 
11472
+ @property
11473
+ @pulumi.getter(name="diskEncryptionKeyRsa")
11474
+ def disk_encryption_key_rsa(self) -> Optional[str]:
11475
+ """
11476
+ 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.
11477
+ """
11478
+ return pulumi.get(self, "disk_encryption_key_rsa")
11479
+
10534
11480
  @property
10535
11481
  @pulumi.getter(name="diskEncryptionKeySha256")
10536
11482
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -10539,11 +11485,19 @@ class InstanceFromTemplateAttachedDisk(dict):
10539
11485
  """
10540
11486
  return pulumi.get(self, "disk_encryption_key_sha256")
10541
11487
 
11488
+ @property
11489
+ @pulumi.getter(name="diskEncryptionServiceAccount")
11490
+ def disk_encryption_service_account(self) -> Optional[str]:
11491
+ """
11492
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
11493
+ """
11494
+ return pulumi.get(self, "disk_encryption_service_account")
11495
+
10542
11496
  @property
10543
11497
  @pulumi.getter(name="kmsKeySelfLink")
10544
11498
  def kms_key_self_link(self) -> Optional[str]:
10545
11499
  """
10546
- 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.
11500
+ 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.
10547
11501
  """
10548
11502
  return pulumi.get(self, "kms_key_self_link")
10549
11503
 
@@ -10567,8 +11521,12 @@ class InstanceFromTemplateBootDisk(dict):
10567
11521
  suggest = "device_name"
10568
11522
  elif key == "diskEncryptionKeyRaw":
10569
11523
  suggest = "disk_encryption_key_raw"
11524
+ elif key == "diskEncryptionKeyRsa":
11525
+ suggest = "disk_encryption_key_rsa"
10570
11526
  elif key == "diskEncryptionKeySha256":
10571
11527
  suggest = "disk_encryption_key_sha256"
11528
+ elif key == "diskEncryptionServiceAccount":
11529
+ suggest = "disk_encryption_service_account"
10572
11530
  elif key == "guestOsFeatures":
10573
11531
  suggest = "guest_os_features"
10574
11532
  elif key == "initializeParams":
@@ -10591,7 +11549,9 @@ class InstanceFromTemplateBootDisk(dict):
10591
11549
  auto_delete: Optional[bool] = None,
10592
11550
  device_name: Optional[str] = None,
10593
11551
  disk_encryption_key_raw: Optional[str] = None,
11552
+ disk_encryption_key_rsa: Optional[str] = None,
10594
11553
  disk_encryption_key_sha256: Optional[str] = None,
11554
+ disk_encryption_service_account: Optional[str] = None,
10595
11555
  guest_os_features: Optional[Sequence[str]] = None,
10596
11556
  initialize_params: Optional['outputs.InstanceFromTemplateBootDiskInitializeParams'] = None,
10597
11557
  interface: Optional[str] = None,
@@ -10601,12 +11561,14 @@ class InstanceFromTemplateBootDisk(dict):
10601
11561
  """
10602
11562
  :param bool auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
10603
11563
  :param str device_name: Name with which attached disk will be accessible under /dev/disk/by-id/
10604
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
11564
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
11565
+ :param 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.
10605
11566
  :param str disk_encryption_key_sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
11567
+ :param 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
10606
11568
  :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
10607
11569
  :param 'InstanceFromTemplateBootDiskInitializeParamsArgs' initialize_params: Parameters with which a disk was created alongside the instance.
10608
11570
  :param str interface: The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
10609
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
11571
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
10610
11572
  :param str mode: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
10611
11573
  :param str source: The name or self_link of the disk attached to this instance.
10612
11574
  """
@@ -10616,8 +11578,12 @@ class InstanceFromTemplateBootDisk(dict):
10616
11578
  pulumi.set(__self__, "device_name", device_name)
10617
11579
  if disk_encryption_key_raw is not None:
10618
11580
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
11581
+ if disk_encryption_key_rsa is not None:
11582
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
10619
11583
  if disk_encryption_key_sha256 is not None:
10620
11584
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
11585
+ if disk_encryption_service_account is not None:
11586
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
10621
11587
  if guest_os_features is not None:
10622
11588
  pulumi.set(__self__, "guest_os_features", guest_os_features)
10623
11589
  if initialize_params is not None:
@@ -10651,10 +11617,18 @@ class InstanceFromTemplateBootDisk(dict):
10651
11617
  @pulumi.getter(name="diskEncryptionKeyRaw")
10652
11618
  def disk_encryption_key_raw(self) -> Optional[str]:
10653
11619
  """
10654
- 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.
11620
+ 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.
10655
11621
  """
10656
11622
  return pulumi.get(self, "disk_encryption_key_raw")
10657
11623
 
11624
+ @property
11625
+ @pulumi.getter(name="diskEncryptionKeyRsa")
11626
+ def disk_encryption_key_rsa(self) -> Optional[str]:
11627
+ """
11628
+ 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.
11629
+ """
11630
+ return pulumi.get(self, "disk_encryption_key_rsa")
11631
+
10658
11632
  @property
10659
11633
  @pulumi.getter(name="diskEncryptionKeySha256")
10660
11634
  def disk_encryption_key_sha256(self) -> Optional[str]:
@@ -10663,6 +11637,14 @@ class InstanceFromTemplateBootDisk(dict):
10663
11637
  """
10664
11638
  return pulumi.get(self, "disk_encryption_key_sha256")
10665
11639
 
11640
+ @property
11641
+ @pulumi.getter(name="diskEncryptionServiceAccount")
11642
+ def disk_encryption_service_account(self) -> Optional[str]:
11643
+ """
11644
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
11645
+ """
11646
+ return pulumi.get(self, "disk_encryption_service_account")
11647
+
10666
11648
  @property
10667
11649
  @pulumi.getter(name="guestOsFeatures")
10668
11650
  def guest_os_features(self) -> Optional[Sequence[str]]:
@@ -10691,7 +11673,7 @@ class InstanceFromTemplateBootDisk(dict):
10691
11673
  @pulumi.getter(name="kmsKeySelfLink")
10692
11674
  def kms_key_self_link(self) -> Optional[str]:
10693
11675
  """
10694
- 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.
11676
+ 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.
10695
11677
  """
10696
11678
  return pulumi.get(self, "kms_key_self_link")
10697
11679
 
@@ -10727,6 +11709,10 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10727
11709
  suggest = "resource_manager_tags"
10728
11710
  elif key == "resourcePolicies":
10729
11711
  suggest = "resource_policies"
11712
+ elif key == "sourceImageEncryptionKey":
11713
+ suggest = "source_image_encryption_key"
11714
+ elif key == "sourceSnapshotEncryptionKey":
11715
+ suggest = "source_snapshot_encryption_key"
10730
11716
  elif key == "storagePool":
10731
11717
  suggest = "storage_pool"
10732
11718
 
@@ -10751,6 +11737,9 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10751
11737
  resource_manager_tags: Optional[Mapping[str, str]] = None,
10752
11738
  resource_policies: Optional[str] = None,
10753
11739
  size: Optional[int] = None,
11740
+ snapshot: Optional[str] = None,
11741
+ source_image_encryption_key: Optional['outputs.InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey'] = None,
11742
+ source_snapshot_encryption_key: Optional['outputs.InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey'] = None,
10754
11743
  storage_pool: Optional[str] = None,
10755
11744
  type: Optional[str] = None):
10756
11745
  """
@@ -10763,6 +11752,9 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10763
11752
  :param Mapping[str, 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.
10764
11753
  :param 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.
10765
11754
  :param int size: The size of the image in gigabytes.
11755
+ :param str snapshot: The snapshot from which this disk was initialised.
11756
+ :param 'InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyArgs' source_image_encryption_key: The encryption key used to decrypt the source image.
11757
+ :param 'InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyArgs' source_snapshot_encryption_key: The encryption key used to decrypt the source snapshot.
10766
11758
  :param str storage_pool: The URL of the storage pool in which the new disk is created
10767
11759
  :param str type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
10768
11760
  """
@@ -10784,6 +11776,12 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10784
11776
  pulumi.set(__self__, "resource_policies", resource_policies)
10785
11777
  if size is not None:
10786
11778
  pulumi.set(__self__, "size", size)
11779
+ if snapshot is not None:
11780
+ pulumi.set(__self__, "snapshot", snapshot)
11781
+ if source_image_encryption_key is not None:
11782
+ pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
11783
+ if source_snapshot_encryption_key is not None:
11784
+ pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
10787
11785
  if storage_pool is not None:
10788
11786
  pulumi.set(__self__, "storage_pool", storage_pool)
10789
11787
  if type is not None:
@@ -10861,6 +11859,30 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10861
11859
  """
10862
11860
  return pulumi.get(self, "size")
10863
11861
 
11862
+ @property
11863
+ @pulumi.getter
11864
+ def snapshot(self) -> Optional[str]:
11865
+ """
11866
+ The snapshot from which this disk was initialised.
11867
+ """
11868
+ return pulumi.get(self, "snapshot")
11869
+
11870
+ @property
11871
+ @pulumi.getter(name="sourceImageEncryptionKey")
11872
+ def source_image_encryption_key(self) -> Optional['outputs.InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey']:
11873
+ """
11874
+ The encryption key used to decrypt the source image.
11875
+ """
11876
+ return pulumi.get(self, "source_image_encryption_key")
11877
+
11878
+ @property
11879
+ @pulumi.getter(name="sourceSnapshotEncryptionKey")
11880
+ def source_snapshot_encryption_key(self) -> Optional['outputs.InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey']:
11881
+ """
11882
+ The encryption key used to decrypt the source snapshot.
11883
+ """
11884
+ return pulumi.get(self, "source_snapshot_encryption_key")
11885
+
10864
11886
  @property
10865
11887
  @pulumi.getter(name="storagePool")
10866
11888
  def storage_pool(self) -> Optional[str]:
@@ -10878,6 +11900,186 @@ class InstanceFromTemplateBootDiskInitializeParams(dict):
10878
11900
  return pulumi.get(self, "type")
10879
11901
 
10880
11902
 
11903
+ @pulumi.output_type
11904
+ class InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey(dict):
11905
+ @staticmethod
11906
+ def __key_warning(key: str):
11907
+ suggest = None
11908
+ if key == "kmsKeySelfLink":
11909
+ suggest = "kms_key_self_link"
11910
+ elif key == "kmsKeyServiceAccount":
11911
+ suggest = "kms_key_service_account"
11912
+ elif key == "rawKey":
11913
+ suggest = "raw_key"
11914
+ elif key == "rsaEncryptedKey":
11915
+ suggest = "rsa_encrypted_key"
11916
+
11917
+ if suggest:
11918
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey. Access the value via the '{suggest}' property getter instead.")
11919
+
11920
+ def __getitem__(self, key: str) -> Any:
11921
+ InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
11922
+ return super().__getitem__(key)
11923
+
11924
+ def get(self, key: str, default = None) -> Any:
11925
+ InstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKey.__key_warning(key)
11926
+ return super().get(key, default)
11927
+
11928
+ def __init__(__self__, *,
11929
+ kms_key_self_link: Optional[str] = None,
11930
+ kms_key_service_account: Optional[str] = None,
11931
+ raw_key: Optional[str] = None,
11932
+ rsa_encrypted_key: Optional[str] = None,
11933
+ sha256: Optional[str] = None):
11934
+ """
11935
+ :param 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.
11936
+ :param 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.
11937
+ :param 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.
11938
+ :param 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.
11939
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
11940
+ """
11941
+ if kms_key_self_link is not None:
11942
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
11943
+ if kms_key_service_account is not None:
11944
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
11945
+ if raw_key is not None:
11946
+ pulumi.set(__self__, "raw_key", raw_key)
11947
+ if rsa_encrypted_key is not None:
11948
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
11949
+ if sha256 is not None:
11950
+ pulumi.set(__self__, "sha256", sha256)
11951
+
11952
+ @property
11953
+ @pulumi.getter(name="kmsKeySelfLink")
11954
+ def kms_key_self_link(self) -> Optional[str]:
11955
+ """
11956
+ 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.
11957
+ """
11958
+ return pulumi.get(self, "kms_key_self_link")
11959
+
11960
+ @property
11961
+ @pulumi.getter(name="kmsKeyServiceAccount")
11962
+ def kms_key_service_account(self) -> Optional[str]:
11963
+ """
11964
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
11965
+ """
11966
+ return pulumi.get(self, "kms_key_service_account")
11967
+
11968
+ @property
11969
+ @pulumi.getter(name="rawKey")
11970
+ def raw_key(self) -> Optional[str]:
11971
+ """
11972
+ 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.
11973
+ """
11974
+ return pulumi.get(self, "raw_key")
11975
+
11976
+ @property
11977
+ @pulumi.getter(name="rsaEncryptedKey")
11978
+ def rsa_encrypted_key(self) -> Optional[str]:
11979
+ """
11980
+ 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.
11981
+ """
11982
+ return pulumi.get(self, "rsa_encrypted_key")
11983
+
11984
+ @property
11985
+ @pulumi.getter
11986
+ def sha256(self) -> Optional[str]:
11987
+ """
11988
+ The SHA256 hash of the encryption key used to encrypt this disk.
11989
+ """
11990
+ return pulumi.get(self, "sha256")
11991
+
11992
+
11993
+ @pulumi.output_type
11994
+ class InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey(dict):
11995
+ @staticmethod
11996
+ def __key_warning(key: str):
11997
+ suggest = None
11998
+ if key == "kmsKeySelfLink":
11999
+ suggest = "kms_key_self_link"
12000
+ elif key == "kmsKeyServiceAccount":
12001
+ suggest = "kms_key_service_account"
12002
+ elif key == "rawKey":
12003
+ suggest = "raw_key"
12004
+ elif key == "rsaEncryptedKey":
12005
+ suggest = "rsa_encrypted_key"
12006
+
12007
+ if suggest:
12008
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey. Access the value via the '{suggest}' property getter instead.")
12009
+
12010
+ def __getitem__(self, key: str) -> Any:
12011
+ InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
12012
+ return super().__getitem__(key)
12013
+
12014
+ def get(self, key: str, default = None) -> Any:
12015
+ InstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKey.__key_warning(key)
12016
+ return super().get(key, default)
12017
+
12018
+ def __init__(__self__, *,
12019
+ kms_key_self_link: Optional[str] = None,
12020
+ kms_key_service_account: Optional[str] = None,
12021
+ raw_key: Optional[str] = None,
12022
+ rsa_encrypted_key: Optional[str] = None,
12023
+ sha256: Optional[str] = None):
12024
+ """
12025
+ :param 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.
12026
+ :param 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.
12027
+ :param 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.
12028
+ :param 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.
12029
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
12030
+ """
12031
+ if kms_key_self_link is not None:
12032
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
12033
+ if kms_key_service_account is not None:
12034
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
12035
+ if raw_key is not None:
12036
+ pulumi.set(__self__, "raw_key", raw_key)
12037
+ if rsa_encrypted_key is not None:
12038
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
12039
+ if sha256 is not None:
12040
+ pulumi.set(__self__, "sha256", sha256)
12041
+
12042
+ @property
12043
+ @pulumi.getter(name="kmsKeySelfLink")
12044
+ def kms_key_self_link(self) -> Optional[str]:
12045
+ """
12046
+ 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.
12047
+ """
12048
+ return pulumi.get(self, "kms_key_self_link")
12049
+
12050
+ @property
12051
+ @pulumi.getter(name="kmsKeyServiceAccount")
12052
+ def kms_key_service_account(self) -> Optional[str]:
12053
+ """
12054
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12055
+ """
12056
+ return pulumi.get(self, "kms_key_service_account")
12057
+
12058
+ @property
12059
+ @pulumi.getter(name="rawKey")
12060
+ def raw_key(self) -> Optional[str]:
12061
+ """
12062
+ 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.
12063
+ """
12064
+ return pulumi.get(self, "raw_key")
12065
+
12066
+ @property
12067
+ @pulumi.getter(name="rsaEncryptedKey")
12068
+ def rsa_encrypted_key(self) -> Optional[str]:
12069
+ """
12070
+ 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.
12071
+ """
12072
+ return pulumi.get(self, "rsa_encrypted_key")
12073
+
12074
+ @property
12075
+ @pulumi.getter
12076
+ def sha256(self) -> Optional[str]:
12077
+ """
12078
+ The SHA256 hash of the encryption key used to encrypt this disk.
12079
+ """
12080
+ return pulumi.get(self, "sha256")
12081
+
12082
+
10881
12083
  @pulumi.output_type
10882
12084
  class InstanceFromTemplateConfidentialInstanceConfig(dict):
10883
12085
  @staticmethod
@@ -10963,6 +12165,68 @@ class InstanceFromTemplateGuestAccelerator(dict):
10963
12165
  return pulumi.get(self, "type")
10964
12166
 
10965
12167
 
12168
+ @pulumi.output_type
12169
+ class InstanceFromTemplateInstanceEncryptionKey(dict):
12170
+ @staticmethod
12171
+ def __key_warning(key: str):
12172
+ suggest = None
12173
+ if key == "kmsKeySelfLink":
12174
+ suggest = "kms_key_self_link"
12175
+ elif key == "kmsKeyServiceAccount":
12176
+ suggest = "kms_key_service_account"
12177
+
12178
+ if suggest:
12179
+ pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateInstanceEncryptionKey. Access the value via the '{suggest}' property getter instead.")
12180
+
12181
+ def __getitem__(self, key: str) -> Any:
12182
+ InstanceFromTemplateInstanceEncryptionKey.__key_warning(key)
12183
+ return super().__getitem__(key)
12184
+
12185
+ def get(self, key: str, default = None) -> Any:
12186
+ InstanceFromTemplateInstanceEncryptionKey.__key_warning(key)
12187
+ return super().get(key, default)
12188
+
12189
+ def __init__(__self__, *,
12190
+ kms_key_self_link: Optional[str] = None,
12191
+ kms_key_service_account: Optional[str] = None,
12192
+ sha256: Optional[str] = None):
12193
+ """
12194
+ :param str kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS.
12195
+ :param 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.
12196
+ :param str sha256: The SHA256 hash of the customer's encryption key.
12197
+ """
12198
+ if kms_key_self_link is not None:
12199
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
12200
+ if kms_key_service_account is not None:
12201
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
12202
+ if sha256 is not None:
12203
+ pulumi.set(__self__, "sha256", sha256)
12204
+
12205
+ @property
12206
+ @pulumi.getter(name="kmsKeySelfLink")
12207
+ def kms_key_self_link(self) -> Optional[str]:
12208
+ """
12209
+ The self link of the encryption key that is stored in Google Cloud KMS.
12210
+ """
12211
+ return pulumi.get(self, "kms_key_self_link")
12212
+
12213
+ @property
12214
+ @pulumi.getter(name="kmsKeyServiceAccount")
12215
+ def kms_key_service_account(self) -> Optional[str]:
12216
+ """
12217
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
12218
+ """
12219
+ return pulumi.get(self, "kms_key_service_account")
12220
+
12221
+ @property
12222
+ @pulumi.getter
12223
+ def sha256(self) -> Optional[str]:
12224
+ """
12225
+ The SHA256 hash of the customer's encryption key.
12226
+ """
12227
+ return pulumi.get(self, "sha256")
12228
+
12229
+
10966
12230
  @pulumi.output_type
10967
12231
  class InstanceFromTemplateNetworkInterface(dict):
10968
12232
  @staticmethod
@@ -13273,6 +14537,70 @@ class InstanceIAMMemberCondition(dict):
13273
14537
  return pulumi.get(self, "description")
13274
14538
 
13275
14539
 
14540
+ @pulumi.output_type
14541
+ class InstanceInstanceEncryptionKey(dict):
14542
+ @staticmethod
14543
+ def __key_warning(key: str):
14544
+ suggest = None
14545
+ if key == "kmsKeySelfLink":
14546
+ suggest = "kms_key_self_link"
14547
+ elif key == "kmsKeyServiceAccount":
14548
+ suggest = "kms_key_service_account"
14549
+
14550
+ if suggest:
14551
+ pulumi.log.warn(f"Key '{key}' not found in InstanceInstanceEncryptionKey. Access the value via the '{suggest}' property getter instead.")
14552
+
14553
+ def __getitem__(self, key: str) -> Any:
14554
+ InstanceInstanceEncryptionKey.__key_warning(key)
14555
+ return super().__getitem__(key)
14556
+
14557
+ def get(self, key: str, default = None) -> Any:
14558
+ InstanceInstanceEncryptionKey.__key_warning(key)
14559
+ return super().get(key, default)
14560
+
14561
+ def __init__(__self__, *,
14562
+ kms_key_self_link: Optional[str] = None,
14563
+ kms_key_service_account: Optional[str] = None,
14564
+ sha256: Optional[str] = None):
14565
+ """
14566
+ :param str kms_key_self_link: The self_link of the encryption key that is
14567
+ stored in Google Cloud KMS to encrypt the data on this instance.
14568
+ :param 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.
14569
+ :param str sha256: The SHA256 hash of the customer's encryption key.
14570
+ """
14571
+ if kms_key_self_link is not None:
14572
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
14573
+ if kms_key_service_account is not None:
14574
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
14575
+ if sha256 is not None:
14576
+ pulumi.set(__self__, "sha256", sha256)
14577
+
14578
+ @property
14579
+ @pulumi.getter(name="kmsKeySelfLink")
14580
+ def kms_key_self_link(self) -> Optional[str]:
14581
+ """
14582
+ The self_link of the encryption key that is
14583
+ stored in Google Cloud KMS to encrypt the data on this instance.
14584
+ """
14585
+ return pulumi.get(self, "kms_key_self_link")
14586
+
14587
+ @property
14588
+ @pulumi.getter(name="kmsKeyServiceAccount")
14589
+ def kms_key_service_account(self) -> Optional[str]:
14590
+ """
14591
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
14592
+ """
14593
+ return pulumi.get(self, "kms_key_service_account")
14594
+
14595
+ @property
14596
+ @pulumi.getter
14597
+ def sha256(self) -> Optional[str]:
14598
+ """
14599
+ The SHA256 hash of the customer's encryption key.
14600
+ """
14601
+ return pulumi.get(self, "sha256")
14602
+
14603
+
13276
14604
  @pulumi.output_type
13277
14605
  class InstanceNetworkInterface(dict):
13278
14606
  @staticmethod
@@ -39585,6 +40913,8 @@ class RouterBgpAdvertisedIpRange(dict):
39585
40913
  :param str range: The IP range to advertise. The value must be a
39586
40914
  CIDR-formatted string.
39587
40915
  :param str description: User-specified description for the IP range.
40916
+
40917
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
39588
40918
  """
39589
40919
  pulumi.set(__self__, "range", range)
39590
40920
  if description is not None:
@@ -39604,10 +40934,51 @@ class RouterBgpAdvertisedIpRange(dict):
39604
40934
  def description(self) -> Optional[str]:
39605
40935
  """
39606
40936
  User-specified description for the IP range.
40937
+
40938
+ <a name="nested_md5_authentication_keys"></a>The `md5_authentication_keys` block supports:
39607
40939
  """
39608
40940
  return pulumi.get(self, "description")
39609
40941
 
39610
40942
 
40943
+ @pulumi.output_type
40944
+ class RouterMd5AuthenticationKeys(dict):
40945
+ def __init__(__self__, *,
40946
+ key: str,
40947
+ name: str):
40948
+ """
40949
+ :param str key: Value of the key used for MD5 authentication.
40950
+ :param str name: Name of the resource. The name must be 1-63 characters long, and
40951
+ comply with RFC1035. Specifically, the name must be 1-63 characters
40952
+ long and match the regular expression `a-z?`
40953
+ which means the first character must be a lowercase letter, and all
40954
+ following characters must be a dash, lowercase letter, or digit,
40955
+ except the last character, which cannot be a dash.
40956
+ """
40957
+ pulumi.set(__self__, "key", key)
40958
+ pulumi.set(__self__, "name", name)
40959
+
40960
+ @property
40961
+ @pulumi.getter
40962
+ def key(self) -> str:
40963
+ """
40964
+ Value of the key used for MD5 authentication.
40965
+ """
40966
+ return pulumi.get(self, "key")
40967
+
40968
+ @property
40969
+ @pulumi.getter
40970
+ def name(self) -> str:
40971
+ """
40972
+ Name of the resource. The name must be 1-63 characters long, and
40973
+ comply with RFC1035. Specifically, the name must be 1-63 characters
40974
+ long and match the regular expression `a-z?`
40975
+ which means the first character must be a lowercase letter, and all
40976
+ following characters must be a dash, lowercase letter, or digit,
40977
+ except the last character, which cannot be a dash.
40978
+ """
40979
+ return pulumi.get(self, "name")
40980
+
40981
+
39611
40982
  @pulumi.output_type
39612
40983
  class RouterNatLogConfig(dict):
39613
40984
  def __init__(__self__, *,
@@ -43396,6 +44767,8 @@ class SnapshotSnapshotEncryptionKey(dict):
43396
44767
  suggest = "kms_key_service_account"
43397
44768
  elif key == "rawKey":
43398
44769
  suggest = "raw_key"
44770
+ elif key == "rsaEncryptedKey":
44771
+ suggest = "rsa_encrypted_key"
43399
44772
 
43400
44773
  if suggest:
43401
44774
  pulumi.log.warn(f"Key '{key}' not found in SnapshotSnapshotEncryptionKey. Access the value via the '{suggest}' property getter instead.")
@@ -43412,6 +44785,7 @@ class SnapshotSnapshotEncryptionKey(dict):
43412
44785
  kms_key_self_link: Optional[str] = None,
43413
44786
  kms_key_service_account: Optional[str] = None,
43414
44787
  raw_key: Optional[str] = None,
44788
+ rsa_encrypted_key: Optional[str] = None,
43415
44789
  sha256: Optional[str] = None):
43416
44790
  """
43417
44791
  :param str kms_key_self_link: The name of the encryption key that is stored in Google Cloud KMS.
@@ -43420,6 +44794,9 @@ class SnapshotSnapshotEncryptionKey(dict):
43420
44794
  :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
43421
44795
  RFC 4648 base64 to either encrypt or decrypt this resource.
43422
44796
  **Note**: This property is sensitive and will not be displayed in the plan.
44797
+ :param str rsa_encrypted_key: Specifies an encryption key stored in Google Cloud KMS, encoded in
44798
+ RFC 4648 base64 to either encrypt or decrypt this resource.
44799
+ **Note**: This property is sensitive and will not be displayed in the plan.
43423
44800
  :param str sha256: (Output)
43424
44801
  The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
43425
44802
  encryption key that protects this resource.
@@ -43430,6 +44807,8 @@ class SnapshotSnapshotEncryptionKey(dict):
43430
44807
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
43431
44808
  if raw_key is not None:
43432
44809
  pulumi.set(__self__, "raw_key", raw_key)
44810
+ if rsa_encrypted_key is not None:
44811
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
43433
44812
  if sha256 is not None:
43434
44813
  pulumi.set(__self__, "sha256", sha256)
43435
44814
 
@@ -43460,6 +44839,16 @@ class SnapshotSnapshotEncryptionKey(dict):
43460
44839
  """
43461
44840
  return pulumi.get(self, "raw_key")
43462
44841
 
44842
+ @property
44843
+ @pulumi.getter(name="rsaEncryptedKey")
44844
+ def rsa_encrypted_key(self) -> Optional[str]:
44845
+ """
44846
+ Specifies an encryption key stored in Google Cloud KMS, encoded in
44847
+ RFC 4648 base64 to either encrypt or decrypt this resource.
44848
+ **Note**: This property is sensitive and will not be displayed in the plan.
44849
+ """
44850
+ return pulumi.get(self, "rsa_encrypted_key")
44851
+
43463
44852
  @property
43464
44853
  @pulumi.getter
43465
44854
  def sha256(self) -> Optional[str]:
@@ -48795,7 +50184,9 @@ class URLMapPathMatcherRouteRule(dict):
48795
50184
  @staticmethod
48796
50185
  def __key_warning(key: str):
48797
50186
  suggest = None
48798
- if key == "headerAction":
50187
+ if key == "customErrorResponsePolicy":
50188
+ suggest = "custom_error_response_policy"
50189
+ elif key == "headerAction":
48799
50190
  suggest = "header_action"
48800
50191
  elif key == "matchRules":
48801
50192
  suggest = "match_rules"
@@ -48817,6 +50208,7 @@ class URLMapPathMatcherRouteRule(dict):
48817
50208
 
48818
50209
  def __init__(__self__, *,
48819
50210
  priority: int,
50211
+ custom_error_response_policy: Optional['outputs.URLMapPathMatcherRouteRuleCustomErrorResponsePolicy'] = None,
48820
50212
  header_action: Optional['outputs.URLMapPathMatcherRouteRuleHeaderAction'] = None,
48821
50213
  match_rules: Optional[Sequence['outputs.URLMapPathMatcherRouteRuleMatchRule']] = None,
48822
50214
  route_action: Optional['outputs.URLMapPathMatcherRouteRuleRouteAction'] = None,
@@ -48836,6 +50228,8 @@ class URLMapPathMatcherRouteRule(dict):
48836
50228
  1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
48837
50229
  you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
48838
50230
  future without any impact on existing rules.
50231
+ :param 'URLMapPathMatcherRouteRuleCustomErrorResponsePolicyArgs' custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
50232
+ Structure is documented below.
48839
50233
  :param 'URLMapPathMatcherRouteRuleHeaderActionArgs' header_action: Specifies changes to request and response headers that need to take effect for
48840
50234
  the selected backendService. The headerAction specified here are applied before
48841
50235
  the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
@@ -48863,6 +50257,8 @@ class URLMapPathMatcherRouteRule(dict):
48863
50257
  Structure is documented below.
48864
50258
  """
48865
50259
  pulumi.set(__self__, "priority", priority)
50260
+ if custom_error_response_policy is not None:
50261
+ pulumi.set(__self__, "custom_error_response_policy", custom_error_response_policy)
48866
50262
  if header_action is not None:
48867
50263
  pulumi.set(__self__, "header_action", header_action)
48868
50264
  if match_rules is not None:
@@ -48894,6 +50290,15 @@ class URLMapPathMatcherRouteRule(dict):
48894
50290
  """
48895
50291
  return pulumi.get(self, "priority")
48896
50292
 
50293
+ @property
50294
+ @pulumi.getter(name="customErrorResponsePolicy")
50295
+ def custom_error_response_policy(self) -> Optional['outputs.URLMapPathMatcherRouteRuleCustomErrorResponsePolicy']:
50296
+ """
50297
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
50298
+ Structure is documented below.
50299
+ """
50300
+ return pulumi.get(self, "custom_error_response_policy")
50301
+
48897
50302
  @property
48898
50303
  @pulumi.getter(name="headerAction")
48899
50304
  def header_action(self) -> Optional['outputs.URLMapPathMatcherRouteRuleHeaderAction']:
@@ -48955,6 +50360,152 @@ class URLMapPathMatcherRouteRule(dict):
48955
50360
  return pulumi.get(self, "url_redirect")
48956
50361
 
48957
50362
 
50363
+ @pulumi.output_type
50364
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicy(dict):
50365
+ @staticmethod
50366
+ def __key_warning(key: str):
50367
+ suggest = None
50368
+ if key == "errorResponseRules":
50369
+ suggest = "error_response_rules"
50370
+ elif key == "errorService":
50371
+ suggest = "error_service"
50372
+
50373
+ if suggest:
50374
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherRouteRuleCustomErrorResponsePolicy. Access the value via the '{suggest}' property getter instead.")
50375
+
50376
+ def __getitem__(self, key: str) -> Any:
50377
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicy.__key_warning(key)
50378
+ return super().__getitem__(key)
50379
+
50380
+ def get(self, key: str, default = None) -> Any:
50381
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicy.__key_warning(key)
50382
+ return super().get(key, default)
50383
+
50384
+ def __init__(__self__, *,
50385
+ error_response_rules: Optional[Sequence['outputs.URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule']] = None,
50386
+ error_service: Optional[str] = None):
50387
+ """
50388
+ :param Sequence['URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRuleArgs'] error_response_rules: Specifies rules for returning error responses.
50389
+ 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.
50390
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
50391
+ 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.
50392
+ Structure is documented below.
50393
+ :param str error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
50394
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
50395
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
50396
+ global/backendBuckets/myBackendBucket
50397
+ 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.
50398
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
50399
+ """
50400
+ if error_response_rules is not None:
50401
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
50402
+ if error_service is not None:
50403
+ pulumi.set(__self__, "error_service", error_service)
50404
+
50405
+ @property
50406
+ @pulumi.getter(name="errorResponseRules")
50407
+ def error_response_rules(self) -> Optional[Sequence['outputs.URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule']]:
50408
+ """
50409
+ Specifies rules for returning error responses.
50410
+ 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.
50411
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
50412
+ 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.
50413
+ Structure is documented below.
50414
+ """
50415
+ return pulumi.get(self, "error_response_rules")
50416
+
50417
+ @property
50418
+ @pulumi.getter(name="errorService")
50419
+ def error_service(self) -> Optional[str]:
50420
+ """
50421
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
50422
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
50423
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
50424
+ global/backendBuckets/myBackendBucket
50425
+ 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.
50426
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
50427
+ """
50428
+ return pulumi.get(self, "error_service")
50429
+
50430
+
50431
+ @pulumi.output_type
50432
+ class URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule(dict):
50433
+ @staticmethod
50434
+ def __key_warning(key: str):
50435
+ suggest = None
50436
+ if key == "matchResponseCodes":
50437
+ suggest = "match_response_codes"
50438
+ elif key == "overrideResponseCode":
50439
+ suggest = "override_response_code"
50440
+
50441
+ if suggest:
50442
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule. Access the value via the '{suggest}' property getter instead.")
50443
+
50444
+ def __getitem__(self, key: str) -> Any:
50445
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
50446
+ return super().__getitem__(key)
50447
+
50448
+ def get(self, key: str, default = None) -> Any:
50449
+ URLMapPathMatcherRouteRuleCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
50450
+ return super().get(key, default)
50451
+
50452
+ def __init__(__self__, *,
50453
+ match_response_codes: Optional[Sequence[str]] = None,
50454
+ override_response_code: Optional[int] = None,
50455
+ path: Optional[str] = None):
50456
+ """
50457
+ :param Sequence[str] match_response_codes: Valid values include:
50458
+ - 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.
50459
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
50460
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
50461
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
50462
+ :param int override_response_code: The HTTP status code returned with the response containing the custom error content.
50463
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
50464
+ :param str path: The full path to a file within backendBucket. For example: /errors/defaultError.html
50465
+ path must start with a leading slash. path cannot have trailing slashes.
50466
+ 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.
50467
+ The value must be from 1 to 1024 characters.
50468
+ """
50469
+ if match_response_codes is not None:
50470
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
50471
+ if override_response_code is not None:
50472
+ pulumi.set(__self__, "override_response_code", override_response_code)
50473
+ if path is not None:
50474
+ pulumi.set(__self__, "path", path)
50475
+
50476
+ @property
50477
+ @pulumi.getter(name="matchResponseCodes")
50478
+ def match_response_codes(self) -> Optional[Sequence[str]]:
50479
+ """
50480
+ Valid values include:
50481
+ - 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.
50482
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
50483
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
50484
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
50485
+ """
50486
+ return pulumi.get(self, "match_response_codes")
50487
+
50488
+ @property
50489
+ @pulumi.getter(name="overrideResponseCode")
50490
+ def override_response_code(self) -> Optional[int]:
50491
+ """
50492
+ The HTTP status code returned with the response containing the custom error content.
50493
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
50494
+ """
50495
+ return pulumi.get(self, "override_response_code")
50496
+
50497
+ @property
50498
+ @pulumi.getter
50499
+ def path(self) -> Optional[str]:
50500
+ """
50501
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
50502
+ path must start with a leading slash. path cannot have trailing slashes.
50503
+ 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.
50504
+ The value must be from 1 to 1024 characters.
50505
+ """
50506
+ return pulumi.get(self, "path")
50507
+
50508
+
48958
50509
  @pulumi.output_type
48959
50510
  class URLMapPathMatcherRouteRuleHeaderAction(dict):
48960
50511
  @staticmethod
@@ -52950,147 +54501,234 @@ class GetBackendServiceStrongSessionAffinityCookyTtlResult(dict):
52950
54501
 
52951
54502
 
52952
54503
  @pulumi.output_type
52953
- class GetDiskAsyncPrimaryDiskResult(dict):
54504
+ class GetBackendServiceTlsSettingResult(dict):
52954
54505
  def __init__(__self__, *,
52955
- disk: str):
54506
+ authentication_config: str,
54507
+ sni: str,
54508
+ subject_alt_names: Sequence['outputs.GetBackendServiceTlsSettingSubjectAltNameResult']):
52956
54509
  """
52957
- :param str disk: Primary disk for asynchronous disk replication.
54510
+ :param str authentication_config: Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
54511
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
54512
+ Can only be specified if authenticationMode is not NONE.
54513
+ :param str sni: Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
54514
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
54515
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
54516
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
54517
+ :param Sequence['GetBackendServiceTlsSettingSubjectAltNameArgs'] subject_alt_names: A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
54518
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
54519
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
54520
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
54521
+ subjectAltNames.
52958
54522
  """
52959
- pulumi.set(__self__, "disk", disk)
54523
+ pulumi.set(__self__, "authentication_config", authentication_config)
54524
+ pulumi.set(__self__, "sni", sni)
54525
+ pulumi.set(__self__, "subject_alt_names", subject_alt_names)
52960
54526
 
52961
54527
  @property
52962
- @pulumi.getter
52963
- def disk(self) -> str:
54528
+ @pulumi.getter(name="authenticationConfig")
54529
+ def authentication_config(self) -> str:
52964
54530
  """
52965
- Primary disk for asynchronous disk replication.
54531
+ Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace.
54532
+ Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field.
54533
+ Can only be specified if authenticationMode is not NONE.
52966
54534
  """
52967
- return pulumi.get(self, "disk")
52968
-
52969
-
52970
- @pulumi.output_type
52971
- class GetDiskDiskEncryptionKeyResult(dict):
52972
- def __init__(__self__, *,
52973
- kms_key_self_link: str,
52974
- kms_key_service_account: str,
52975
- raw_key: str,
52976
- rsa_encrypted_key: str,
52977
- sha256: str):
52978
- """
52979
- :param str kms_key_self_link: The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
52980
- in the cloud console. Your project's Compute Engine System service account
52981
- ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
52982
- 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
52983
- See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
52984
- :param str kms_key_service_account: The service account used for the encryption request for the given KMS key.
52985
- If absent, the Compute Engine Service Agent service account is used.
52986
- :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
52987
- RFC 4648 base64 to either encrypt or decrypt this resource.
52988
- :param str rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
52989
- customer-supplied encryption key to either encrypt or decrypt
52990
- this resource. You can provide either the rawKey or the rsaEncryptedKey.
52991
- :param str sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
52992
- encryption key that protects this resource.
52993
- """
52994
- pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
52995
- pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
52996
- pulumi.set(__self__, "raw_key", raw_key)
52997
- pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
52998
- pulumi.set(__self__, "sha256", sha256)
54535
+ return pulumi.get(self, "authentication_config")
52999
54536
 
53000
54537
  @property
53001
- @pulumi.getter(name="kmsKeySelfLink")
53002
- def kms_key_self_link(self) -> str:
54538
+ @pulumi.getter
54539
+ def sni(self) -> str:
53003
54540
  """
53004
- The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
53005
- in the cloud console. Your project's Compute Engine System service account
53006
- ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
53007
- 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
53008
- See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
54541
+ Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the
54542
+ TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's
54543
+ server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it
54544
+ regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
53009
54545
  """
53010
- return pulumi.get(self, "kms_key_self_link")
54546
+ return pulumi.get(self, "sni")
53011
54547
 
53012
54548
  @property
53013
- @pulumi.getter(name="kmsKeyServiceAccount")
53014
- def kms_key_service_account(self) -> str:
54549
+ @pulumi.getter(name="subjectAltNames")
54550
+ def subject_alt_names(self) -> Sequence['outputs.GetBackendServiceTlsSettingSubjectAltNameResult']:
53015
54551
  """
53016
- The service account used for the encryption request for the given KMS key.
53017
- If absent, the Compute Engine Service Agent service account is used.
54552
+ A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend.
54553
+ When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field,
54554
+ and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries.
54555
+ When both sni and subjectAltNames are specified, the load balancer matches the backend certificate's SAN only to
54556
+ subjectAltNames.
53018
54557
  """
53019
- return pulumi.get(self, "kms_key_service_account")
54558
+ return pulumi.get(self, "subject_alt_names")
53020
54559
 
53021
- @property
53022
- @pulumi.getter(name="rawKey")
53023
- def raw_key(self) -> str:
53024
- """
53025
- Specifies a 256-bit customer-supplied encryption key, encoded in
53026
- RFC 4648 base64 to either encrypt or decrypt this resource.
53027
- """
53028
- return pulumi.get(self, "raw_key")
53029
54560
 
53030
- @property
53031
- @pulumi.getter(name="rsaEncryptedKey")
53032
- def rsa_encrypted_key(self) -> str:
54561
+ @pulumi.output_type
54562
+ class GetBackendServiceTlsSettingSubjectAltNameResult(dict):
54563
+ def __init__(__self__, *,
54564
+ dns_name: str,
54565
+ uniform_resource_identifier: str):
53033
54566
  """
53034
- Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
53035
- customer-supplied encryption key to either encrypt or decrypt
53036
- this resource. You can provide either the rawKey or the rsaEncryptedKey.
54567
+ :param str dns_name: The SAN specified as a DNS Name.
54568
+ :param str uniform_resource_identifier: The SAN specified as a URI.
53037
54569
  """
53038
- return pulumi.get(self, "rsa_encrypted_key")
54570
+ pulumi.set(__self__, "dns_name", dns_name)
54571
+ pulumi.set(__self__, "uniform_resource_identifier", uniform_resource_identifier)
53039
54572
 
53040
54573
  @property
53041
- @pulumi.getter
53042
- def sha256(self) -> str:
54574
+ @pulumi.getter(name="dnsName")
54575
+ def dns_name(self) -> str:
53043
54576
  """
53044
- The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
53045
- encryption key that protects this resource.
54577
+ The SAN specified as a DNS Name.
53046
54578
  """
53047
- return pulumi.get(self, "sha256")
53048
-
53049
-
53050
- @pulumi.output_type
53051
- class GetDiskGuestOsFeatureResult(dict):
53052
- def __init__(__self__, *,
53053
- type: str):
53054
- """
53055
- :param str type: URL of the disk type resource describing which disk type to use to
53056
- create the disk.
53057
- """
53058
- pulumi.set(__self__, "type", type)
54579
+ return pulumi.get(self, "dns_name")
53059
54580
 
53060
54581
  @property
53061
- @pulumi.getter
53062
- def type(self) -> str:
54582
+ @pulumi.getter(name="uniformResourceIdentifier")
54583
+ def uniform_resource_identifier(self) -> str:
53063
54584
  """
53064
- URL of the disk type resource describing which disk type to use to
53065
- create the disk.
54585
+ The SAN specified as a URI.
53066
54586
  """
53067
- return pulumi.get(self, "type")
54587
+ return pulumi.get(self, "uniform_resource_identifier")
53068
54588
 
53069
54589
 
53070
54590
  @pulumi.output_type
53071
- class GetDiskParamResult(dict):
54591
+ class GetDiskAsyncPrimaryDiskResult(dict):
53072
54592
  def __init__(__self__, *,
53073
- resource_manager_tags: Mapping[str, str]):
54593
+ disk: str):
53074
54594
  """
53075
- :param Mapping[str, str] resource_manager_tags: Resource manager tags to be bound to the disk. Tag keys and values have the
53076
- same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
53077
- and values are in the format tagValues/456.
54595
+ :param str disk: Primary disk for asynchronous disk replication.
53078
54596
  """
53079
- pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
54597
+ pulumi.set(__self__, "disk", disk)
53080
54598
 
53081
54599
  @property
53082
- @pulumi.getter(name="resourceManagerTags")
53083
- def resource_manager_tags(self) -> Mapping[str, str]:
54600
+ @pulumi.getter
54601
+ def disk(self) -> str:
53084
54602
  """
53085
- Resource manager tags to be bound to the disk. Tag keys and values have the
53086
- same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
53087
- and values are in the format tagValues/456.
54603
+ Primary disk for asynchronous disk replication.
53088
54604
  """
53089
- return pulumi.get(self, "resource_manager_tags")
54605
+ return pulumi.get(self, "disk")
53090
54606
 
53091
54607
 
53092
54608
  @pulumi.output_type
53093
- class GetDiskSourceImageEncryptionKeyResult(dict):
54609
+ class GetDiskDiskEncryptionKeyResult(dict):
54610
+ def __init__(__self__, *,
54611
+ kms_key_self_link: str,
54612
+ kms_key_service_account: str,
54613
+ raw_key: str,
54614
+ rsa_encrypted_key: str,
54615
+ sha256: str):
54616
+ """
54617
+ :param str kms_key_self_link: The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
54618
+ in the cloud console. Your project's Compute Engine System service account
54619
+ ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
54620
+ 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
54621
+ See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
54622
+ :param str kms_key_service_account: The service account used for the encryption request for the given KMS key.
54623
+ If absent, the Compute Engine Service Agent service account is used.
54624
+ :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
54625
+ RFC 4648 base64 to either encrypt or decrypt this resource.
54626
+ :param str rsa_encrypted_key: Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
54627
+ customer-supplied encryption key to either encrypt or decrypt
54628
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
54629
+ :param str sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
54630
+ encryption key that protects this resource.
54631
+ """
54632
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
54633
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
54634
+ pulumi.set(__self__, "raw_key", raw_key)
54635
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
54636
+ pulumi.set(__self__, "sha256", sha256)
54637
+
54638
+ @property
54639
+ @pulumi.getter(name="kmsKeySelfLink")
54640
+ def kms_key_self_link(self) -> str:
54641
+ """
54642
+ The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
54643
+ in the cloud console. Your project's Compute Engine System service account
54644
+ ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have
54645
+ 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature.
54646
+ See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
54647
+ """
54648
+ return pulumi.get(self, "kms_key_self_link")
54649
+
54650
+ @property
54651
+ @pulumi.getter(name="kmsKeyServiceAccount")
54652
+ def kms_key_service_account(self) -> str:
54653
+ """
54654
+ The service account used for the encryption request for the given KMS key.
54655
+ If absent, the Compute Engine Service Agent service account is used.
54656
+ """
54657
+ return pulumi.get(self, "kms_key_service_account")
54658
+
54659
+ @property
54660
+ @pulumi.getter(name="rawKey")
54661
+ def raw_key(self) -> str:
54662
+ """
54663
+ Specifies a 256-bit customer-supplied encryption key, encoded in
54664
+ RFC 4648 base64 to either encrypt or decrypt this resource.
54665
+ """
54666
+ return pulumi.get(self, "raw_key")
54667
+
54668
+ @property
54669
+ @pulumi.getter(name="rsaEncryptedKey")
54670
+ def rsa_encrypted_key(self) -> str:
54671
+ """
54672
+ Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
54673
+ customer-supplied encryption key to either encrypt or decrypt
54674
+ this resource. You can provide either the rawKey or the rsaEncryptedKey.
54675
+ """
54676
+ return pulumi.get(self, "rsa_encrypted_key")
54677
+
54678
+ @property
54679
+ @pulumi.getter
54680
+ def sha256(self) -> str:
54681
+ """
54682
+ The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
54683
+ encryption key that protects this resource.
54684
+ """
54685
+ return pulumi.get(self, "sha256")
54686
+
54687
+
54688
+ @pulumi.output_type
54689
+ class GetDiskGuestOsFeatureResult(dict):
54690
+ def __init__(__self__, *,
54691
+ type: str):
54692
+ """
54693
+ :param str type: URL of the disk type resource describing which disk type to use to
54694
+ create the disk.
54695
+ """
54696
+ pulumi.set(__self__, "type", type)
54697
+
54698
+ @property
54699
+ @pulumi.getter
54700
+ def type(self) -> str:
54701
+ """
54702
+ URL of the disk type resource describing which disk type to use to
54703
+ create the disk.
54704
+ """
54705
+ return pulumi.get(self, "type")
54706
+
54707
+
54708
+ @pulumi.output_type
54709
+ class GetDiskParamResult(dict):
54710
+ def __init__(__self__, *,
54711
+ resource_manager_tags: Mapping[str, str]):
54712
+ """
54713
+ :param Mapping[str, str] resource_manager_tags: Resource manager tags to be bound to the disk. Tag keys and values have the
54714
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
54715
+ and values are in the format tagValues/456.
54716
+ """
54717
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
54718
+
54719
+ @property
54720
+ @pulumi.getter(name="resourceManagerTags")
54721
+ def resource_manager_tags(self) -> Mapping[str, str]:
54722
+ """
54723
+ Resource manager tags to be bound to the disk. Tag keys and values have the
54724
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
54725
+ and values are in the format tagValues/456.
54726
+ """
54727
+ return pulumi.get(self, "resource_manager_tags")
54728
+
54729
+
54730
+ @pulumi.output_type
54731
+ class GetDiskSourceImageEncryptionKeyResult(dict):
53094
54732
  def __init__(__self__, *,
53095
54733
  kms_key_self_link: str,
53096
54734
  kms_key_service_account: str,
@@ -55195,24 +56833,30 @@ class GetInstanceAttachedDiskResult(dict):
55195
56833
  def __init__(__self__, *,
55196
56834
  device_name: str,
55197
56835
  disk_encryption_key_raw: str,
56836
+ disk_encryption_key_rsa: str,
55198
56837
  disk_encryption_key_sha256: str,
56838
+ disk_encryption_service_account: str,
55199
56839
  kms_key_self_link: str,
55200
56840
  mode: str,
55201
56841
  source: str):
55202
56842
  """
55203
56843
  :param str device_name: Name with which the attached disk is accessible
55204
56844
  under `/dev/disk/by-id/`
55205
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
56845
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
56846
+ :param 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.
55206
56847
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
55207
56848
  encoded SHA-256 hash of the [customer-supplied encryption key]
55208
56849
  (<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>) that protects this resource.
55209
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
56850
+ :param 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
56851
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_rsa and disk_encryption_key_raw may be set.
55210
56852
  :param str mode: Read/write mode for the disk. One of `"READ_ONLY"` or `"READ_WRITE"`.
55211
56853
  :param str source: The self_link of the disk attached to this instance.
55212
56854
  """
55213
56855
  pulumi.set(__self__, "device_name", device_name)
55214
56856
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
56857
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
55215
56858
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
56859
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
55216
56860
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
55217
56861
  pulumi.set(__self__, "mode", mode)
55218
56862
  pulumi.set(__self__, "source", source)
@@ -55230,10 +56874,18 @@ class GetInstanceAttachedDiskResult(dict):
55230
56874
  @pulumi.getter(name="diskEncryptionKeyRaw")
55231
56875
  def disk_encryption_key_raw(self) -> str:
55232
56876
  """
55233
- 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.
56877
+ 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.
55234
56878
  """
55235
56879
  return pulumi.get(self, "disk_encryption_key_raw")
55236
56880
 
56881
+ @property
56882
+ @pulumi.getter(name="diskEncryptionKeyRsa")
56883
+ def disk_encryption_key_rsa(self) -> str:
56884
+ """
56885
+ 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.
56886
+ """
56887
+ return pulumi.get(self, "disk_encryption_key_rsa")
56888
+
55237
56889
  @property
55238
56890
  @pulumi.getter(name="diskEncryptionKeySha256")
55239
56891
  def disk_encryption_key_sha256(self) -> str:
@@ -55244,11 +56896,19 @@ class GetInstanceAttachedDiskResult(dict):
55244
56896
  """
55245
56897
  return pulumi.get(self, "disk_encryption_key_sha256")
55246
56898
 
56899
+ @property
56900
+ @pulumi.getter(name="diskEncryptionServiceAccount")
56901
+ def disk_encryption_service_account(self) -> str:
56902
+ """
56903
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
56904
+ """
56905
+ return pulumi.get(self, "disk_encryption_service_account")
56906
+
55247
56907
  @property
55248
56908
  @pulumi.getter(name="kmsKeySelfLink")
55249
56909
  def kms_key_self_link(self) -> str:
55250
56910
  """
55251
- 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.
56911
+ 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.
55252
56912
  """
55253
56913
  return pulumi.get(self, "kms_key_self_link")
55254
56914
 
@@ -55275,7 +56935,9 @@ class GetInstanceBootDiskResult(dict):
55275
56935
  auto_delete: bool,
55276
56936
  device_name: str,
55277
56937
  disk_encryption_key_raw: str,
56938
+ disk_encryption_key_rsa: str,
55278
56939
  disk_encryption_key_sha256: str,
56940
+ disk_encryption_service_account: str,
55279
56941
  guest_os_features: Sequence[str],
55280
56942
  initialize_params: Sequence['outputs.GetInstanceBootDiskInitializeParamResult'],
55281
56943
  interface: str,
@@ -55286,22 +56948,26 @@ class GetInstanceBootDiskResult(dict):
55286
56948
  :param bool auto_delete: Whether the disk will be auto-deleted when the instance is deleted.
55287
56949
  :param str device_name: Name with which the attached disk is accessible
55288
56950
  under `/dev/disk/by-id/`
55289
- :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
56951
+ :param str disk_encryption_key_raw: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
56952
+ :param 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.
55290
56953
  :param str disk_encryption_key_sha256: The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
55291
56954
  encoded SHA-256 hash of the [customer-supplied encryption key]
55292
56955
  (<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>) that protects this resource.
56956
+ :param 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
55293
56957
  :param Sequence[str] guest_os_features: A list of features to enable on the guest operating system. Applicable only for bootable images.
55294
56958
  :param Sequence['GetInstanceBootDiskInitializeParamArgs'] initialize_params: Parameters with which a disk was created alongside the instance.
55295
56959
  Structure is documented below.
55296
56960
  :param str interface: The disk interface used for attaching this disk. One of `SCSI` or `NVME`.
55297
- :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
56961
+ :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link, disk_encryption_key_raw and disk_encryption_key_rsa may be set.
55298
56962
  :param str mode: Read/write mode for the disk. One of `"READ_ONLY"` or `"READ_WRITE"`.
55299
56963
  :param str source: The self_link of the disk attached to this instance.
55300
56964
  """
55301
56965
  pulumi.set(__self__, "auto_delete", auto_delete)
55302
56966
  pulumi.set(__self__, "device_name", device_name)
55303
56967
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
56968
+ pulumi.set(__self__, "disk_encryption_key_rsa", disk_encryption_key_rsa)
55304
56969
  pulumi.set(__self__, "disk_encryption_key_sha256", disk_encryption_key_sha256)
56970
+ pulumi.set(__self__, "disk_encryption_service_account", disk_encryption_service_account)
55305
56971
  pulumi.set(__self__, "guest_os_features", guest_os_features)
55306
56972
  pulumi.set(__self__, "initialize_params", initialize_params)
55307
56973
  pulumi.set(__self__, "interface", interface)
@@ -55330,10 +56996,18 @@ class GetInstanceBootDiskResult(dict):
55330
56996
  @pulumi.getter(name="diskEncryptionKeyRaw")
55331
56997
  def disk_encryption_key_raw(self) -> str:
55332
56998
  """
55333
- 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.
56999
+ 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.
55334
57000
  """
55335
57001
  return pulumi.get(self, "disk_encryption_key_raw")
55336
57002
 
57003
+ @property
57004
+ @pulumi.getter(name="diskEncryptionKeyRsa")
57005
+ def disk_encryption_key_rsa(self) -> str:
57006
+ """
57007
+ 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.
57008
+ """
57009
+ return pulumi.get(self, "disk_encryption_key_rsa")
57010
+
55337
57011
  @property
55338
57012
  @pulumi.getter(name="diskEncryptionKeySha256")
55339
57013
  def disk_encryption_key_sha256(self) -> str:
@@ -55344,6 +57018,14 @@ class GetInstanceBootDiskResult(dict):
55344
57018
  """
55345
57019
  return pulumi.get(self, "disk_encryption_key_sha256")
55346
57020
 
57021
+ @property
57022
+ @pulumi.getter(name="diskEncryptionServiceAccount")
57023
+ def disk_encryption_service_account(self) -> str:
57024
+ """
57025
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used
57026
+ """
57027
+ return pulumi.get(self, "disk_encryption_service_account")
57028
+
55347
57029
  @property
55348
57030
  @pulumi.getter(name="guestOsFeatures")
55349
57031
  def guest_os_features(self) -> Sequence[str]:
@@ -55373,7 +57055,7 @@ class GetInstanceBootDiskResult(dict):
55373
57055
  @pulumi.getter(name="kmsKeySelfLink")
55374
57056
  def kms_key_self_link(self) -> str:
55375
57057
  """
55376
- 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.
57058
+ 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.
55377
57059
  """
55378
57060
  return pulumi.get(self, "kms_key_self_link")
55379
57061
 
@@ -55406,6 +57088,9 @@ class GetInstanceBootDiskInitializeParamResult(dict):
55406
57088
  resource_manager_tags: Mapping[str, str],
55407
57089
  resource_policies: Sequence[str],
55408
57090
  size: int,
57091
+ snapshot: str,
57092
+ source_image_encryption_keys: Sequence['outputs.GetInstanceBootDiskInitializeParamSourceImageEncryptionKeyResult'],
57093
+ source_snapshot_encryption_keys: Sequence['outputs.GetInstanceBootDiskInitializeParamSourceSnapshotEncryptionKeyResult'],
55409
57094
  storage_pool: str,
55410
57095
  type: str):
55411
57096
  """
@@ -55418,6 +57103,9 @@ class GetInstanceBootDiskInitializeParamResult(dict):
55418
57103
  :param Mapping[str, 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.
55419
57104
  :param Sequence[str] resource_policies: A list of self_links to resource policies attached to the selected `boot_disk`
55420
57105
  :param int size: The size of the image in gigabytes.
57106
+ :param str snapshot: The snapshot from which this disk was initialised.
57107
+ :param Sequence['GetInstanceBootDiskInitializeParamSourceImageEncryptionKeyArgs'] source_image_encryption_keys: The encryption key used to decrypt the source image.
57108
+ :param Sequence['GetInstanceBootDiskInitializeParamSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_keys: The encryption key used to decrypt the source snapshot.
55421
57109
  :param str storage_pool: The URL of the storage pool in which the new disk is created
55422
57110
  :param str type: The accelerator type resource exposed to this instance. E.g. `nvidia-tesla-k80`.
55423
57111
  """
@@ -55430,6 +57118,9 @@ class GetInstanceBootDiskInitializeParamResult(dict):
55430
57118
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
55431
57119
  pulumi.set(__self__, "resource_policies", resource_policies)
55432
57120
  pulumi.set(__self__, "size", size)
57121
+ pulumi.set(__self__, "snapshot", snapshot)
57122
+ pulumi.set(__self__, "source_image_encryption_keys", source_image_encryption_keys)
57123
+ pulumi.set(__self__, "source_snapshot_encryption_keys", source_snapshot_encryption_keys)
55433
57124
  pulumi.set(__self__, "storage_pool", storage_pool)
55434
57125
  pulumi.set(__self__, "type", type)
55435
57126
 
@@ -55505,6 +57196,30 @@ class GetInstanceBootDiskInitializeParamResult(dict):
55505
57196
  """
55506
57197
  return pulumi.get(self, "size")
55507
57198
 
57199
+ @property
57200
+ @pulumi.getter
57201
+ def snapshot(self) -> str:
57202
+ """
57203
+ The snapshot from which this disk was initialised.
57204
+ """
57205
+ return pulumi.get(self, "snapshot")
57206
+
57207
+ @property
57208
+ @pulumi.getter(name="sourceImageEncryptionKeys")
57209
+ def source_image_encryption_keys(self) -> Sequence['outputs.GetInstanceBootDiskInitializeParamSourceImageEncryptionKeyResult']:
57210
+ """
57211
+ The encryption key used to decrypt the source image.
57212
+ """
57213
+ return pulumi.get(self, "source_image_encryption_keys")
57214
+
57215
+ @property
57216
+ @pulumi.getter(name="sourceSnapshotEncryptionKeys")
57217
+ def source_snapshot_encryption_keys(self) -> Sequence['outputs.GetInstanceBootDiskInitializeParamSourceSnapshotEncryptionKeyResult']:
57218
+ """
57219
+ The encryption key used to decrypt the source snapshot.
57220
+ """
57221
+ return pulumi.get(self, "source_snapshot_encryption_keys")
57222
+
55508
57223
  @property
55509
57224
  @pulumi.getter(name="storagePool")
55510
57225
  def storage_pool(self) -> str:
@@ -55522,6 +57237,130 @@ class GetInstanceBootDiskInitializeParamResult(dict):
55522
57237
  return pulumi.get(self, "type")
55523
57238
 
55524
57239
 
57240
+ @pulumi.output_type
57241
+ class GetInstanceBootDiskInitializeParamSourceImageEncryptionKeyResult(dict):
57242
+ def __init__(__self__, *,
57243
+ kms_key_self_link: str,
57244
+ kms_key_service_account: str,
57245
+ raw_key: str,
57246
+ rsa_encrypted_key: str,
57247
+ sha256: str):
57248
+ """
57249
+ :param 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.
57250
+ :param 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.
57251
+ :param 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.
57252
+ :param 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.
57253
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
57254
+ """
57255
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
57256
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
57257
+ pulumi.set(__self__, "raw_key", raw_key)
57258
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
57259
+ pulumi.set(__self__, "sha256", sha256)
57260
+
57261
+ @property
57262
+ @pulumi.getter(name="kmsKeySelfLink")
57263
+ def kms_key_self_link(self) -> str:
57264
+ """
57265
+ 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.
57266
+ """
57267
+ return pulumi.get(self, "kms_key_self_link")
57268
+
57269
+ @property
57270
+ @pulumi.getter(name="kmsKeyServiceAccount")
57271
+ def kms_key_service_account(self) -> str:
57272
+ """
57273
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
57274
+ """
57275
+ return pulumi.get(self, "kms_key_service_account")
57276
+
57277
+ @property
57278
+ @pulumi.getter(name="rawKey")
57279
+ def raw_key(self) -> str:
57280
+ """
57281
+ 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.
57282
+ """
57283
+ return pulumi.get(self, "raw_key")
57284
+
57285
+ @property
57286
+ @pulumi.getter(name="rsaEncryptedKey")
57287
+ def rsa_encrypted_key(self) -> str:
57288
+ """
57289
+ 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.
57290
+ """
57291
+ return pulumi.get(self, "rsa_encrypted_key")
57292
+
57293
+ @property
57294
+ @pulumi.getter
57295
+ def sha256(self) -> str:
57296
+ """
57297
+ The SHA256 hash of the encryption key used to encrypt this disk.
57298
+ """
57299
+ return pulumi.get(self, "sha256")
57300
+
57301
+
57302
+ @pulumi.output_type
57303
+ class GetInstanceBootDiskInitializeParamSourceSnapshotEncryptionKeyResult(dict):
57304
+ def __init__(__self__, *,
57305
+ kms_key_self_link: str,
57306
+ kms_key_service_account: str,
57307
+ raw_key: str,
57308
+ rsa_encrypted_key: str,
57309
+ sha256: str):
57310
+ """
57311
+ :param 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.
57312
+ :param 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.
57313
+ :param 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.
57314
+ :param 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.
57315
+ :param str sha256: The SHA256 hash of the encryption key used to encrypt this disk.
57316
+ """
57317
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
57318
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
57319
+ pulumi.set(__self__, "raw_key", raw_key)
57320
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
57321
+ pulumi.set(__self__, "sha256", sha256)
57322
+
57323
+ @property
57324
+ @pulumi.getter(name="kmsKeySelfLink")
57325
+ def kms_key_self_link(self) -> str:
57326
+ """
57327
+ 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.
57328
+ """
57329
+ return pulumi.get(self, "kms_key_self_link")
57330
+
57331
+ @property
57332
+ @pulumi.getter(name="kmsKeyServiceAccount")
57333
+ def kms_key_service_account(self) -> str:
57334
+ """
57335
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
57336
+ """
57337
+ return pulumi.get(self, "kms_key_service_account")
57338
+
57339
+ @property
57340
+ @pulumi.getter(name="rawKey")
57341
+ def raw_key(self) -> str:
57342
+ """
57343
+ 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.
57344
+ """
57345
+ return pulumi.get(self, "raw_key")
57346
+
57347
+ @property
57348
+ @pulumi.getter(name="rsaEncryptedKey")
57349
+ def rsa_encrypted_key(self) -> str:
57350
+ """
57351
+ 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.
57352
+ """
57353
+ return pulumi.get(self, "rsa_encrypted_key")
57354
+
57355
+ @property
57356
+ @pulumi.getter
57357
+ def sha256(self) -> str:
57358
+ """
57359
+ The SHA256 hash of the encryption key used to encrypt this disk.
57360
+ """
57361
+ return pulumi.get(self, "sha256")
57362
+
57363
+
55525
57364
  @pulumi.output_type
55526
57365
  class GetInstanceConfidentialInstanceConfigResult(dict):
55527
57366
  def __init__(__self__, *,
@@ -56232,6 +58071,46 @@ class GetInstanceGuestAttributesQueryValueResult(dict):
56232
58071
  return pulumi.get(self, "value")
56233
58072
 
56234
58073
 
58074
+ @pulumi.output_type
58075
+ class GetInstanceInstanceEncryptionKeyResult(dict):
58076
+ def __init__(__self__, *,
58077
+ kms_key_self_link: str,
58078
+ kms_key_service_account: str,
58079
+ sha256: str):
58080
+ """
58081
+ :param str kms_key_self_link: The self link of the encryption key that is stored in Google Cloud KMS.
58082
+ :param 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.
58083
+ :param str sha256: The SHA256 hash of the customer's encryption key.
58084
+ """
58085
+ pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
58086
+ pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
58087
+ pulumi.set(__self__, "sha256", sha256)
58088
+
58089
+ @property
58090
+ @pulumi.getter(name="kmsKeySelfLink")
58091
+ def kms_key_self_link(self) -> str:
58092
+ """
58093
+ The self link of the encryption key that is stored in Google Cloud KMS.
58094
+ """
58095
+ return pulumi.get(self, "kms_key_self_link")
58096
+
58097
+ @property
58098
+ @pulumi.getter(name="kmsKeyServiceAccount")
58099
+ def kms_key_service_account(self) -> str:
58100
+ """
58101
+ The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
58102
+ """
58103
+ return pulumi.get(self, "kms_key_service_account")
58104
+
58105
+ @property
58106
+ @pulumi.getter
58107
+ def sha256(self) -> str:
58108
+ """
58109
+ The SHA256 hash of the customer's encryption key.
58110
+ """
58111
+ return pulumi.get(self, "sha256")
58112
+
58113
+
56235
58114
  @pulumi.output_type
56236
58115
  class GetInstanceNetworkInterfaceResult(dict):
56237
58116
  def __init__(__self__, *,
@@ -58784,6 +60663,1524 @@ class GetMachineTypesMachineTypeDeprecatedResult(dict):
58784
60663
  return pulumi.get(self, "state")
58785
60664
 
58786
60665
 
60666
+ @pulumi.output_type
60667
+ class GetRegionBackendServiceBackendResult(dict):
60668
+ def __init__(__self__, *,
60669
+ balancing_mode: str,
60670
+ capacity_scaler: float,
60671
+ custom_metrics: Sequence['outputs.GetRegionBackendServiceBackendCustomMetricResult'],
60672
+ description: str,
60673
+ failover: bool,
60674
+ group: str,
60675
+ max_connections: int,
60676
+ max_connections_per_endpoint: int,
60677
+ max_connections_per_instance: int,
60678
+ max_rate: int,
60679
+ max_rate_per_endpoint: float,
60680
+ max_rate_per_instance: float,
60681
+ max_utilization: float):
60682
+ """
60683
+ :param str balancing_mode: Specifies the balancing mode for this backend.
60684
+
60685
+ See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
60686
+ for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION", "CUSTOM_METRICS"]
60687
+ :param float capacity_scaler: A multiplier applied to the group's maximum servicing capacity
60688
+ (based on UTILIZATION, RATE or CONNECTION).
60689
+
60690
+ ~>**NOTE**: This field cannot be set for
60691
+ INTERNAL region backend services (default loadBalancingScheme),
60692
+ but is required for non-INTERNAL backend service. The total
60693
+ capacity_scaler for all backends must be non-zero.
60694
+
60695
+ A setting of 0 means the group is completely drained, offering
60696
+ 0% of its available Capacity. Valid range is [0.0,1.0].
60697
+ :param Sequence['GetRegionBackendServiceBackendCustomMetricArgs'] custom_metrics: The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
60698
+ :param str description: An optional description of this resource.
60699
+ Provide this property when you create the resource.
60700
+ :param bool failover: This field designates whether this is a failover backend. More
60701
+ than one failover backend can be configured for a given RegionBackendService.
60702
+ :param str group: The fully-qualified URL of an Instance Group or Network Endpoint
60703
+ Group resource. In case of instance group this defines the list
60704
+ of instances that serve traffic. Member virtual machine
60705
+ instances from each instance group must live in the same zone as
60706
+ the instance group itself. No two backends in a backend service
60707
+ are allowed to use same Instance Group resource.
60708
+
60709
+ For Network Endpoint Groups this defines list of endpoints. All
60710
+ endpoints of Network Endpoint Group must be hosted on instances
60711
+ located in the same zone as the Network Endpoint Group.
60712
+
60713
+ Backend services cannot mix Instance Group and
60714
+ Network Endpoint Group backends.
60715
+
60716
+ When the 'load_balancing_scheme' is INTERNAL, only instance groups
60717
+ are supported.
60718
+
60719
+ Note that you must specify an Instance Group or Network Endpoint
60720
+ Group resource using the fully-qualified URL, rather than a
60721
+ partial URL.
60722
+ :param int max_connections: The max number of simultaneous connections for the group. Can
60723
+ be used with either CONNECTION or UTILIZATION balancing modes.
60724
+ Cannot be set for INTERNAL backend services.
60725
+
60726
+ For CONNECTION mode, either maxConnections or one
60727
+ of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
60728
+ as appropriate for group type, must be set.
60729
+ :param int max_connections_per_endpoint: The max number of simultaneous connections that a single backend
60730
+ network endpoint can handle. Cannot be set
60731
+ for INTERNAL backend services.
60732
+
60733
+ This is used to calculate the capacity of the group. Can be
60734
+ used in either CONNECTION or UTILIZATION balancing modes. For
60735
+ CONNECTION mode, either maxConnections or
60736
+ maxConnectionsPerEndpoint must be set.
60737
+ :param int max_connections_per_instance: The max number of simultaneous connections that a single
60738
+ backend instance can handle. Cannot be set for INTERNAL backend
60739
+ services.
60740
+
60741
+ This is used to calculate the capacity of the group.
60742
+ Can be used in either CONNECTION or UTILIZATION balancing modes.
60743
+ For CONNECTION mode, either maxConnections or
60744
+ maxConnectionsPerInstance must be set.
60745
+ :param int max_rate: The max requests per second (RPS) of the group. Cannot be set
60746
+ for INTERNAL backend services.
60747
+
60748
+ Can be used with either RATE or UTILIZATION balancing modes,
60749
+ but required if RATE mode. Either maxRate or one
60750
+ of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
60751
+ group type, must be set.
60752
+ :param float max_rate_per_endpoint: The max requests per second (RPS) that a single backend network
60753
+ endpoint can handle. This is used to calculate the capacity of
60754
+ the group. Can be used in either balancing mode. For RATE mode,
60755
+ either maxRate or maxRatePerEndpoint must be set. Cannot be set
60756
+ for INTERNAL backend services.
60757
+ :param float max_rate_per_instance: The max requests per second (RPS) that a single backend
60758
+ instance can handle. This is used to calculate the capacity of
60759
+ the group. Can be used in either balancing mode. For RATE mode,
60760
+ either maxRate or maxRatePerInstance must be set. Cannot be set
60761
+ for INTERNAL backend services.
60762
+ :param float max_utilization: Used when balancingMode is UTILIZATION. This ratio defines the
60763
+ CPU utilization target for the group. Valid range is [0.0, 1.0].
60764
+ Cannot be set for INTERNAL backend services.
60765
+ """
60766
+ pulumi.set(__self__, "balancing_mode", balancing_mode)
60767
+ pulumi.set(__self__, "capacity_scaler", capacity_scaler)
60768
+ pulumi.set(__self__, "custom_metrics", custom_metrics)
60769
+ pulumi.set(__self__, "description", description)
60770
+ pulumi.set(__self__, "failover", failover)
60771
+ pulumi.set(__self__, "group", group)
60772
+ pulumi.set(__self__, "max_connections", max_connections)
60773
+ pulumi.set(__self__, "max_connections_per_endpoint", max_connections_per_endpoint)
60774
+ pulumi.set(__self__, "max_connections_per_instance", max_connections_per_instance)
60775
+ pulumi.set(__self__, "max_rate", max_rate)
60776
+ pulumi.set(__self__, "max_rate_per_endpoint", max_rate_per_endpoint)
60777
+ pulumi.set(__self__, "max_rate_per_instance", max_rate_per_instance)
60778
+ pulumi.set(__self__, "max_utilization", max_utilization)
60779
+
60780
+ @property
60781
+ @pulumi.getter(name="balancingMode")
60782
+ def balancing_mode(self) -> str:
60783
+ """
60784
+ Specifies the balancing mode for this backend.
60785
+
60786
+ See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
60787
+ for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION", "CUSTOM_METRICS"]
60788
+ """
60789
+ return pulumi.get(self, "balancing_mode")
60790
+
60791
+ @property
60792
+ @pulumi.getter(name="capacityScaler")
60793
+ def capacity_scaler(self) -> float:
60794
+ """
60795
+ A multiplier applied to the group's maximum servicing capacity
60796
+ (based on UTILIZATION, RATE or CONNECTION).
60797
+
60798
+ ~>**NOTE**: This field cannot be set for
60799
+ INTERNAL region backend services (default loadBalancingScheme),
60800
+ but is required for non-INTERNAL backend service. The total
60801
+ capacity_scaler for all backends must be non-zero.
60802
+
60803
+ A setting of 0 means the group is completely drained, offering
60804
+ 0% of its available Capacity. Valid range is [0.0,1.0].
60805
+ """
60806
+ return pulumi.get(self, "capacity_scaler")
60807
+
60808
+ @property
60809
+ @pulumi.getter(name="customMetrics")
60810
+ def custom_metrics(self) -> Sequence['outputs.GetRegionBackendServiceBackendCustomMetricResult']:
60811
+ """
60812
+ The set of custom metrics that are used for <code>CUSTOM_METRICS</code> BalancingMode.
60813
+ """
60814
+ return pulumi.get(self, "custom_metrics")
60815
+
60816
+ @property
60817
+ @pulumi.getter
60818
+ def description(self) -> str:
60819
+ """
60820
+ An optional description of this resource.
60821
+ Provide this property when you create the resource.
60822
+ """
60823
+ return pulumi.get(self, "description")
60824
+
60825
+ @property
60826
+ @pulumi.getter
60827
+ def failover(self) -> bool:
60828
+ """
60829
+ This field designates whether this is a failover backend. More
60830
+ than one failover backend can be configured for a given RegionBackendService.
60831
+ """
60832
+ return pulumi.get(self, "failover")
60833
+
60834
+ @property
60835
+ @pulumi.getter
60836
+ def group(self) -> str:
60837
+ """
60838
+ The fully-qualified URL of an Instance Group or Network Endpoint
60839
+ Group resource. In case of instance group this defines the list
60840
+ of instances that serve traffic. Member virtual machine
60841
+ instances from each instance group must live in the same zone as
60842
+ the instance group itself. No two backends in a backend service
60843
+ are allowed to use same Instance Group resource.
60844
+
60845
+ For Network Endpoint Groups this defines list of endpoints. All
60846
+ endpoints of Network Endpoint Group must be hosted on instances
60847
+ located in the same zone as the Network Endpoint Group.
60848
+
60849
+ Backend services cannot mix Instance Group and
60850
+ Network Endpoint Group backends.
60851
+
60852
+ When the 'load_balancing_scheme' is INTERNAL, only instance groups
60853
+ are supported.
60854
+
60855
+ Note that you must specify an Instance Group or Network Endpoint
60856
+ Group resource using the fully-qualified URL, rather than a
60857
+ partial URL.
60858
+ """
60859
+ return pulumi.get(self, "group")
60860
+
60861
+ @property
60862
+ @pulumi.getter(name="maxConnections")
60863
+ def max_connections(self) -> int:
60864
+ """
60865
+ The max number of simultaneous connections for the group. Can
60866
+ be used with either CONNECTION or UTILIZATION balancing modes.
60867
+ Cannot be set for INTERNAL backend services.
60868
+
60869
+ For CONNECTION mode, either maxConnections or one
60870
+ of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
60871
+ as appropriate for group type, must be set.
60872
+ """
60873
+ return pulumi.get(self, "max_connections")
60874
+
60875
+ @property
60876
+ @pulumi.getter(name="maxConnectionsPerEndpoint")
60877
+ def max_connections_per_endpoint(self) -> int:
60878
+ """
60879
+ The max number of simultaneous connections that a single backend
60880
+ network endpoint can handle. Cannot be set
60881
+ for INTERNAL backend services.
60882
+
60883
+ This is used to calculate the capacity of the group. Can be
60884
+ used in either CONNECTION or UTILIZATION balancing modes. For
60885
+ CONNECTION mode, either maxConnections or
60886
+ maxConnectionsPerEndpoint must be set.
60887
+ """
60888
+ return pulumi.get(self, "max_connections_per_endpoint")
60889
+
60890
+ @property
60891
+ @pulumi.getter(name="maxConnectionsPerInstance")
60892
+ def max_connections_per_instance(self) -> int:
60893
+ """
60894
+ The max number of simultaneous connections that a single
60895
+ backend instance can handle. Cannot be set for INTERNAL backend
60896
+ services.
60897
+
60898
+ This is used to calculate the capacity of the group.
60899
+ Can be used in either CONNECTION or UTILIZATION balancing modes.
60900
+ For CONNECTION mode, either maxConnections or
60901
+ maxConnectionsPerInstance must be set.
60902
+ """
60903
+ return pulumi.get(self, "max_connections_per_instance")
60904
+
60905
+ @property
60906
+ @pulumi.getter(name="maxRate")
60907
+ def max_rate(self) -> int:
60908
+ """
60909
+ The max requests per second (RPS) of the group. Cannot be set
60910
+ for INTERNAL backend services.
60911
+
60912
+ Can be used with either RATE or UTILIZATION balancing modes,
60913
+ but required if RATE mode. Either maxRate or one
60914
+ of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
60915
+ group type, must be set.
60916
+ """
60917
+ return pulumi.get(self, "max_rate")
60918
+
60919
+ @property
60920
+ @pulumi.getter(name="maxRatePerEndpoint")
60921
+ def max_rate_per_endpoint(self) -> float:
60922
+ """
60923
+ The max requests per second (RPS) that a single backend network
60924
+ endpoint can handle. This is used to calculate the capacity of
60925
+ the group. Can be used in either balancing mode. For RATE mode,
60926
+ either maxRate or maxRatePerEndpoint must be set. Cannot be set
60927
+ for INTERNAL backend services.
60928
+ """
60929
+ return pulumi.get(self, "max_rate_per_endpoint")
60930
+
60931
+ @property
60932
+ @pulumi.getter(name="maxRatePerInstance")
60933
+ def max_rate_per_instance(self) -> float:
60934
+ """
60935
+ The max requests per second (RPS) that a single backend
60936
+ instance can handle. This is used to calculate the capacity of
60937
+ the group. Can be used in either balancing mode. For RATE mode,
60938
+ either maxRate or maxRatePerInstance must be set. Cannot be set
60939
+ for INTERNAL backend services.
60940
+ """
60941
+ return pulumi.get(self, "max_rate_per_instance")
60942
+
60943
+ @property
60944
+ @pulumi.getter(name="maxUtilization")
60945
+ def max_utilization(self) -> float:
60946
+ """
60947
+ Used when balancingMode is UTILIZATION. This ratio defines the
60948
+ CPU utilization target for the group. Valid range is [0.0, 1.0].
60949
+ Cannot be set for INTERNAL backend services.
60950
+ """
60951
+ return pulumi.get(self, "max_utilization")
60952
+
60953
+
60954
+ @pulumi.output_type
60955
+ class GetRegionBackendServiceBackendCustomMetricResult(dict):
60956
+ def __init__(__self__, *,
60957
+ dry_run: bool,
60958
+ max_utilization: float,
60959
+ name: str):
60960
+ """
60961
+ :param bool dry_run: If true, the metric data is collected and reported to Cloud
60962
+ Monitoring, but is not used for load balancing.
60963
+ :param float max_utilization: Optional parameter to define a target utilization for the Custom Metrics
60964
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
60965
+ :param str name: The name of the regional backend service.
60966
+ """
60967
+ pulumi.set(__self__, "dry_run", dry_run)
60968
+ pulumi.set(__self__, "max_utilization", max_utilization)
60969
+ pulumi.set(__self__, "name", name)
60970
+
60971
+ @property
60972
+ @pulumi.getter(name="dryRun")
60973
+ def dry_run(self) -> bool:
60974
+ """
60975
+ If true, the metric data is collected and reported to Cloud
60976
+ Monitoring, but is not used for load balancing.
60977
+ """
60978
+ return pulumi.get(self, "dry_run")
60979
+
60980
+ @property
60981
+ @pulumi.getter(name="maxUtilization")
60982
+ def max_utilization(self) -> float:
60983
+ """
60984
+ Optional parameter to define a target utilization for the Custom Metrics
60985
+ balancing mode. The valid range is <code>[0.0, 1.0]</code>.
60986
+ """
60987
+ return pulumi.get(self, "max_utilization")
60988
+
60989
+ @property
60990
+ @pulumi.getter
60991
+ def name(self) -> str:
60992
+ """
60993
+ The name of the regional backend service.
60994
+ """
60995
+ return pulumi.get(self, "name")
60996
+
60997
+
60998
+ @pulumi.output_type
60999
+ class GetRegionBackendServiceCdnPolicyResult(dict):
61000
+ def __init__(__self__, *,
61001
+ cache_key_policies: Sequence['outputs.GetRegionBackendServiceCdnPolicyCacheKeyPolicyResult'],
61002
+ cache_mode: str,
61003
+ client_ttl: int,
61004
+ default_ttl: int,
61005
+ max_ttl: int,
61006
+ negative_caching: bool,
61007
+ negative_caching_policies: Sequence['outputs.GetRegionBackendServiceCdnPolicyNegativeCachingPolicyResult'],
61008
+ serve_while_stale: int,
61009
+ signed_url_cache_max_age_sec: int):
61010
+ """
61011
+ :param Sequence['GetRegionBackendServiceCdnPolicyCacheKeyPolicyArgs'] cache_key_policies: The CacheKeyPolicy for this CdnPolicy.
61012
+ :param str cache_mode: Specifies the cache setting for all responses from this backend.
61013
+ The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]
61014
+ :param int client_ttl: Specifies the maximum allowed TTL for cached content served by this origin.
61015
+ :param int default_ttl: Specifies the default TTL for cached content served by this origin for responses
61016
+ that do not have an existing valid TTL (max-age or s-max-age).
61017
+ :param int max_ttl: Specifies the maximum allowed TTL for cached content served by this origin.
61018
+ :param bool negative_caching: Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
61019
+ :param Sequence['GetRegionBackendServiceCdnPolicyNegativeCachingPolicyArgs'] negative_caching_policies: Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
61020
+ Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
61021
+ :param int serve_while_stale: Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
61022
+ :param int signed_url_cache_max_age_sec: Maximum number of seconds the response to a signed URL request
61023
+ will be considered fresh, defaults to 1hr (3600s). After this
61024
+ time period, the response will be revalidated before
61025
+ being served.
61026
+
61027
+ When serving responses to signed URL requests, Cloud CDN will
61028
+ internally behave as though all responses from this backend had a
61029
+ "Cache-Control: public, max-age=[TTL]" header, regardless of any
61030
+ existing Cache-Control header. The actual headers served in
61031
+ responses will not be altered.
61032
+ """
61033
+ pulumi.set(__self__, "cache_key_policies", cache_key_policies)
61034
+ pulumi.set(__self__, "cache_mode", cache_mode)
61035
+ pulumi.set(__self__, "client_ttl", client_ttl)
61036
+ pulumi.set(__self__, "default_ttl", default_ttl)
61037
+ pulumi.set(__self__, "max_ttl", max_ttl)
61038
+ pulumi.set(__self__, "negative_caching", negative_caching)
61039
+ pulumi.set(__self__, "negative_caching_policies", negative_caching_policies)
61040
+ pulumi.set(__self__, "serve_while_stale", serve_while_stale)
61041
+ pulumi.set(__self__, "signed_url_cache_max_age_sec", signed_url_cache_max_age_sec)
61042
+
61043
+ @property
61044
+ @pulumi.getter(name="cacheKeyPolicies")
61045
+ def cache_key_policies(self) -> Sequence['outputs.GetRegionBackendServiceCdnPolicyCacheKeyPolicyResult']:
61046
+ """
61047
+ The CacheKeyPolicy for this CdnPolicy.
61048
+ """
61049
+ return pulumi.get(self, "cache_key_policies")
61050
+
61051
+ @property
61052
+ @pulumi.getter(name="cacheMode")
61053
+ def cache_mode(self) -> str:
61054
+ """
61055
+ Specifies the cache setting for all responses from this backend.
61056
+ The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]
61057
+ """
61058
+ return pulumi.get(self, "cache_mode")
61059
+
61060
+ @property
61061
+ @pulumi.getter(name="clientTtl")
61062
+ def client_ttl(self) -> int:
61063
+ """
61064
+ Specifies the maximum allowed TTL for cached content served by this origin.
61065
+ """
61066
+ return pulumi.get(self, "client_ttl")
61067
+
61068
+ @property
61069
+ @pulumi.getter(name="defaultTtl")
61070
+ def default_ttl(self) -> int:
61071
+ """
61072
+ Specifies the default TTL for cached content served by this origin for responses
61073
+ that do not have an existing valid TTL (max-age or s-max-age).
61074
+ """
61075
+ return pulumi.get(self, "default_ttl")
61076
+
61077
+ @property
61078
+ @pulumi.getter(name="maxTtl")
61079
+ def max_ttl(self) -> int:
61080
+ """
61081
+ Specifies the maximum allowed TTL for cached content served by this origin.
61082
+ """
61083
+ return pulumi.get(self, "max_ttl")
61084
+
61085
+ @property
61086
+ @pulumi.getter(name="negativeCaching")
61087
+ def negative_caching(self) -> bool:
61088
+ """
61089
+ Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
61090
+ """
61091
+ return pulumi.get(self, "negative_caching")
61092
+
61093
+ @property
61094
+ @pulumi.getter(name="negativeCachingPolicies")
61095
+ def negative_caching_policies(self) -> Sequence['outputs.GetRegionBackendServiceCdnPolicyNegativeCachingPolicyResult']:
61096
+ """
61097
+ Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
61098
+ Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs.
61099
+ """
61100
+ return pulumi.get(self, "negative_caching_policies")
61101
+
61102
+ @property
61103
+ @pulumi.getter(name="serveWhileStale")
61104
+ def serve_while_stale(self) -> int:
61105
+ """
61106
+ Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
61107
+ """
61108
+ return pulumi.get(self, "serve_while_stale")
61109
+
61110
+ @property
61111
+ @pulumi.getter(name="signedUrlCacheMaxAgeSec")
61112
+ def signed_url_cache_max_age_sec(self) -> int:
61113
+ """
61114
+ Maximum number of seconds the response to a signed URL request
61115
+ will be considered fresh, defaults to 1hr (3600s). After this
61116
+ time period, the response will be revalidated before
61117
+ being served.
61118
+
61119
+ When serving responses to signed URL requests, Cloud CDN will
61120
+ internally behave as though all responses from this backend had a
61121
+ "Cache-Control: public, max-age=[TTL]" header, regardless of any
61122
+ existing Cache-Control header. The actual headers served in
61123
+ responses will not be altered.
61124
+ """
61125
+ return pulumi.get(self, "signed_url_cache_max_age_sec")
61126
+
61127
+
61128
+ @pulumi.output_type
61129
+ class GetRegionBackendServiceCdnPolicyCacheKeyPolicyResult(dict):
61130
+ def __init__(__self__, *,
61131
+ include_host: bool,
61132
+ include_named_cookies: Sequence[str],
61133
+ include_protocol: bool,
61134
+ include_query_string: bool,
61135
+ query_string_blacklists: Sequence[str],
61136
+ query_string_whitelists: Sequence[str]):
61137
+ """
61138
+ :param bool include_host: If true requests to different hosts will be cached separately.
61139
+ :param Sequence[str] include_named_cookies: Names of cookies to include in cache keys.
61140
+ :param bool include_protocol: If true, http and https requests will be cached separately.
61141
+ :param bool include_query_string: If true, include query string parameters in the cache key
61142
+ according to query_string_whitelist and
61143
+ query_string_blacklist. If neither is set, the entire query
61144
+ string will be included.
61145
+
61146
+ If false, the query string will be excluded from the cache
61147
+ key entirely.
61148
+ :param Sequence[str] query_string_blacklists: Names of query string parameters to exclude in cache keys.
61149
+
61150
+ All other parameters will be included. Either specify
61151
+ query_string_whitelist or query_string_blacklist, not both.
61152
+ '&' and '=' will be percent encoded and not treated as
61153
+ delimiters.
61154
+ :param Sequence[str] query_string_whitelists: Names of query string parameters to include in cache keys.
61155
+
61156
+ All other parameters will be excluded. Either specify
61157
+ query_string_whitelist or query_string_blacklist, not both.
61158
+ '&' and '=' will be percent encoded and not treated as
61159
+ delimiters.
61160
+ """
61161
+ pulumi.set(__self__, "include_host", include_host)
61162
+ pulumi.set(__self__, "include_named_cookies", include_named_cookies)
61163
+ pulumi.set(__self__, "include_protocol", include_protocol)
61164
+ pulumi.set(__self__, "include_query_string", include_query_string)
61165
+ pulumi.set(__self__, "query_string_blacklists", query_string_blacklists)
61166
+ pulumi.set(__self__, "query_string_whitelists", query_string_whitelists)
61167
+
61168
+ @property
61169
+ @pulumi.getter(name="includeHost")
61170
+ def include_host(self) -> bool:
61171
+ """
61172
+ If true requests to different hosts will be cached separately.
61173
+ """
61174
+ return pulumi.get(self, "include_host")
61175
+
61176
+ @property
61177
+ @pulumi.getter(name="includeNamedCookies")
61178
+ def include_named_cookies(self) -> Sequence[str]:
61179
+ """
61180
+ Names of cookies to include in cache keys.
61181
+ """
61182
+ return pulumi.get(self, "include_named_cookies")
61183
+
61184
+ @property
61185
+ @pulumi.getter(name="includeProtocol")
61186
+ def include_protocol(self) -> bool:
61187
+ """
61188
+ If true, http and https requests will be cached separately.
61189
+ """
61190
+ return pulumi.get(self, "include_protocol")
61191
+
61192
+ @property
61193
+ @pulumi.getter(name="includeQueryString")
61194
+ def include_query_string(self) -> bool:
61195
+ """
61196
+ If true, include query string parameters in the cache key
61197
+ according to query_string_whitelist and
61198
+ query_string_blacklist. If neither is set, the entire query
61199
+ string will be included.
61200
+
61201
+ If false, the query string will be excluded from the cache
61202
+ key entirely.
61203
+ """
61204
+ return pulumi.get(self, "include_query_string")
61205
+
61206
+ @property
61207
+ @pulumi.getter(name="queryStringBlacklists")
61208
+ def query_string_blacklists(self) -> Sequence[str]:
61209
+ """
61210
+ Names of query string parameters to exclude in cache keys.
61211
+
61212
+ All other parameters will be included. Either specify
61213
+ query_string_whitelist or query_string_blacklist, not both.
61214
+ '&' and '=' will be percent encoded and not treated as
61215
+ delimiters.
61216
+ """
61217
+ return pulumi.get(self, "query_string_blacklists")
61218
+
61219
+ @property
61220
+ @pulumi.getter(name="queryStringWhitelists")
61221
+ def query_string_whitelists(self) -> Sequence[str]:
61222
+ """
61223
+ Names of query string parameters to include in cache keys.
61224
+
61225
+ All other parameters will be excluded. Either specify
61226
+ query_string_whitelist or query_string_blacklist, not both.
61227
+ '&' and '=' will be percent encoded and not treated as
61228
+ delimiters.
61229
+ """
61230
+ return pulumi.get(self, "query_string_whitelists")
61231
+
61232
+
61233
+ @pulumi.output_type
61234
+ class GetRegionBackendServiceCdnPolicyNegativeCachingPolicyResult(dict):
61235
+ def __init__(__self__, *,
61236
+ code: int,
61237
+ ttl: int):
61238
+ """
61239
+ :param int code: The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
61240
+ can be specified as values, and you cannot specify a status code more than once.
61241
+ :param int ttl: The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
61242
+ (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
61243
+ """
61244
+ pulumi.set(__self__, "code", code)
61245
+ pulumi.set(__self__, "ttl", ttl)
61246
+
61247
+ @property
61248
+ @pulumi.getter
61249
+ def code(self) -> int:
61250
+ """
61251
+ The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
61252
+ can be specified as values, and you cannot specify a status code more than once.
61253
+ """
61254
+ return pulumi.get(self, "code")
61255
+
61256
+ @property
61257
+ @pulumi.getter
61258
+ def ttl(self) -> int:
61259
+ """
61260
+ The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s
61261
+ (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
61262
+ """
61263
+ return pulumi.get(self, "ttl")
61264
+
61265
+
61266
+ @pulumi.output_type
61267
+ class GetRegionBackendServiceCircuitBreakerResult(dict):
61268
+ def __init__(__self__, *,
61269
+ connect_timeouts: Sequence['outputs.GetRegionBackendServiceCircuitBreakerConnectTimeoutResult'],
61270
+ max_connections: int,
61271
+ max_pending_requests: int,
61272
+ max_requests: int,
61273
+ max_requests_per_connection: int,
61274
+ max_retries: int):
61275
+ """
61276
+ :param Sequence['GetRegionBackendServiceCircuitBreakerConnectTimeoutArgs'] connect_timeouts: The timeout for new network connections to hosts.
61277
+ :param int max_connections: The maximum number of connections to the backend cluster.
61278
+ Defaults to 1024.
61279
+ :param int max_pending_requests: The maximum number of pending requests to the backend cluster.
61280
+ Defaults to 1024.
61281
+ :param int max_requests: The maximum number of parallel requests to the backend cluster.
61282
+ Defaults to 1024.
61283
+ :param int max_requests_per_connection: Maximum requests for a single backend connection. This parameter
61284
+ is respected by both the HTTP/1.1 and HTTP/2 implementations. If
61285
+ not specified, there is no limit. Setting this parameter to 1
61286
+ will effectively disable keep alive.
61287
+ :param int max_retries: The maximum number of parallel retries to the backend cluster.
61288
+ Defaults to 3.
61289
+ """
61290
+ pulumi.set(__self__, "connect_timeouts", connect_timeouts)
61291
+ pulumi.set(__self__, "max_connections", max_connections)
61292
+ pulumi.set(__self__, "max_pending_requests", max_pending_requests)
61293
+ pulumi.set(__self__, "max_requests", max_requests)
61294
+ pulumi.set(__self__, "max_requests_per_connection", max_requests_per_connection)
61295
+ pulumi.set(__self__, "max_retries", max_retries)
61296
+
61297
+ @property
61298
+ @pulumi.getter(name="connectTimeouts")
61299
+ def connect_timeouts(self) -> Sequence['outputs.GetRegionBackendServiceCircuitBreakerConnectTimeoutResult']:
61300
+ """
61301
+ The timeout for new network connections to hosts.
61302
+ """
61303
+ return pulumi.get(self, "connect_timeouts")
61304
+
61305
+ @property
61306
+ @pulumi.getter(name="maxConnections")
61307
+ def max_connections(self) -> int:
61308
+ """
61309
+ The maximum number of connections to the backend cluster.
61310
+ Defaults to 1024.
61311
+ """
61312
+ return pulumi.get(self, "max_connections")
61313
+
61314
+ @property
61315
+ @pulumi.getter(name="maxPendingRequests")
61316
+ def max_pending_requests(self) -> int:
61317
+ """
61318
+ The maximum number of pending requests to the backend cluster.
61319
+ Defaults to 1024.
61320
+ """
61321
+ return pulumi.get(self, "max_pending_requests")
61322
+
61323
+ @property
61324
+ @pulumi.getter(name="maxRequests")
61325
+ def max_requests(self) -> int:
61326
+ """
61327
+ The maximum number of parallel requests to the backend cluster.
61328
+ Defaults to 1024.
61329
+ """
61330
+ return pulumi.get(self, "max_requests")
61331
+
61332
+ @property
61333
+ @pulumi.getter(name="maxRequestsPerConnection")
61334
+ def max_requests_per_connection(self) -> int:
61335
+ """
61336
+ Maximum requests for a single backend connection. This parameter
61337
+ is respected by both the HTTP/1.1 and HTTP/2 implementations. If
61338
+ not specified, there is no limit. Setting this parameter to 1
61339
+ will effectively disable keep alive.
61340
+ """
61341
+ return pulumi.get(self, "max_requests_per_connection")
61342
+
61343
+ @property
61344
+ @pulumi.getter(name="maxRetries")
61345
+ def max_retries(self) -> int:
61346
+ """
61347
+ The maximum number of parallel retries to the backend cluster.
61348
+ Defaults to 3.
61349
+ """
61350
+ return pulumi.get(self, "max_retries")
61351
+
61352
+
61353
+ @pulumi.output_type
61354
+ class GetRegionBackendServiceCircuitBreakerConnectTimeoutResult(dict):
61355
+ def __init__(__self__, *,
61356
+ nanos: int,
61357
+ seconds: int):
61358
+ """
61359
+ :param int nanos: Span of time that's a fraction of a second at nanosecond
61360
+ resolution. Durations less than one second are represented
61361
+ with a 0 seconds field and a positive nanos field. Must
61362
+ be from 0 to 999,999,999 inclusive.
61363
+ :param int seconds: Span of time at a resolution of a second.
61364
+ Must be from 0 to 315,576,000,000 inclusive.
61365
+ """
61366
+ pulumi.set(__self__, "nanos", nanos)
61367
+ pulumi.set(__self__, "seconds", seconds)
61368
+
61369
+ @property
61370
+ @pulumi.getter
61371
+ def nanos(self) -> int:
61372
+ """
61373
+ Span of time that's a fraction of a second at nanosecond
61374
+ resolution. Durations less than one second are represented
61375
+ with a 0 seconds field and a positive nanos field. Must
61376
+ be from 0 to 999,999,999 inclusive.
61377
+ """
61378
+ return pulumi.get(self, "nanos")
61379
+
61380
+ @property
61381
+ @pulumi.getter
61382
+ def seconds(self) -> int:
61383
+ """
61384
+ Span of time at a resolution of a second.
61385
+ Must be from 0 to 315,576,000,000 inclusive.
61386
+ """
61387
+ return pulumi.get(self, "seconds")
61388
+
61389
+
61390
+ @pulumi.output_type
61391
+ class GetRegionBackendServiceConnectionTrackingPolicyResult(dict):
61392
+ def __init__(__self__, *,
61393
+ connection_persistence_on_unhealthy_backends: str,
61394
+ enable_strong_affinity: bool,
61395
+ idle_timeout_sec: int,
61396
+ tracking_mode: str):
61397
+ """
61398
+ :param str connection_persistence_on_unhealthy_backends: Specifies connection persistence when backends are unhealthy.
61399
+
61400
+ If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on
61401
+ unhealthy backends only for connection-oriented protocols (TCP and SCTP)
61402
+ and only if the Tracking Mode is PER_CONNECTION (default tracking mode)
61403
+ or the Session Affinity is configured for 5-tuple. They do not persist
61404
+ for UDP.
61405
+
61406
+ If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing
61407
+ connections on the unhealthy backend are never persisted on the unhealthy
61408
+ backend. They are always diverted to newly selected healthy backends
61409
+ (unless all backends are unhealthy).
61410
+
61411
+ If set to 'ALWAYS_PERSIST', existing connections always persist on
61412
+ unhealthy backends regardless of protocol and session affinity. It is
61413
+ generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"]
61414
+ :param bool enable_strong_affinity: Enable Strong Session Affinity for Network Load Balancing. This option is not available publicly.
61415
+ :param int idle_timeout_sec: Specifies how long to keep a Connection Tracking entry while there is
61416
+ no matching traffic (in seconds).
61417
+
61418
+ For L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.
61419
+
61420
+ For NLB the minimum(default) is 60 seconds and the maximum is 16 hours.
61421
+ :param str tracking_mode: Specifies the key used for connection tracking. There are two options:
61422
+ 'PER_CONNECTION': The Connection Tracking is performed as per the
61423
+ Connection Key (default Hash Method) for the specific protocol.
61424
+
61425
+ 'PER_SESSION': The Connection Tracking is performed as per the
61426
+ configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"]
61427
+ """
61428
+ pulumi.set(__self__, "connection_persistence_on_unhealthy_backends", connection_persistence_on_unhealthy_backends)
61429
+ pulumi.set(__self__, "enable_strong_affinity", enable_strong_affinity)
61430
+ pulumi.set(__self__, "idle_timeout_sec", idle_timeout_sec)
61431
+ pulumi.set(__self__, "tracking_mode", tracking_mode)
61432
+
61433
+ @property
61434
+ @pulumi.getter(name="connectionPersistenceOnUnhealthyBackends")
61435
+ def connection_persistence_on_unhealthy_backends(self) -> str:
61436
+ """
61437
+ Specifies connection persistence when backends are unhealthy.
61438
+
61439
+ If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on
61440
+ unhealthy backends only for connection-oriented protocols (TCP and SCTP)
61441
+ and only if the Tracking Mode is PER_CONNECTION (default tracking mode)
61442
+ or the Session Affinity is configured for 5-tuple. They do not persist
61443
+ for UDP.
61444
+
61445
+ If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing
61446
+ connections on the unhealthy backend are never persisted on the unhealthy
61447
+ backend. They are always diverted to newly selected healthy backends
61448
+ (unless all backends are unhealthy).
61449
+
61450
+ If set to 'ALWAYS_PERSIST', existing connections always persist on
61451
+ unhealthy backends regardless of protocol and session affinity. It is
61452
+ generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"]
61453
+ """
61454
+ return pulumi.get(self, "connection_persistence_on_unhealthy_backends")
61455
+
61456
+ @property
61457
+ @pulumi.getter(name="enableStrongAffinity")
61458
+ def enable_strong_affinity(self) -> bool:
61459
+ """
61460
+ Enable Strong Session Affinity for Network Load Balancing. This option is not available publicly.
61461
+ """
61462
+ return pulumi.get(self, "enable_strong_affinity")
61463
+
61464
+ @property
61465
+ @pulumi.getter(name="idleTimeoutSec")
61466
+ def idle_timeout_sec(self) -> int:
61467
+ """
61468
+ Specifies how long to keep a Connection Tracking entry while there is
61469
+ no matching traffic (in seconds).
61470
+
61471
+ For L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.
61472
+
61473
+ For NLB the minimum(default) is 60 seconds and the maximum is 16 hours.
61474
+ """
61475
+ return pulumi.get(self, "idle_timeout_sec")
61476
+
61477
+ @property
61478
+ @pulumi.getter(name="trackingMode")
61479
+ def tracking_mode(self) -> str:
61480
+ """
61481
+ Specifies the key used for connection tracking. There are two options:
61482
+ 'PER_CONNECTION': The Connection Tracking is performed as per the
61483
+ Connection Key (default Hash Method) for the specific protocol.
61484
+
61485
+ 'PER_SESSION': The Connection Tracking is performed as per the
61486
+ configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"]
61487
+ """
61488
+ return pulumi.get(self, "tracking_mode")
61489
+
61490
+
61491
+ @pulumi.output_type
61492
+ class GetRegionBackendServiceConsistentHashResult(dict):
61493
+ def __init__(__self__, *,
61494
+ http_cookies: Sequence['outputs.GetRegionBackendServiceConsistentHashHttpCookyResult'],
61495
+ http_header_name: str,
61496
+ minimum_ring_size: int):
61497
+ """
61498
+ :param Sequence['GetRegionBackendServiceConsistentHashHttpCookyArgs'] http_cookies: Hash is based on HTTP Cookie. This field describes a HTTP cookie
61499
+ that will be used as the hash key for the consistent hash load
61500
+ balancer. If the cookie is not present, it will be generated.
61501
+ This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
61502
+ :param str http_header_name: The hash based on the value of the specified header field.
61503
+ This field is applicable if the sessionAffinity is set to HEADER_FIELD.
61504
+ :param int minimum_ring_size: The minimum number of virtual nodes to use for the hash ring.
61505
+ Larger ring sizes result in more granular load
61506
+ distributions. If the number of hosts in the load balancing pool
61507
+ is larger than the ring size, each host will be assigned a single
61508
+ virtual node.
61509
+ Defaults to 1024.
61510
+ """
61511
+ pulumi.set(__self__, "http_cookies", http_cookies)
61512
+ pulumi.set(__self__, "http_header_name", http_header_name)
61513
+ pulumi.set(__self__, "minimum_ring_size", minimum_ring_size)
61514
+
61515
+ @property
61516
+ @pulumi.getter(name="httpCookies")
61517
+ def http_cookies(self) -> Sequence['outputs.GetRegionBackendServiceConsistentHashHttpCookyResult']:
61518
+ """
61519
+ Hash is based on HTTP Cookie. This field describes a HTTP cookie
61520
+ that will be used as the hash key for the consistent hash load
61521
+ balancer. If the cookie is not present, it will be generated.
61522
+ This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
61523
+ """
61524
+ return pulumi.get(self, "http_cookies")
61525
+
61526
+ @property
61527
+ @pulumi.getter(name="httpHeaderName")
61528
+ def http_header_name(self) -> str:
61529
+ """
61530
+ The hash based on the value of the specified header field.
61531
+ This field is applicable if the sessionAffinity is set to HEADER_FIELD.
61532
+ """
61533
+ return pulumi.get(self, "http_header_name")
61534
+
61535
+ @property
61536
+ @pulumi.getter(name="minimumRingSize")
61537
+ def minimum_ring_size(self) -> int:
61538
+ """
61539
+ The minimum number of virtual nodes to use for the hash ring.
61540
+ Larger ring sizes result in more granular load
61541
+ distributions. If the number of hosts in the load balancing pool
61542
+ is larger than the ring size, each host will be assigned a single
61543
+ virtual node.
61544
+ Defaults to 1024.
61545
+ """
61546
+ return pulumi.get(self, "minimum_ring_size")
61547
+
61548
+
61549
+ @pulumi.output_type
61550
+ class GetRegionBackendServiceConsistentHashHttpCookyResult(dict):
61551
+ def __init__(__self__, *,
61552
+ name: str,
61553
+ path: str,
61554
+ ttls: Sequence['outputs.GetRegionBackendServiceConsistentHashHttpCookyTtlResult']):
61555
+ """
61556
+ :param str name: The name of the regional backend service.
61557
+ :param str path: Path to set for the cookie.
61558
+ :param Sequence['GetRegionBackendServiceConsistentHashHttpCookyTtlArgs'] ttls: Lifetime of the cookie.
61559
+ """
61560
+ pulumi.set(__self__, "name", name)
61561
+ pulumi.set(__self__, "path", path)
61562
+ pulumi.set(__self__, "ttls", ttls)
61563
+
61564
+ @property
61565
+ @pulumi.getter
61566
+ def name(self) -> str:
61567
+ """
61568
+ The name of the regional backend service.
61569
+ """
61570
+ return pulumi.get(self, "name")
61571
+
61572
+ @property
61573
+ @pulumi.getter
61574
+ def path(self) -> str:
61575
+ """
61576
+ Path to set for the cookie.
61577
+ """
61578
+ return pulumi.get(self, "path")
61579
+
61580
+ @property
61581
+ @pulumi.getter
61582
+ def ttls(self) -> Sequence['outputs.GetRegionBackendServiceConsistentHashHttpCookyTtlResult']:
61583
+ """
61584
+ Lifetime of the cookie.
61585
+ """
61586
+ return pulumi.get(self, "ttls")
61587
+
61588
+
61589
+ @pulumi.output_type
61590
+ class GetRegionBackendServiceConsistentHashHttpCookyTtlResult(dict):
61591
+ def __init__(__self__, *,
61592
+ nanos: int,
61593
+ seconds: int):
61594
+ """
61595
+ :param int nanos: Span of time that's a fraction of a second at nanosecond
61596
+ resolution. Durations less than one second are represented
61597
+ with a 0 seconds field and a positive nanos field. Must
61598
+ be from 0 to 999,999,999 inclusive.
61599
+ :param int seconds: Span of time at a resolution of a second.
61600
+ Must be from 0 to 315,576,000,000 inclusive.
61601
+ """
61602
+ pulumi.set(__self__, "nanos", nanos)
61603
+ pulumi.set(__self__, "seconds", seconds)
61604
+
61605
+ @property
61606
+ @pulumi.getter
61607
+ def nanos(self) -> int:
61608
+ """
61609
+ Span of time that's a fraction of a second at nanosecond
61610
+ resolution. Durations less than one second are represented
61611
+ with a 0 seconds field and a positive nanos field. Must
61612
+ be from 0 to 999,999,999 inclusive.
61613
+ """
61614
+ return pulumi.get(self, "nanos")
61615
+
61616
+ @property
61617
+ @pulumi.getter
61618
+ def seconds(self) -> int:
61619
+ """
61620
+ Span of time at a resolution of a second.
61621
+ Must be from 0 to 315,576,000,000 inclusive.
61622
+ """
61623
+ return pulumi.get(self, "seconds")
61624
+
61625
+
61626
+ @pulumi.output_type
61627
+ class GetRegionBackendServiceCustomMetricResult(dict):
61628
+ def __init__(__self__, *,
61629
+ dry_run: bool,
61630
+ name: str):
61631
+ """
61632
+ :param bool dry_run: If true, the metric data is not used for load balancing.
61633
+ :param str name: The name of the regional backend service.
61634
+ """
61635
+ pulumi.set(__self__, "dry_run", dry_run)
61636
+ pulumi.set(__self__, "name", name)
61637
+
61638
+ @property
61639
+ @pulumi.getter(name="dryRun")
61640
+ def dry_run(self) -> bool:
61641
+ """
61642
+ If true, the metric data is not used for load balancing.
61643
+ """
61644
+ return pulumi.get(self, "dry_run")
61645
+
61646
+ @property
61647
+ @pulumi.getter
61648
+ def name(self) -> str:
61649
+ """
61650
+ The name of the regional backend service.
61651
+ """
61652
+ return pulumi.get(self, "name")
61653
+
61654
+
61655
+ @pulumi.output_type
61656
+ class GetRegionBackendServiceFailoverPolicyResult(dict):
61657
+ def __init__(__self__, *,
61658
+ disable_connection_drain_on_failover: bool,
61659
+ drop_traffic_if_unhealthy: bool,
61660
+ failover_ratio: float):
61661
+ """
61662
+ :param bool disable_connection_drain_on_failover: On failover or failback, this field indicates whether connection drain
61663
+ will be honored. Setting this to true has the following effect: connections
61664
+ to the old active pool are not drained. Connections to the new active pool
61665
+ use the timeout of 10 min (currently fixed). Setting to false has the
61666
+ following effect: both old and new connections will have a drain timeout
61667
+ of 10 min.
61668
+ This can be set to true only if the protocol is TCP.
61669
+ The default is false.
61670
+ :param bool drop_traffic_if_unhealthy: This option is used only when no healthy VMs are detected in the primary
61671
+ and backup instance groups. When set to true, traffic is dropped. When
61672
+ set to false, new connections are sent across all VMs in the primary group.
61673
+ The default is false.
61674
+ :param float failover_ratio: The value of the field must be in [0, 1]. If the ratio of the healthy
61675
+ VMs in the primary backend is at or below this number, traffic arriving
61676
+ at the load-balanced IP will be directed to the failover backend.
61677
+ In case where 'failoverRatio' is not set or all the VMs in the backup
61678
+ backend are unhealthy, the traffic will be directed back to the primary
61679
+ backend in the "force" mode, where traffic will be spread to the healthy
61680
+ VMs with the best effort, or to all VMs when no VM is healthy.
61681
+ This field is only used with l4 load balancing.
61682
+ """
61683
+ pulumi.set(__self__, "disable_connection_drain_on_failover", disable_connection_drain_on_failover)
61684
+ pulumi.set(__self__, "drop_traffic_if_unhealthy", drop_traffic_if_unhealthy)
61685
+ pulumi.set(__self__, "failover_ratio", failover_ratio)
61686
+
61687
+ @property
61688
+ @pulumi.getter(name="disableConnectionDrainOnFailover")
61689
+ def disable_connection_drain_on_failover(self) -> bool:
61690
+ """
61691
+ On failover or failback, this field indicates whether connection drain
61692
+ will be honored. Setting this to true has the following effect: connections
61693
+ to the old active pool are not drained. Connections to the new active pool
61694
+ use the timeout of 10 min (currently fixed). Setting to false has the
61695
+ following effect: both old and new connections will have a drain timeout
61696
+ of 10 min.
61697
+ This can be set to true only if the protocol is TCP.
61698
+ The default is false.
61699
+ """
61700
+ return pulumi.get(self, "disable_connection_drain_on_failover")
61701
+
61702
+ @property
61703
+ @pulumi.getter(name="dropTrafficIfUnhealthy")
61704
+ def drop_traffic_if_unhealthy(self) -> bool:
61705
+ """
61706
+ This option is used only when no healthy VMs are detected in the primary
61707
+ and backup instance groups. When set to true, traffic is dropped. When
61708
+ set to false, new connections are sent across all VMs in the primary group.
61709
+ The default is false.
61710
+ """
61711
+ return pulumi.get(self, "drop_traffic_if_unhealthy")
61712
+
61713
+ @property
61714
+ @pulumi.getter(name="failoverRatio")
61715
+ def failover_ratio(self) -> float:
61716
+ """
61717
+ The value of the field must be in [0, 1]. If the ratio of the healthy
61718
+ VMs in the primary backend is at or below this number, traffic arriving
61719
+ at the load-balanced IP will be directed to the failover backend.
61720
+ In case where 'failoverRatio' is not set or all the VMs in the backup
61721
+ backend are unhealthy, the traffic will be directed back to the primary
61722
+ backend in the "force" mode, where traffic will be spread to the healthy
61723
+ VMs with the best effort, or to all VMs when no VM is healthy.
61724
+ This field is only used with l4 load balancing.
61725
+ """
61726
+ return pulumi.get(self, "failover_ratio")
61727
+
61728
+
61729
+ @pulumi.output_type
61730
+ class GetRegionBackendServiceIapResult(dict):
61731
+ def __init__(__self__, *,
61732
+ enabled: bool,
61733
+ oauth2_client_id: str,
61734
+ oauth2_client_secret: str,
61735
+ oauth2_client_secret_sha256: str):
61736
+ """
61737
+ :param bool enabled: Whether the serving infrastructure will authenticate and authorize all incoming requests.
61738
+ :param str oauth2_client_id: OAuth2 Client ID for IAP
61739
+ :param str oauth2_client_secret: OAuth2 Client Secret for IAP
61740
+ :param str oauth2_client_secret_sha256: OAuth2 Client Secret SHA-256 for IAP
61741
+ """
61742
+ pulumi.set(__self__, "enabled", enabled)
61743
+ pulumi.set(__self__, "oauth2_client_id", oauth2_client_id)
61744
+ pulumi.set(__self__, "oauth2_client_secret", oauth2_client_secret)
61745
+ pulumi.set(__self__, "oauth2_client_secret_sha256", oauth2_client_secret_sha256)
61746
+
61747
+ @property
61748
+ @pulumi.getter
61749
+ def enabled(self) -> bool:
61750
+ """
61751
+ Whether the serving infrastructure will authenticate and authorize all incoming requests.
61752
+ """
61753
+ return pulumi.get(self, "enabled")
61754
+
61755
+ @property
61756
+ @pulumi.getter(name="oauth2ClientId")
61757
+ def oauth2_client_id(self) -> str:
61758
+ """
61759
+ OAuth2 Client ID for IAP
61760
+ """
61761
+ return pulumi.get(self, "oauth2_client_id")
61762
+
61763
+ @property
61764
+ @pulumi.getter(name="oauth2ClientSecret")
61765
+ def oauth2_client_secret(self) -> str:
61766
+ """
61767
+ OAuth2 Client Secret for IAP
61768
+ """
61769
+ return pulumi.get(self, "oauth2_client_secret")
61770
+
61771
+ @property
61772
+ @pulumi.getter(name="oauth2ClientSecretSha256")
61773
+ def oauth2_client_secret_sha256(self) -> str:
61774
+ """
61775
+ OAuth2 Client Secret SHA-256 for IAP
61776
+ """
61777
+ return pulumi.get(self, "oauth2_client_secret_sha256")
61778
+
61779
+
61780
+ @pulumi.output_type
61781
+ class GetRegionBackendServiceLogConfigResult(dict):
61782
+ def __init__(__self__, *,
61783
+ enable: bool,
61784
+ optional_fields: Sequence[str],
61785
+ optional_mode: str,
61786
+ sample_rate: float):
61787
+ """
61788
+ :param bool enable: Whether to enable logging for the load balancer traffic served by this backend service.
61789
+ :param Sequence[str] optional_fields: Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
61790
+ :param str optional_mode: Specifies the optional logging mode for the load balancer traffic.
61791
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM. Possible values: ["INCLUDE_ALL_OPTIONAL", "EXCLUDE_ALL_OPTIONAL", "CUSTOM"]
61792
+ :param float sample_rate: This field can only be specified if logging is enabled for this backend service. The value of
61793
+ the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
61794
+ where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
61795
+ The default value is 1.0.
61796
+ """
61797
+ pulumi.set(__self__, "enable", enable)
61798
+ pulumi.set(__self__, "optional_fields", optional_fields)
61799
+ pulumi.set(__self__, "optional_mode", optional_mode)
61800
+ pulumi.set(__self__, "sample_rate", sample_rate)
61801
+
61802
+ @property
61803
+ @pulumi.getter
61804
+ def enable(self) -> bool:
61805
+ """
61806
+ Whether to enable logging for the load balancer traffic served by this backend service.
61807
+ """
61808
+ return pulumi.get(self, "enable")
61809
+
61810
+ @property
61811
+ @pulumi.getter(name="optionalFields")
61812
+ def optional_fields(self) -> Sequence[str]:
61813
+ """
61814
+ Specifies the fields to include in logging. This field can only be specified if logging is enabled for this backend service.
61815
+ """
61816
+ return pulumi.get(self, "optional_fields")
61817
+
61818
+ @property
61819
+ @pulumi.getter(name="optionalMode")
61820
+ def optional_mode(self) -> str:
61821
+ """
61822
+ Specifies the optional logging mode for the load balancer traffic.
61823
+ Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM. Possible values: ["INCLUDE_ALL_OPTIONAL", "EXCLUDE_ALL_OPTIONAL", "CUSTOM"]
61824
+ """
61825
+ return pulumi.get(self, "optional_mode")
61826
+
61827
+ @property
61828
+ @pulumi.getter(name="sampleRate")
61829
+ def sample_rate(self) -> float:
61830
+ """
61831
+ This field can only be specified if logging is enabled for this backend service. The value of
61832
+ the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
61833
+ where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
61834
+ The default value is 1.0.
61835
+ """
61836
+ return pulumi.get(self, "sample_rate")
61837
+
61838
+
61839
+ @pulumi.output_type
61840
+ class GetRegionBackendServiceOutlierDetectionResult(dict):
61841
+ def __init__(__self__, *,
61842
+ base_ejection_times: Sequence['outputs.GetRegionBackendServiceOutlierDetectionBaseEjectionTimeResult'],
61843
+ consecutive_errors: int,
61844
+ consecutive_gateway_failure: int,
61845
+ enforcing_consecutive_errors: int,
61846
+ enforcing_consecutive_gateway_failure: int,
61847
+ enforcing_success_rate: int,
61848
+ intervals: Sequence['outputs.GetRegionBackendServiceOutlierDetectionIntervalResult'],
61849
+ max_ejection_percent: int,
61850
+ success_rate_minimum_hosts: int,
61851
+ success_rate_request_volume: int,
61852
+ success_rate_stdev_factor: int):
61853
+ """
61854
+ :param Sequence['GetRegionBackendServiceOutlierDetectionBaseEjectionTimeArgs'] base_ejection_times: The base time that a host is ejected for. The real time is equal to the base
61855
+ time multiplied by the number of times the host has been ejected. Defaults to
61856
+ 30000ms or 30s.
61857
+ :param int consecutive_errors: Number of errors before a host is ejected from the connection pool. When the
61858
+ backend host is accessed over HTTP, a 5xx return code qualifies as an error.
61859
+ Defaults to 5.
61860
+ :param int consecutive_gateway_failure: The number of consecutive gateway failures (502, 503, 504 status or connection
61861
+ errors that are mapped to one of those status codes) before a consecutive
61862
+ gateway failure ejection occurs. Defaults to 5.
61863
+ :param int enforcing_consecutive_errors: The percentage chance that a host will be actually ejected when an outlier
61864
+ status is detected through consecutive 5xx. This setting can be used to disable
61865
+ ejection or to ramp it up slowly. Defaults to 100.
61866
+ :param int enforcing_consecutive_gateway_failure: The percentage chance that a host will be actually ejected when an outlier
61867
+ status is detected through consecutive gateway failures. This setting can be
61868
+ used to disable ejection or to ramp it up slowly. Defaults to 0.
61869
+ :param int enforcing_success_rate: The percentage chance that a host will be actually ejected when an outlier
61870
+ status is detected through success rate statistics. This setting can be used to
61871
+ disable ejection or to ramp it up slowly. Defaults to 100.
61872
+ :param Sequence['GetRegionBackendServiceOutlierDetectionIntervalArgs'] intervals: Time interval between ejection sweep analysis. This can result in both new
61873
+ ejections as well as hosts being returned to service. Defaults to 10 seconds.
61874
+ :param int max_ejection_percent: Maximum percentage of hosts in the load balancing pool for the backend service
61875
+ that can be ejected. Defaults to 10%.
61876
+ :param int success_rate_minimum_hosts: The number of hosts in a cluster that must have enough request volume to detect
61877
+ success rate outliers. If the number of hosts is less than this setting, outlier
61878
+ detection via success rate statistics is not performed for any host in the
61879
+ cluster. Defaults to 5.
61880
+ :param int success_rate_request_volume: The minimum number of total requests that must be collected in one interval (as
61881
+ defined by the interval duration above) to include this host in success rate
61882
+ based outlier detection. If the volume is lower than this setting, outlier
61883
+ detection via success rate statistics is not performed for that host. Defaults
61884
+ to 100.
61885
+ :param int success_rate_stdev_factor: This factor is used to determine the ejection threshold for success rate outlier
61886
+ ejection. The ejection threshold is the difference between the mean success
61887
+ rate, and the product of this factor and the standard deviation of the mean
61888
+ success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
61889
+ by a thousand to get a double. That is, if the desired factor is 1.9, the
61890
+ runtime value should be 1900. Defaults to 1900.
61891
+ """
61892
+ pulumi.set(__self__, "base_ejection_times", base_ejection_times)
61893
+ pulumi.set(__self__, "consecutive_errors", consecutive_errors)
61894
+ pulumi.set(__self__, "consecutive_gateway_failure", consecutive_gateway_failure)
61895
+ pulumi.set(__self__, "enforcing_consecutive_errors", enforcing_consecutive_errors)
61896
+ pulumi.set(__self__, "enforcing_consecutive_gateway_failure", enforcing_consecutive_gateway_failure)
61897
+ pulumi.set(__self__, "enforcing_success_rate", enforcing_success_rate)
61898
+ pulumi.set(__self__, "intervals", intervals)
61899
+ pulumi.set(__self__, "max_ejection_percent", max_ejection_percent)
61900
+ pulumi.set(__self__, "success_rate_minimum_hosts", success_rate_minimum_hosts)
61901
+ pulumi.set(__self__, "success_rate_request_volume", success_rate_request_volume)
61902
+ pulumi.set(__self__, "success_rate_stdev_factor", success_rate_stdev_factor)
61903
+
61904
+ @property
61905
+ @pulumi.getter(name="baseEjectionTimes")
61906
+ def base_ejection_times(self) -> Sequence['outputs.GetRegionBackendServiceOutlierDetectionBaseEjectionTimeResult']:
61907
+ """
61908
+ The base time that a host is ejected for. The real time is equal to the base
61909
+ time multiplied by the number of times the host has been ejected. Defaults to
61910
+ 30000ms or 30s.
61911
+ """
61912
+ return pulumi.get(self, "base_ejection_times")
61913
+
61914
+ @property
61915
+ @pulumi.getter(name="consecutiveErrors")
61916
+ def consecutive_errors(self) -> int:
61917
+ """
61918
+ Number of errors before a host is ejected from the connection pool. When the
61919
+ backend host is accessed over HTTP, a 5xx return code qualifies as an error.
61920
+ Defaults to 5.
61921
+ """
61922
+ return pulumi.get(self, "consecutive_errors")
61923
+
61924
+ @property
61925
+ @pulumi.getter(name="consecutiveGatewayFailure")
61926
+ def consecutive_gateway_failure(self) -> int:
61927
+ """
61928
+ The number of consecutive gateway failures (502, 503, 504 status or connection
61929
+ errors that are mapped to one of those status codes) before a consecutive
61930
+ gateway failure ejection occurs. Defaults to 5.
61931
+ """
61932
+ return pulumi.get(self, "consecutive_gateway_failure")
61933
+
61934
+ @property
61935
+ @pulumi.getter(name="enforcingConsecutiveErrors")
61936
+ def enforcing_consecutive_errors(self) -> int:
61937
+ """
61938
+ The percentage chance that a host will be actually ejected when an outlier
61939
+ status is detected through consecutive 5xx. This setting can be used to disable
61940
+ ejection or to ramp it up slowly. Defaults to 100.
61941
+ """
61942
+ return pulumi.get(self, "enforcing_consecutive_errors")
61943
+
61944
+ @property
61945
+ @pulumi.getter(name="enforcingConsecutiveGatewayFailure")
61946
+ def enforcing_consecutive_gateway_failure(self) -> int:
61947
+ """
61948
+ The percentage chance that a host will be actually ejected when an outlier
61949
+ status is detected through consecutive gateway failures. This setting can be
61950
+ used to disable ejection or to ramp it up slowly. Defaults to 0.
61951
+ """
61952
+ return pulumi.get(self, "enforcing_consecutive_gateway_failure")
61953
+
61954
+ @property
61955
+ @pulumi.getter(name="enforcingSuccessRate")
61956
+ def enforcing_success_rate(self) -> int:
61957
+ """
61958
+ The percentage chance that a host will be actually ejected when an outlier
61959
+ status is detected through success rate statistics. This setting can be used to
61960
+ disable ejection or to ramp it up slowly. Defaults to 100.
61961
+ """
61962
+ return pulumi.get(self, "enforcing_success_rate")
61963
+
61964
+ @property
61965
+ @pulumi.getter
61966
+ def intervals(self) -> Sequence['outputs.GetRegionBackendServiceOutlierDetectionIntervalResult']:
61967
+ """
61968
+ Time interval between ejection sweep analysis. This can result in both new
61969
+ ejections as well as hosts being returned to service. Defaults to 10 seconds.
61970
+ """
61971
+ return pulumi.get(self, "intervals")
61972
+
61973
+ @property
61974
+ @pulumi.getter(name="maxEjectionPercent")
61975
+ def max_ejection_percent(self) -> int:
61976
+ """
61977
+ Maximum percentage of hosts in the load balancing pool for the backend service
61978
+ that can be ejected. Defaults to 10%.
61979
+ """
61980
+ return pulumi.get(self, "max_ejection_percent")
61981
+
61982
+ @property
61983
+ @pulumi.getter(name="successRateMinimumHosts")
61984
+ def success_rate_minimum_hosts(self) -> int:
61985
+ """
61986
+ The number of hosts in a cluster that must have enough request volume to detect
61987
+ success rate outliers. If the number of hosts is less than this setting, outlier
61988
+ detection via success rate statistics is not performed for any host in the
61989
+ cluster. Defaults to 5.
61990
+ """
61991
+ return pulumi.get(self, "success_rate_minimum_hosts")
61992
+
61993
+ @property
61994
+ @pulumi.getter(name="successRateRequestVolume")
61995
+ def success_rate_request_volume(self) -> int:
61996
+ """
61997
+ The minimum number of total requests that must be collected in one interval (as
61998
+ defined by the interval duration above) to include this host in success rate
61999
+ based outlier detection. If the volume is lower than this setting, outlier
62000
+ detection via success rate statistics is not performed for that host. Defaults
62001
+ to 100.
62002
+ """
62003
+ return pulumi.get(self, "success_rate_request_volume")
62004
+
62005
+ @property
62006
+ @pulumi.getter(name="successRateStdevFactor")
62007
+ def success_rate_stdev_factor(self) -> int:
62008
+ """
62009
+ This factor is used to determine the ejection threshold for success rate outlier
62010
+ ejection. The ejection threshold is the difference between the mean success
62011
+ rate, and the product of this factor and the standard deviation of the mean
62012
+ success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
62013
+ by a thousand to get a double. That is, if the desired factor is 1.9, the
62014
+ runtime value should be 1900. Defaults to 1900.
62015
+ """
62016
+ return pulumi.get(self, "success_rate_stdev_factor")
62017
+
62018
+
62019
+ @pulumi.output_type
62020
+ class GetRegionBackendServiceOutlierDetectionBaseEjectionTimeResult(dict):
62021
+ def __init__(__self__, *,
62022
+ nanos: int,
62023
+ seconds: int):
62024
+ """
62025
+ :param int nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations
62026
+ less than one second are represented with a 0 'seconds' field and a positive
62027
+ 'nanos' field. Must be from 0 to 999,999,999 inclusive.
62028
+ :param int seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
62029
+ inclusive.
62030
+ """
62031
+ pulumi.set(__self__, "nanos", nanos)
62032
+ pulumi.set(__self__, "seconds", seconds)
62033
+
62034
+ @property
62035
+ @pulumi.getter
62036
+ def nanos(self) -> int:
62037
+ """
62038
+ Span of time that's a fraction of a second at nanosecond resolution. Durations
62039
+ less than one second are represented with a 0 'seconds' field and a positive
62040
+ 'nanos' field. Must be from 0 to 999,999,999 inclusive.
62041
+ """
62042
+ return pulumi.get(self, "nanos")
62043
+
62044
+ @property
62045
+ @pulumi.getter
62046
+ def seconds(self) -> int:
62047
+ """
62048
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
62049
+ inclusive.
62050
+ """
62051
+ return pulumi.get(self, "seconds")
62052
+
62053
+
62054
+ @pulumi.output_type
62055
+ class GetRegionBackendServiceOutlierDetectionIntervalResult(dict):
62056
+ def __init__(__self__, *,
62057
+ nanos: int,
62058
+ seconds: int):
62059
+ """
62060
+ :param int nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations
62061
+ less than one second are represented with a 0 'seconds' field and a positive
62062
+ 'nanos' field. Must be from 0 to 999,999,999 inclusive.
62063
+ :param int seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
62064
+ inclusive.
62065
+ """
62066
+ pulumi.set(__self__, "nanos", nanos)
62067
+ pulumi.set(__self__, "seconds", seconds)
62068
+
62069
+ @property
62070
+ @pulumi.getter
62071
+ def nanos(self) -> int:
62072
+ """
62073
+ Span of time that's a fraction of a second at nanosecond resolution. Durations
62074
+ less than one second are represented with a 0 'seconds' field and a positive
62075
+ 'nanos' field. Must be from 0 to 999,999,999 inclusive.
62076
+ """
62077
+ return pulumi.get(self, "nanos")
62078
+
62079
+ @property
62080
+ @pulumi.getter
62081
+ def seconds(self) -> int:
62082
+ """
62083
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
62084
+ inclusive.
62085
+ """
62086
+ return pulumi.get(self, "seconds")
62087
+
62088
+
62089
+ @pulumi.output_type
62090
+ class GetRegionBackendServiceStrongSessionAffinityCookyResult(dict):
62091
+ def __init__(__self__, *,
62092
+ name: str,
62093
+ path: str,
62094
+ ttls: Sequence['outputs.GetRegionBackendServiceStrongSessionAffinityCookyTtlResult']):
62095
+ """
62096
+ :param str name: The name of the regional backend service.
62097
+ :param str path: Path to set for the cookie.
62098
+ :param Sequence['GetRegionBackendServiceStrongSessionAffinityCookyTtlArgs'] ttls: Lifetime of the cookie.
62099
+ """
62100
+ pulumi.set(__self__, "name", name)
62101
+ pulumi.set(__self__, "path", path)
62102
+ pulumi.set(__self__, "ttls", ttls)
62103
+
62104
+ @property
62105
+ @pulumi.getter
62106
+ def name(self) -> str:
62107
+ """
62108
+ The name of the regional backend service.
62109
+ """
62110
+ return pulumi.get(self, "name")
62111
+
62112
+ @property
62113
+ @pulumi.getter
62114
+ def path(self) -> str:
62115
+ """
62116
+ Path to set for the cookie.
62117
+ """
62118
+ return pulumi.get(self, "path")
62119
+
62120
+ @property
62121
+ @pulumi.getter
62122
+ def ttls(self) -> Sequence['outputs.GetRegionBackendServiceStrongSessionAffinityCookyTtlResult']:
62123
+ """
62124
+ Lifetime of the cookie.
62125
+ """
62126
+ return pulumi.get(self, "ttls")
62127
+
62128
+
62129
+ @pulumi.output_type
62130
+ class GetRegionBackendServiceStrongSessionAffinityCookyTtlResult(dict):
62131
+ def __init__(__self__, *,
62132
+ nanos: int,
62133
+ seconds: int):
62134
+ """
62135
+ :param int nanos: Span of time that's a fraction of a second at nanosecond
62136
+ resolution. Durations less than one second are represented
62137
+ with a 0 seconds field and a positive nanos field. Must
62138
+ be from 0 to 999,999,999 inclusive.
62139
+ :param int seconds: Span of time at a resolution of a second.
62140
+ Must be from 0 to 315,576,000,000 inclusive.
62141
+ """
62142
+ pulumi.set(__self__, "nanos", nanos)
62143
+ pulumi.set(__self__, "seconds", seconds)
62144
+
62145
+ @property
62146
+ @pulumi.getter
62147
+ def nanos(self) -> int:
62148
+ """
62149
+ Span of time that's a fraction of a second at nanosecond
62150
+ resolution. Durations less than one second are represented
62151
+ with a 0 seconds field and a positive nanos field. Must
62152
+ be from 0 to 999,999,999 inclusive.
62153
+ """
62154
+ return pulumi.get(self, "nanos")
62155
+
62156
+ @property
62157
+ @pulumi.getter
62158
+ def seconds(self) -> int:
62159
+ """
62160
+ Span of time at a resolution of a second.
62161
+ Must be from 0 to 315,576,000,000 inclusive.
62162
+ """
62163
+ return pulumi.get(self, "seconds")
62164
+
62165
+
62166
+ @pulumi.output_type
62167
+ class GetRegionBackendServiceSubsettingResult(dict):
62168
+ def __init__(__self__, *,
62169
+ policy: str):
62170
+ """
62171
+ :param str policy: The algorithm used for subsetting. Possible values: ["CONSISTENT_HASH_SUBSETTING"]
62172
+ """
62173
+ pulumi.set(__self__, "policy", policy)
62174
+
62175
+ @property
62176
+ @pulumi.getter
62177
+ def policy(self) -> str:
62178
+ """
62179
+ The algorithm used for subsetting. Possible values: ["CONSISTENT_HASH_SUBSETTING"]
62180
+ """
62181
+ return pulumi.get(self, "policy")
62182
+
62183
+
58787
62184
  @pulumi.output_type
58788
62185
  class GetRegionDiskAsyncPrimaryDiskResult(dict):
58789
62186
  def __init__(__self__, *,
@@ -62191,6 +65588,35 @@ class GetRouterBgpAdvertisedIpRangeResult(dict):
62191
65588
  return pulumi.get(self, "range")
62192
65589
 
62193
65590
 
65591
+ @pulumi.output_type
65592
+ class GetRouterMd5AuthenticationKeyResult(dict):
65593
+ def __init__(__self__, *,
65594
+ key: str,
65595
+ name: str):
65596
+ """
65597
+ :param str key: Value of the key used for MD5 authentication.
65598
+ :param str name: The name of the router.
65599
+ """
65600
+ pulumi.set(__self__, "key", key)
65601
+ pulumi.set(__self__, "name", name)
65602
+
65603
+ @property
65604
+ @pulumi.getter
65605
+ def key(self) -> str:
65606
+ """
65607
+ Value of the key used for MD5 authentication.
65608
+ """
65609
+ return pulumi.get(self, "key")
65610
+
65611
+ @property
65612
+ @pulumi.getter
65613
+ def name(self) -> str:
65614
+ """
65615
+ The name of the router.
65616
+ """
65617
+ return pulumi.get(self, "name")
65618
+
65619
+
62194
65620
  @pulumi.output_type
62195
65621
  class GetRouterNatLogConfigResult(dict):
62196
65622
  def __init__(__self__, *,
@@ -64426,6 +67852,7 @@ class GetSnapshotSnapshotEncryptionKeyResult(dict):
64426
67852
  kms_key_self_link: str,
64427
67853
  kms_key_service_account: str,
64428
67854
  raw_key: str,
67855
+ rsa_encrypted_key: str,
64429
67856
  sha256: str):
64430
67857
  """
64431
67858
  :param str kms_key_self_link: The name of the encryption key that is stored in Google Cloud KMS.
@@ -64433,12 +67860,15 @@ class GetSnapshotSnapshotEncryptionKeyResult(dict):
64433
67860
  If absent, the Compute Engine Service Agent service account is used.
64434
67861
  :param str raw_key: Specifies a 256-bit customer-supplied encryption key, encoded in
64435
67862
  RFC 4648 base64 to either encrypt or decrypt this resource.
67863
+ :param str rsa_encrypted_key: Specifies an encryption key stored in Google Cloud KMS, encoded in
67864
+ RFC 4648 base64 to either encrypt or decrypt this resource.
64436
67865
  :param str sha256: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
64437
67866
  encryption key that protects this resource.
64438
67867
  """
64439
67868
  pulumi.set(__self__, "kms_key_self_link", kms_key_self_link)
64440
67869
  pulumi.set(__self__, "kms_key_service_account", kms_key_service_account)
64441
67870
  pulumi.set(__self__, "raw_key", raw_key)
67871
+ pulumi.set(__self__, "rsa_encrypted_key", rsa_encrypted_key)
64442
67872
  pulumi.set(__self__, "sha256", sha256)
64443
67873
 
64444
67874
  @property
@@ -64467,6 +67897,15 @@ class GetSnapshotSnapshotEncryptionKeyResult(dict):
64467
67897
  """
64468
67898
  return pulumi.get(self, "raw_key")
64469
67899
 
67900
+ @property
67901
+ @pulumi.getter(name="rsaEncryptedKey")
67902
+ def rsa_encrypted_key(self) -> str:
67903
+ """
67904
+ Specifies an encryption key stored in Google Cloud KMS, encoded in
67905
+ RFC 4648 base64 to either encrypt or decrypt this resource.
67906
+ """
67907
+ return pulumi.get(self, "rsa_encrypted_key")
67908
+
64470
67909
  @property
64471
67910
  @pulumi.getter
64472
67911
  def sha256(self) -> str: