
    y                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddlm
Z
 ej                   ej                  ej                  j                         G d	 d
ej                                      Zy)z'The super-group for the update manager.    )absolute_import)division)unicode_literalsN)base)config)logc                   >    e Zd ZdZej
                  Zed        Zd Z	y)
Componentsa  List, install, update, or remove Google Cloud CLI components.

  The {command} command group lets you control which tools are installed
  in the Google Cloud CLI. It can be used to install, update and remove
  components of the Google Cloud CLI, ensuring a lean, up-to-date installation.

  {command} regularly checks whether updates are available for the
  tools you already have installed, and gives you the opportunity to upgrade to
  the latest version.

  Certain components have dependencies. {command} will install any dependencies,
  and during removal, any dependant components will be uninstalled
  automatically.

  ## EXAMPLES

  To see all available components:

    $ {command} list

  To install a component you don't have:

    $ {command} install COMPONENT

  To remove a component you no longer need:

    $ {command} remove COMPONENT

  To update all components you have to their latest version:

    $ {command} update

  To update all installed components to version 1.2.3:

    $ {command} update --version 1.2.3
  c                     | j                  dddd       | j                  dddd       | j                  dddd       | j                  dddd       y	)
z Sets args for gcloud components.z--sdk-root-overrideFTzTHIS ARGUMENT NEEDS HELP TEXT.)requiredhiddenhelpz--snapshot-url-overridez--operating-system-overridez--architecture-overrideN)add_argument)parsers    "lib/surface/components/__init__.pyArgszComponents.ArgsG   s     -d=  ? 1E$=  ? 5#=  ? 1E$=  ?    c                 "   t        j                          t        j                  j	                         r]t        j                  dt        j                  j                         t        j                  dt        j                  j                         y y )Nz-You are using alternate release channel: [%s]z.Snapshot URL for this release channel is: [%s])	r   DisableUserProjectQuotar   INSTALLATION_CONFIGIsAlternateReleaseChannelr   warningrelease_channelsnapshot_url)selfunused_tool_contextargss      r   FilterzComponents.Filter_   sc      "!!;;=	kkA,,<<> 
kkB,,99;	 >r   N)
__name__
__module____qualname____doc__r   SDK_TOOLS_CATEGORYcategorystaticmethodr   r    r   r   r
   r
      s,    #J $$(? ?.;r   r
   )r"   
__future__r   r   r   argparsegooglecloudsdk.callioper   googlecloudsdk.corer   r   UniverseCompatibleReleaseTracksReleaseTrackGAGroupr
   r&   r   r   <module>r0      sh     . &  '  ( & # D%%(()G; G; * G;r   