
    y                         S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSKJ
r
  \R                  \R                  " \R                  R                  5       " S	 S
\R                  5      5       5       rg)z'The super-group for the update manager.    )absolute_import)division)unicode_literalsN)base)config)logc                   F    \ rS rSrSr\R                  r\S 5       r	S r
Srg)
Components   a  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                     U R                  SSSSS9  U R                  SSSSS9  U R                  SSSSS9  U R                  SSSSS9  g	)
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ArgsComponents.ArgsG   s     -d=  ? 1E$=  ? 5#=  ? 1E$=  ?    c                 2   [         R                  " 5         [        R                  R	                  5       (       a_  [
        R                  " S[        R                  R                  5        [
        R                  " S[        R                  R                  5        g g )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   FilterComponents.Filter_   sf      "!!;;==	kkA,,<<> 
kkB,,99;	 >r    N)__name__
__module____qualname____firstlineno____doc__r   SDK_TOOLS_CATEGORYcategorystaticmethodr   r    __static_attributes__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>r5      sf     . &  '  ( & # D%%(()G; G; * G;r   