2222from . import _extra_utils
2323from . import _transformers as t
2424from . import types
25- from ._api_client import ApiClient
25+ from ._api_client import ApiClient , HttpOptionsDict
2626from ._common import get_value_by_path as getv
2727from ._common import set_value_by_path as setv
2828from .pagers import AsyncPager , Pager
@@ -2280,6 +2280,9 @@ def _ListModelsConfig_to_mldev(
22802280 parent_object : dict = None ,
22812281) -> dict :
22822282 to_object = {}
2283+ if getv (from_object , ['http_options' ]) is not None :
2284+ setv (to_object , ['httpOptions' ], getv (from_object , ['http_options' ]))
2285+
22832286 if getv (from_object , ['page_size' ]) is not None :
22842287 setv (
22852288 parent_object , ['_query' , 'pageSize' ], getv (from_object , ['page_size' ])
@@ -2295,6 +2298,13 @@ def _ListModelsConfig_to_mldev(
22952298 if getv (from_object , ['filter' ]) is not None :
22962299 setv (parent_object , ['_query' , 'filter' ], getv (from_object , ['filter' ]))
22972300
2301+ if getv (from_object , ['query_base' ]) is not None :
2302+ setv (
2303+ parent_object ,
2304+ ['_url' , 'models_url' ],
2305+ t .t_models_url (api_client , getv (from_object , ['query_base' ])),
2306+ )
2307+
22982308 return to_object
22992309
23002310
@@ -2304,6 +2314,9 @@ def _ListModelsConfig_to_vertex(
23042314 parent_object : dict = None ,
23052315) -> dict :
23062316 to_object = {}
2317+ if getv (from_object , ['http_options' ]) is not None :
2318+ setv (to_object , ['httpOptions' ], getv (from_object , ['http_options' ]))
2319+
23072320 if getv (from_object , ['page_size' ]) is not None :
23082321 setv (
23092322 parent_object , ['_query' , 'pageSize' ], getv (from_object , ['page_size' ])
@@ -2319,6 +2332,13 @@ def _ListModelsConfig_to_vertex(
23192332 if getv (from_object , ['filter' ]) is not None :
23202333 setv (parent_object , ['_query' , 'filter' ], getv (from_object , ['filter' ]))
23212334
2335+ if getv (from_object , ['query_base' ]) is not None :
2336+ setv (
2337+ parent_object ,
2338+ ['_url' , 'models_url' ],
2339+ t .t_models_url (api_client , getv (from_object , ['query_base' ])),
2340+ )
2341+
23222342 return to_object
23232343
23242344
@@ -3524,13 +3544,15 @@ def _ListModelsResponse_from_mldev(
35243544 if getv (from_object , ['nextPageToken' ]) is not None :
35253545 setv (to_object , ['next_page_token' ], getv (from_object , ['nextPageToken' ]))
35263546
3527- if getv (from_object , ['tunedModels ' ]) is not None :
3547+ if getv (from_object , ['_self ' ]) is not None :
35283548 setv (
35293549 to_object ,
35303550 ['models' ],
35313551 [
35323552 _Model_from_mldev (api_client , item , to_object )
3533- for item in getv (from_object , ['tunedModels' ])
3553+ for item in t .t_extract_models (
3554+ api_client , getv (from_object , ['_self' ])
3555+ )
35343556 ],
35353557 )
35363558
@@ -3546,13 +3568,15 @@ def _ListModelsResponse_from_vertex(
35463568 if getv (from_object , ['nextPageToken' ]) is not None :
35473569 setv (to_object , ['next_page_token' ], getv (from_object , ['nextPageToken' ]))
35483570
3549- if getv (from_object , ['models ' ]) is not None :
3571+ if getv (from_object , ['_self ' ]) is not None :
35503572 setv (
35513573 to_object ,
35523574 ['models' ],
35533575 [
35543576 _Model_from_vertex (api_client , item , to_object )
3555- for item in getv (from_object , ['models' ])
3577+ for item in t .t_extract_models (
3578+ api_client , getv (from_object , ['_self' ])
3579+ )
35563580 ],
35573581 )
35583582
@@ -4091,12 +4115,12 @@ def _list(
40914115 request_dict = _ListModelsParameters_to_vertex (
40924116 self .api_client , parameter_model
40934117 )
4094- path = 'models ' .format_map (request_dict .get ('_url' ))
4118+ path = '{models_url} ' .format_map (request_dict .get ('_url' ))
40954119 else :
40964120 request_dict = _ListModelsParameters_to_mldev (
40974121 self .api_client , parameter_model
40984122 )
4099- path = 'tunedModels ' .format_map (request_dict .get ('_url' ))
4123+ path = '{models_url} ' .format_map (request_dict .get ('_url' ))
41004124 query_params = request_dict .get ('_query' )
41014125 if query_params :
41024126 path = f'{ path } ?{ urlencode (query_params )} '
@@ -4523,17 +4547,24 @@ def list(
45234547 types ._ListModelsParameters (config = config ).config
45244548 or types .ListModelsConfig ()
45254549 )
4526-
45274550 if self .api_client .vertexai :
4528- # Filter for tuning jobs artifacts by labels.
45294551 config = config .copy ()
4530- filter_value = config .filter
4531- config .filter = (
4532- filter_value + '&filter=labels.tune-type:*'
4533- if filter_value
4534- else 'labels.tune-type:*'
4535- )
4536-
4552+ if config .query_base :
4553+ http_options = (
4554+ config .http_options if config .http_options else HttpOptionsDict ()
4555+ )
4556+ http_options ['skip_project_and_location_in_path' ] = True
4557+ config .http_options = http_options
4558+ else :
4559+ # Filter for tuning jobs artifacts by labels.
4560+ filter_value = config .filter
4561+ config .filter = (
4562+ filter_value + '&filter=labels.tune-type:*'
4563+ if filter_value
4564+ else 'labels.tune-type:*'
4565+ )
4566+ if not config .query_base :
4567+ config .query_base = False
45374568 return Pager (
45384569 'models' ,
45394570 self ._list ,
@@ -4999,12 +5030,12 @@ async def _list(
49995030 request_dict = _ListModelsParameters_to_vertex (
50005031 self .api_client , parameter_model
50015032 )
5002- path = 'models ' .format_map (request_dict .get ('_url' ))
5033+ path = '{models_url} ' .format_map (request_dict .get ('_url' ))
50035034 else :
50045035 request_dict = _ListModelsParameters_to_mldev (
50055036 self .api_client , parameter_model
50065037 )
5007- path = 'tunedModels ' .format_map (request_dict .get ('_url' ))
5038+ path = '{models_url} ' .format_map (request_dict .get ('_url' ))
50085039 query_params = request_dict .get ('_query' )
50095040 if query_params :
50105041 path = f'{ path } ?{ urlencode (query_params )} '
@@ -5366,16 +5397,24 @@ async def list(
53665397 types ._ListModelsParameters (config = config ).config
53675398 or types .ListModelsConfig ()
53685399 )
5369-
53705400 if self .api_client .vertexai :
5371- # Filter for tuning jobs artifacts by labels.
53725401 config = config .copy ()
5373- filter_value = config .filter
5374- config .filter = (
5375- filter_value + '&filter=labels.tune-type:*'
5376- if filter_value
5377- else 'labels.tune-type:*'
5378- )
5402+ if config .query_base :
5403+ http_options = (
5404+ config .http_options if config .http_options else HttpOptionsDict ()
5405+ )
5406+ http_options ['skip_project_and_location_in_path' ] = True
5407+ config .http_options = http_options
5408+ else :
5409+ # Filter for tuning jobs artifacts by labels.
5410+ filter_value = config .filter
5411+ config .filter = (
5412+ filter_value + '&filter=labels.tune-type:*'
5413+ if filter_value
5414+ else 'labels.tune-type:*'
5415+ )
5416+ if not config .query_base :
5417+ config .query_base = False
53795418 return AsyncPager (
53805419 'models' ,
53815420 self ._list ,
0 commit comments