@@ -76,6 +76,38 @@ def _AgentEngineOperation_from_vertex(
7676 return to_object
7777
7878
79+ def _CancelQueryJobAgentEngineConfig_to_vertex (
80+ from_object : Union [dict [str , Any ], object ],
81+ parent_object : Optional [dict [str , Any ]] = None ,
82+ ) -> dict [str , Any ]:
83+ to_object : dict [str , Any ] = {}
84+
85+ if getv (from_object , ["operation_name" ]) is not None :
86+ setv (parent_object , ["operationName" ], getv (from_object , ["operation_name" ]))
87+
88+ return to_object
89+
90+
91+ def _CancelQueryJobAgentEngineRequestParameters_to_vertex (
92+ from_object : Union [dict [str , Any ], object ],
93+ parent_object : Optional [dict [str , Any ]] = None ,
94+ ) -> dict [str , Any ]:
95+ to_object : dict [str , Any ] = {}
96+ if getv (from_object , ["name" ]) is not None :
97+ setv (to_object , ["_url" , "name" ], getv (from_object , ["name" ]))
98+
99+ if getv (from_object , ["config" ]) is not None :
100+ setv (
101+ to_object ,
102+ ["config" ],
103+ _CancelQueryJobAgentEngineConfig_to_vertex (
104+ getv (from_object , ["config" ]), to_object
105+ ),
106+ )
107+
108+ return to_object
109+
110+
79111def _CheckQueryJobAgentEngineConfig_to_vertex (
80112 from_object : Union [dict [str , Any ], object ],
81113 parent_object : Optional [dict [str , Any ]] = None ,
@@ -720,6 +752,85 @@ def _UpdateAgentEngineRequestParameters_to_vertex(
720752
721753class AgentEngines (_api_module .BaseModule ):
722754
755+ def cancel_query_job (
756+ self ,
757+ * ,
758+ name : str ,
759+ config : Optional [types .CancelQueryJobAgentEngineConfigOrDict ] = None ,
760+ ) -> types .CancelQueryJobResult :
761+ """
762+ Cancels a long-running query job on an Agent Engine.
763+
764+ Args:
765+ name (str):
766+ Required. The reasoning engine resource name.
767+ config (CancelQueryJobAgentEngineConfigOrDict):
768+ Optional. The configuration for the cancel_query_job.
769+
770+ """
771+
772+ parameter_model = types ._CancelQueryJobAgentEngineRequestParameters (
773+ name = name ,
774+ config = config ,
775+ )
776+
777+ request_url_dict : Optional [dict [str , str ]]
778+ if not self ._api_client .vertexai :
779+ raise ValueError ("This method is only supported in the Vertex AI client." )
780+ else :
781+ request_dict = _CancelQueryJobAgentEngineRequestParameters_to_vertex (
782+ parameter_model
783+ )
784+ request_url_dict = request_dict .get ("_url" )
785+ if request_url_dict :
786+ path = "{name}:cancelAsyncQuery" .format_map (request_url_dict )
787+ else :
788+ path = "{name}:cancelAsyncQuery"
789+
790+ query_params = request_dict .get ("_query" )
791+ if query_params :
792+ path = f"{ path } ?{ urlencode (query_params )} "
793+ # TODO: remove the hack that pops config.
794+ request_dict .pop ("config" , None )
795+
796+ http_options : Optional [types .HttpOptions ] = None
797+ if (
798+ parameter_model .config is not None
799+ and parameter_model .config .http_options is not None
800+ ):
801+ http_options = parameter_model .config .http_options
802+
803+ request_dict = _common .convert_to_dict (request_dict )
804+ request_dict = _common .encode_unserializable_types (request_dict )
805+
806+ response = self ._api_client .request ("post" , path , request_dict , http_options )
807+
808+ response_dict = {} if not response .body else json .loads (response .body )
809+
810+ return_value = types .CancelQueryJobResult ._from_response (
811+ response = response_dict ,
812+ kwargs = (
813+ {
814+ "config" : {
815+ "response_schema" : getattr (
816+ parameter_model .config , "response_schema" , None
817+ ),
818+ "response_json_schema" : getattr (
819+ parameter_model .config , "response_json_schema" , None
820+ ),
821+ "include_all_fields" : getattr (
822+ parameter_model .config , "include_all_fields" , None
823+ ),
824+ }
825+ }
826+ if getattr (parameter_model , "config" , None )
827+ else {}
828+ ),
829+ )
830+
831+ self ._api_client ._verify_response (return_value )
832+ return return_value
833+
723834 def _check_query_job (
724835 self ,
725836 * ,
@@ -2971,6 +3082,87 @@ def list_session_events(
29713082
29723083class AsyncAgentEngines (_api_module .BaseModule ):
29733084
3085+ async def cancel_query_job (
3086+ self ,
3087+ * ,
3088+ name : str ,
3089+ config : Optional [types .CancelQueryJobAgentEngineConfigOrDict ] = None ,
3090+ ) -> types .CancelQueryJobResult :
3091+ """
3092+ Cancels a long-running query job on an Agent Engine.
3093+
3094+ Args:
3095+ name (str):
3096+ Required. The reasoning engine resource name.
3097+ config (CancelQueryJobAgentEngineConfigOrDict):
3098+ Optional. The configuration for the cancel_query_job.
3099+
3100+ """
3101+
3102+ parameter_model = types ._CancelQueryJobAgentEngineRequestParameters (
3103+ name = name ,
3104+ config = config ,
3105+ )
3106+
3107+ request_url_dict : Optional [dict [str , str ]]
3108+ if not self ._api_client .vertexai :
3109+ raise ValueError ("This method is only supported in the Vertex AI client." )
3110+ else :
3111+ request_dict = _CancelQueryJobAgentEngineRequestParameters_to_vertex (
3112+ parameter_model
3113+ )
3114+ request_url_dict = request_dict .get ("_url" )
3115+ if request_url_dict :
3116+ path = "{name}:cancelAsyncQuery" .format_map (request_url_dict )
3117+ else :
3118+ path = "{name}:cancelAsyncQuery"
3119+
3120+ query_params = request_dict .get ("_query" )
3121+ if query_params :
3122+ path = f"{ path } ?{ urlencode (query_params )} "
3123+ # TODO: remove the hack that pops config.
3124+ request_dict .pop ("config" , None )
3125+
3126+ http_options : Optional [types .HttpOptions ] = None
3127+ if (
3128+ parameter_model .config is not None
3129+ and parameter_model .config .http_options is not None
3130+ ):
3131+ http_options = parameter_model .config .http_options
3132+
3133+ request_dict = _common .convert_to_dict (request_dict )
3134+ request_dict = _common .encode_unserializable_types (request_dict )
3135+
3136+ response = await self ._api_client .async_request (
3137+ "post" , path , request_dict , http_options
3138+ )
3139+
3140+ response_dict = {} if not response .body else json .loads (response .body )
3141+
3142+ return_value = types .CancelQueryJobResult ._from_response (
3143+ response = response_dict ,
3144+ kwargs = (
3145+ {
3146+ "config" : {
3147+ "response_schema" : getattr (
3148+ parameter_model .config , "response_schema" , None
3149+ ),
3150+ "response_json_schema" : getattr (
3151+ parameter_model .config , "response_json_schema" , None
3152+ ),
3153+ "include_all_fields" : getattr (
3154+ parameter_model .config , "include_all_fields" , None
3155+ ),
3156+ }
3157+ }
3158+ if getattr (parameter_model , "config" , None )
3159+ else {}
3160+ ),
3161+ )
3162+
3163+ self ._api_client ._verify_response (return_value )
3164+ return return_value
3165+
29743166 async def _check_query_job (
29753167 self ,
29763168 * ,
0 commit comments