39
39
UpdateCachedContentRequest ,
40
40
)
41
41
from google .cloud .aiplatform_v1 import types as types_v1
42
+ from google .cloud .aiplatform_v1beta1 .types import EncryptionSpec
42
43
from vertexai .generative_models import _generative_models
43
44
from vertexai .generative_models ._generative_models import (
44
45
Content ,
@@ -60,6 +61,7 @@ def _prepare_create_request(
60
61
expire_time : Optional [datetime .datetime ] = None ,
61
62
ttl : Optional [datetime .timedelta ] = None ,
62
63
display_name : Optional [str ] = None ,
64
+ kms_key_name : Optional [str ] = None ,
63
65
) -> CreateCachedContentRequest :
64
66
"""Prepares the request create_cached_content RPC."""
65
67
(
@@ -103,6 +105,7 @@ def _prepare_create_request(
103
105
expire_time = expire_time ,
104
106
ttl = ttl ,
105
107
display_name = display_name ,
108
+ encryption_spec = EncryptionSpec (kms_key_name = kms_key_name ),
106
109
),
107
110
)
108
111
serialized_message_v1beta1 = type (request_v1beta1 ).serialize (request_v1beta1 )
@@ -175,6 +178,7 @@ def create(
175
178
expire_time : Optional [datetime .datetime ] = None ,
176
179
ttl : Optional [datetime .timedelta ] = None ,
177
180
display_name : Optional [str ] = None ,
181
+ kms_key_name : Optional [str ] = None ,
178
182
) -> "CachedContent" :
179
183
"""Creates a new cached content through the gen ai cache service.
180
184
@@ -213,6 +217,14 @@ def create(
213
217
default TTL on the API side will be used (currently 1 hour).
214
218
display_name:
215
219
The user-generated meaningful display name of the cached content.
220
+ kms_key_name:
221
+ Optional. Customer-managed encryption key. See
222
+ https://cloud.google.com/vertex-ai/docs/general/cmek for more
223
+ details. If this is set, then all created CachedContent objects
224
+ will be encrypted with the provided encryption key.
225
+ Allowed formats:
226
+
227
+ projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}
216
228
Returns:
217
229
A CachedContent object with only name and model_name specified.
218
230
Raises:
@@ -237,6 +249,7 @@ def create(
237
249
expire_time = expire_time ,
238
250
ttl = ttl ,
239
251
display_name = display_name ,
252
+ kms_key_name = kms_key_name ,
240
253
)
241
254
client = cls ._instantiate_client (location = location )
242
255
cached_content_resource = client .create_cached_content (request )
0 commit comments