
    i                     v   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dlm	Z	 ddl
mZ dd	lmZ dd
lmZ ddlmZ ej"                   ej$                  ej&                  j(                  ej&                  j*                        ej,                   G d dej.                                             Zddde_        y)zCommand for activating spokes.    )absolute_import)division)unicode_literals)networkconnectivity_api)networkconnectivity_util)waiter)base)flags)log)	resourcesc                   &    e Zd ZdZed        Zd Zy)ActivatezActivate a spoke.

  Activate a previously deactivated spoke. By activating a spoke,
  you permit connectivity between it and any other spokes that are
  attached to the same hub.
  c                     t        j                  | d       t        j                  | d       t        j                  |        y )Nzto activateT)hide_global_arg)r
   AddSpokeResourceArgAddRegionGroupAddAsyncFlag)parsers    3lib/surface/network_connectivity/spokes/activate.pyArgszActivate.Args*   s0    	fm4	6	v    c                 *   t        j                  | j                               }|j                  j                  j                         }|j                  |      }t        j                  j                  dj                  |j                                      t        j                  j                  |j                  dt         j"                  | j                                  }t%        j&                  |j(                  |j*                        }|j,                  r|j/                  |      S |j0                  r:t        j                  j                  dj                  |j                               |S t        j                  j                  |j                  dt         j"                  | j                                  }t%        j&                  |j(                  |j*                        }t%        j2                  ||dj                  |j                              }|S )N)release_trackz!Activate request issued for: [{}]z1networkconnectivity.projects.locations.operations)
collectionapi_versionz Check operation [{}] for status.z&Waiting for operation [{}] to complete)r   SpokesClientReleaseTrackCONCEPTSspokeParser   r   statusPrintformatNamer   REGISTRYParseRelativeNamenamer   VERSION_MAPr   CloudOperationPollerspoke_serviceoperation_servicedone	GetResultasync_WaitFor)selfargsclient	spoke_refop_refop_resourcepollerress           r   RunzActivate.Run0   s   $11'')+F##))+I__Y'FJJ8??  $$66F,889J9J9LM 7 OK (()=)=)/)A)ACF {{k**{{	jj9@@MNm$$66F,889J9J9LM 7 OK (()=)=)/)A)ACF
..077DFC Jr   N)__name__
__module____qualname____doc__staticmethodr   r8    r   r   r   r      s       
 r   r   z}   To activate a spoke named ``myspoke'' in the ``us-central1'' region, run:

    $ {command} myspoke --region=us-central1
  z   This command uses the networkconnectivity/v1 API. The full documentation
  for this API can be found at:
  https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest
  )EXAMPLESzAPI REFERENCEN)r<   
__future__r   r   r   +googlecloudsdk.api_lib.network_connectivityr   r   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   /googlecloudsdk.command_lib.network_connectivityr
   googlecloudsdk.corer   r   HiddenReleaseTracksr   BETAGADefaultUniverseOnlyCommandr   detailed_helpr>   r   r   <module>rM      s     % &  ' O P . ( A # ) D%%**D,=,=,@,@A.t|| .  B .f		 r   