
    9i                         S r SSKrSSKJr  SSKJrJrJrJrJ	r	J
r
  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  S r " S S5      rg)z2
This module provides a client class for AIHC V2.
    N)wraps)AnyDictOptionalUnionListget_type_hints)	JobClient)DatasetClient)ModelClient)ServiceClient)DevInstanceClient)ResourcePoolClientc                   ^ [        X5      m[        R                  " T5      n[        T5      U4S j5       nX#l        TR
                  Ul        [        TS5      (       a  TR                  Ul        [        TS5      (       a  TR                  Ul        [        TS5      (       a  TR                  Ul	         [        T5      nXCl        U$ ! [         a    TR
                  Ul         U$ f = f)u   
创建带有完整类型信息的代理方法

这个函数会：
1. 获取原始方法的完整签名和类型注解
2. 创建一个新的代理方法，保持所有类型信息
3. 确保IDE能够正确识别类型提示
c                     > T" U 0 UD6$ )uD   
代理方法，用于调用原始目标方法并保持类型信息
 )argskwargsoriginal_methods     b/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/baidubce/services/aihc/aihc_client.pyproxy_method/create_typed_proxy_method.<locals>.proxy_method+   s    
 ///    
__module____qualname____name__)getattrinspect	signaturer   __signature____annotations__hasattrr   r   r   r	   	Exception)target_clientmethod_namesigr   
type_hintsr   s        @r   create_typed_proxy_methodr(      s     m9O 

O
,C ?0 0 "%#2#B#BL  --"1"<"<//$3$@$@!
++ / 8 8G#O4
'1$
 	  G'6'F'F$	Gs   5C C'&C'c                   (    \ rS rSrSrSS jrS rSrg)
AihcClientI   u  
AIHC主客户端，适配V2版本OpenAPI

该客户端提供了对AIHC各个模块功能的统一访问接口，
包括任务管理、数据集管理、模型管理、在线服务和开发机管理等功能。

使用示例:
    >>> from baidubce.services.aihc.aihc_client import AihcClient
    >>> client = AihcClient(config)
    >>> jobs = client.DescribeJobs(resourcePoolId="xxx")
Nc                     [        U5      U l        [        U5      U l        [	        U5      U l        [        U5      U l        [        U5      U l	        [        U5      U l        U R                  5         g)u   
初始化AIHC V2客户端

Args:
    config: 配置对象
        baidubce.bce_client_configuration.BceClientConfiguration实例
N)r
   jobr   datasetr   modelr   servicer   dev_instancer   resource_pool_setup_proxy_methods)selfconfigs     r   __init__AihcClient.__init__V   s\     V$$V, (
$V,-f5/7 	!!#r   c           	          / SQn/ SQn/ SQn/ SQn/ SQn/ SQnU H#  n[        X[        U R                  U5      5        M%     U H#  n[        X[        U R                  U5      5        M%     U H#  n[        X[        U R                  U5      5        M%     U H#  n[        X[        U R
                  U5      5        M%     U H#  n[        X[        U R                  U5      5        M%     U H#  n[        X[        U R                  U5      5        M%     g)us   
设置代理方法

为各个子模块的方法创建代理，使主客户端可以直接调用子模块的方法
)DescribeJobsDescribeJob	DeleteJob	ModifyJobDescribeJobEventsDescribeJobLogsDescribeJobPodEventsStopJobDescribeJobNodesDescribeJobWebterminal	CreateJobDescribeJobMetrics)	DescribeDatasetsDescribeDatasetModifyDatasetDeleteDatasetCreateDatasetDescribeDatasetVersionsDescribeDatasetVersionDeleteDatasetVersionCreateDatasetVersion)	DescribeModelsCreateModelDeleteModelModifyModelDescribeModelDescribeModelVersionsDescribeModelVersionCreateModelVersionDeleteModelVersion)DescribeServicesDescribeServiceDescribeServiceStatusCreateServiceDeleteServiceModifyServiceModifyServiceReplicasUpgradeServiceDescribeServicePodsDeleteServicePodDisableServicePodModifyServiceNetConfigDescribeServicePodGroupsDescribeServiceChangelogsDescribeServiceChangelog)DescribeDevInstancesDescribeDevInstanceStartDevInstanceStopDevInstanceCreateDevInstanceDeleteDevInstanceModifyDevInstanceDescribeDevInstanceEventsCreateDevInstanceImagePackJobDescribeDevInstanceImagePackJobTimedStopDevInstance)DescribeResourcePoolsDescribeResourcePoolDescribeResourcePoolOverview!DescribeResourcePoolConfigurationDescribeQueuesDescribeQueueN)setattrr(   r-   r.   r/   r0   r1   r2   )r4   job_methodsdataset_methodsmodel_methodsservice_methodsdev_instance_methodsresource_pool_methodsr%   s           r   r3   AihcClient._setup_proxy_methodsh   s    



 
!
 'KD'@;'WX ' +KD'@{'[\ + )KD'@['YZ ) +KD'@{'[\ + 0KD'@ARART_'`a 0 1KD'@ASASU`'ab 1r   )r.   r1   r-   r/   r2   r0   )N)r   r   r   __firstlineno____doc__r6   r3   __static_attributes__r   r   r   r*   r*   I   s    
$$Ccr   r*   )r   r   	functoolsr   typingr   r   r   r   r   r	   -baidubce.services.aihc.modules.job.job_clientr
   5baidubce.services.aihc.modules.dataset.dataset_clientr   1baidubce.services.aihc.modules.model.model_clientr   5baidubce.services.aihc.modules.service.service_clientr   ?baidubce.services.aihc.modules.dev_instance.dev_instance_clientr   Abaidubce.services.aihc.modules.resource_pool.resource_pool_clientr   r(   r*   r   r   r   <module>r      s>      C C C O I O ] `*Zbc bcr   