
                         |   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dZ
ej                   ej                  ej                  j                         G d d	ej                                      Zej                   ej                  ej                  j                          G d
 dej                                      Zy)z;Lists supported model servers for GKE Inference Quickstart.    )util)base)commands)
exceptions)logzt
To list all supported model servers for a model, run:

$ {command} --model=deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
c                   ,    e Zd ZdZed        Zd Zd Zy)ListzList supported model servers for a given model.

  To get supported models, run `gcloud container ai profiles models
  list`.
  c                 ,    | j                  ddd       y Nz--modelTz
The model.)requiredhelpadd_argumentparsers    7lib/surface/container/ai/profiles/model_servers/list.pyArgsz	List.Args(       
      c                    t        j                  t        j                  j                        }t        j
                  t        j                  j                        }	 |j                  |j                        }|j                  j                  |      }|j                  r|j                  S g S # t        j                  $ rF}t        j                  d|        t        j                  j                  d|        g cY d }~S d }~ww xY w)N)modelAn error has occurred: )r   GetClientInstancer   ReleaseTrackGAGetMessagesModule&GkerecommenderModelServersFetchRequestr   modelServersFetchr   Errorr   errorstatusPrintselfargsclientmessagesrequestresponsees          r   RunzList.Run0   s    ##D$5$5$8$89F%%d&7&7&:&:;H??

 @ g $$**73h			$$$	 	ii)!-.	jj045i%   AB- +B- -D ;D;DDc                     |rGt         j                  j                  d       |D ]"  }t         j                  j                  d|       $ y t         j                  j                  d       y NzSupported model servers:z- z!No supported model servers found.r   outr#   r%   _	resourcesmodel_server_names       r   DisplayzList.DisplayB   G    	ggmm./(
d-.  ) 
ggmm78r   N__name__
__module____qualname____doc__staticmethodr   r,   r6    r   r   r	   r	      s%      $9r   r	   c                   ,    e Zd ZdZed        Zd Zd Zy)	ListAlphaa  List supported model servers for a given model.

  To get supported models, run `gcloud alpha container ai profiles models
  list` or to get all supported model and server combinations, run `gcloud alpha
  container ai profiles model-and-server-combinations
  list`.
  c                 ,    | j                  ddd       y r   r   r   s    r   r   zListAlpha.ArgsV   r   r   c                    t        j                  t        j                  j                        }t        j
                  t        j                  j                        }	 |j                  |j                        }|j                  j                  |      }|j                  r|j                  S g S # t        j                  $ rF}t        j                  d|        t        j                  j!                  d|        g cY d }~S d }~ww xY w)N)	modelNamer   )r   r   r   r   ALPHAr   %GkerecommenderModelServersListRequestr   r   r	   modelServerNamesr   r    r   r!   r"   r#   r$   s          r   r,   zListAlpha.Run^   s    ##D$5$5$;$;<F%%d&7&7&=&=>H>>JJ ? g $$))'2h		"	"(((	 	ii)!-.	jj045ir-   c                     |rGt         j                  j                  d       |D ]"  }t         j                  j                  d|       $ y t         j                  j                  d       y r/   r0   r2   s       r   r6   zListAlpha.Displayp   r7   r   Nr8   r>   r   r   r@   r@   K   s%      $9r   r@   N)r<   %googlecloudsdk.api_lib.ai.recommenderr   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   googlecloudsdk.corer   r   _EXAMPLEDefaultUniverseOnlyReleaseTracksr   r   r	   rD   r@   r>   r   r   <module>rO      s    B 6 ( 3 * # D%%(()'98== '9 * '9T D%%++,)9 )9 - )9r   