
                         T   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
rSr\R                   " \R"                  R$                  5       " S S\R&                  5      5       r\R                   " \R"                  R*                  5       " S S\5      5       rg)z-Command to upgrade an Edge Container cluster.    )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.Args2   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.Run8   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   r5   __static_attributes__r7   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)UpgradeAlphaK   r   c                     [         R                  [        R                  R	                  U5      S9[
        R                  S'   [
        R                  U 5        g )Nr   r   )r>   r*   r   r?   r@   r   rB   r   )r   tracks     r   r   UpgradeAlpha.ArgsO   sE    -<-C-C  ' .D .G/* LLr   r7   N)r8   r9   r:   r;   r<   rC   r   r"   ALPHAr   rD   r7   r   r   rF   rF   K   s&    ***00  r   rF   N)r<   +googlecloudsdk.api_lib.edge_cloud.containerr   r   googlecloudsdk.callioper   /googlecloudsdk.command_lib.edge_cloud.containerr   r   r   r   googlecloudsdk.corer	   r
   r=   r>   ReleaseTracksr"   rA   Commandr   rK   rF   r7   r   r   <module>rR      s    4 @ < ( T I I # )	 D%%(() 0dll  0 * 0F D%%++,7  -r   