pulumi-gcp 8.26.0a1744267117__py3-none-any.whl → 8.27.0a1744386150__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.
- pulumi_gcp/__init__.py +48 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +117 -0
- pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +81 -26
- pulumi_gcp/accesscontextmanager/outputs.py +95 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/control_plane_access.py +419 -0
- pulumi_gcp/clouddeploy/__init__.py +1 -0
- pulumi_gcp/clouddeploy/_inputs.py +2876 -1314
- pulumi_gcp/clouddeploy/automation.py +64 -2
- pulumi_gcp/clouddeploy/deploy_policy.py +1179 -0
- pulumi_gcp/clouddeploy/outputs.py +1130 -5
- pulumi_gcp/cloudrunv2/service.py +2 -2
- pulumi_gcp/compute/_inputs.py +20 -0
- pulumi_gcp/compute/outputs.py +25 -0
- pulumi_gcp/compute/resource_policy.py +30 -0
- pulumi_gcp/datastream/_inputs.py +506 -0
- pulumi_gcp/datastream/outputs.py +376 -0
- pulumi_gcp/datastream/stream.py +0 -2
- pulumi_gcp/firebase/hosting_version.py +34 -14
- pulumi_gcp/folder/__init__.py +1 -0
- pulumi_gcp/folder/service_identity.py +340 -0
- pulumi_gcp/gemini/__init__.py +2 -0
- pulumi_gcp/gemini/_inputs.py +176 -0
- pulumi_gcp/gemini/code_tools_setting.py +601 -0
- pulumi_gcp/gemini/code_tools_setting_binding.py +753 -0
- pulumi_gcp/gemini/outputs.py +124 -0
- pulumi_gcp/gkeonprem/v_mware_cluster.py +49 -0
- pulumi_gcp/gkeonprem/vmware_admin_cluster.py +28 -0
- pulumi_gcp/memorystore/_inputs.py +136 -0
- pulumi_gcp/memorystore/get_instance.py +12 -1
- pulumi_gcp/memorystore/instance.py +54 -0
- pulumi_gcp/memorystore/outputs.py +190 -0
- pulumi_gcp/netapp/_inputs.py +89 -3
- pulumi_gcp/netapp/outputs.py +75 -2
- pulumi_gcp/netapp/volume_replication.py +12 -2
- pulumi_gcp/networkconnectivity/service_connection_policy.py +4 -2
- pulumi_gcp/osconfig/__init__.py +1 -0
- pulumi_gcp/osconfig/_inputs.py +5439 -0
- pulumi_gcp/osconfig/outputs.py +3978 -0
- pulumi_gcp/osconfig/v2_policy_orchestrator_for_organization.py +1047 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +12 -1
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +15 -1
- pulumi_gcp/parametermanager/outputs.py +11 -0
- pulumi_gcp/parametermanager/regional_parameter.py +78 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +66 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/spanner/database.py +0 -34
- pulumi_gcp/storage/bucket_object.py +28 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/workbench/_inputs.py +60 -0
- pulumi_gcp/workbench/instance.py +48 -0
- pulumi_gcp/workbench/outputs.py +55 -0
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/RECORD +57 -51
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/top_level.txt +0 -0
@@ -329,6 +329,7 @@ class _BucketObjectState:
|
|
329
329
|
generation: Optional[pulumi.Input[builtins.int]] = None,
|
330
330
|
kms_key_name: Optional[pulumi.Input[builtins.str]] = None,
|
331
331
|
md5hash: Optional[pulumi.Input[builtins.str]] = None,
|
332
|
+
md5hexhash: Optional[pulumi.Input[builtins.str]] = None,
|
332
333
|
media_link: Optional[pulumi.Input[builtins.str]] = None,
|
333
334
|
metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
334
335
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
@@ -355,6 +356,7 @@ class _BucketObjectState:
|
|
355
356
|
:param pulumi.Input[builtins.int] generation: (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
|
356
357
|
:param pulumi.Input[builtins.str] kms_key_name: The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
|
357
358
|
:param pulumi.Input[builtins.str] md5hash: (Computed) Base 64 MD5 hash of the uploaded data.
|
359
|
+
:param pulumi.Input[builtins.str] md5hexhash: Hex value of md5hash
|
358
360
|
:param pulumi.Input[builtins.str] media_link: (Computed) A url reference to download this object.
|
359
361
|
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] metadata: User-provided metadata, in key/value pairs.
|
360
362
|
|
@@ -401,6 +403,8 @@ class _BucketObjectState:
|
|
401
403
|
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
402
404
|
if md5hash is not None:
|
403
405
|
pulumi.set(__self__, "md5hash", md5hash)
|
406
|
+
if md5hexhash is not None:
|
407
|
+
pulumi.set(__self__, "md5hexhash", md5hexhash)
|
404
408
|
if media_link is not None:
|
405
409
|
pulumi.set(__self__, "media_link", media_link)
|
406
410
|
if metadata is not None:
|
@@ -587,6 +591,18 @@ class _BucketObjectState:
|
|
587
591
|
def md5hash(self, value: Optional[pulumi.Input[builtins.str]]):
|
588
592
|
pulumi.set(self, "md5hash", value)
|
589
593
|
|
594
|
+
@property
|
595
|
+
@pulumi.getter
|
596
|
+
def md5hexhash(self) -> Optional[pulumi.Input[builtins.str]]:
|
597
|
+
"""
|
598
|
+
Hex value of md5hash
|
599
|
+
"""
|
600
|
+
return pulumi.get(self, "md5hexhash")
|
601
|
+
|
602
|
+
@md5hexhash.setter
|
603
|
+
def md5hexhash(self, value: Optional[pulumi.Input[builtins.str]]):
|
604
|
+
pulumi.set(self, "md5hexhash", value)
|
605
|
+
|
590
606
|
@property
|
591
607
|
@pulumi.getter(name="mediaLink")
|
592
608
|
def media_link(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -908,6 +924,7 @@ class BucketObject(pulumi.CustomResource):
|
|
908
924
|
__props__.__dict__["crc32c"] = None
|
909
925
|
__props__.__dict__["generation"] = None
|
910
926
|
__props__.__dict__["md5hash"] = None
|
927
|
+
__props__.__dict__["md5hexhash"] = None
|
911
928
|
__props__.__dict__["media_link"] = None
|
912
929
|
__props__.__dict__["output_name"] = None
|
913
930
|
__props__.__dict__["self_link"] = None
|
@@ -937,6 +954,7 @@ class BucketObject(pulumi.CustomResource):
|
|
937
954
|
generation: Optional[pulumi.Input[builtins.int]] = None,
|
938
955
|
kms_key_name: Optional[pulumi.Input[builtins.str]] = None,
|
939
956
|
md5hash: Optional[pulumi.Input[builtins.str]] = None,
|
957
|
+
md5hexhash: Optional[pulumi.Input[builtins.str]] = None,
|
940
958
|
media_link: Optional[pulumi.Input[builtins.str]] = None,
|
941
959
|
metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
942
960
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
@@ -968,6 +986,7 @@ class BucketObject(pulumi.CustomResource):
|
|
968
986
|
:param pulumi.Input[builtins.int] generation: (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
|
969
987
|
:param pulumi.Input[builtins.str] kms_key_name: The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
|
970
988
|
:param pulumi.Input[builtins.str] md5hash: (Computed) Base 64 MD5 hash of the uploaded data.
|
989
|
+
:param pulumi.Input[builtins.str] md5hexhash: Hex value of md5hash
|
971
990
|
:param pulumi.Input[builtins.str] media_link: (Computed) A url reference to download this object.
|
972
991
|
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] metadata: User-provided metadata, in key/value pairs.
|
973
992
|
|
@@ -1004,6 +1023,7 @@ class BucketObject(pulumi.CustomResource):
|
|
1004
1023
|
__props__.__dict__["generation"] = generation
|
1005
1024
|
__props__.__dict__["kms_key_name"] = kms_key_name
|
1006
1025
|
__props__.__dict__["md5hash"] = md5hash
|
1026
|
+
__props__.__dict__["md5hexhash"] = md5hexhash
|
1007
1027
|
__props__.__dict__["media_link"] = media_link
|
1008
1028
|
__props__.__dict__["metadata"] = metadata
|
1009
1029
|
__props__.__dict__["name"] = name
|
@@ -1126,6 +1146,14 @@ class BucketObject(pulumi.CustomResource):
|
|
1126
1146
|
"""
|
1127
1147
|
return pulumi.get(self, "md5hash")
|
1128
1148
|
|
1149
|
+
@property
|
1150
|
+
@pulumi.getter
|
1151
|
+
def md5hexhash(self) -> pulumi.Output[builtins.str]:
|
1152
|
+
"""
|
1153
|
+
Hex value of md5hash
|
1154
|
+
"""
|
1155
|
+
return pulumi.get(self, "md5hexhash")
|
1156
|
+
|
1129
1157
|
@property
|
1130
1158
|
@pulumi.getter(name="mediaLink")
|
1131
1159
|
def media_link(self) -> pulumi.Output[builtins.str]:
|
@@ -28,7 +28,7 @@ class GetBucketObjectResult:
|
|
28
28
|
"""
|
29
29
|
A collection of values returned by getBucketObject.
|
30
30
|
"""
|
31
|
-
def __init__(__self__, bucket=None, cache_control=None, content=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
|
31
|
+
def __init__(__self__, bucket=None, cache_control=None, content=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
|
32
32
|
if bucket and not isinstance(bucket, str):
|
33
33
|
raise TypeError("Expected argument 'bucket' to be a str")
|
34
34
|
pulumi.set(__self__, "bucket", bucket)
|
@@ -74,6 +74,9 @@ class GetBucketObjectResult:
|
|
74
74
|
if md5hash and not isinstance(md5hash, str):
|
75
75
|
raise TypeError("Expected argument 'md5hash' to be a str")
|
76
76
|
pulumi.set(__self__, "md5hash", md5hash)
|
77
|
+
if md5hexhash and not isinstance(md5hexhash, str):
|
78
|
+
raise TypeError("Expected argument 'md5hexhash' to be a str")
|
79
|
+
pulumi.set(__self__, "md5hexhash", md5hexhash)
|
77
80
|
if media_link and not isinstance(media_link, str):
|
78
81
|
raise TypeError("Expected argument 'media_link' to be a str")
|
79
82
|
pulumi.set(__self__, "media_link", media_link)
|
@@ -208,6 +211,11 @@ class GetBucketObjectResult:
|
|
208
211
|
"""
|
209
212
|
return pulumi.get(self, "md5hash")
|
210
213
|
|
214
|
+
@property
|
215
|
+
@pulumi.getter
|
216
|
+
def md5hexhash(self) -> builtins.str:
|
217
|
+
return pulumi.get(self, "md5hexhash")
|
218
|
+
|
211
219
|
@property
|
212
220
|
@pulumi.getter(name="mediaLink")
|
213
221
|
def media_link(self) -> builtins.str:
|
@@ -289,6 +297,7 @@ class AwaitableGetBucketObjectResult(GetBucketObjectResult):
|
|
289
297
|
id=self.id,
|
290
298
|
kms_key_name=self.kms_key_name,
|
291
299
|
md5hash=self.md5hash,
|
300
|
+
md5hexhash=self.md5hexhash,
|
292
301
|
media_link=self.media_link,
|
293
302
|
metadata=self.metadata,
|
294
303
|
name=self.name,
|
@@ -347,6 +356,7 @@ def get_bucket_object(bucket: Optional[builtins.str] = None,
|
|
347
356
|
id=pulumi.get(__ret__, 'id'),
|
348
357
|
kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
|
349
358
|
md5hash=pulumi.get(__ret__, 'md5hash'),
|
359
|
+
md5hexhash=pulumi.get(__ret__, 'md5hexhash'),
|
350
360
|
media_link=pulumi.get(__ret__, 'media_link'),
|
351
361
|
metadata=pulumi.get(__ret__, 'metadata'),
|
352
362
|
name=pulumi.get(__ret__, 'name'),
|
@@ -402,6 +412,7 @@ def get_bucket_object_output(bucket: Optional[pulumi.Input[Optional[builtins.str
|
|
402
412
|
id=pulumi.get(__response__, 'id'),
|
403
413
|
kms_key_name=pulumi.get(__response__, 'kms_key_name'),
|
404
414
|
md5hash=pulumi.get(__response__, 'md5hash'),
|
415
|
+
md5hexhash=pulumi.get(__response__, 'md5hexhash'),
|
405
416
|
media_link=pulumi.get(__response__, 'media_link'),
|
406
417
|
metadata=pulumi.get(__response__, 'metadata'),
|
407
418
|
name=pulumi.get(__response__, 'name'),
|
@@ -28,7 +28,7 @@ class GetBucketObjectContentResult:
|
|
28
28
|
"""
|
29
29
|
A collection of values returned by getBucketObjectContent.
|
30
30
|
"""
|
31
|
-
def __init__(__self__, bucket=None, cache_control=None, content=None, content_base64=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
|
31
|
+
def __init__(__self__, bucket=None, cache_control=None, content=None, content_base64=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
|
32
32
|
if bucket and not isinstance(bucket, str):
|
33
33
|
raise TypeError("Expected argument 'bucket' to be a str")
|
34
34
|
pulumi.set(__self__, "bucket", bucket)
|
@@ -77,6 +77,9 @@ class GetBucketObjectContentResult:
|
|
77
77
|
if md5hash and not isinstance(md5hash, str):
|
78
78
|
raise TypeError("Expected argument 'md5hash' to be a str")
|
79
79
|
pulumi.set(__self__, "md5hash", md5hash)
|
80
|
+
if md5hexhash and not isinstance(md5hexhash, str):
|
81
|
+
raise TypeError("Expected argument 'md5hexhash' to be a str")
|
82
|
+
pulumi.set(__self__, "md5hexhash", md5hexhash)
|
80
83
|
if media_link and not isinstance(media_link, str):
|
81
84
|
raise TypeError("Expected argument 'media_link' to be a str")
|
82
85
|
pulumi.set(__self__, "media_link", media_link)
|
@@ -195,6 +198,11 @@ class GetBucketObjectContentResult:
|
|
195
198
|
def md5hash(self) -> builtins.str:
|
196
199
|
return pulumi.get(self, "md5hash")
|
197
200
|
|
201
|
+
@property
|
202
|
+
@pulumi.getter
|
203
|
+
def md5hexhash(self) -> builtins.str:
|
204
|
+
return pulumi.get(self, "md5hexhash")
|
205
|
+
|
198
206
|
@property
|
199
207
|
@pulumi.getter(name="mediaLink")
|
200
208
|
def media_link(self) -> builtins.str:
|
@@ -263,6 +271,7 @@ class AwaitableGetBucketObjectContentResult(GetBucketObjectContentResult):
|
|
263
271
|
id=self.id,
|
264
272
|
kms_key_name=self.kms_key_name,
|
265
273
|
md5hash=self.md5hash,
|
274
|
+
md5hexhash=self.md5hexhash,
|
266
275
|
media_link=self.media_link,
|
267
276
|
metadata=self.metadata,
|
268
277
|
name=self.name,
|
@@ -328,6 +337,7 @@ def get_bucket_object_content(bucket: Optional[builtins.str] = None,
|
|
328
337
|
id=pulumi.get(__ret__, 'id'),
|
329
338
|
kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
|
330
339
|
md5hash=pulumi.get(__ret__, 'md5hash'),
|
340
|
+
md5hexhash=pulumi.get(__ret__, 'md5hexhash'),
|
331
341
|
media_link=pulumi.get(__ret__, 'media_link'),
|
332
342
|
metadata=pulumi.get(__ret__, 'metadata'),
|
333
343
|
name=pulumi.get(__ret__, 'name'),
|
@@ -390,6 +400,7 @@ def get_bucket_object_content_output(bucket: Optional[pulumi.Input[builtins.str]
|
|
390
400
|
id=pulumi.get(__response__, 'id'),
|
391
401
|
kms_key_name=pulumi.get(__response__, 'kms_key_name'),
|
392
402
|
md5hash=pulumi.get(__response__, 'md5hash'),
|
403
|
+
md5hexhash=pulumi.get(__response__, 'md5hexhash'),
|
393
404
|
media_link=pulumi.get(__response__, 'media_link'),
|
394
405
|
metadata=pulumi.get(__response__, 'metadata'),
|
395
406
|
name=pulumi.get(__response__, 'name'),
|
pulumi_gcp/workbench/_inputs.py
CHANGED
@@ -22,6 +22,8 @@ __all__ = [
|
|
22
22
|
'InstanceGceSetupAcceleratorConfigArgsDict',
|
23
23
|
'InstanceGceSetupBootDiskArgs',
|
24
24
|
'InstanceGceSetupBootDiskArgsDict',
|
25
|
+
'InstanceGceSetupConfidentialInstanceConfigArgs',
|
26
|
+
'InstanceGceSetupConfidentialInstanceConfigArgsDict',
|
25
27
|
'InstanceGceSetupContainerImageArgs',
|
26
28
|
'InstanceGceSetupContainerImageArgsDict',
|
27
29
|
'InstanceGceSetupDataDisksArgs',
|
@@ -62,6 +64,11 @@ if not MYPY:
|
|
62
64
|
The definition of a boot disk.
|
63
65
|
Structure is documented below.
|
64
66
|
"""
|
67
|
+
confidential_instance_config: NotRequired[pulumi.Input['InstanceGceSetupConfidentialInstanceConfigArgsDict']]
|
68
|
+
"""
|
69
|
+
Confidential instance configuration.
|
70
|
+
Structure is documented below.
|
71
|
+
"""
|
65
72
|
container_image: NotRequired[pulumi.Input['InstanceGceSetupContainerImageArgsDict']]
|
66
73
|
"""
|
67
74
|
Use a container image to start the workbench instance.
|
@@ -125,6 +132,7 @@ class InstanceGceSetupArgs:
|
|
125
132
|
def __init__(__self__, *,
|
126
133
|
accelerator_configs: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupAcceleratorConfigArgs']]]] = None,
|
127
134
|
boot_disk: Optional[pulumi.Input['InstanceGceSetupBootDiskArgs']] = None,
|
135
|
+
confidential_instance_config: Optional[pulumi.Input['InstanceGceSetupConfidentialInstanceConfigArgs']] = None,
|
128
136
|
container_image: Optional[pulumi.Input['InstanceGceSetupContainerImageArgs']] = None,
|
129
137
|
data_disks: Optional[pulumi.Input['InstanceGceSetupDataDisksArgs']] = None,
|
130
138
|
disable_public_ip: Optional[pulumi.Input[builtins.bool]] = None,
|
@@ -143,6 +151,8 @@ class InstanceGceSetupArgs:
|
|
143
151
|
Structure is documented below.
|
144
152
|
:param pulumi.Input['InstanceGceSetupBootDiskArgs'] boot_disk: The definition of a boot disk.
|
145
153
|
Structure is documented below.
|
154
|
+
:param pulumi.Input['InstanceGceSetupConfidentialInstanceConfigArgs'] confidential_instance_config: Confidential instance configuration.
|
155
|
+
Structure is documented below.
|
146
156
|
:param pulumi.Input['InstanceGceSetupContainerImageArgs'] container_image: Use a container image to start the workbench instance.
|
147
157
|
Structure is documented below.
|
148
158
|
:param pulumi.Input['InstanceGceSetupDataDisksArgs'] data_disks: Data disks attached to the VM instance. Currently supports only one data disk.
|
@@ -170,6 +180,8 @@ class InstanceGceSetupArgs:
|
|
170
180
|
pulumi.set(__self__, "accelerator_configs", accelerator_configs)
|
171
181
|
if boot_disk is not None:
|
172
182
|
pulumi.set(__self__, "boot_disk", boot_disk)
|
183
|
+
if confidential_instance_config is not None:
|
184
|
+
pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
|
173
185
|
if container_image is not None:
|
174
186
|
pulumi.set(__self__, "container_image", container_image)
|
175
187
|
if data_disks is not None:
|
@@ -221,6 +233,19 @@ class InstanceGceSetupArgs:
|
|
221
233
|
def boot_disk(self, value: Optional[pulumi.Input['InstanceGceSetupBootDiskArgs']]):
|
222
234
|
pulumi.set(self, "boot_disk", value)
|
223
235
|
|
236
|
+
@property
|
237
|
+
@pulumi.getter(name="confidentialInstanceConfig")
|
238
|
+
def confidential_instance_config(self) -> Optional[pulumi.Input['InstanceGceSetupConfidentialInstanceConfigArgs']]:
|
239
|
+
"""
|
240
|
+
Confidential instance configuration.
|
241
|
+
Structure is documented below.
|
242
|
+
"""
|
243
|
+
return pulumi.get(self, "confidential_instance_config")
|
244
|
+
|
245
|
+
@confidential_instance_config.setter
|
246
|
+
def confidential_instance_config(self, value: Optional[pulumi.Input['InstanceGceSetupConfidentialInstanceConfigArgs']]):
|
247
|
+
pulumi.set(self, "confidential_instance_config", value)
|
248
|
+
|
224
249
|
@property
|
225
250
|
@pulumi.getter(name="containerImage")
|
226
251
|
def container_image(self) -> Optional[pulumi.Input['InstanceGceSetupContainerImageArgs']]:
|
@@ -533,6 +558,41 @@ class InstanceGceSetupBootDiskArgs:
|
|
533
558
|
pulumi.set(self, "kms_key", value)
|
534
559
|
|
535
560
|
|
561
|
+
if not MYPY:
|
562
|
+
class InstanceGceSetupConfidentialInstanceConfigArgsDict(TypedDict):
|
563
|
+
confidential_instance_type: NotRequired[pulumi.Input[builtins.str]]
|
564
|
+
"""
|
565
|
+
Defines the type of technology used by the confidential instance.
|
566
|
+
Possible values are: `SEV`.
|
567
|
+
"""
|
568
|
+
elif False:
|
569
|
+
InstanceGceSetupConfidentialInstanceConfigArgsDict: TypeAlias = Mapping[str, Any]
|
570
|
+
|
571
|
+
@pulumi.input_type
|
572
|
+
class InstanceGceSetupConfidentialInstanceConfigArgs:
|
573
|
+
def __init__(__self__, *,
|
574
|
+
confidential_instance_type: Optional[pulumi.Input[builtins.str]] = None):
|
575
|
+
"""
|
576
|
+
:param pulumi.Input[builtins.str] confidential_instance_type: Defines the type of technology used by the confidential instance.
|
577
|
+
Possible values are: `SEV`.
|
578
|
+
"""
|
579
|
+
if confidential_instance_type is not None:
|
580
|
+
pulumi.set(__self__, "confidential_instance_type", confidential_instance_type)
|
581
|
+
|
582
|
+
@property
|
583
|
+
@pulumi.getter(name="confidentialInstanceType")
|
584
|
+
def confidential_instance_type(self) -> Optional[pulumi.Input[builtins.str]]:
|
585
|
+
"""
|
586
|
+
Defines the type of technology used by the confidential instance.
|
587
|
+
Possible values are: `SEV`.
|
588
|
+
"""
|
589
|
+
return pulumi.get(self, "confidential_instance_type")
|
590
|
+
|
591
|
+
@confidential_instance_type.setter
|
592
|
+
def confidential_instance_type(self, value: Optional[pulumi.Input[builtins.str]]):
|
593
|
+
pulumi.set(self, "confidential_instance_type", value)
|
594
|
+
|
595
|
+
|
536
596
|
if not MYPY:
|
537
597
|
class InstanceGceSetupContainerImageArgsDict(TypedDict):
|
538
598
|
repository: pulumi.Input[builtins.str]
|
pulumi_gcp/workbench/instance.py
CHANGED
@@ -766,6 +766,30 @@ class Instance(pulumi.CustomResource):
|
|
766
766
|
act_as_permission,
|
767
767
|
]))
|
768
768
|
```
|
769
|
+
### Workbench Instance Confidential Compute
|
770
|
+
|
771
|
+
```python
|
772
|
+
import pulumi
|
773
|
+
import pulumi_gcp as gcp
|
774
|
+
|
775
|
+
instance = gcp.workbench.Instance("instance",
|
776
|
+
name="workbench-instance",
|
777
|
+
location="us-central1-a",
|
778
|
+
gce_setup={
|
779
|
+
"machine_type": "n2d-standard-2",
|
780
|
+
"shielded_instance_config": {
|
781
|
+
"enable_secure_boot": True,
|
782
|
+
"enable_vtpm": True,
|
783
|
+
"enable_integrity_monitoring": True,
|
784
|
+
},
|
785
|
+
"metadata": {
|
786
|
+
"terraform": "true",
|
787
|
+
},
|
788
|
+
"confidential_instance_config": {
|
789
|
+
"confidential_instance_type": "SEV",
|
790
|
+
},
|
791
|
+
})
|
792
|
+
```
|
769
793
|
|
770
794
|
## Import
|
771
795
|
|
@@ -990,6 +1014,30 @@ class Instance(pulumi.CustomResource):
|
|
990
1014
|
act_as_permission,
|
991
1015
|
]))
|
992
1016
|
```
|
1017
|
+
### Workbench Instance Confidential Compute
|
1018
|
+
|
1019
|
+
```python
|
1020
|
+
import pulumi
|
1021
|
+
import pulumi_gcp as gcp
|
1022
|
+
|
1023
|
+
instance = gcp.workbench.Instance("instance",
|
1024
|
+
name="workbench-instance",
|
1025
|
+
location="us-central1-a",
|
1026
|
+
gce_setup={
|
1027
|
+
"machine_type": "n2d-standard-2",
|
1028
|
+
"shielded_instance_config": {
|
1029
|
+
"enable_secure_boot": True,
|
1030
|
+
"enable_vtpm": True,
|
1031
|
+
"enable_integrity_monitoring": True,
|
1032
|
+
},
|
1033
|
+
"metadata": {
|
1034
|
+
"terraform": "true",
|
1035
|
+
},
|
1036
|
+
"confidential_instance_config": {
|
1037
|
+
"confidential_instance_type": "SEV",
|
1038
|
+
},
|
1039
|
+
})
|
1040
|
+
```
|
993
1041
|
|
994
1042
|
## Import
|
995
1043
|
|
pulumi_gcp/workbench/outputs.py
CHANGED
@@ -20,6 +20,7 @@ __all__ = [
|
|
20
20
|
'InstanceGceSetup',
|
21
21
|
'InstanceGceSetupAcceleratorConfig',
|
22
22
|
'InstanceGceSetupBootDisk',
|
23
|
+
'InstanceGceSetupConfidentialInstanceConfig',
|
23
24
|
'InstanceGceSetupContainerImage',
|
24
25
|
'InstanceGceSetupDataDisks',
|
25
26
|
'InstanceGceSetupNetworkInterface',
|
@@ -42,6 +43,8 @@ class InstanceGceSetup(dict):
|
|
42
43
|
suggest = "accelerator_configs"
|
43
44
|
elif key == "bootDisk":
|
44
45
|
suggest = "boot_disk"
|
46
|
+
elif key == "confidentialInstanceConfig":
|
47
|
+
suggest = "confidential_instance_config"
|
45
48
|
elif key == "containerImage":
|
46
49
|
suggest = "container_image"
|
47
50
|
elif key == "dataDisks":
|
@@ -75,6 +78,7 @@ class InstanceGceSetup(dict):
|
|
75
78
|
def __init__(__self__, *,
|
76
79
|
accelerator_configs: Optional[Sequence['outputs.InstanceGceSetupAcceleratorConfig']] = None,
|
77
80
|
boot_disk: Optional['outputs.InstanceGceSetupBootDisk'] = None,
|
81
|
+
confidential_instance_config: Optional['outputs.InstanceGceSetupConfidentialInstanceConfig'] = None,
|
78
82
|
container_image: Optional['outputs.InstanceGceSetupContainerImage'] = None,
|
79
83
|
data_disks: Optional['outputs.InstanceGceSetupDataDisks'] = None,
|
80
84
|
disable_public_ip: Optional[builtins.bool] = None,
|
@@ -93,6 +97,8 @@ class InstanceGceSetup(dict):
|
|
93
97
|
Structure is documented below.
|
94
98
|
:param 'InstanceGceSetupBootDiskArgs' boot_disk: The definition of a boot disk.
|
95
99
|
Structure is documented below.
|
100
|
+
:param 'InstanceGceSetupConfidentialInstanceConfigArgs' confidential_instance_config: Confidential instance configuration.
|
101
|
+
Structure is documented below.
|
96
102
|
:param 'InstanceGceSetupContainerImageArgs' container_image: Use a container image to start the workbench instance.
|
97
103
|
Structure is documented below.
|
98
104
|
:param 'InstanceGceSetupDataDisksArgs' data_disks: Data disks attached to the VM instance. Currently supports only one data disk.
|
@@ -120,6 +126,8 @@ class InstanceGceSetup(dict):
|
|
120
126
|
pulumi.set(__self__, "accelerator_configs", accelerator_configs)
|
121
127
|
if boot_disk is not None:
|
122
128
|
pulumi.set(__self__, "boot_disk", boot_disk)
|
129
|
+
if confidential_instance_config is not None:
|
130
|
+
pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
|
123
131
|
if container_image is not None:
|
124
132
|
pulumi.set(__self__, "container_image", container_image)
|
125
133
|
if data_disks is not None:
|
@@ -163,6 +171,15 @@ class InstanceGceSetup(dict):
|
|
163
171
|
"""
|
164
172
|
return pulumi.get(self, "boot_disk")
|
165
173
|
|
174
|
+
@property
|
175
|
+
@pulumi.getter(name="confidentialInstanceConfig")
|
176
|
+
def confidential_instance_config(self) -> Optional['outputs.InstanceGceSetupConfidentialInstanceConfig']:
|
177
|
+
"""
|
178
|
+
Confidential instance configuration.
|
179
|
+
Structure is documented below.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "confidential_instance_config")
|
182
|
+
|
166
183
|
@property
|
167
184
|
@pulumi.getter(name="containerImage")
|
168
185
|
def container_image(self) -> Optional['outputs.InstanceGceSetupContainerImage']:
|
@@ -405,6 +422,44 @@ class InstanceGceSetupBootDisk(dict):
|
|
405
422
|
return pulumi.get(self, "kms_key")
|
406
423
|
|
407
424
|
|
425
|
+
@pulumi.output_type
|
426
|
+
class InstanceGceSetupConfidentialInstanceConfig(dict):
|
427
|
+
@staticmethod
|
428
|
+
def __key_warning(key: str):
|
429
|
+
suggest = None
|
430
|
+
if key == "confidentialInstanceType":
|
431
|
+
suggest = "confidential_instance_type"
|
432
|
+
|
433
|
+
if suggest:
|
434
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceGceSetupConfidentialInstanceConfig. Access the value via the '{suggest}' property getter instead.")
|
435
|
+
|
436
|
+
def __getitem__(self, key: str) -> Any:
|
437
|
+
InstanceGceSetupConfidentialInstanceConfig.__key_warning(key)
|
438
|
+
return super().__getitem__(key)
|
439
|
+
|
440
|
+
def get(self, key: str, default = None) -> Any:
|
441
|
+
InstanceGceSetupConfidentialInstanceConfig.__key_warning(key)
|
442
|
+
return super().get(key, default)
|
443
|
+
|
444
|
+
def __init__(__self__, *,
|
445
|
+
confidential_instance_type: Optional[builtins.str] = None):
|
446
|
+
"""
|
447
|
+
:param builtins.str confidential_instance_type: Defines the type of technology used by the confidential instance.
|
448
|
+
Possible values are: `SEV`.
|
449
|
+
"""
|
450
|
+
if confidential_instance_type is not None:
|
451
|
+
pulumi.set(__self__, "confidential_instance_type", confidential_instance_type)
|
452
|
+
|
453
|
+
@property
|
454
|
+
@pulumi.getter(name="confidentialInstanceType")
|
455
|
+
def confidential_instance_type(self) -> Optional[builtins.str]:
|
456
|
+
"""
|
457
|
+
Defines the type of technology used by the confidential instance.
|
458
|
+
Possible values are: `SEV`.
|
459
|
+
"""
|
460
|
+
return pulumi.get(self, "confidential_instance_type")
|
461
|
+
|
462
|
+
|
408
463
|
@pulumi.output_type
|
409
464
|
class InstanceGceSetupContainerImage(dict):
|
410
465
|
def __init__(__self__, *,
|