
    3                     z    S r SSKJr  SSKJr  SSKJr  S r " S S\5      r " S S	\5      r " S
 S\5      r	S r
g)zEAPI library for managing the autoscalers of a managed instance group.    )absolute_import)division)unicode_literalsc                 (    U R                  5       S:H  $ )z/Checks if reference to instance group is zonal.zcompute.instanceGroupManagers)
Collection)refs    Ilib/googlecloudsdk/api_lib/compute/instance_groups/managed/autoscalers.py_IsZonalGroupr
      s    		<	<<    c                   `    \ rS rSrSrSS jr\S 5       rS r\S 5       r	S r
S	 rS
 rS rSrg)Client   z%API client class for MIG Autoscalers.Nc                     Xl         g N_client)selfclients     r	   __init__Client.__init__   s    Lr   c                     [         er   NotImplementedErrorr   s    r	   _serviceClient._service"   s    
r   c                     [         er   r   r   requestigm_refs      r	   _ScopeRequestClient._ScopeRequest&   s    
r   c                 B    U R                   R                  R                  $ r   )r   messages
Autoscalerr   s    r	   message_typeClient.message_type)   s    <<  +++r   c                     U R                   R                  S5      " UR                  UR                  US9nU R	                  X15        U R
                  R                  U R                   SU4/5      $ )NUpdateproject
autoscalerautoscalerResourcer   GetRequestTyper+   namer!   r   MakeRequestsr   r    autoscaler_resourcer   s       r	   r)   Client.Update-   sa    mm**84&++.0G 	w(<<$$t}}h&H%IJJr   c                     U R                   R                  S5      " UR                  UR                  US9nU R	                  X15        U R
                  R                  U R                   SU4/5      $ )NPatchr*   r.   r2   s       r	   r6   Client.Patch5   sa    mm**73&++.0G 	w(<<$$t}}gw&G%HIIr   c                     U R                   R                  S5      " UR                  US9nU R                  X15        U R                  R                  U R                   SU4/5      $ )NInsertr+   r,   r   r/   r+   r!   r   r1   r2   s       r	   r9   Client.Insert=   sX    mm**84&G 	w(<<$$t}}h&H%IJJr   c                     U R                   R                  S5      " UR                  US9nU R                  X15        U R                  R                  U R                   SU4/5      $ )NDeleter:   r;   )r   r    autoscaler_namer   s       r	   r>   Client.DeleteE   sX    mm**84"$G 	w(<<$$t}}h&H%IJJr   r   r   )__name__
__module____qualname____firstlineno____doc__r   propertyr   r!   r&   r)   r6   r9   r>   __static_attributes__ r   r	   r   r      sO    -   , ,KJKKr   r   c                   *    \ rS rSr\S 5       rS rSrg)RegionalClientM   c                 B    U R                   R                  R                  $ r   )r   apitools_clientregionAutoscalersr   s    r	   r   RegionalClient._serviceO   s    <<''999r   c                 &    UR                   Ul         g r   )regionr   s      r	   r!   RegionalClient._ScopeRequestS   s    ^^GNr   rH   NrA   rB   rC   rD   rF   r   r!   rG   rH   r   r	   rJ   rJ   M   s    : :$r   rJ   c                   *    \ rS rSr\S 5       rS rSrg)ZonalClientW   c                 B    U R                   R                  R                  $ r   )r   rM   autoscalersr   s    r	   r   ZonalClient._serviceY   s    <<''333r   c                 &    UR                   Ul         g r   )zoner   s      r	   r!   ZonalClient._ScopeRequest]   s    <<GLr   rH   NrS   rH   r   r	   rU   rU   W   s    4 4 r   rU   c                 N    [        U5      (       a  [        U 5      $ [        U 5      $ r   )r
   rU   rJ   )r   r    s     r	   	GetClientr^   a   s#    7v&!!r   N)rE   
__future__r   r   r   r
   objectr   rJ   rU   r^   rH   r   r	   <module>ra      sG    L '  '=
.KV .Kb$V $ &  "r   