3939 UpdateCachedContentRequest ,
4040)
4141from google .cloud .aiplatform_v1 import types as types_v1
42+ from google .cloud .aiplatform_v1beta1 .types import EncryptionSpec
4243from vertexai .generative_models import _generative_models
4344from vertexai .generative_models ._generative_models import (
4445 Content ,
@@ -60,6 +61,7 @@ def _prepare_create_request(
6061 expire_time : Optional [datetime .datetime ] = None ,
6162 ttl : Optional [datetime .timedelta ] = None ,
6263 display_name : Optional [str ] = None ,
64+ kms_key_name : Optional [str ] = None ,
6365) -> CreateCachedContentRequest :
6466 """Prepares the request create_cached_content RPC."""
6567 (
@@ -103,6 +105,7 @@ def _prepare_create_request(
103105 expire_time = expire_time ,
104106 ttl = ttl ,
105107 display_name = display_name ,
108+ encryption_spec = EncryptionSpec (kms_key_name = kms_key_name ),
106109 ),
107110 )
108111 serialized_message_v1beta1 = type (request_v1beta1 ).serialize (request_v1beta1 )
@@ -175,6 +178,7 @@ def create(
175178 expire_time : Optional [datetime .datetime ] = None ,
176179 ttl : Optional [datetime .timedelta ] = None ,
177180 display_name : Optional [str ] = None ,
181+ kms_key_name : Optional [str ] = None ,
178182 ) -> "CachedContent" :
179183 """Creates a new cached content through the gen ai cache service.
180184
@@ -213,6 +217,14 @@ def create(
213217 default TTL on the API side will be used (currently 1 hour).
214218 display_name:
215219 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}
216228 Returns:
217229 A CachedContent object with only name and model_name specified.
218230 Raises:
@@ -237,6 +249,7 @@ def create(
237249 expire_time = expire_time ,
238250 ttl = ttl ,
239251 display_name = display_name ,
252+ kms_key_name = kms_key_name ,
240253 )
241254 client = cls ._instantiate_client (location = location )
242255 cached_content_resource = client .create_cached_content (request )
0 commit comments