Skip to content

Commit 050b5c1

Browse files
feat: publish boot_disk_config to support CHD with KMS (googleapis#11622)
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 03ea643 commit 050b5c1

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424
AcceleratorType,
2525
AccessConfig,
2626
AttachedDisk,
27+
BootDiskConfig,
2728
CreateNodeRequest,
2829
CreateQueuedResourceRequest,
30+
CustomerEncryptionKey,
2931
DeleteNodeRequest,
3032
DeleteQueuedResourceRequest,
3133
GenerateServiceIdentityRequest,
@@ -72,8 +74,10 @@
7274
"AcceleratorType",
7375
"AccessConfig",
7476
"AttachedDisk",
77+
"BootDiskConfig",
7578
"CreateNodeRequest",
7679
"CreateQueuedResourceRequest",
80+
"CustomerEncryptionKey",
7781
"DeleteNodeRequest",
7882
"DeleteQueuedResourceRequest",
7983
"GenerateServiceIdentityRequest",

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/types/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
AcceleratorType,
1919
AccessConfig,
2020
AttachedDisk,
21+
BootDiskConfig,
2122
CreateNodeRequest,
2223
CreateQueuedResourceRequest,
24+
CustomerEncryptionKey,
2325
DeleteNodeRequest,
2426
DeleteQueuedResourceRequest,
2527
GenerateServiceIdentityRequest,
@@ -65,8 +67,10 @@
6567
"AcceleratorType",
6668
"AccessConfig",
6769
"AttachedDisk",
70+
"BootDiskConfig",
6871
"CreateNodeRequest",
6972
"CreateQueuedResourceRequest",
73+
"CustomerEncryptionKey",
7074
"DeleteNodeRequest",
7175
"DeleteQueuedResourceRequest",
7276
"GenerateServiceIdentityRequest",

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/types/cloud_tpu.py

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@
7171
"SimulateMaintenanceEventRequest",
7272
"AcceleratorConfig",
7373
"ShieldedInstanceConfig",
74+
"BootDiskConfig",
75+
"CustomerEncryptionKey",
7476
},
7577
)
7678

@@ -400,6 +402,8 @@ class Node(proto.Message):
400402
multislice_node (bool):
401403
Output only. Whether the Node belongs to a
402404
Multislice group.
405+
boot_disk_config (google.cloud.tpu_v2alpha1.types.BootDiskConfig):
406+
Optional. Boot disk configuration.
403407
"""
404408

405409
class State(proto.Enum):
@@ -611,6 +615,11 @@ class ApiVersion(proto.Enum):
611615
proto.BOOL,
612616
number=47,
613617
)
618+
boot_disk_config: "BootDiskConfig" = proto.Field(
619+
proto.MESSAGE,
620+
number=49,
621+
message="BootDiskConfig",
622+
)
614623

615624

616625
class QueuedResource(proto.Message):
@@ -1953,4 +1962,66 @@ class ShieldedInstanceConfig(proto.Message):
19531962
)
19541963

19551964

1965+
class BootDiskConfig(proto.Message):
1966+
r"""Boot disk configurations.
1967+
1968+
Attributes:
1969+
customer_encryption_key (google.cloud.tpu_v2alpha1.types.CustomerEncryptionKey):
1970+
Optional. Customer encryption key for boot
1971+
disk.
1972+
enable_confidential_compute (bool):
1973+
Optional. Whether the boot disk will be
1974+
created with confidential compute mode.
1975+
"""
1976+
1977+
customer_encryption_key: "CustomerEncryptionKey" = proto.Field(
1978+
proto.MESSAGE,
1979+
number=1,
1980+
message="CustomerEncryptionKey",
1981+
)
1982+
enable_confidential_compute: bool = proto.Field(
1983+
proto.BOOL,
1984+
number=2,
1985+
)
1986+
1987+
1988+
class CustomerEncryptionKey(proto.Message):
1989+
r"""Customer's encryption key.
1990+
1991+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1992+
1993+
Attributes:
1994+
kms_key_name (str):
1995+
The name of the encryption key that is stored in Google
1996+
Cloud KMS. For example:
1997+
1998+
.. raw:: html
1999+
2000+
<pre class="lang-html">"kmsKeyName": "projects/
2001+
<var class="apiparam">kms_project_id</var>/locations/
2002+
<var class="apiparam">region</var>/keyRings/<var class="apiparam">
2003+
key_region</var>/cryptoKeys/<var class="apiparam">key</var>
2004+
</pre>
2005+
2006+
The fully-qualifed key name may be returned for resource GET
2007+
requests. For example:
2008+
2009+
.. raw:: html
2010+
2011+
<pre class="lang-html">"kmsKeyName": "projects/
2012+
<var class="apiparam">kms_project_id</var>/locations/
2013+
<var class="apiparam">region</var>/keyRings/<var class="apiparam">
2014+
key_region</var>/cryptoKeys/<var class="apiparam">key</var>
2015+
/cryptoKeyVersions/1</pre>
2016+
2017+
This field is a member of `oneof`_ ``key``.
2018+
"""
2019+
2020+
kms_key_name: str = proto.Field(
2021+
proto.STRING,
2022+
number=7,
2023+
oneof="key",
2024+
)
2025+
2026+
19562027
__all__ = tuple(sorted(__protobuf__.manifest))

0 commit comments

Comments
 (0)