
                         x   S 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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r\	R(                  " \	R*                  R,                  5       " S S\	R.                  5      5       r\	R(                  " \	R*                  R2                  5       " S S\5      5       rg)z-Command to upgrade an Edge Container cluster.    )absolute_import)division)unicode_literals)cluster)util)base)flags)print_warning)resource_args)log)	resourcesz
To upgrade an Edge Container cluster to 1.5.1 immediately, run:

$ {command} my-cluster --version=1.5.1 --schedule=IMMEDIATELY
z
  This command uses the edgecontainer/{API} API. The full documentation for this
  API can be found at: https://cloud.google.com/edge-cloud
c                       \ rS rSrSr\\R                  \R                  R                  \R                  R                  5      S9S.r\S 5       rS rSrg)	Upgrade*   "Upgrade an Edge Container cluster.API)EXAMPLESAPI REFERENCEc                     [         R                  " U S5        [        R                  " U 5        [        R                  " U 5        g )Nz
to upgrade)r   AddClusterResourceArgcontainer_flagsAddUpgradeVersionAddUpgradeSchedule)parsers    4lib/surface/edge_cloud/container/clusters/upgrade.pyArgsUpgrade.Args5   s.    ''=%%f-&&v.    c                    [         R                  " U5      n[         R                  " XR                  5       5      n[        R
                  " U R                  5       5      nUR                  R                  U5      n[        R                  R                  UR                  SS9n[        R                  R                  SR                  UR                   UR#                  5       S95        [$        R&                  " US 5      $ )Nz+edgecontainer.projects.locations.operations)
collectionzQUpgrade request issued for: [{cluster}]
Check operation [{operation}] for status.)r   	operation)r   GetClusterReferenceGetClusterUpgradeRequestReleaseTrackr   GetClientInstanceprojects_locations_clustersr   r   REGISTRYParseRelativeNamenamer   statusPrintformat
clustersIdRelativeNamer
   PrintWarning)selfargscluster_refreqcluster_clientopop_refs          r   RunUpgrade.Run;   s    --d3K

*
*41B1B1D
EC++D,=,=,?@N		3	3	;	;C	@B11
I 2 F JJ	v**f6I6I6K  
 %%b$//r    N)__name__
__module____qualname____firstlineno____doc__	_EXAMPLES_API_REFERENCE_r-   r   VERSION_MAPgetr   r%   GAdetailed_helpstaticmethodr   r8   __static_attributes__r:   r   r   r   r   *   s]    * &--""4#4#4#7#78 . - / /
0r   r   c                   V    \ rS rSrSr\\R                  R                  4S j5       r	Sr
g)UpgradeAlphaN   r   c                     [         R                  [        R                  R	                  U5      S9[
        R                  S'   [
        R                  U 5        g )Nr   r   )rA   r-   r   rB   rC   r   rE   r   )r   tracks     r   r   UpgradeAlpha.ArgsR   sE    -<-C-C  ' .D .G/* LLr   r:   N)r;   r<   r=   r>   r?   rF   r   r%   ALPHAr   rG   r:   r   r   rI   rI   N   s&    ***00  r   rI   N)r?   
__future__r   r   r   +googlecloudsdk.api_lib.edge_cloud.containerr   r   googlecloudsdk.callioper   /googlecloudsdk.command_lib.edge_cloud.containerr	   r   r
   r   googlecloudsdk.corer   r   r@   rA   ReleaseTracksr%   rD   Commandr   rN   rI   r:   r   r   <module>rV      s    4 &  ' ? < ( T I I # )	 D%%(() 0dll  0 * 0F D%%++,7  -r   