@@ -462,6 +462,7 @@ def deploy(
462462 serving_container_health_probe_timeout_seconds : Optional [int ] = None ,
463463 enable_private_service_connect : bool = False ,
464464 psc_project_allow_list : Optional [Sequence [str ]] = None ,
465+ service_account : Optional [str ] = None ,
465466 ) -> aiplatform .Endpoint :
466467 """Deploys an Open Model to an endpoint.
467468
@@ -601,6 +602,9 @@ def deploy(
601602 connect.
602603 psc_project_allow_list (Sequence[str]): The list of projects that are
603604 allowed to access the endpoint over private service connect.
605+ service_account (str): Optional. The service account that the
606+ deployed model runs as. The caller must have the
607+ `iam.serviceAccounts.actAs` permission on this service account.
604608
605609 Returns:
606610 endpoint (aiplatform.Endpoint):
@@ -683,6 +687,9 @@ def deploy(
683687 if system_labels :
684688 request .deploy_config .system_labels = system_labels
685689
690+ if service_account :
691+ request .deploy_config .service_account = service_account
692+
686693 if serving_container_spec :
687694 if not serving_container_spec .image_uri :
688695 raise ValueError (
@@ -1126,6 +1133,7 @@ def deploy(
11261133 enable_private_service_connect : bool = False ,
11271134 psc_project_allow_list : Optional [List [str ]] = None ,
11281135 deploy_request_timeout : Optional [float ] = None ,
1136+ service_account : Optional [str ] = None ,
11291137 ) -> aiplatform .Endpoint :
11301138 """Deploys a Custom Model to an endpoint.
11311139
@@ -1174,6 +1182,9 @@ def deploy(
11741182 access the endpoint over private service connect.
11751183 deploy_request_timeout: The timeout for the deploy request. Default is 2
11761184 hours.
1185+ service_account (str): Optional. The service account that the
1186+ deployed model runs as. The caller must have the
1187+ `iam.serviceAccounts.actAs` permission on this service account.
11771188
11781189 Returns:
11791190 endpoint (aiplatform.Endpoint):
@@ -1194,6 +1205,7 @@ def deploy(
11941205 enable_private_service_connect = enable_private_service_connect ,
11951206 psc_project_allow_list = psc_project_allow_list ,
11961207 deploy_request_timeout = deploy_request_timeout ,
1208+ service_account = service_account ,
11971209 )
11981210
11991211 def _deploy_model_registry_model (self ) -> aiplatform .Endpoint :
@@ -1218,6 +1230,7 @@ def _deploy_gcs_uri(
12181230 endpoint_display_name : Optional [str ] = None ,
12191231 model_display_name : Optional [str ] = None ,
12201232 deploy_request_timeout : Optional [float ] = None ,
1233+ service_account : Optional [str ] = None ,
12211234 ) -> aiplatform .Endpoint :
12221235 """Deploys a Custom Model to an endpoint.
12231236
@@ -1268,6 +1281,9 @@ def _deploy_gcs_uri(
12681281 access the endpoint over private service connect.
12691282 deploy_request_timeout: The timeout for the deploy request. Default is 2
12701283 hours.
1284+ service_account (str): Optional. The service account that the
1285+ deployed model runs as. The caller must have the
1286+ `iam.serviceAccounts.actAs` permission on this service account.
12711287
12721288 Returns:
12731289 endpoint (aiplatform.Endpoint):
@@ -1296,6 +1312,8 @@ def has_all_or_none_values(var1, var2, var3) -> bool:
12961312 request .model_config .model_display_name = model_display_name
12971313 if system_labels :
12981314 request .deploy_config .system_labels = system_labels
1315+ if service_account :
1316+ request .deploy_config .service_account = service_account
12991317
13001318 if enable_private_service_connect and psc_project_allow_list :
13011319 request .endpoint_config .private_service_connect_config = (
@@ -1407,6 +1425,7 @@ def deploy(
14071425 endpoint_display_name : Optional [str ] = None ,
14081426 model_display_name : Optional [str ] = None ,
14091427 deploy_request_timeout : Optional [float ] = None ,
1428+ service_account : Optional [str ] = None ,
14101429 ) -> aiplatform .Endpoint :
14111430 """Deploys an Open Model to an endpoint.
14121431
@@ -1439,6 +1458,9 @@ def deploy(
14391458 model_display_name: The display name of the uploaded model.
14401459 deploy_request_timeout: The timeout for the deploy request. Default is 2
14411460 hours.
1461+ service_account (str): Optional. The service account that the
1462+ deployed model runs as. The caller must have the
1463+ `iam.serviceAccounts.actAs` permission on this service account.
14421464
14431465 Returns:
14441466 endpoint (aiplatform.Endpoint):
@@ -1469,6 +1491,9 @@ def deploy(
14691491 )
14701492 request .deploy_config .dedicated_resources = dedicated_resources
14711493
1494+ if service_account :
1495+ request .deploy_config .service_account = service_account
1496+
14721497 _LOGGER .info (f"Deploying model: { self ._model_name } " )
14731498
14741499 operation_future = self ._model_garden_client .deploy (request )
0 commit comments