
                        &   S r SSKJr  SSKJr  SSKJr  SSKrSSKrSSKrSSKrSSK	r	SSK
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SKr\R@                  RC                  \RD                  " 5       5        Sr#\RH                  " S5      r%\RH                  " S\RL                  5      r'Sr(S r)S r*S r+S r,SS jr-S r.S r/S r0 " S S\Rb                  5      r1 " S S \15      r2 " S! S"\15      r3 " S# S$\15      r4 " S% S&\15      r5 " S' S(\15      r6 " S) S*\15      r7 " S+ S,\15      r8 " S- S.\Rb                  5      r9 " S/ S0\:5      r; " S1 S2\:5      r< " S3 S4\:5      r=S5 r> " S6 S7\=5      r? " S8 S9\=5      r@ " S: S;\=5      rA " S< S=\=5      rB " S> S?\=5      rC " S@ SA\=5      rD " SB SC\=5      rE " SD SE\=5      rF " SF SG\=5      rG " SH SI\=5      rH " SJ SK\=5      rI " SL SM\=5      rJ " SN SO\=5      rK " SP SQ\=5      rL " SR SS\=5      rM " ST SU\=5      rN " SV SW\=5      rO " SX SY\=5      rP " SZ S[\=5      rQ " S\ S]\=5      rR " S^ S_\=5      rS " S` Sa\=5      rT " Sb Sc\=5      rU " Sd Se\=5      rV " Sf Sg\=5      rW " Sh Si\=5      rX " Sj Sk\=5      rY " Sl Sm\=5      rZ " Sn So\=5      r[ " Sp Sq\=5      r\ " Sr Ss\=5      r] " St Su\=5      r^ " Sv Sw\=5      r_ " Sx Sy\=5      r` " Sz S{\=5      ra " S| S}\=5      rb " S~ S\=5      rc " S S\=5      rd " S S\=5      re " S S\=5      rf " S S\=5      rg " S S\=5      rh " S S\=5      ri " S S\=5      rj " S S\=5      rk " S S\=5      rl " S S\=5      rm " S S\=5      rn " S S\=5      ro " S S\=5      rp " S S\=5      rq " S S\=5      rr " S S\=5      rs " S S\=5      rt " S S\=5      ru " S S\=5      rv " S S\=5      rw " S S\=5      rx " S S\=5      ry " S S\=5      rz " S S\=5      r{ " S S\=5      r| " S S\=5      r} " S S\=5      r~ " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\GR                  5      r " S S\GR                  5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\=5      r " S S\:5      r\<" 5       rS rS r " S S\:5      r " S S\:5      rSS jrS rS rS rSS jrS rS rS rS rS rg)z+Read and write properties for the CloudSDK.    )absolute_import)division)unicode_literalsN)
argv_utils)config)
exceptions)named_configs)properties_file)	constants)resource_printer_types)encoding)http_proxy_types)scaled_integer)apis_mapzzTo set your project, run:

  $ gcloud config set project PROJECT_ID

or to unset it, run:

  $ gcloud config unset projectzo^(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))$z^(?:https?)://(?:(?:[A-Z0-9](?:[A-Z0-9-.])+)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[?[A-F0-9]*:[A-F0-9:]+\]?)(?::\d+)?(?:/|[/?]\S+/)$zJhttps://cloud.google.com/functions/docs/writing/background#event_parameterc                 Z    [        U [        R                  5      (       a  U $ [        U 5      $ N)
isinstancesixstring_typesstrvalues    %lib/googlecloudsdk/core/properties.py	Stringizer   e   s$    s''((L	U    c                     U c  g[         R                  R                  U 5      (       d  [        S5      e[         R                  R	                  U 5      (       d  [        S5      eg)z>Checks to see if the file path exists and is an absolute path.NzThe provided path must exist.z#The provided path must be absolute.)ospathisfileInvalidValueErrorisabs)	file_paths    r   !ExistingAbsoluteFilepathValidatorr#   k   sN    
			"	"
;
<<	y	!	!
A
BB 
"r   c                 n   ^  [         R                  " ST S   5      (       a  g[        U 4S jS 5       5      $ )zDHeuristics testing if a string looks like a project name, but an id.z	[-0-9A-Z]r   Tc              3   ,   >#    U  H	  oT;   v   M     g 7fr    ).0cprojects     r   	<genexpr>)_LooksLikeAProjectName.<locals>.<genexpr>{   s     +7a'\7s   z !"')rematchanyr)   s   `r   _LooksLikeAProjectNamer0   u   s.     XXlGAJ''	+7+	++r   c                    / SQn[        U[        5      (       a  UR                  nOUn[        U5      R	                  5       U;  aC  [        SR                  XSR                  U Vs/ s H  oD(       a  UOSPM     sn5      5      5      egs  snf )zValidates boolean properties.

Args:
  property_name: str, the name of the property
  property_value: PropertyValue | str | bool, the value to validate

Raises:
  InvalidValueError: if value is not boolean
)true1onyesyfalse0offnon nonez`The [{0}] value [{1}] is not valid. Possible values: [{2}]. (See http://yaml.org/type/bool.html), z''N)r   PropertyValuer   r   lowerr    formatjoin)property_nameproperty_valueaccepted_stringsr   xs        r   _BooleanValidatorrG   ~   s     ..  EEu%55
	//5vII1AB1AAAq4'1ABC0EF F 6
 Cs   &B
c                 >   Uc  gU c  g[        U[        5      (       a  UR                  nOUn [        U5      n[        U[        5      (       d  [        SU  SU S35      eUS::  a  [        SU  SU S35      eg! [        [
        4 a    [        SU  SU S35      ef = f)zValidates integer properties.

Args:
  property_name: str, the name of the property
  property_value: PropertyValue | int | str, the value to validate

Raises:
  InvalidValueError: if value is not integer
NzThe [z	] value [zB] is not valid. Only integer values are allowed for this property.r   z9] is not valid. Only positive integer values are allowed.)r   r?   r   int
ValueError	TypeErrorr    )rC   rD   r   	int_values       r   _IntegerValidatorrM      s     

..  EE	E
I 
Is	#	#

iw /1 	1  !^

iw /' 	'  ! i	  

iw /1 	1 s   A9 9#Bc                 n    SSK Jn  U c  gUR                  U SS9R                  nUS::  a  [	        S5      eg)zValidates build timeouts.r   )timesNs)default_suffixz)Timeout must be a positive time duration.)googlecloudsdk.core.utilrO   ParseDurationtotal_secondsr    )timeoutrO   secondss      r   _BuildTimeoutValidatorrW      sD     - _
<JJ'\
G
HH r   c                     U c  g [         R                  " U 5        g! [         a  n[        [	        U5      5      eSnAff = f)z1Validates human readable byte amounts, e.g. 1KiB.N)r   ParseIntegerrJ   r    r   )size_stringes     r   !_HumanReadableByteAmountValidatorr\      s=    
$,	 $
CF
##$s    
A ;A c                  *   S[         R                  ;   a(  [        R                  " [         R                  S5      S:H  $ [        R
                  R                  R                  5       n U (       a(  U R                  S5      n[        U5      S:X  a  US   S:H  $ g)a]  Checks if the current user is an internal Google user.

Checks the 'CLOUDSDK_INTERNAL_USER' environment variable first to decide
whther the current user is an internal Google user.
If the variable is not set, falls back to checking if the user's email
domain is 'google.com'.

Returns:
  bool: True if the user is an internal user, False otherwise.
CLOUDSDK_INTERNAL_USERr2   @      z
google.comF)
r   environr   GetEncodedValueVALUEScoreaccountGetsplitlen)
user_emailpartss     r   IsInternalUserCheckrl      sy     +  -EF&P {{""&&(*S!E
5zQ1X%%	r   c                       \ rS rSrSrSrg)Error   z%Exceptions for the properties module.r&   N__name__
__module____qualname____firstlineno____doc____static_attributes__r&   r   r   rn   rn      s    -r   rn   c                       \ rS rSrSrSrg)PropertiesParseError   z<An exception to be raised when a properties file is invalid.r&   Nrp   r&   r   r   rx   rx      s    Dr   rx   c                       \ rS rSrSrSrg)NoSuchPropertyError   zCAn exception to be raised when the desired property does not exist.r&   Nrp   r&   r   r   r{   r{      s    Kr   r{   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )MissingInstallationConfigi  z;An exception to be raised when the sdk root does not exist.c                 ,   > [         [        U ]  S5        g )NzkInstallation properties could not be set because the installation root of the Cloud SDK could not be found.)superr~   __init__self	__class__s    r   r   "MissingInstallationConfig.__init__  s    	
#T3	45r   r&   rq   rr   rs   rt   ru   r   rv   __classcell__r   s   @r   r~   r~     s    C5 5r   r~   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )InvalidScopeValueErrori
  zGException for when a string could not be parsed to a valid scope value.c           	         > [         [        U ]  SR                  USR	                  [
        R                  5       5      5      5        g)z\Constructs a new exception.

Args:
  given: str, The given string that could not be parsed.
zOCould not parse [{0}] into a valid configuration scope.  Valid values are [{1}]r>   N)r   r   r   rA   rB   ScopeAllScopeNamesr   givenr   s     r   r   InvalidScopeValueError.__init__  s=     

 $0	!!'(,		%2E2E2G(H"JKr   r&   r   r   s   @r   r   r   
  s    O	K 	Kr   r   c                       \ rS rSrSrSrg)r    i  zFAn exception to be raised when the set value of a property is invalid.r&   Nrp   r&   r   r   r    r      s    Nr   r    c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )InvalidProjectErrori  z<An exception for bad project names, with a little user help.c                 @   > [         [        U ]  US-   [        -   5        g )N
)r   r   r   _SET_PROJECT_HELPr   s     r   r   InvalidProjectError.__init__   s    	
t-edl=N.NOr   r&   r   r   s   @r   r   r     s    DP Pr   r   c                   4   ^  \ rS rSrSrSrSU 4S jjrSrU =r$ )RequiredPropertyErrori$  z;Generic exception for when a required property was not set.zYIt can be set on a per-command basis by re-running your command with the [{flag}] flag.

c                   > UR                   [        R                  R                  :w  a  UR                   S-   nOSnU=(       d    UR                  nU(       a  [
        R                  R                  US9nOSnSR                  UR                  UUUR                  5       S9nU(       a  USU-   -  n[        [
        U ]+  U5        Xl        g )N/r<   flagzThe required property [{property_name}] is not currently set.
{flag_msg}You may set it for your current workspace by running:

  $ gcloud config set {section}{property_name} VALUE

or it can be set temporarily by the environment variable [{env_var}])rC   flag_msgsectionenv_var

)r   rd   default_sectionnamedefault_flagr   FLAG_STRINGrA   EnvironmentNamer   r   property)r   propr   	extra_msgr   r   msgr   s          r   r   RequiredPropertyError.__init__)  s    ||v--222s"gg$4$$D&2299t9DhhH IO))  "	 IO I$  	Vic	
/4Mr   )r   NN)	rq   rr   rs   rt   ru   r   r   rv   r   r   s   @r   r   r   $  s    C7+ r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )UnknownFormatErroriF  zUnknown format name exception.c                 j   > [         [        U ]  SR                  SR	                  U5      U5      5        g)zConstructs a new exception.

Args:
  printer_name: str, The unknown printer format.
  supported_formats: [str], Supported printer formats.
zhFormat must be one of {0}; received [{1}].

For information on output formats:
  $ gcloud topic formats
r>   N)r   r   r   rA   rB   )r   printer_namesupported_formatsr   s      r   r   UnknownFormatError.__init__I  s2     

d, .
 F499&'68r   r&   r   r   s   @r   r   r   F  s    &8 8r   r   c                   h    \ rS rSrSr " S S\R                  5      r\R                  4S jr	S r
Srg)	r?   iX  zRepresents a value and source for a property.

Attributes:
  value: any, the value of the property.
  source: enum, where the value was sourced from, or UNKNOWN.
c                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
PropertyValue.PropertySourcei`  unknownzproperty fileenvironmentr   callbackdefaultr&   N)rq   rr   rs   rt   UNKNOWNPROPERTY_FILEENVIRONMENTFLAGCALLBACKDEFAULTrv   r&   r   r   PropertySourcer   `  s     G#MKDHGr   r   c                     Xl         X l        g r   )r   source)r   r   r   s      r   r   PropertyValue.__init__h  s    JKr   c                     SR                  [        R                  " U R                  5      U R                  R                  5      $ )Nz	{0} ({1}))rA   r   	text_typer   r   r   s    r   __str__PropertyValue.__str__l  s,    cmmDJJ79J9JKKr   )r   r   N)rq   rr   rs   rt   ru   enumEnumr   r   r   r   rv   r&   r   r   r?   r?   X  s-    tyy  $2#9#9 Lr   r?   c                       \ rS rSrSr " S S\5      rS r\S 5       r	S r
S rS	 rS
 rS rS rS rSS jr    SS jr    SS jrS rSrg)	_Sectionsip  a/  Represents the available sections in the properties file.

Attributes:
  access_context_manager: Section, The section containing access context
    manager properties for the Cloud SDK.
  accessibility: Section, The section containing accessibility properties for
    the Cloud SDK.
  ai: Section, The section containing ai properties for the Cloud SDK.
  ai_platform: Section, The section containing ai platform properties for the
    Cloud SDK.
  api_client_overrides: Section, The section containing API client override
    properties for the Cloud SDK.
  api_endpoint_overrides: Section, The section containing API endpoint
    override properties for the Cloud SDK.
  app: Section, The section containing app properties for the Cloud SDK.
  auth: Section, The section containing auth properties for the Cloud SDK.
  batch: Section, The section containing batch properties for the Cloud SDK.
  billing: Section, The section containing billing properties for the Cloud
    SDK.
  builds: Section, The section containing builds properties for the Cloud SDK.
  artifacts: Section, The section containing artifacts properties for the
    Cloud SDK.
  code: Section, The section containing local development properties for Cloud
    SDK.
  colab: Section, The section containing colab properties for the Cloud SDK.
  component_manager: Section, The section containing properties for the
    component_manager.
  composer: Section, The section containing composer properties for the Cloud
    SDK.
  compute: Section, The section containing compute properties for the Cloud
    SDK.
  config_delivery: Section, The section containing properties for Config
    Delivery.
  container: Section, The section containing container properties for the
    Cloud SDK.
  container_attached: Section, The section containing properties for Attached
    clusters.
  container_aws: Section, The section containing properties for Anthos
    clusters on AWS.
  container_azure: Section, The section containing properties for Anthos
    clusters on Azure.
  container_bare_metal: Section, The section containing properties for Anthos
    clusters on Bare Metal.
  container_vmware: Section, The section containing properties for Anthos
    clusters on VMware.
  context_aware: Section, The section containing context aware access
    configurations for the Cloud SDK.
  core: Section, The section containing core properties for the Cloud SDK.
  ssh: Section, The section containing ssh-related properties.
  scc: Section, The section containing scc properties for the Cloud SDK.
  deploy: Secion, The secion containing cloud deploy related properties for
    the Cloud SDK.
  dataproc: Section, The section containing dataproc properties for the Cloud
    SDK.
  dataflow: Section, The section containing dataflow properties for the Cloud
    SDK.
  datafusion: Section, The section containing datafusion properties for the
    Cloud SDK.
  datapipelines: Section, The section containing datapipelines properties for
    the cloud SDK.
  dataplex: Section, The section containing dataplex properties for the Cloud
    SDK.
  declarative: Section, The section containing properties for declarative
    workflows in the Cloud SDK.
  default_section: Section, The main section of the properties file (core).
  deployment_manager: Section, The section containing deployment_manager
    properties for the Cloud SDK.
  devshell: Section, The section containing devshell properties for the Cloud
    SDK.
  diagnostics: Section, The section containing diagnostics properties for the
    Cloud SDK.
  edge_container: Section, The section containing edgecontainer properties for
    the Cloud SDK.
  emulator: Section, The section containing emulator properties for the Cloud
    SDK.
  eventarc: Section, The section containing eventarc properties for the Cloud
    SDK.
  experimental: Section, The section containing experimental properties for
    the Cloud SDK.
  filestore: Section, The section containing filestore properties for the
    Cloud SDK.
  functions: Section, The section containing functions properties for the
    Cloud SDK.
  gcloudignore: Section, The section containing gcloudignore properties for
    the Cloud SDK.
  gkebackup: Section, The section containing gkebackup properties for the
    Cloud SDK.
  gkehub: Section, The section containing gkehub properties for the Cloud SDK.
  healthcare: Section, The section containing healthcare properties for the
    Cloud SDK.
  inframanager: Section, The section containing Infra Manager properties for
    the Cloud SDK.
  interactive: Section, The section containing interactive properties for the
    Cloud SDK.
  kuberun: Section, The section containing kuberun properties for the Cloud
    SDK.
  lifesciences: Section, The section containing lifesciencs properties for the
    Cloud SDK.
  looker: Section, The section containing looker properties for the Cloud SDK.
  lustre: Section, The section containing lustre properties for the Cloud SDK.
  media_asset: Section, the section containing mediaasset protperties for the
    Cloud SDK.
  memcache: Section, The section containing memcache properties for the Cloud
    SDK.
  metastore: Section, The section containing metastore properties for the
    Cloud SDK.
  metrics: Section, The section containing metrics properties for the Cloud
    SDK.
  ml_engine: Section, The section containing ml_engine properties for the
    Cloud SDK.
  mps: Section, The section containing mps properties for the Cloud SDK.
  netapp: Section, The section containing netapp properties for the Cloud SDK.
  notebooks: Section, The section containing notebook properties for the Cloud
    SDK.
  privateca: Section, The section containing privateca properties for the
    Cloud SDK.
  proxy: Section, The section containing proxy properties for the Cloud SDK.
  pubsub: Section, The section containing pubsub properties for the Cloud SDK.
  recaptcha: Section, The section containing recaptcha properties for the
    Cloud SDK.
  redis: Section, The section containing redis properties for the Cloud SDK.
  regional: Section, The section containing regional endpoint properties for
    the Cloud SDK.
  resource_policy: Section, The section containing resource policy
    configurations for the Cloud SDK.
  run: Section, The section containing run properties for the Cloud SDK.
  runapps: Section, The section containing runapps properties for the Cloud
    SDK.
  secrets: Section, The section containing secretmanager properties for the
    Cloud SDK.
  spanner: Section, The section containing spanner properties for the Cloud
    SDK.
  storage: Section, The section containing storage properties for the Cloud
    SDK.
  survey: Section, The section containing survey properties for the Cloud SDK.
  test: Section, The section containing test properties for the Cloud SDK.
  transfer: Section, The section containing transfer properties for the Cloud
    SDK.
  transport: Section, The section containing transport properties for the
    Cloud SDK.
  transcoder: Section, The section containing transcoder properties for the
    Cloud SDK.
  vmware: Section, The section containing vmware properties for the Cloud SDK.
  web3: Section, the section containing web3 properties for the Cloud SDK.
  workflows: Section, The section containing workflows properties for the
    Cloud SDK.
  workstations: Section, The section containing workstations properties for
    the Cloud SDK.
c                       \ rS rSrS rSrg)_Sections._ValueFlagi  c                     Xl         X l        g r   )r   r   )r   r   r   s      r   r   _Sections._ValueFlag.__init__	  s    jir   )r   r   Nrq   rr   rs   rt   r   rv   r&   r   r   
_ValueFlagr     s    r   r   c                    [        5       U l        [        5       U l        [	        5       U l        [        5       U l        [        5       U l	        [        5       U l        [        5       U l        [        5       U l        [!        5       U l        [%        5       U l        [)        5       U l        [-        5       U l        [1        5       U l        [5        5       U l        [9        5       U l        [=        5       U l        [A        5       U l!        [E        5       U l#        [I        5       U l%        [M        5       U l'        [Q        5       U l)        [U        5       U l+        [Y        5       U l-        []        5       U l/        [a        5       U l1        [e        5       U l3        [i        5       U l5        [m        5       U l7        [q        5       U l9        [u        5       U l;        [y        5       U l=        [}        5       U l?        [        5       U lA        [        5       U lC        [        5       U lE        [        5       U lG        [        5       U lI        [        5       U lK        [        5       U lM        [        5       U lO        [        5       U lQ        [        5       U lS        [        5       U lU        [        5       U lW        [        5       U lY        [        5       U l[        [        5       U l]        [        5       U l_        [        5       U la        [        5       U lc        [        5       U le        [        5       U lg        [        5       U li        [        5       U lk        [        5       U lm        [        5       U lo        [        5       U lq        [        5       U ls        [        5       U lu        [        5       U lw        [        5       U ly        [        5       U l{        [        5       U l}        [        5       U l        G[        5       U l        G[        5       U l        G[	        5       U l        G[        5       U l        G[        5       U l        G[        5       U l        G[        5       U l        G[        5       U l        G[!        5       U l        G[%        5       U l        G[)        5       U l        G[-        5       U l        G[1        5       U l        G[5        5       U l        G[9        5       U l        G[=        5       U l        G[A        5       U l        G[E        5       U l        G[I        5       U l        / U R                  PU R                  PU R
                  PU R                  PU R                  PU R                  PU R                  PU R"                  PU R&                  PU R*                  PU R.                  PU R                  PU R2                  PU R6                  PU R:                  PU R>                  PU RB                  PU RF                  PU RJ                  PU RN                  PU RR                  PU RV                  PU R^                  PU RZ                  PU Rb                  PU Rf                  PU Rj                  PU Rn                  PU Rv                  PU Rz                  PU R~                  PU R                  PU R                  PU Rr                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU GR                  PU R                  PU R                  PU GR                  PU GR
                  PU GR                  PU GR                  PU GR                  PU GR                  PU GR                  PU GR"                  PU GR&                  PU GR*                  PU GR.                  PU GR6                  PU GR:                  PU GR>                  PU GRB                  PU GRF                  PU GRJ                  PnU Vs0 s H  o"GRL                  U_M     snU l        0 /U l        g s  snf r   )_SectionAccessContextManageraccess_context_manager_SectionAccessibilityaccessibility
_SectionAiai_SectionAiPlatformai_platform_SectionApiClientOverridesapi_client_overrides_SectionApiEndpointOverridesapi_endpoint_overrides_SectionAppapp_SectionArtifacts	artifacts_SectionAuthauth_SectionBatchbatch_SectionBillingbilling_SectionBuildsbuilds_SectionCodecode_SectionColabcolab_SectionComponentManagercomponent_manager_SectionComposercomposer_SectionComputecompute_SectionConfigDeliveryconfig_delivery_SectionContainer	container_SectionContainerAttachedcontainer_attached_SectionContainerAwscontainer_aws_SectionContainerAzurecontainer_azure_SectionContainerVmwarecontainer_vmware_SectionContainerBareMetalcontainer_bare_metal_SectionContextAwarecontext_aware_SectionCorere   _SectionSshssh_SectionSccscc_SectionDeploydeploy_SectionDataprocdataproc_SectionDataflowdataflow_SectionDatafusion
datafusion_SectionDataPipelinesdatapipelines_SectionDataplexdataplex_SectionDeclarativedeclarative_SectionDeploymentManagerdeployment_manager_SectionDevshelldevshell_SectionDiagnosticsdiagnostics_SectionEdgeContaineredge_container_SectionEmulatoremulator_SectionEventarceventarc_SectionExperimentalexperimental_SectionFilestore	filestore_SectionFunctions	functions_SectionGcloudignoregcloudignore_SectionGkeHubgkehub_SectionGkebackup	gkebackup_SectionHealthcare
healthcare_SectionInfraManagerinframanager_SectionInteractiveinteractive_SectionKubeRunkuberun_SectionLifeScienceslifesciences_SectionLustrelustre_SectionLookerlooker_SectionMediaAssetmedia_asset_SectionMemcachememcache_SectionMetastore	metastore_SectionMetricsmetrics_SectionMlEngine	ml_engine_SectionMpsmps_SectionNetappnetapp_SectionNotebooks	notebooks_SectionPrivateCa	privateca_SectionProxyproxy_SectionPubsubpubsub_SectionRecaptcha	recaptcha_SectionRedisredis_SectionRegionalregional_SectionResourcePolicyresource_policy_SectionRunrun_SectionRunAppsrunapps_SectionSecretssecrets_SectionSpannerspanner_SectionStoragestorage_SectionSurveysurvey_SectionTesttest_SectionTransfertransfer_SectionTransport	transport_SectionTranscoder
transcoder_SectionVmwarevmware_SectionWeb3web3_SectionWorkflows	workflows_SectionWorkstationsworkstationsr   _Sections__sections!_Sections__invocation_value_stack)r   sectionsr   s      r   r   _Sections.__init__  s   ">"@D.0DlDG)+D : <D">"@D}DH&(DNDIDJ"$DL "DKDIDJ57D$&DM"$DL13D&(DN79D-/D13D35D : <D-/DDI}DH}DH "DK$&DM$&DM(*DO.0D$&DM*,D79D$&DM*,D/1D$&DM$&DM,.D&(DN&(DN,.D "DK&(DN(*DO,.D*,D"$DL,.D "DK "DK)+D$&DM&(DN"$DL%'DN}DH "DK&(DN&(DNDJ "DK&(DNDJ$&DM13D}DH"$DL"$DL"$DL"$DL "DKDI$&DM&(DN(*DO "DKDI&(DN,.DQ##QQ 	Q 		Q
 	!!Q 	##Q 	Q 			Q 	

Q 	Q 	Q 	Q 			Q 	

Q 	Q  	!Q" 	#Q$ 	%Q& 	'Q( 	)Q* 	+Q, 	-Q. 	!!/Q0 	1Q2 	3Q4 			5Q6 	7Q8 	9Q: 	;Q< 	=Q> 	?Q@ 	AQB 	CQD 	EQF 	GQH 	IQJ 	KQL 	MQN 	OQP 	QQR 	SQT 	UQV 	WQX 	YQZ 	[Q\ 	]Q^ 	_Q` 	aQb 	cQd 	eQf 	gQh 	iQj 	kQl 	mQn 	oQp 	qQr 	sQt 	uQv 	wQx 	yQz 	{Q| 	}Q~ 	

Q@ 	AQB 	

CQD 	EQF 	GQH 	IQJ 	KQL 	MQN 	OQP 	QQR 	SQT 			UQV 	WQX 	YQZ 	[Q\ 			]Q^ 	_Q` 	aQHd =EEH||W,HEDO%'DD! Fs   	c1c                     U R                   $ r   )re   r   s    r   r   _Sections.default_section  s    99r   c                 H    [        U R                  R                  5       5      $ r   )iterry  valuesr   s    r   __iter___Sections.__iter__  s    &&())r   c                 :    U R                   R                  0 5        g r   )rz  appendr   s    r   PushInvocationValues_Sections.PushInvocationValues  s    !!((,r   c                 8    U R                   R                  5         g r   )rz  popr   s    r   PopInvocationValues_Sections.PopInvocationValues  s    !!%%'r   c                     U R                  5       nU(       a  UR                  U5        [        R                  X#5      XA'   g)a_  Set the value of this property for this command, using a flag.

Args:
  prop: _Property, The property with an explicit value.
  value: str, The value that should be returned while this command is
    running.
  flag: str, The flag that a user can use to set the property, reported if
    it was required at some point but not set by the command line.
N)GetLatestInvocationValuesValidater   r   )r   r   r   r   value_flagss        r   SetInvocationValue_Sections.SetInvocationValue  s4     002K
mmE!,,U9Kr   c                      U R                   S   $ )Nrz  r   s    r   r  #_Sections.GetLatestInvocationValues  s    ((,,r   c                     U R                   $ r   r  r   s    r   GetInvocationStack_Sections.GetInvocationStack  s    (((r   c                 n     U R                   U   $ ! [         a    [        SR                  US95      ef = f)zGets a section given its name.

Args:
  section: str, The section for the desired property.

Returns:
  Section, The section corresponding to the given name.

Raises:
  NoSuchPropertyError: If the section is not known.
z#Section "{section}" does not exist.r   )ry  KeyErrorr{   rA   )r   r   s     r   Section_Sections.Section  sH    I__W%% I
/
6
6w
6
GI IIs    #4c                     [         R                  " U R                  5       VVs/ s H!  u  p#UR                  (       a	  U(       d  M  UPM#     snn$ s  snnf )zGets a list of all registered section names.

Args:
  include_hidden: bool, True to include hidden properties in the result.

Returns:
  [str], The section names.
)r   	iteritemsry  	is_hidden)r   include_hiddenr   r   s       r   AllSections_Sections.AllSections  sA     !$doo > >. 	 >     AANc                 n    0 nU  H,  nUR                  UUUUS9nU(       d  M  XuUR                  '   M.     U$ )a  Gets the entire collection of property values for all sections.

Args:
  list_unset: bool, If True, include unset properties in the result.
  include_hidden: bool, True to include hidden properties in the result. If
    a property has a value set but is hidden, it will be included regardless
    of this setting.
  properties_file: PropertyFile, the file to read settings from.  If None
    the active property file will be used.
  only_file_contents: bool, True if values should be taken only from the
    properties file, false if flags, env vars, etc. should be consulted too.
    Mostly useful for listing file contents.

Returns:
  {str:{str:str}}, A dict of sections to dicts of properties to values.

list_unsetr  r
   only_file_contents)	AllValuesr   r   r  r  r
   r  resultr   section_results           r   r  _Sections.AllValues  sN    * F((')/	 ) 1n
 
-w||  Mr   c                 n    0 nU  H,  nUR                  UUUUS9nU(       d  M  XuUR                  '   M.     U$ )a  Gets the entire collection of property values for all sections.

Args:
  list_unset: bool, If True, include unset properties in the result.
  include_hidden: bool, True to include hidden properties in the result. If
    a property has a value set but is hidden, it will be included regardless
    of this setting.
  properties_file: PropertyFile, the file to read settings from.  If None
    the active property file will be used.
  only_file_contents: bool, True if values should be taken only from the
    properties file, false if flags, env vars, etc. should be consulted too.
    Mostly useful for listing file contents.

Returns:
  {str:{str:PropertyValue}}, A dict of sections to dicts of properties to
    property values.
r  )AllPropertyValuesr   r  s           r   r  _Sections.AllPropertyValues  sN    , F00')/	 1 1n
 
-w||  Mr   c           
         / nU R                   /nU R                   R                  nUR                  [        [        R
                  " U R                  5       VVs/ s H!  u  pEXC:w  d  M  UR                  (       a  M  UPM#     snn5      5        U H  n[        U Vs/ s H  owR                  (       a  M  UPM     sn5      nU(       d  M:  UR                  SR                  UR                  S95        U H6  n	UR                  SR                  U	R                  U	R                  S95        M8     M     SR                  U5      $ s  snnf s  snf )zGets a string with the help contents for all properties and descriptions.

Returns:
  str, The string for the man page section.
z_{section}_::r  z*{prop}*:::

{text})r   textz


)r   r   extendsortedr   r  ry  r  r  rA   	help_textrB   )
r   messagesr{  default_section_namer   rP   r   ppropsr   s
             r   GetHelpString_Sections.GetHelpString:  s    H$$%H//44OO ]]4??;
;'$+ 45KK ;
 	
 <Aa<=eooo,,W\\,BC$/66 7 1 	2   ==""

 =s   E(E;EE
3E
)U__invocation_value_stack
__sectionsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  re   r  r  r  r  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r0  r.  r2  r4  r6  r8  r:  r>  r<  r@  rB  rD  rF  rH  rJ  rL  rN  rP  rR  rT  rV  rX  rZ  r\  r^  r`  r
  rb  rd  r  rf  rh  rj  rp  rl  rn  rr  rt  rv  rx  FFFNF)rq   rr   rs   rt   ru   objectr   r   r   r   r  r  r  r  r  r  r  r  r  r  r  rv   r&   r   r   r   r   p  s    Tl6 h)T  *-(:-)I$ !$ $#(	B $)',(,+0	B#r   r   c                       \ rS rSrSrSS jr\S 5       r\S 5       rS r	S r
S rS	 rS
 rS rS rS r         SS jr     SS jrS rS rSS jr    SS jr    SS jrSrg)_SectioniS  zRepresents a section of the properties file that has related properties.

Attributes:
  name: str, The name of the section.
  is_hidden: bool, True if the section is hidden, False otherwise.
c                 *    Xl         X l        0 U l        g r   )_Section__name_Section__is_hidden_Section__properties)r   r   hiddens      r   r   _Section.__init__[  s    KDr   c                     U R                   $ r   )r  r   s    r   r   _Section.name`      ;;r   c                     U R                   $ r   )r  r   s    r   r  _Section.is_hiddend      r   c                 H    [        U R                  R                  5       5      $ r   )r  r  r  r   s    r   r  _Section.__iter__h  s    !!((*++r   c                 ,    [        U R                  5      $ r   )hashr   r   s    r   __hash___Section.__hash__k  s    		?r   c                 4    U R                   UR                   :H  $ r   r   r   others     r   __eq___Section.__eq__n      99

""r   c                 4    U R                   UR                   :g  $ r   r  r  s     r   __ne___Section.__ne__q  r  r   c                 4    U R                   UR                   :  $ r   r  r  s     r   __gt___Section.__gt__t      99uzz!!r   c                 4    U R                   UR                   :  $ r   r  r  s     r   __ge___Section.__ge__w  r  r   c                 4    U R                   UR                   :  $ r   r  r  s     r   __lt___Section.__lt__z  r  r   c                 4    U R                   UR                   :*  $ r   r  r  s     r   __le___Section.__le__}  r  r   Nc                     [        U R                  UUUU R                  =(       d    UUUUUU	U
S9nXR                  U'   U$ )N)r   r   r  internalr  	callbacksr   	validatorchoices	completerr   )	_Propertyr  r  r  )r   r   r  r  r  r  r   r  r  r  r   r   s               r   _Add_Section._Add  sQ     (&!#D #dKr   c                 `    U R                  UUUUUU[        R                  " [        U5      SS9$ )Nr2   r7   )r   r  r  r  r  r   r  r  )r  	functoolspartialrG   )r   r   r  r  r  r  r   s          r   _AddBool_Section._AddBool  s@     99##$5t<!  # #r   c                      U R                   U   $ ! [         a$    [        SR                  U R                  US95      ef = f)a  Gets a property from this section, given its name.

Args:
  property_name: str, The name of the desired property.

Returns:
  Property, The property corresponding to the given name.


Raises:
  NoSuchPropertyError: If the property is not known for this section.
z$Section [{s}] has no property [{p}].)rP   r  )r  r  r{   rA   r  r   rC   s     r   Property_Section.Property  sQ    +}-- + F M MKK= !N !* + ++s    .?c                     XR                   ;   $ )zTrue iff section has given property.

Args:
  property_name: str, The name of the property to check for membership.

Returns:
  a boolean. True iff this section contains property_name.
)r  r  s     r   HasProperty_Section.HasProperty  s     ----r   c                     [         R                  " U R                  5       VVs/ s H!  u  p#U(       d  UR                  (       a  M  UPM#     snn$ s  snnf )zGets a list of all registered property names in this section.

Args:
  include_hidden: bool, True to include hidden properties in the result.

Returns:
  [str], The property names.
)r   r  r  r  )r   r  r   r   s       r   AllProperties_Section.AllProperties  sC      #}}T->->?? 	?  r  c                    U=(       d    [         R                  R                  5       n0 nU  H  nUR                  (       a  M  UR                  (       a  U(       d  [        Xc5      c  M<  U(       a'  UR                  UR                  UR                  5      nO[        Xc5      nUc  SnOUR                  nUc#  U(       d  M  UR                  (       a	  U(       d  M  XuUR                  '   M     U$ )a  Gets all the properties and their values for this section.

Args:
  list_unset: bool, If True, include unset properties in the result.
  include_hidden: bool, True to include hidden properties in the result. If
    a property has a value set but is hidden, it will be included regardless
    of this setting.
  properties_file: properties_file.PropertiesFile, the file to read settings
    from.  If None the active property file will be used.
  only_file_contents: bool, True if values should be taken only from the
    properties file, false if flags, env vars, etc. should be consulted too.
    Mostly useful for listing file contents.

Returns:
  {str:str}, The dict of {property:value} for this section.
N)r	   ActivePropertiesFileLoadis_internalr  _GetPropertyWithoutCallbackrg   r   r   _GetPropertyWithoutDefaultr   )	r   r  r  r
   r  r  r   r   rD   s	            r   r  _Section.AllValues  s    , 	D===BBD  F			
..
%d
<
D	##DLL$))<3DJ!% &&%	
>>.   TYY7 8 Mr   c                    U=(       d    [         R                  R                  5       n0 nU  H  nUR                  (       a  M  UR                  (       a  U(       d  [        Xc5      c  M<  U(       aI  [        UR                  UR                  UR                  5      [        R                  R                  5      nO[        Xc5      nUb  UR                  c#  U(       d  M  UR                  (       a	  U(       d  M  XuUR                  '   M     U$ )a  Gets all the properties and their values for this section.

Args:
  list_unset: bool, If True, include unset properties in the result.
  include_hidden: bool, True to include hidden properties in the result. If
    a property has a value set but is hidden, it will be included regardless
    of this setting.
  properties_file: properties_file.PropertiesFile, the file to read settings
    from.  If None the active property file will be used.
  only_file_contents: bool, True if values should be taken only from the
    properties file, false if flags, env vars, etc. should be consulted too.
    Mostly useful for listing file contents.

Returns:
  {str:PropertyValue}, The dict of {property:value} for this section.
)r	   r  r  r  r  r	  r?   rg   r   r   r   r   r
  r   )r   r  r  r
   r  r  r   rD   s           r   r  _Section.AllPropertyValues  s    , 	D===BBD  F			
..
%d
<
D	&dii8((668 4DJ

 n&:&:&B
>>.  )TYY3 4 Mr   )__is_hidden__name__propertiesr  	NFFNNNNNN)NFFNNr  )rq   rr   rs   rt   ru   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  rv   r&   r   r   r  r  S  s    
    ,##"#"# 8 #"+&	. !$ $#(	5p $)',(,+0	3r   r  c                 L    U c  gU R                  5       (       d  [        S5      eg)z3Checks to see if the Access Policy string is valid.NzZThe access_context_manager.policy property must be set to the policy number, not a string.isdigitr    )policys    r   AccessPolicyValidatorr  E  s.    ^
			
	./ / 
r   c                   2   ^  \ rS rSrSrS rU 4S jrSrU =r$ )r   iO  zAContains the properties for the 'access_context_manager' section.c                 L    Uc  gUR                  5       (       d  [        S5      eg)z2Checks to see if the Organization string is valid.NziThe access_context_manager.organization property must be set to the organization ID number, not a string.r  )r   orgs     r   OrganizationValidator2_SectionAccessContextManager.OrganizationValidatorR  s,    
{;;==9: : r   c                    > [         [        U ]  SSS9  U R                  S[        SS9U l        U R                  SU R                  SS9U l        g )	Nr   Tr  r  ztID of the policy resource to operate on. Can be found by running the `access-context-manager policies list` command.r  r  organizationzBDefault organization cloud-bindings command group will operate on.)r   r   r   r  r  r  r  r  r   s    r   r   %_SectionAccessContextManager.__init__[  sh    	
&6  7 / ))'   DK 		,,! " #Dr   )r  r  )	rq   rr   rs   rt   ru   r  r   rv   r   r   s   @r   r   r   O  s    I:# #r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   il  z8Contains the properties for the 'accessibility' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr   screen_readerFz(Make gcloud more screen reader friendly.r   r  )r   r   r   r  r#  r   s    r   r   _SectionAccessibility.__init__o  s2    	
/@< ' >Dr   )r#  r   r   s   @r   r   r   l  s    @> >r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   iw  z;Contains the properties for the command group 'ai' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   regionzDefault region to use when working with AI Platform resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set.r  )r   r   r   r  r(  r   s    r   r   _SectionAi.__init__z  s1    	*d$T*))N  ODKr   r(  r   r   s   @r   r   r   w  s    CO Or   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  zDContains the properties for the command group 'ai_platform' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r(  aP  Default region to use when working with AI Platform Training and Prediction resources (currently for Prediction only). It is ignored for training resources for now. The value should be either `global` or one of the supported regions. When a `--region` flag is required but not provided, the command will fall back to this value, if set.r)  )r   r   r   r  r(  r   s    r   r   _SectionAiPlatform.__init__  s0    	
d,];))  DKr   r+  r   r   s   @r   r   r     s    L	 	r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  zContains the properties for the 'api-client-overrides' section.

This overrides the API client version to use when talking to this API.
c                   > [         [        U ]  SSS9  U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S	5      U l	        U R                  S
5      U l
        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        g )Nr   Tr  alloydb	appenginebaremetalsolutioncloudidentityr   zcompute/alphazcompute/betaz
compute/v1r   speechsqlrf  r^  securitycentercloudresourcemanagerrx  )r   r   r   r  r1  r2  r3  r4  r   compute_alphacompute_beta
compute_v1r   r5  r6  rf  r^  r
  r8  rx  r   s    r   r   #_SectionApiClientOverrides.__init__  s&   	
$d4t 5 -99Y'DLYY{+DN!YY':;D?3D99Y'DL?3D		.1Dii-DOYY{+DN))H%DKyyDH99Y'DLyyDHyy)*DH $		*@ AD		.1Dr   )r1  r2  r3  r4  r8  r   r9  r:  r;  r   r^  r
  r5  r6  rf  rx  r   r   s   @r   r   r     s    
2 2r   r   c                   V   ^  \ rS rSrSrU 4S jrS rS
U 4S jjrS\4S jr	S r
S	rU =r$ )r   i  zContains the properties for the 'api-endpoint-overrides' section.

This overrides what endpoint to use when talking to the given API.
c                   > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  S	S
S9U l        U R                  SSSS9U l        U R                  SSS9U l	        U R                  SSS9U l
        U R                  SSS9U l        U R                  SSS9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  SS S9U l        U R                  S!S"S9U l        U R                  S#S$S9U l        U R                  S%S&SS9U l        U R                  S'S(SS9U l        U R                  S)S*S9U l        U R                  S+S,SS9U l        U R                  S-SS.9U l        U R                  S/S0SS9U l        U R                  S1SS.9U l        U R                  S2SS.9U l        U R                  S3S4S9U l        U R                  S5S6SS9U l        U R                  S7SS.9U l        U R                  S8S9S9U l        U R                  S:SS.9U l         U R                  S;S<S9U l!        U R                  S=S>S9U l"        U R                  S?S@S9U l#        U R                  SASBS9U l$        U R                  SCSDS9U l%        U R                  SESFS9U l&        U R                  SGSHS9U l'        U R                  SISJS9U l(        U R                  SKSLS9U l)        U R                  SMSNS9U l*        U R                  SOSPS9U l+        U R                  SQSRSS9U l,        U R                  SSSTSS9U l-        U R                  SUSVS9U l.        U R                  SWSS.9U l/        U R                  SXSYS9U l0        U R                  SZS[S9U l1        U R                  S\S]SS9U l2        U R                  S^S_S9U l3        U R                  S`SaS9U l4        U R                  SbScS9U l5        U R                  SdSeSf9U l6        U R                  SgShSS9U l7        U R                  SiSS.9U l8        U R                  SjSkS9U l9        U R                  SlSS.9U l:        U R                  SmSnS9U l;        U R                  SoSpS9U l<        U R                  SqSrS9U l=        U R                  SsStS9U l>        U R                  SuSS.9U l?        U R                  SvSwS9U l@        U R                  SxSyS9U lA        U R                  SzS{S9U lB        U R                  S|SS.9U lC        U R                  S}S~S9U lD        U R                  SSS9U lE        U R                  SSS9U lF        U R                  SSSS9U lG        U R                  SSS9U lH        U R                  SSS.9U lI        U R                  SSS9U lJ        U R                  SSS9U lK        U R                  SSS9U lL        U R                  SSSS9U lM        U R                  SSS9U lN        U R                  SSS9U lO        U R                  SSS9U lP        U R                  SSS9U lQ        U R                  SSS9U lR        U R                  SSS9U lS        U R                  SSS9U lT        U R                  SSSS9U lU        U R                  SSS9U lV        U R                  SSS.9U lW        U R                  SSS.9U lX        U R                  SSS.9U lY        U R                  SSS9U lZ        U R                  SSS9U l[        U R                  SSSS9U l\        U R                  SSSf9U l]        U R                  SSS.9U l^        U R                  SSS9U l_        U R                  SSS9U l`        U R                  SSS9U la        U R                  SSS9U lb        U R                  SSS9U lc        U R                  SSS9U ld        U R                  SSS.9U le        U R                  SSS9U lf        U R                  SSS9U lg        U R                  SSS9U lh        U R                  SSS9U li        U R                  SSS9U lj        U R                  SSSS9U lk        U R                  SSSS9U ll        U R                  SSS9U lm        U R                  SSSS9U ln        U R                  SSS.9U lo        U R                  SSS9U lp        U R                  SSS9U lq        U R                  SSS9U lr        U R                  SSSS9U ls        U R                  SSSS9U lt        U R                  SSS9U lu        U R                  SSS.9U lv        U R                  SSSS9U lw        U R                  SSS9U lx        U R                  SSS9U ly        U R                  SSS9U lz        U R                  SSS9U l{        U R                  SSS9U l|        U R                  SSS9U l}        U R                  SSS9U l~        U R                  SSS.9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSS9U l        U R                  SSS.9U l        U R                  SSS.9U l        U R                  SSS.9U l        U R                  SSSS9U l        U R                  SSS9U l        U R                  SSS.9U l        U R                  SSS.9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  GS GSS9U l        U R                  GSSS.9U l        U R                  GSGSS9U l        U R                  GSGSS9U l        U R                  GSGSS9U l        U R                  GS	SS.9U l        U R                  GS
SS.9U l        U R                  GSGSS9U l        U R                  GSSS.9U l        U R                  GSGSS9U l        U R                  GSGSSS9U l        U R                  GSSS.9U l        U R                  GSGSS9U l        U R                  GSGSS9U l        U R                  GSGSSS9U l        U R                  GSGSS9U l        U R                  GSSS.9U l        U R                  GSGSSS9U l        U R                  GSSS.9U l        U R                  GSGS S9U l        U R                  GS!GS"S9U l        U R                  GS#SS.9U l        U R                  GS$SS.9U l        U R                  GS%SS.9U l        U R                  GS&GS'S9U l        U R                  GS(GS)Sf9U l        U R                  GS*GS+S9U l        U R                  GS,GS-S9U l        U R                  GS.GS/S9U l        U R                  GS0GS1SS9U l        U R                  GS2GS3SS9U l        U R                  GS4SS.9U l        U R                  GS5SS.9U l        U R                  GS6GS7S9U l        U R                  GS8SS.9U l        U R                  GS9SS.9U l        U R                  GS:GS;S9U l        U R                  GS<GS=S9U l        U R                  GS>GS?S9U l        U R                  GS@GSAS9U l        U R                  GSBGSCS9U l        U R                  GSDSS.9U l        U R                  GSEGSFS9U l        U R                  GSGGSHS9U l        U R                  GSISS.9U l        U R                  GSJGSKS9U l        g (L  Nr   accessapprovalzgcloud access-approval)commandaccesscontextmanagerzgcloud access-context-managerr   z	gcloud ai
aiplatformzgcloud ai-platformr1  zgcloud alloydbT)r@  r  anthoseventszgcloud anthosanthospolicycontrollerstatus_paz'gcloud container fleet policycontroller
apigatewayzgcloud api-gatewayapigeezgcloud apigeeapihubzgcloud apigeeregistryapikeyszgcloud services api-keysr2  z
gcloud appapphubzgcloud apphubartifactregistryzgcloud artifactsassuredworkloadszgcloud assuredauditmanagerzgcloud audit-managerauthztoolkitzgcloud authz-toolkitbackupdrzgcloud backup-drr3  z
gcloud bmsr   zgcloud batch
beyondcorpr  biglakezgcloud biglakebigquerybigquerymigrationbigtableadminzgcloud bigtablebinaryauthorizationzgcloud container binauthzcategorymanagercertificatemanagerzgcloud certificate-managercloudaicompanion
cloudassetzgcloud assetcloudbillingzgcloud billing
cloudbuildzgcloud builds cloudcommerceconsumerprocurementzgcloud commerce-procurementclouddebuggerzgcloud debugclouddeployzgcloud deployclouderrorreportingzgcloud error-reportingcloudfunctionszgcloud functionsr4  zgcloud identitycloudkmsz
gcloud kmscloudlocationfinderzgcloud cloudlocationfindercloudnumberregistryzgcloud cloudnumberregistrycloudquotaszgcloud quotasr8  zgcloud projectscloudresourcesearchcloudschedulerzgcloud schedulercloudsecuritycompliancezgcloud compliance-manager
cloudshellzgcloud cloud-shell
cloudtaskszgcloud tasks
cloudtracezgcloud tracer   zgcloud composerr   zOverrides API endpoint for `gcloud compute` command group. For Private Service Connect usage, see https://cloud.google.com/vpc/docs/configure-private-service-connect-apis#using-endpointsr)  configdeliveryzgcloud container fleet packagesconnectgatewayr   zgcloud containercontaineranalysisdatacatalogzgcloud data-catalogr  zgcloud dataflowr  zgcloud data-fusiondatamigrationzgcloud database-migrationdatapolr  zgcloud datapipelinesr  zgcloud dataplexr  zgcloud dataprocdataprocgdc	datastorezgcloud datastore
datastreamzgcloud datastreamdeploymentmanagerzgcloud deployment-managerdesigncenterzgcloud design-centerdeveloperconnectzgcloud developer-connect	discoverydnsz
gcloud dnsdomainszgcloud domainsedgecontainerzgcloud edge-containeredgenetworkzgcloud edge-cloud networkingr$  zgcloud eventarceventarcpublishingzgcloud eventarc publishfaultinjectiontestingzgcloud fault-injectionfaulttestingzgcloud fault-testingfilezgcloud filestorefirebasedataconnectzgcloud firebase-data-connect	firestorezgcloud firestoregeminicloudassistzgcloud geminicloudassistgenomicszgcloud genomicsr0  r.  gkerecommenderhypercomputeclusterzgcloud cluster-directorobservabilityzgcloud observabilityrp  zgcloud transcodergkemulticloudz{Overrides API endpoint for `gcloud container aws`, `gcloud container azure` and `gcloud container attached` command groups.	gkeonpremr2  zgcloud healthcareiamz
gcloud iamiamcredentialsiapz
gcloud iapidsz
gcloud idskrmapihostingzgcloud anthos config controllerkubernetespolicyr   zgcloud infra-managerlanguagezgcloud ml languager:  zgcloud lifesciencesloggingzgcloud loggingr>  zgcloud lookerr<  zgcloud lustremanagedflinkzgcloud managedflinkmanagedidentitieszgcloud active-directorymanagedkafkazgcloud managed-kafkamanagermarketplacesolutionsz
gcloud mps
mediaassetzgcloud mediarB  zgcloud memcachememorystorezgcloud memorystoremessagestreamszgcloud messagestreamsrD  zgcloud metastoreml
modelarmorzgcloud modelarmor
monitoringzgcloud monitoringrL  zgcloud netappnetworkconnectivityzgcloud network-connectivitynetworkmanagementzgcloud network-managementnetworksecurityzgcloud network-securitynetworkserviceszgcloud network-servicesrN  zgcloud notebooksondemandscanningoracledatabasezgcloud oracle-databaseorglifecyclezgcloud orglifecycle	orgpolicyzgcloud org-policiesosconfigosloginparallelstoreparametermanagerzgcloud parameter-managerpolicyanalyzerzpolicy-intelligencepolicysimulatorpolicytroubleshooterrP  zgcloud privatecaprivilegedaccessmanagerz
gcloud pampubliccazgcloud publiccarT  zgcloud pubsub
pubsubliterecaptchaenterprisezgcloud recaptcharecommenderzgcloud recommenderrX  zgcloud redisremotebuildexecutionreplicapoolupdaterr^  z
gcloud runr`  runtimeconfigzgcloud runtime-configsaasservicemgmtzgcloud saas	sasportalr7  z
gcloud sccsddczgcloud vmware sddcseclmzgcloud seclmsecretmanagerzgcloud secretssecuresourcemanagersecuritycentermanagementzgcloud scc managesecuritypostureservicedirectoryzgcloud service-directoryservicemanagementzgcloud endpointsserviceregistryserviceusager   
sourcerepozgcloud sourcerd  zOverrides API endpoint for `gcloud spanner` command group. For spanner emulator usage, see https://cloud.google.com/spanner/docs/emulator#using_the_gcloud_cli_with_the_emulatorr5  zgcloud ml speechr6  z
gcloud sqlrf  zgcloud storagestoragebatchoperationszgcloud storage batch-actionsstorageinsightszgcloud storage insightsstreamtelcoautomationtestingzgcloud firebase testtoolresultstpurl  zgcloud transfertransferappliancezgcloud transfer appliancesvisionzgcloud ml visionvmmigrationzgcloud migration vmsvmwareenginezgcloud vmware	vpcaccessworkflowexecutionszgcloud workflows executionsrv  zgcloud workflowsworkloadcertificaterx  zgcloud workstations)r   r   r   r  r?  rA  r   rB  r1  rC  rD  rE  rF  rG  rH  r2  rI  rJ  rK  rL  rM  rN  r3  r   rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r4  r`  ra  rb  rc  r8  rd  re  rf  rg  rh  ri  r   r   rj  rk  r   rl  rm  r  r  rn  ro  r  r  r  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r$  r{  r|  r}  r~  r  r  r  r  r0  r.  r  r  r  rp  r  r  r2  r  r  r  r  r  r  r4  r  r:  r  r>  r<  r  r  r  r  r  r  rB  r  r  rD  r  r  r  rL  r  r  r  r  rN  r  r  r  r  r  r  r  r  r  r  r  rP  r  r  rT  r  rV  r  rX  r  r  r^  r`  r  r  r  r
  r  r  rb  r  r  r  r  r  r  r  r   r  rd  r5  r6  rf  r  r  r  r  r  r  r  rl  r  r  r  r  r  r  rv  r  rx  r   s    r   r   %_SectionApiEndpointOverrides.__init__  st   	
&67OP))": $ <D $		(G !* !IDiiki2DGii6JiKDO99Y0@9NDL		./	JD+/99)9 ,5 ,;D( ii6JiKDO))Ho)>DK))1$  @DK995d  DL YY{LYADN))Ho)>DK II$6 & 8D II$4 & 6D		 6 " 8D		 6t " EDII.t  =DM!YY\ ' 3D7N4HDJiiTi:DO99+D  :DLIIjI6DM!YY':4YHD?<MND#yy'B4  )  QD99%6t9DD"ii&B ( DD II&8IFDiiniEDO		.:J	KDiioiFDO,0II*- -6 -/D) ?NKDyyyHD#yy'?  )  AD))"4 $ 6D?<MNDIIj,I?DM#yy'C  )  ED#yy,T  )  ;D yyt ! =D $		(9 !* !;D#yy)>tyLD))"4 $ 6D#'99!+ $- $-D  ii24   ADOiiniEDOiiniEDOIIj2CIDDM99c  DL ))"CD $ D ))$4T)BDYY{4FYGDN!YY':4YHDyy8MyNDIIj2CIDDMii6JiKDO!< # >D99Yt94DL!7 # 9DIIj2CIDDMIIj2CIDDMyyty<DYY{4FYGDNii6IiJDO!YY%@ ' BD 		 6t " ED II$> & @DYY{4Y8DNyyy5DH99Y0@9ADL!8 # :Dyy=d ! LDIIj2CIDDM"ii&? ( AD!%)A "+ "CD		 6 " 8D		&*<	=DI#yy'E  )  GDYY{4FYGDN!YY%? ' D IIj2CIDDMYY{4Y8DN))HT)2DK))$4T)BD#yy'@  )  BD!7 # 9Dii1$   DO  # D YY{4Y8DNii6IiJDOyyy5DH))$4l)KDyyy5DHyyy5DH!B # DD II&8IFD		0 " 2DIIj2FIGDM		.:O	PD99Y0@9ADL))Ho)>DK))Hod)KDK		 5d " D "YY%> ' @D		 6t " ED99Yt94DL $		 !* !6DiiniEDOIIj2CIDDMyy3D ! BD))"9$ $ HDYY{4FYGDNiiTi*DGii1$   @DOii6IiJDO))Ho)>DK#yy'D  )  FD!YY%@ ' BD99#< % >D99#< % >DYY{4FYGDN II&8IFD))":4 $ ID		 5d " DDYY{4IYJDNIIjI6DM99Yt94DL?4@D II$>t & MD))"7 $ 9D99%6t9DD $		*@	 NDYY{4FYGDN#'99!< $- $D  IIj2CIDDM))Ho)>DKiiTi:DOYY'9  ;DNyy8LyMD7N;DJ $		*@	 ND"ii(<TiJDyyy5DH99Yt94DL!8 # :D99= % ?DYY{4Y8DNyy)<y@DH		&*>	?DI  6DJ99_6F9GDL#yy)>tyLD$(II",? %. %D!  99%6t9DD II$> & @D!YY%7 ' 9D99%6t9DD		.	>D))HT)2DKiioiFDO99`  DL ))H.@)ADKyyy5DH99Y0@9ADL"&)) . #, #D
  99#<T % KD))HT)2DK99%6t9DD99Y0F9GDLyyty<Dyyty,DHIIj2CIDDM!YY%A ' CD))H.@)ADKyy8NyOD		./	JDYY{4Y8DN"ii&C ( EDYY{4FYGDN#yy)>tyLD		.:O	PDr   c                 p    Uc  g[         R                  U5      (       d  [        SR                  US95      eg)z7Checks to see if the endpoint override string is valid.NzThe endpoint_overrides property must be an absolute URI beginning with http:// or https:// and ending with a trailing '/'. [{value}] is not a valid endpoint override.r   )_VALID_ENDPOINT_OVERRIDE_REGEXr-   r    rA   )r   r   s     r   EndpointValidator._SectionApiEndpointOverrides.EndpointValidator  s@    })//6688>U8KM M 7r   c                    > U(       d  U(       a  SR                  U5      nU R                  U5      nU(       a  U(       a  U SU S3n[        [        U ]  UUUU R
                  S9$ )Nz.Overrides API endpoint for `{}` command group.z Defaults to ``)r  r  r  )rA   GetDefaultEndpointr   r   r  r  )r   r   r  r  r@  default_endpointr   s         r   r  !_SectionApiEndpointOverrides._Add  sq    
:FF7O  ..t4#K~.>-?qAi-t9((	 : * *r   addressc                    Sn [         R                  R                  5       nUR                  5       nUR	                  S0 5      R	                  SU5      nUb  X%:w  a  UR                  X%S5      nU$ ! [
         a    Un N*f = f)z2Update a URL based on the current universe domain.googleapis.comre   universe_domainra   )r	   ConfigurationStoreActiveConfigGetPropertiesget	Exceptionreplace)r   r  default_universe_domainactive_configactive_config_propertiesr  s         r   UniversifyAddress._SectionApiEndpointOverrides.UniversifyAddress  s    .#66CCEm!.!<!<!> 144VR@DD
4o 6I
!Ag N  0/o0s   .A0 0A?>A?c                    [         R                  R                  U5      nU(       af  U H_  nUR                  U5      nUR                  (       d  M'  UR                  (       d  M:  U R                  UR                  R                  5      s  $    gg)z8Returns the BASE_URL for the respective api and version.N)r   MAPr  default_versionapitoolsr  base_url)r   api_nameapiapi_versionapi_defs        r   r  /_SectionApiEndpointOverrides.GetDefaultEndpoint  sj    
,,

8
$C
+''+&"""w'7'7'7''(8(8(A(AB
B  r   )r?  rA  r   rB  r1  rC  rD  rE  rF  rG  rH  r2  rI  rJ  rK  rL  rM  rN  r3  r   rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r4  r`  ra  rb  rc  r8  rd  re  rf  rg  rh  ri  r   r   rj  rk  r   rl  rm  r  r  rn  r  r  ro  r  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r$  r{  r|  r}  r~  r  r  r  r  r0  r.  r  r  r  r2  r  r  r  r  r  r4  r  r  r  r:  r  r>  r<  r  r  r  r  r  r  rB  r  r  rD  r  r  r  rL  r  r  r  r  rN  r  r  r  r  r  r  r  r  r  r  r  r  rP  r  r  rT  r  rV  r  rX  r  r  r^  r`  r  r  r  r
  r  r  rb  r  r  r  r  r  r  r  r   r  rd  r5  r6  rf  r  r  r  r  r  r  r  rp  rl  r  r  r  r  r  r  rv  r  rx  )NFN)rq   rr   rs   rt   ru   r   r  r  r   r  r  rv   r   r   s   @r   r   r     s3    
]Q~M*s $C Cr   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z.Contains the properties for the 'app' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSS S	9U l        U R                  S
SS S	9U l        U R                  S[        SS9U l
        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SS SS9U l        S nU R                  SU/SS9U l        U R                  SS SS9U l        U R                  SSSS9U l        g )Nr   promote_by_defaultzIf True, when deploying a new version of a service, that version will be promoted to receive all traffic for the service. This property can be overridden with the `--promote-by-default` or `--no-promote-by-default` flags.Tr  r   stop_previous_versionzIf True, when deploying a new version of a service, the previously deployed version is stopped. If False, older versions must be stopped manually.trigger_build_server_sider  r   use_flex_with_buildpackscloud_build_timeoutz}Timeout, in seconds, to wait for Docker builds to complete during deployments. All Docker builds now use the Cloud Build API.r  container_builder_imagezgcr.io/cloud-builders/docker)r   r  use_appengine_apinum_file_upload_threadsc                      [         R                  " 5       R                  n U c  g [        R                  R                  [         R                  " 5       R                  SS5      $ )Nplatformzext-runtime)r   Pathssdk_rootr   r   rB   )r  s    r   GetRuntimeRoot,_SectionApp.__init__.<locals>.GetRuntimeRoot2  s?    ((h		ww||FLLN33ZOOr   runtime_root)r  r  use_runtime_builderszIf set, opt in/out to a new code path for building applications using pre-fabricated runtimes that can be updated independently of client tooling. If not set, the default path for each runtime is used.r$  runtime_builders_rootzgs://runtime-builders/)r   r   r   r  r  r  r  r  r  rW   r  r  r  r  r  r  r  )r   r   r   s     r   r   _SectionApp.__init__
  s   	+t%e,"mm+  , D "&  "/ "D &*]]#D$ &3 &@D"$(MM"4 %2 %?D!#yy(  )  D $(99!. $- $D  "]]T$ + 8D $(99!4 $- $>D P 		>"24 " AD !%		@ !* !BD "&)A$ "+ "PDr   )r  r  r  r  r  r  r  r  r  r  r  r   r   s   @r   r   r     s    6CP CPr   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   iP  z4Contains the properties for the 'artifacts' section.c                 f  > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS	S
S9U l        U R                  SSS	SS9U l        U R                  SSS	SS9U l        U R                  SSS	SS9U l	        U R                  SSS	SS9U l        g )Nr   
repositoryzDefault repository to use when working with Artifact Registry resources. When a `repository` value is required but not provided, the command will fall back to this value, if set.r)  locationa
  Default location to use when working with Artifact Registry resources. When a `location` value is required but not provided, the command will fall back to this value, if set. If this value is unset, the default location is `global` when `location` value is optional.registry_endpoint_prefixr<   TzIDefault prefix to use while interacting with Artifact Registry resources.r   r  r  domainzpkg.devzYDefault domain endpoint to use while interacting with Artifact Registry Docker resources.gcr_hostzgcr.iozODefault host to use while interacting with Container Registry Docker resources.max_notes_per_batch_requesti  z4Default batching size for BatchCreateNotes requests.allow_unrecognized_registryFzEIf set to true, bypass the check against the list of known registries)r   r   r   r  r  r	  r
  r  r  r  r  r  r   s    r   r   _SectionArtifacts.__init__S  s   	
T+K8iiF   GDO IIN  ODM %)II"	 %. %D! )).	  /DK II   DM (,yy%H	 (1 (D$ (,}}% (5 (D$r   )r  r  r  r	  r  r
  r  r   r   s   @r   r   r   P  s    <7 7r   r   c                   8   ^  \ rS rSrSrSrSrSrU 4S jrSr	U =r
$ )r   i  /Contains the properties for the 'auth' section.z)https://accounts.google.com/o/oauth2/authz#https://oauth2.googleapis.com/tokenz(https://oauth2.mtls.googleapis.com/tokenc           	      j  > [         [        U ]  S5        U R                  SSU R                  S9U l        U R                  SSSS9U l        U R                  S	U R                  S
S9U l	        U R                  SU R                  SSS9U l        U R                  SSS9U l        U R                  SS[        R                  S9U l        U R                  SS[        R                   S9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  S[,        R.                  " S5      S9U l        U R                  SSSSS9U l        U R                  SSSSS9U l        U R                  SSSS S9U l        U R                  S!SS"S#9U l        U R                  S$S%S9U l        U R                  S&SS'[<        R>                  " [@        S&5      S(S)9U l!        U R                  S*SS+S9U l"        U R                  S,SSS-S.9U l#        g )/Nr   	auth_hostTr  disable_credentialsFzIf True, `gcloud` will not attempt to load any credentials or authenticate any requests. This is useful when behind a proxy that adds authentication to requests.r$  
token_hostzeOverrides the token endpoint to provision access tokens. It can be used with Private Service Connect.mtls_token_hostz=Overrides the mtls token endpoint to provision access tokens.r   r  r  disable_ssl_validationr  	client_idclient_secretauthority_selectorauthorization_token_filecredential_file_overrideaccess_token_filezA file path to read the access token. Use this property to authenticate gcloud with an access token. The credentials of the active account (if it exists) will be ignored. The file should contain an access token with no other information.r)  impersonate_service_accounta;          While set, all API requests will be
        made as the given service account or target service account in an
        impersonation delegation chain instead of the currently selected
        account. You can specify either a single service account as the
        impersonator, or a comma-separated list of service accounts to
        create an impersonation delegation chain. This is done without
        needing to create, download, or activate a key for the service
        account or accounts.
        +
        In order to make API requests as a service account, your
        currently selected account must have an IAM role that includes
        the `iam.serviceAccounts.getAccessToken` permission for the
        service account or accounts.
        +
        The `roles/iam.serviceAccountTokenCreator` role has
        the `iam.serviceAccounts.getAccessToken permission`. You can
        also create a custom role.
        +
        You can specify a list of service accounts, separated with
        commas. This creates an impersonation delegation chain in which
        each service account delegates its permissions to the next
        service account in the chain. Each service account in the list
        must have the `roles/iam.serviceAccountTokenCreator` role on the
        next service account in the list. For example, when the property is set
        through `gcloud config set auth/impersonate_service_account=`
        ``SERVICE_ACCOUNT_1'',``SERVICE_ACCOUNT_2'',
        the active account must have the
        `roles/iam.serviceAccountTokenCreator` role on
        ``SERVICE_ACCOUNT_1'', which must have the
        `roles/iam.serviceAccountTokenCreator` role on
        ``SERVICE_ACCOUNT_2''.
        ``SERVICE_ACCOUNT_1'' is the impersonated service
        account and ``SERVICE_ACCOUNT_2'' is the delegate.
        disable_code_verifierzyDisable code verifier in 3LO auth flow. See https://tools.ietf.org/html/rfc7636 for more information about code verifier.r  disable_load_google_authzGlobal switch to turn off loading credentials as google-auth. Users can use it to switch back to the old mode if google-auth breaks users.opt_out_google_authzA switch to disable google-auth for a surface or a command group, in case there are some edge cases or google-auth does not work for some surface.token_introspection_endpointzOverrides the endpoint used for token introspection with Workload and Workforce Identity Federation. It can be used with Private Service Connect.r  r  login_config_filezSets the created login configuration file in auth/login_config_file. Calling `gcloud auth login` will automatically use this login configuration unless it is explicitly unset.#service_account_use_self_signed_jwtzIf True, use self signed jwt flow to get service account credentials access token. This only applies to service account json file and not to the legacy .p12 file.r  )r   r  r  r  (service_account_disable_id_token_refreshz6If True, disable ID token refresh for service account.reauth_use_google_authzsA switch to choose to use google-auth reauth or oauth2client reauth implementation. By default google-auth is used.r  r   r  )$r   r   r   r  DEFAULT_AUTH_HOSTr  r  r  DEFAULT_TOKEN_HOSTr  DEFAULT_MTLS_TOKEN_HOSTr  r  r   CLOUDSDK_CLIENT_IDr  CLOUDSDK_CLIENT_NOTSOSECRETr  r  r  r  r  textwrapdedentr   r!  r"  r#  r$  r&  r  r  rG   r'  r(  r)  r   s    r   r   _SectionAuth.__init__  s   	,&v.YYD$*@*@  BDN#}}0  -  1D ii''7   8DO
  99,,Q	 % D
 #'--  #0 #/DYYD&*C*C  EDN22 # 4D #ii(<TiJD$(II"4 %. %1D!$(II"4 %. %1D!!YY ' D (,yy%// "# " (1 $(D$J "&	 "/ " D %)MM",	 %2 %-D!  $}}*	  -  +D )-		&# )2 )D% "YYF ' GD
 04yy-: ##D
 " 09 0D, 59MM2J 5B 5D1
 #'-- F #0 #Dr   )r  r  r  r  r  r  r  r!  r  r"  r  r   r&  r  r#  r)  r(  r'  r  r$  )rq   rr   rs   rt   ru   r+  r,  r-  r   rv   r   r   s   @r   r   r     s$    7A<FH Hr   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z0Contains the properties for the 'batch' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r	  zDefault location to use when working with Batch resources. When a `location` value is required but not provided, the command will fall back to this value, if set.r)  )r   r   r   r  r	  r   s    r   r   _SectionBatch.__init__"  s/    	-'0II8  9DMr   r	  r   r   s   @r   r   r     s    89 9r   r   c                   8   ^  \ rS rSrSrSrSrSrU 4S jrSr	U =r
$ )r   i,  r  LEGACYCURRENT_PROJECTCURRENT_PROJECT_WITH_FALLBACKc                    > [         [        U ]  S5        U R                  S[        R                  [
        R                  " S5      S9U l        g )Nr   quota_projectaZ               The Google Cloud project that is billed and charged quota for
             operations performed in `gcloud`. When unset, the default is
             [CURRENT_PROJECT]. This default bills and charges quota against the
             current project. If you need to operate on one project, but need to
             bill your usage against or use quota from a different project, you
             can use this flag to specify the billing project. If both
             `billing/quota_project` and `--billing-project` are specified,
             `--billing-project` takes precedence.
             r$  )r   r   r   r  r9  r0  r1  r<  r   s    r   r   _SectionBilling.__init__3  sE    	/4))4//// 	# 	 # Dr   )r<  )rq   rr   rs   rt   ru   r8  r9  r:  r   rv   r   r   s   @r   r   r   ,  s     7&%/"A r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   iE  z1Contains the properties for the 'builds' section.c                 >  > [         [        U ]  S5        U R                  SSS9U l        U R                  S[
        SS9U l        U R                  SS	S	S
S9U l        U R                  SSSS9U l	        U R                  SSSS9U l
        U R                  SSS	SS9U l        g )Nr   r(  zDefault region to use when working with Cloud Build resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set.r)  rU   zVTimeout, in seconds, to wait for builds to complete. If unset, defaults to 10 minutes.r  	check_tagTzkIf True, validate that the --tag value to builds submit is in the gcr.io, *.gcr.io, or *.pkg.dev namespace.r  
use_kanikoFzbIf True, kaniko will be used to build images described by a Dockerfile, instead of `docker build`.r$  kaniko_cache_ttl   zVTTL, in hours, of cached layers when using Kaniko. If zero, layer caching is disabled.kaniko_imagez%gcr.io/kaniko-project/executor:latestzcKaniko builder image to use when use_kaniko=True. Defaults to gcr.io/kaniko-project/executor:latest)r   r   r   r  r(  rW   rU   r  r@  rA  rB  rD  r   s    r   r   _SectionBuilds.__init__H  s    	.$(2))8  9DK
 99()  *DL
 ]]E	 # FDN mm3 $ 4DO
 !II% & &D
 		73	 " 4Dr   )r@  rB  rD  r(  rU   rA  r   r   s   @r   r   r   E  s    9#4 #4r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   in  z/Contains the properties for the 'code' section.c                    > [         [        U ]  SSS9  U R                  SSSSS9U l        U R                  SSS	S
9U l        U R                  SSSS
9U l        g )Nr   Tr  minikube_event_timeout90szdTerminate the cluster start process if this amount of time has passed since the last minikube event.r  minikube_path_overridezLocation of minikube binary.r%  skaffold_path_overridezLocation of skaffold binary.)r   r   r   r  rH  rJ  rK  r   s    r   r   _SectionCode.__init__q  s}    	,&vd&;"&)) 4	 #, #5D #')) 0 #, #2D
 #')) 0 #, #2Dr   )rH  rJ  rK  r   r   s   @r   r   r   n  s    72 2r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z0Contains the properties for the 'colab' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r(  a  Default region to use when working with Colab Enterprise resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set. Please see https://cloud.google.com/colab/docs/locations for a list of supported regions.r)  )r   r   r   r  r(  r   s    r   r   _SectionColab.__init__  s/    	-'0))  DKr   r+  r   r   s   @r   r   r     s    8 r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z<Contains the properties for the 'component_manager' section.c                 0  > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS	S
9U l        U R                  SSS9U l        U R                  SSS9U l	        U R                  SSSSSS9U l
        g )Nr   additional_repositorieszComma separated list of additional repositories to check for components.  This property is automatically managed by the `gcloud components repositories` commands.r)  disable_update_checkzCIf True, Google Cloud CLI will not automatically check for updates.disable_warningTz\If True, Google Cloud CLI will not display warning messages about overridden configurations.r%  fixed_sdk_versionr  snapshot_urloriginal_snapshot_urlz9Snapshot URL when this installation is firstly installed.zBhttps://dl.google.com/dl/cloudsdk/channels/rapid/components-2.json)r  r  r  r   )r   r   r   r  rR  r  rS  rT  rU  rV  rW  r   s    r   r   !_SectionComponentManager.__init__  s    	
"D23FG#'99!5 $- $6D 
 !% !. !D  ==+ ) ,D
 "YY':4YHD		.	>D "&MT "+ "Dr   )rR  rS  rT  rU  rW  rV  r   r   s   @r   r   r     s    D r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z3Contains the properties for the 'composer' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r	  a&  Composer location to use. Each Composer location constitutes an independent resource namespace constrained to deploying environments into Compute Engine regions inside this location. This parameter corresponds to the /locations/<location> segment of the Composer resource URIs being referenced.r)  )r   r   r   r  r	  r   s    r   r   _SectionComposer.__init__  s0    	
D*:6II  DMr   r6  r   r   s   @r   r   r     s    ;
 
r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z2Contains the properties for the 'compute' section.c                   > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  S	S
SSS9U l        U R                  SSSSS9U l        U R                  SSSS9U l	        U R                  SSS9U l
        U R                  SSSSS9U l        U R                  SSSSS9U l        U R                  SSSSS9U l        g )Nr   zonezDefault zone to use when working with zonal Compute Engine resources. When a `--zone` flag is required but not provided, the command will fall back to this value, if set. To see valid choices, run `gcloud compute zones list`.z<googlecloudsdk.command_lib.compute.completers:ZonesCompleterr  r  r(  zDefault region to use when working with regional Compute Engine resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set. To see valid choices, run `gcloud compute regions list`.z>googlecloudsdk.command_lib.compute.completers:RegionsCompletergce_metadata_read_timeout_sec   z7Timeout of requesting data from gce metadata endpoints.Tr  gce_metadata_check_timeout_sec   z0Timeout of checking if it is on gce environment.use_new_list_usable_subnets_apiFzfIf True, use the new API for listing usable subnets which only returns subnets in the current project.r$  image_family_scopea:  Sets how images are selected with image families for disk and instance creation. By default, zonal image resources are used when using an image family in a public image project, and global image resources are used for all other projects. To override the default behavior, set this property to `zonal` or `global`. r)  iap_tunnel_use_new_websocketz3Bool that indicates if we should use new websocket.force_batch_requestz6Bool that force all requests are sent as batch requestallow_partial_errorzRAllow AggregatedList to return partial response when there are partial server down)r   r   r   r  r^  r(  r`  rb  r  rd  re  rf  rg  rh  r   s    r   r   _SectionCompute.__init__  sS   	/4))4		4$  &DI ))<&  (DK *.'K	 *3 *D&
 +/))(D	 +4 +D'
 ,0==)6	 ,9 ,8D( #ii ( D )-&G	 )6 )D%
  $}}J	  -  D
  $}}#   -  Dr   )	rh  rg  rb  r`  rf  re  r(  rd  r^  r   r   s   @r   r   r     s    :< <r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  zContains the properties for the 'config_delivery' section.

Attributes:
  location: str, The GCP location to use by default e.g., us-central1.
c                 T   > [         [        U ]  SSS9  U R                  SSS9U l        g )Nr   Tr  r	  zDefault location to use when working with Fleet Packages resources. When a `location` value is required but not provided, the command will fall back to this value, if set.r)  )r   r   r   r  r	  r   s    r   r   _SectionConfigDelivery.__init__  s6    	
 $01B40PII8  9DMr   r6  r   r   s   @r   r   r     s    9 9r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i  z4Contains the properties for the 'container' section.c                   > [         [        U ]  S5        U R                  SSS9U l        U R                  SSSS9U l        U R                  S	SS
S9U l        U R                  S[        SS9U l	        U R                  SSSSS9U l
        g )Nr   clusterzJName of the cluster to use by default when working with Kubernetes Engine.r)  use_client_certificateFzXIf True, use the cluster's client certificate to authenticate to the cluster API server.r$  #use_application_default_credentialszWIf True, use application default credentials to authenticate to the cluster API server.build_timeoutz>Timeout, in seconds, to wait for container builds to complete.r  build_check_tagTziIf True, validate that the --tag value to container builds submit is in the gcr.io or *.gcr.io namespace.r  )r   r   r   r  ro  r  rp  use_app_default_credentialsrW   rr  rs  r   s    r   r   _SectionContainer.__init__  s    	
T+K899*  +DL #'-- 2 #0 #3D
 (,}}-& (5 ('D$ ( # D
  ==9	 ) :Dr   )rs  rr  ro  rt  rp  r   r   s   @r   r   r     s    <: :r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   i9  z=Contains the properties for the 'container_attached' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r	  z;Default Google Cloud location to use for Attached clusters.r)  )r   r   r   r  r	  r   s    r   r   "_SectionContainerAttached.__init__<  s1    	
#T34HIII  !DMr   r6  r   r   s   @r   r   r   9  s    E! !r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   iD  z8Contains the properties for the 'container_aws' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r	  z@Default Google Cloud location to use for Anthos clusters on AWS.r)  )r   r   r   r  r	  r   s    r   r   _SectionContainerAws.__init__G  s0    	
.?II  DMr   r6  r   r   s   @r   r   r   D  s    @ r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   iO  z:Contains the properties for the 'container_azure' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr   r	  zBDefault Google Cloud location to use for Anthos clusters on Azure.r)  )r   r   r   r  r	  r   s    r   r   _SectionContainerAzure.__init__R  s1    	
 $01BCII  !DMr   r6  r   r   s   @r   r   r   O  s    B! !r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  iZ  z?Contains the properties for the 'container_bare_metal' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr  r	  zGDefault Google Cloud location to use for Anthos clusters on Bare Metal.r)  )r   r  r   r  r	  r   s    r   r   #_SectionContainerBareMetal.__init__]  s1    	
$d45KLII$  &DMr   r6  r   r   s   @r   r  r  Z  s    G& &r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r   ie  z;Contains the properties for the 'container_vmware' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr  r	  zCDefault Google Cloud location to use for Anthos clusters on VMware.r)  )r   r   r   r  r	  r   s    r   r    _SectionContainerVmware.__init__h  s1    	
!412DEII   "DMr   r6  r   r   s   @r   r   r   e  s    C" "r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  ip  z8Contains the properties for the 'context_aware' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSSS	9U l        U R                  S
[        SSS9U l        U R                  S[        SSS9U l	        U R                  SSSSS	9U l
        g )Nr  rp  af  If True, use client certificate to authorize user device using Context-aware access. This includes user login as well. Some services may not support client certificate authorization. If a command sends requests to such services, the client certificate will not be validated. Run `gcloud topic client-certificate` for list of services supporting this feature.Fr  always_use_mtls_endpointz`If True, use the mTLS endpoints regardless of the value of context_aware/use_client_certificate.Tr  r   r  auto_discovery_file_pathz0File path for auto discovery configuration file.)r  r  r  certificate_config_file_pathz-File path for certificate configuration file.use_ecp_http_proxyzIf True, use the ECP HTTP proxy for requests. This property is used to determine if the ECP HTTP proxy should be used. If set to True, the ECP HTTP proxy will be used for all ECP requests. If set to False, the ECP HTTP proxy will not be used.)r   r  r   r  rp  r  r  r#   r  r  r  r   s    r   r   _SectionContextAware.__init__s  s    	
.?"&-- '  #0 
#D %)MM"0 %2 %D! %)II"3D	 %. %D!
 )-		&3A	 )2 )D%
 #mmB
  , 
Dr   )r  r  r  rp  r  r   r   s   @r   r  r  p  s    @* *r   r  c                   V   ^  \ rS rSrSr " S S\R                  5      rU 4S jrSr	U =r
$ )r  i  z/Contains the properties for the 'core' section.c                        \ rS rSrSrSrSrSrg) _SectionCore.InteractiveUXStylesi  r   ra   r`   r&   N)rq   rr   rs   rt   NORMALOFFTESTINGrv   r&   r   r   InteractiveUXStylesr    s    F
CGr   r  c                 ^
  >^ [         [        U ]  S5        U R                  SSS9U l        U R                  SSSS9U l        U R                  S	S
S9U l        U R                  SSS9U l        U R                  SSS9U l	        U R                  SSS9U l
        U R                  SSS9U l        U R                  SSSSS9U l        U R                  SSSSSS9U l        U R                  SSSSS9U l        U R                  SS S9U l        U R                  S!S"SS#9U l        U R                  S$S%S[        R"                  R$                  ['        [        R"                  5       Vs/ s H  oR(                  PM     snS&9U l        U R                  S'S(SS#9U l        U R                  S)S*SSS+9U l        U R                  S,S-SSS+9U l        U R                  S.S/SSS+9U l        U R                  S0SS9U l        U R                  S1SSS29U l        U R                  S3SS4S9U l        U R                  S5SS9U l        U R                  S6SS9U l        U R                  S7S8S9U l        U R                  S9SS9U l         U R                  S:SS;S<9U l!        U R                  S=SS>S9U l"        U R                  S?SSS@S9U l#        U R                  SASBSSC/ SDQS&9U l$        U R                  SESSSFSG9U l%        [M        [N        RP                  [N        RR                  [N        RT                  [N        RV                  [N        RX                  [N        RZ                  [N        R\                  [N        R^                  [N        R`                  /	5      mU4SH jnU R                  SIU[b        Rd                  " SJRg                  SKRi                  T5      5      5      SL9U l3        U R                  SMSNU[b        Rd                  " SORg                  SKRi                  T5      5      5      SP9U l5        SQ nU R                  SR/ SSQSTSU[b        Rd                  " SU5      SV9U l6        SW nU R                  SXUSYSZS[9U l7        U R                  S\SS]S<9U l8        U R                  S^S_SS#9U l9        U R                  S`[t        SaSL9U l;        Sb nU R                  ScSdUSeSfSg9U l<        U R                  ShSiSSSj9U l=        U R                  SkSlSmS#9U l>        U R                  SnSS9U l?        So nU R                  SpSqSr/SqU[b        Rd                  " Ss5      St9U l@        g s  snf )uNre   rf   zpAccount `gcloud` should use for authentication. Run `gcloud auth list` to see your currently available accounts.r)  +disable_collection_path_deprecation_warningTzjIf False, any usage of collection paths will result in deprecation warning. Set it to False to disable it.r%   default_regional_backend_servicezIf True, backend services in `gcloud compute backend-services` will be regional by default. Setting the `--global` flag is required for global backend services.disable_colorzGIf True, color will not be used when printing messages in the terminal.disable_command_lazy_loadingr  disable_promptsaQ  If True, the default answer will be assumed for all user prompts. However, for any prompts that require user input, an error will be raised. This is equivalent to either using the global `--quiet` flag or setting the environment variable `CLOUDSDK_CORE_DISABLE_PROMPTS` to 1. Setting this property is useful when scripting with `gcloud`.disable_usage_reportingzIf True, anonymous statistics on SDK usage will not be collected. This value is set by your choices during installation, but can be changed at any time.  For more information, see [Usage statistics](/sdk/docs/usage-statistics).
enable_griFziIf True, the parser for gcloud Resource Identifiers will be enabled when interpreting resource arguments.r  resource_completion_style)flagsgrir  zThe resource completion style controls how resource strings are represented in command argument completions.  All styles, including uri, are handled on input.)r  r   r  r  lintr=   zEnable the runtime linter for specific patterns. Each occurrence of a runtime pattern raises an exception. The pattern names are source specific. Consult the source for details.	verbosityzDefault logging verbosity for `gcloud` commands.  This is the equivalent of using the global `--verbosity` flag. Supported verbosity levels: `debug`, `info`, `warning`, `error`, `critical`, and `none`.user_output_enabledzTrue, by default. If False, messages to the user and command output on both standard output and standard error will be suppressed.r  interactive_ux_stylezGHow to display interactive UX elements like progress bars and trackers.)r  r  r   r  log_httpzIf True, log HTTP requests and responses to the logs.  To see logs in the terminal, adjust `verbosity` settings. Otherwise, logs are available in their respective log files.log_http_redact_tokenzxIf true, this prevents log_http from printing access tokens. This property does not have effect unless log_http is true.r  log_http_show_request_bodya  If true, this allows log_http to print the request body for debugging purposes on requests with the "redact_request_body_reason" parameter set on  core.credentials.transports.GetApitoolsTransports. Note: this property does not have any effect unless log_http is true.log_http_streaming_bodyzIf True, log the streaming body instead of logging the "<streaming body>" text. This flag results in reading the entire response body in memory. This property does not have effect unless log_http is true.http_timeoutcheck_gce_metadatar  print_completion_tracebackszfIf True, print actual completion exceptions with traceback instead of the nice UX scrubbed exceptions.print_unhandled_tracebacksprint_handled_tracebackstrace_tokenzzToken used to route traces of service requests for investigation of issues. This token will be provided by Google support.request_reasonpass_credentials_to_gsutilzGIf True, pass the configured Google Cloud CLI authentication to gsutil.r$  api_keyz@If provided, this API key is attached to all outgoing API calls.should_prompt_to_enable_apizZIf true, will prompt to enable an API if a command fails due to the API not being enabled.color_themezColor palette for output.r9   )r9   normalr  use_legacy_flattened_formatzvIf True, use legacy format for flattened() and text().Please note that this option will not be supported indefinitely.r*  c                 :   > U (       a  U T;  a  [        U T5      eg g r   )r   )print_formatsupported_global_formatss    r   FormatValidator._SectionCore.__init__.<locals>.FormatValidatorT	  s$    	,.FF /GHH Gr   rA   aV          Sets the format for printing all command resources. This overrides the
        default command-specific human-friendly output format. Use
        `--verbosity=debug` flag to view the command-specific format. If both
        `core/default_format` and `core/format` are specified, `core/format`
        takes precedence. If both `core/format` and `--format` are specified,
        `--format` takes precedence. The supported formats are limited to:
        `{0}`. For more details run $ gcloud topic formats. Run `$ gcloud config
        set --help` to see more information about `core/format`z`, `r  default_formatr   ap          Sets the default format for printing command resources.
        `core/default_format` overrides the default yaml format. If the command
        contains a command-specific output format, it takes precedence over the
        `core/default_format` value. Use `--verbosity=debug` flag to view the
        command-specific format. Both `core/format` and `--format` also take
        precedence over `core/default_format`. The supported formats are limited
        to: `{0}`. For more details run $ gcloud topic formats. Run `$ gcloud
        config set --help` to see more information about
        `core/default_format`r   r  r  c                 .    U c  g U S;  a  [        S5      eg )NalwayslogterminalneverzCshow_structured_logs must be one of: [always, log, terminal, never]r    )show_structured_logss    r   ShowStructuredLogsValidator:_SectionCore.__init__.<locals>.ShowStructuredLogsValidatorv	  s/    		%	%K	K "B D 	D 
Lr   r  r  r  a&          Control when JSON-structured log messages for the current verbosity
        level (and above) will be written to standard error. If this property
        is disabled, logs are formatted as `text` by default.
        +
        Valid values are:
            *   `never` - Log messages as text
            *   `always` - Always log messages as JSON
            *   `log` - Only log messages as JSON if stderr is a file
            *   `terminal` - Only log messages as JSON if stderr is a terminal
        +
        If unset, default is `never`.)r  r   r  r  r  c                 t    U c  g  [        U 5      S:  a  [        S5      eg ! [         a    [        S5      ef = f)Nr   z%Max number of days must be at least 0z%Max number of days must be an integer)rI   r    rJ   )max_log_dayss    r   MaxLogDaysValidator2_SectionCore.__init__.<locals>.MaxLogDaysValidator	  sL    		I|q !"IJ
J ! I GHHIs   ! 7r  zMaximum number of days to retain log files before deleting. If set to 0, turns off log garbage collection and does not delete log files. If unset, the default is 30 days.30)r  r  r   disable_file_loggingz]If True, `gcloud` will not store logs to a file. This may be useful if disk space is limited.parse_error_detailszIf True, `gcloud` will attempt to parse and interpret error details in API originating errors. If False, `gcloud` will  write flush error details as is to stderr/log.custom_ca_certs_filez'Absolute path to a custom CA cert file.c                 6   U c  g[        U [        R                  5      (       d  [        S5      eU S:X  a  [	        S5      e[
        R                  U 5      (       a  g[        U 5      (       a  [	        SR                  U S95      e[	        SR                  U S95      e)z-Checks to see if the project string is valid.Nzproject must be a stringr<   zBThe project property is set to the empty string, which is invalid.zVThe project property must be set to a valid project ID, not the project name [{value}]r   z\The project property must be set to a valid project ID, [{value}] is not a valid project ID.)	r   r   r   r    r   _VALID_PROJECT_REGEXr-   r0   rA   r/   s    r   ProjectValidator/_SectionCore.__init__.<locals>.ProjectValidator	  s    	!1!122 :;;	B! #D E 	E		#	#G	,	,		(	(!%%+V'V%:< 	<  117g1FH Hr   r)   zProject ID of the Cloud Platform project to operate on by default.  This can be overridden by using the global `--project` flag.zGgooglecloudsdk.command_lib.resource_manager.completers:ProjectCompleterz	--project)r  r  r  r   project_numberzMThis property is for tests only. It should be kept in sync with core/project.)r  r  r  r  z8Sets the domain of the universe to use for API requests.r   credentialed_hosted_repo_domainsc                 .    U c  g U S;  a  [        S5      eg )N)standarddetailedz7console_log_format must be one of: [standard, detailed]r  )console_log_formats    r   ConsoleLogFormatValidator8_SectionCore.__init__.<locals>.ConsoleLogFormatValidator	  s+    		#	#;	; "8 : 	: 
<r   r  r  r  aC          Control the format used to display log messages to the console.
        +
        Valid values are:
            *   `standard` - Simplified log messages are displayed on the console.
            *   `detailed` - More detailed messages are displayed on the console.
        +
        If unset, default is `standard`.)r  r   r  r  )Ar   r  r   r  rf   r  r  r  r  r  r  r  r  r  r  r  r  r  r  listr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  formatsCONFIGr   DISABLE	FLATTENEDJSONLISTNONEOBJECTTEXTr0  r1  rA   rB   r  r  r  r  r  r#   r  r)   r  r  r  r  )	r   rF   r  r  r  r  r  r  r   s	          @r   r   _SectionCore.__init__  s   	,&v.99K  LDL 8<}}5> 8E 8?D4
 -1MM*8 -: -9D)
  ' D )-&t )6 )5D%==/ ) 0D $(==!: $1 $;D  mm8	 $ 9DO &*YY# / &/ &0D" 		 !  DI( YY  DN  $}}   -  D !%		0077!%l&F&F!GH!GA!GH !* !JD MMG  " DM "&G "/ "D '+mm$  '4 	'D# $(==!G  $1 $D  		.	>D"mmT4 , 9D'+}}%6 (5 (7D$
 '+mm$T '4 '3D#$(MM"4 %2 %1D!yy ! D
 ))$4T)BD&*mm$ '4 'D#
 99  DL
 (,}}%)	 (5 (*D$ yy-, ! .D (,}}%K	 (5 (LD$  &':K:KgllGLL'..',,'  
I ))!// #C DJ6KK01D3	4  5DK ))!// 	#! "(KK01"3
4	 $ 5D D !%		6-// #) * !* !+D&I 		%4  " D !%. !. !/D  $yy>   )  D !%		3; !* !=D
H, 99 #&   "DL )) $ D  99L  % D -1II*4 -6 -9D): #iiZ(+// #, - ( .DY Is   T*))rf   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA   r  r  r  r  r  r  r  r  r  r  r  r  r  r)   r  r  r  r  r  r  r  r  r  r  )rq   rr   rs   rt   ru   r   r   r  r   rv   r   r   s   @r   r  r    s"    7DII 
P. P.r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i	  z8Contains the properties for the 'datapipelines' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        g )Nr  disable_public_ipsGSpecifies that Cloud Dataflow workers must not use public IP addresses.Fr  enable_streaming_engine8Set this to true to enable Streaming Engine for the job.)r   r  r   r  r  r  r   s    r   r   _SectionDataPipelines.__init__	  sU    	
/@"mm,	 , D
 $(==!L $1 $D r   )r  r  r   r   s   @r   r  r  	  s    @
 
r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i
  z3Contains the properties for the 'dataflow' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SS	SS9U l        g )
Nr  r  r  Fr  
print_onlyzKPrints the container spec to stdout. Does not save in Google Cloud Storage.r  r  )r   r  r   r  r  r  r  r   s    r   r   _SectionDataflow.__init__
  sw    	
D*:6"mm,	 , D
 mm 	 $ DO
 $(==!L $1 $D r   )r  r  r  r   r   s   @r   r  r  
  s    ; r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i 
  z5Contains the properties for the 'datafusion' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr  r	  a,  Datafusion location to use. Each Datafusion location constitutes an independent resource namespace constrained to deploying environments into Compute Engine regions inside this location. This parameter corresponds to the /locations/<location> segment of the Datafusion resource URIs being referenced.r)  )r   r  r   r  r	  r   s    r   r   _SectionDatafusion.__init__#
  s0    	
d,\:II  DMr   r6  r   r   s   @r   r  r   
  s    =
 
r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i0
  z3Contains the properties for the 'dataplex' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        U R                  S	S
S9U l        g )Nr  r	  zDataplex location to use. When a `location` is required but not provided by a flag, the command will fall back to this value, if set.r)  lakez}Dataplex lake to use. When a `lake` is required but not provided by a flag, the command will fall back to this value, if set.r^  z}Dataplex zone to use. When a `zone` is required but not provided by a flag, the command will fall back to this value, if set.assetzDataplex asset to use. When an `asset` is required but not provided by a flag, the command will fall back to this value, if set.)r   r  r   r  r	  r  r^  r  r   s    r   r   _SectionDataplex.__init__3
  s    	
D*:6II  DM 		  DI 		  DI   DJr   )r  r  r	  r^  r   r   s   @r   r  r  0
  s    ; r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  iO
  z3Contains the properties for the 'dataproc' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        g )Nr  r(  zDataproc region to use. Each Dataproc region constitutes an independent resource namespace constrained to deploying instances into Compute Engine zones inside the region.r)  r	  zDataproc location to use. Each Dataproc location constitutes an independent resource namespace constrained to deploying instances into Compute Engine zones inside the location.)r   r  r   r  r(  r	  r   s    r   r   _SectionDataproc.__init__R
  sO    	
D*:6));  =DK II=  ?DMr   )r	  r(  r   r   s   @r   r  r  O
  s    ;? ?r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  ib
  z6Contains the properties for the 'declarative' section.c                    > [         [        U ]  S5        U R                  SSS/SSS9U l        U R                  SSS	/S
SS9U l        g )Nr  client_typedclkcczFUnderlying declarative client library to use for declarative commands.)r  r  r   rA   krm	terraformz3Declarative format to use for declarative commands.)r   r  r   r  clientrA   r   s    r   r   _SectionDeclarative.__init__e
  s`    	
t-m<))Z	  DK
 ))$G	  DKr   )r  rA   r   r   s   @r   r  r  b
  s    > r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  is
  z1Contains the properties for the 'deploy' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        g )Nr  r(  zCloud Deploy region to use. Each Cloud Deploy region constitutes an independent resource namespace constrained to deploying instances into Compute Engine zones inside the region.r)  delivery_pipelinez0Delivery Pipeline being managed by Cloud Deploy.)r   r  r   r  r(  r  r   s    r   r   _SectionDeploy.__init__v
  sN    	.$(2))  DK "YYE ' HDr   )r  r(  r   r   s   @r   r  r  s
  s    9H Hr   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i
  z=Contains the properties for the 'deployment_manager' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr  glob_importsFz[Enable import path globbing. Uses glob patterns to match multiple imports in a config file.r$  )r   r  r   r  r	  r   s    r   r   "_SectionDeploymentManager.__init__
  s5    	
#T34HI(	 & *Dr   )r	  r   r   s   @r   r  r  
  s    E* *r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i
  z3Contains the properties for the 'devshell' section.c                    > [         [        U ]  S5        U R                  SS[        R
                  S9U l        U R                  SS[        R                  S9U l        g )Nr  imageTr  metadata_image)	r   r  r   r  	const_libDEFAULT_DEVSHELL_IMAGEr  METADATA_IMAGEr  r   s    r   r   _SectionDevshell.__init__
  sZ    	
D*:6i&F&F  HDJ))y/G/G $ IDr   )r  r  r   r   s   @r   r  r  
  s    ;I Ir   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i
  z6Contains the properties for the 'diagnostics' section.c                 V   > [         [        U ]  SSS9  U R                  SSSS9U l        g )Nr  Tr  hidden_property_allowlistzeComma separated list of hidden properties that should be allowed by the hidden properties diagnostic.)r  r  )r   r  r   r  r  r   s    r   r   _SectionDiagnostics.__init__
  s;    	
t-mD-I%)YY#B &/ &DD"r   )r  r   r   s   @r   r  r  
  s    >D Dr   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  i
  z9Contains the properties for the 'edge_container' section.c                 T   > [         [        U ]  SSS9  U R                  SSS9U l        g )Nr   Tr  r	  Default location to use when working with Private CA resources. When a `--location` flag is required but not provided, the command will fall back to this value, if set.r)  )r   r  r   r  r	  r   s    r   r   _SectionEdgeContainer.__init__
  s6    	
/0@/NII8  9DMr   r6  r   r   s   @r   r  r  
  s    A9 9r   r  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r!  i
  zContains the properties for the 'emulator' section.

This is used to configure emulator properties for pubsub and datastore, such
as host_port and data_dir.
c                    > [         [        U ]  SSS9  U R                  S5      U l        U R                  S5      U l        U R                  SSS9U l        U R                  S	S
S9U l        U R                  SSS9U l        g )Nr"  Tr  datastore_data_dirpubsub_data_dirdatastore_host_portzlocalhost:8081)r   pubsub_host_portzlocalhost:8085bigtable_host_portzlocalhost:8086)	r   r!  r   r  r  r  r  r   r!  r   s    r   r   _SectionEmulator.__init__
  s    	
D*:d*C"ii(<=D99%67D#yy'7  )  9D II$4 & 6D"ii&6 ( 8Dr   )r!  r  r  r  r   r   r   s   @r   r!  r!  
  s    	8 	8r   r!  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r#  i
  z3Contains the properties for the 'eventarc' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr$  r	  zThe default location to use when working with Eventarc resources. This should be either ``global'' or one of the supported regions. When a `--location` flag is required but not provided, the command will fall back to this value, if set.r)  )r   r#  r   r  r	  r   s    r   r   _SectionEventarc.__init__
  s0    	
D*:6II8  9DMr   r6  r   r   s   @r   r#  r#  
  s    ;9 9r   r#  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r%  i
  z/Contains the properties for gcloud experiments.c                 *   > [         [        U ]  SSS9  g )Nr&  Tr  )r   r%  r   r   s    r   r   _SectionExperimental.__init__
  s    	
.~d.Kr   r&   r   r   s   @r   r%  r%  
  s    7L Lr   r%  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r'  i
  z4Contains the properties for the 'filestore' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        g )	Nr(  r	  zXPlease use the `--location` flag or set the filestore/zone or filestore/region property.r)  r^  zDefault zone to use when working with Cloud Filestore zones. When a `--zone` flag is required but not provided, the command will fall back to this value, if set.r(  zDefault region to use when working with Cloud Filestore regions. When a `--region` flag is required but not provided, the command will fall back to this value, if set.)r   r'  r   r  r	  r^  r(  r   s    r   r   _SectionFilestore.__init__
  sr    	
T+K8II7  8DM 		F  GDI
 ))F  GDKr   )r	  r(  r^  r   r   s   @r   r'  r'  
  s    <G Gr   r'  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r)  i
  z4Contains the properties for the 'functions' section.c                    > [         [        U ]  S5        U R                  SSSSS9U l        U R                  SSS	S
9U l        U R                  SSSSS9U l        g )Nr*  r(  us-central1zDefault region to use when working with Cloud Functions resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set. To see valid choices, run `gcloud beta functions regions list`.z=googlecloudsdk.command_lib.functions.flags:LocationsCompleter)r   r  r  gen2FzDefault environment to use when working with Cloud Functions resources. When neither `--gen2` nor `--no-gen2` is provided, the decision of whether to use Generation 2 falls back to this value if set.r$  v2Tz\DEPRECATED. Use `functions/gen2` instead. This property will be removed in a future release.r  )r   r)  r   r  r(  r  r/  r0  r   s    r   r   _SectionFunctions.__init__
  s    	
T+K8))C(  *DK 	  	DI mm=	  >DGr   )r/  r(  r0  r   r   s   @r   r)  r)  
  s    <> >r   r)  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r+  i  z7Contains the properties for the 'gcloudignore' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr,  enabledTzIf True, do not upload `.gcloudignore` files (see `$ gcloud topic gcloudignore`). If False, turn off the gcloudignore mechanism entirely and upload all files.r$  )r   r+  r   r  r4  r   s    r   r   _SectionGcloudignore.__init__  s3    	
.~>==-	 ! /DLr   )r4  r   r   s   @r   r+  r+    s    ?/ /r   r+  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r-  i  z1Contains the properties for the 'gkehub' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr.  r	  globalz<Please use the `--location` flag to set membership location.r$  )r   r-  r   r  r	  r   s    r   r   _SectionGkeHub.__init__!  s0    	.$(2IIP  DMr   r6  r   r   s   @r   r-  r-    s    9 r   r-  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r/  i*  z0Contains the properties for 'gkebackup' section.c                   > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSS	S9U l        U R                  S
SSS9U l        U R                  SSSS9U l        g )Nr0  r	  -zDefault location to use when working with Backup for GKE Services resources. When a `--location` flag is required but not provided, the command will fall back to this value.r$  backup_planzDefault backup plan ID to use when working with Backup for GKE Services resources. When a `--backup-plan` flag is required but not provided, the command will fall back to this value.backupzDefault backup ID to use when working with Backup for GKE Services resources. When a `--backup` flag is required but not provided, the command will fall back to this value.restore_planzDefault restore plan ID to use when working with Backup for GKE Services resources. When a `--restore-plan` flag is required but not provided, the command will fall back to this value.restorezDefault restore ID to use when working with Backup for GKE Services resources. When a `--restore` flag is required but not provided, the command will fall back to this value.)r   r/  r   r  r	  r=  r>  r@  r   s    r   r   _SectionGkebackup.__init__-  s    	
T+K8II8	  :DM yyF	 ! HD ))B	  DDK 99F	  HDL 99B	  DDLr   )r>  r=  r	  r@  r   r   s   @r   r/  r/  *  s    8$D $Dr   r/  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r1  iT  z5Contains the properties for the 'healthcare' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSS9U l        g )	Nr2  r	  r.  zDefault location to use when working with Cloud Healthcare  resources. When a `--location` flag is required but not provided, the  command will fall back to this value.r$  datasetzDefault dataset to use when working with Cloud Healthcare resources. When a `--dataset` flag is required but not provided, the command will fall back to this value, if set.r)  )r   r1  r   r  r	  rD  r   s    r   r   _SectionHealthcare.__init__W  sR    	
d,\:II0  1DM 998  9DLr   )rD  r	  r   r   s   @r   r1  r1  T  s    =9 9r   r1  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r3  if  z8Contains the properties for the 'infra-manager' section.c                 V   > [         [        U ]  SSS9  U R                  SS SS9U l        g )Nzinfra-managerTr  r	  zThe default region to use when working with Infra Manager resources. When a `--location` flag is required but not provided, the command will fall back to this value, if set.r$  )r   r3  r   r  r	  r   s    r   r   _SectionInfraManager.__init__i  s8    	
.t.LII8  9DMr   r6  r   r   s   @r   r3  r3  f  s    @9 9r   r3  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r5  is  z6Contains the properties for the 'interactive' section.c                   > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  S	S
SS9U l        U R                  SSSS9U l        U R                  SSSSS9U l	        U R                  SSSS9U l
        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SSSS S9U l        U R                  S!S"S#S9U l        U R                  S$SS%S9U l        U R                  S&SS'S9U l        g )(Nr6  bottom_bindings_lineTz.If True, display the bottom key bindings line.r$  bottom_status_lineFz(If True, display the bottom status line.completion_menu_lines   z'Number of lines in the completion menu.contextr<   zCommand context string.debugz&If True, enable the debugging display.r  fixed_prompt_positionz1If True, display the prompt at the same position.
help_lines
   z%Maximum number of help snippet lines.r  z&If True, expose hidden commands/flags.justify_bottom_linesz6If True, left- and right-justify bottom toolbar lines.manpage_generatorzEIf True, use the manpage CLI tree generator for unsupported commands.multi_column_completion_menuz8If True, display the completions as a multi-column menu.	obfuscatezIf True, obfuscate status PII.promptz$ zCommand prompt string.	show_helpz5If True, show help as command args are being entered.suggestz7If True, add command line suggestions based on history.)r   r5  r   r  rK  rL  r  rM  rO  rP  rQ  rR  r  rT  rU  rV  rW  rX  rY  rZ  r   s    r   r   _SectionInteractive.__init__v  s   	
t-m< $B !. !DD #mm< , >D "&; "+ "=D 992)B  DDL:	  <DJ
 "&E "+ "GD ii9   ;DO --:   <DK !%J !. !LD "YY+ ' -D
 )-&L )6 )ND% ]]2	 # 4DN
 ))$*B  DDK]]I # KDN ==K ! MDLr   )rK  rL  rM  rO  rP  rQ  rR  r  rT  rU  rV  rW  rX  rY  rZ  r   r   s   @r   r5  r5  s  s    ><M <Mr   r5  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r7  i  z2Contains the properties for the 'kuberun' section.c                 `  > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SS	SS9U l        U R                  S
SSS9U l        U R                  SSSS9U l	        U R                  SSSS9U l
        U R                  SSSS9U l        g )Nr8  enable_experimental_commandszCIf True, experimental KubeRun commands will not prompt to continue.Tr  r  r   zVIf set, this environment will be used as the deploymenttarget in all KubeRun commands.ro  ?ID of the cluster or fully qualified identifier for the clustercluster_location/Zone or region in which the cluster is located.use_kubeconfigz0Use the default or provided kubectl config file.
kubeconfigz*Absolute path to your kubectl config file.rO  z7Name of the context in your kubectl config file to use.)r   r7  r   r  r^  r  r   ro  ra  rc  rd  rO  r   s    r   r   _SectionKubeRun.__init__  s    	/4))4(,&	 )6 )D% yy*	 ! D 99	  DL !IIC & D
 --D ( D
 ii>   DO
 99K  DLr   )ro  ra  rO  r^  r   rd  rc  r   r   s   @r   r7  r7    s    :& &r   r7  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r9  i  z7Contains the properties for the 'lifesciences' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr:  r	  r.  zDefault location to use when working with Cloud Life Sciences  resources. When a `--location` flag is required but not provided, the  command will fall back to this value.r$  )r   r9  r   r  r	  r   s    r   r   _SectionLifeSciences.__init__  s3    	
.~>II0  1DMr   r6  r   r   s   @r   r9  r9    s    ?1 1r   r9  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r=  i  z1Contains the properties for the 'looker' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr>  r(  zDefault region to use when working with Cloud Looker resources. When a `region` is required but not provided by a flag, the command will fall back to this value, if set.r)  )r   r=  r   r  r(  r   s    r   r   _SectionLooker.__init__  s1    	.$(2))P  QDKr   r+  r   r   s   @r   r=  r=        9Q Qr   r=  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r;  i  z1Contains the properties for the 'lustre' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )Nr<  r	  zDefault location to use when working with Cloud Lustre resources. When a `location` value is required but not provided, the command will fall back to this value, if set.r)  )r   r;  r   r  r	  r   s    r   r   _SectionLustre.__init__  s1    	.$(2IIP  QDMr   r6  r   r   s   @r   r;  r;    rl  r   r;  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r?  i  z6Contains the properties for the 'media_asset' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nr@  r	  r.  zDefault location to use when working with Cloud Media Asset resources. When a `--location` flag is required but not provided, the command will fall back to this value.r$  )r   r?  r   r  r	  r   s    r   r   _SectionMediaAsset.__init__	  s3    	
d,];II8	  :DMr   r6  r   r   s   @r   r?  r?    s    >: :r   r?  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rA  i  z3Contains the properties for the 'memcache' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )NrB  r(  zDefault region to use when working with Cloud Memorystore for Memcached resources. When a `region` is required but not provided by a flag, the command will fall back to this value, if set.r)  )r   rA  r   r  r(  r   s    r   r   _SectionMemcache.__init__  s2    	
D*:6))G  HDKr   r+  r   r   s   @r   rA  rA    s    ;H Hr   rA  c                   \   ^  \ rS rSrSr " S S\R                  5      rS rU 4S jr	Sr
U =r$ )rC  i   z4Contains the properties for the 'metastore' section.c                       \ rS rSrSrSrSrg)_SectionMetastore.Tieri#  ra   rc  r&   N)rq   rr   rs   rt   	developer
enterpriserv   r&   r   r   Tierrx  #  s    IJr   r{  c                     Uc  g U[        [        R                  5       Vs/ s H  o"R                  PM     sn;  a  [	        SR                  U5      5      eg s  snf )Nz2tier `{0}` must be one of: [developer, enterprise])r  rC  r{  r   r    rA   )r   tierrF   s      r   TierValidator_SectionMetastore.TierValidator'  sW    |D):)?)?$@A$@qFF$@AA?FFtLO O BAs   Ac           	      ,  > [         [        U ]  S5        U R                  SSS9U l        U R                  SU R
                  [        R                  " S5      [        [        R                  5       Vs/ s H  oR                  PM     snS9U l        g s  snf )NrD  r	  zDefault location to use when working with Dataproc Metastore. When a `location` is required but not provided by a flag, the command will fall back to this value, if set.r)  r}  a8          Default tier to use when creating Dataproc Metastore services.
        When a `tier` is required but not provided by a flag,
        the command will fall back to this value, if set.
        +
        Valid values are:
            *   `developer` - The developer tier provides limited scalability
            and no fault tolerance. Good for low-cost proof-of-concept.
            *   `enterprise` - The enterprise tier provides multi-zone high
            availability, and sufficient scalability for enterprise-level
            Dataproc Metastore workloads.)r  r  r  )r   rC  r   r  r	  r~  r0  r1  r  r{  r   r}  )r   rF   r   s     r   r   _SectionMetastore.__init__/  s    	
T+K8II<  =DM
 		$$// 
#- 
. "&&7&<&<!=>!=A!=>  @DI ?s   1B)r	  r}  )rq   rr   rs   rt   ru   r   r   r{  r~  r   rv   r   r   s   @r   rC  rC     s(    <TYY O@ @r   rC  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rE  iG  z2Contains the properties for the 'metrics' section.c                    > [         [        U ]  SSS9  U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        g )NrF  Tr  r   environment_versioncommand_name)r  )r   rE  r   r  r   r  r  r   s    r   r   _SectionMetrics.__init__J  sW    	/4))D)Ayyty<D#yy)>tyLD		.4	@Dr   )r  r   r  r   r   s   @r   rE  rE  G  s    :A Ar   rE  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rG  iQ  z4Contains the properties for the 'ml_engine' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SS SS9U l        g )NrH  polling_interval<   zInterval (in seconds) at which to poll logs from your Cloud ML Engine jobs. Note that making it much faster than the default (60) will quickly use all of your quota.r$  local_pythonzFull path to the Python interpreter to use for Cloud ML Engine local predict/train jobs. If not specified, the default path is the one to the Python interpreter found on system `PATH`.)r   rG  r   r  r  r  r   s    r   r   _SectionMlEngine.__init__T  sY    	
D*;7 IIJ & LD 		9 " ;Dr   )r  r  r   r   s   @r   rG  rG  Q  s    <; ;r   rG  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rI  ie  z.Contains the properties for the 'mps' section.c                 X   > [         [        U ]  S5        U R                  SS SS9U l        g )NrJ  productz&Id for Marketplace Solutions Product. r$  )r   rI  r   r  r  r   s    r   r   _SectionMps.__init__h  s0    	+t%e,99:  
DLr   )r  r   r   s   @r   rI  rI  e  s    6
 
r   rI  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rK  iq  z1Contains the properties for the 'netapp' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )NrL  r	  zDefault location to use when working with Cloud NetApp Files resources. When a `location` value is required but not provided, the command will fall back to this value, if set.r)  )r   rK  r   r  r	  r   s    r   r   _SectionNetapp.__init__t  s1    	.$(2IIP  QDMr   r6  r   r   s   @r   rK  rK  q  s    9Q Qr   rK  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rM  i~  z4Contains the properties for the 'notebooks' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )NrN  r	  zDefault location to use when working with Notebook resources. When a `location` value is required but not provided, the command will fall back to this value, if set.r)  )r   rM  r   r  r	  r   s    r   r   _SectionNotebooks.__init__  s0    	
T+K8II8  9DMr   r6  r   r   s   @r   rM  rM  ~  s    <9 9r   rM  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rO  i  z4Contains the properties for the 'privateca' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )NrP  r	  r  zBgooglecloudsdk.command_lib.privateca.completers:LocationsCompleterr_  )r   rO  r   r  r	  r   s    r   r   _SectionPrivateCa.__init__  s5    	
T+K8II8(  *DMr   r6  r   r   s   @r   rO  rO    s    <* *r   rO  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rQ  i  z0Contains the properties for the 'proxy' section.c                   >^ [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS	S
9U l        U R                  SSS9U l        U R                  SSS9U l        [        [        R                  R                  5       5      mU4S jnU R                  SSR                  SR                  T5      5      UTS9U l        U R!                  SSSSS9U l        g )NrR  r  z'Hostname or IP address of proxy server.r)  portz/Port to use when connected to the proxy server.rdnsTzzIf True, DNS queries will not be performed locally, and instead, handed to the proxy to resolve. This is default behavior.r$  usernamezFUsername to use when connecting, if the proxy requires authentication.passwordzFPassword to use when connecting, if the proxy requires authentication.c                 n   > U b1  U T;  a*  [        SR                  U SR                  T5      5      5      eg g )NzIThe proxy type property value [{0}] is not valid. Possible values: [{1}].r>   )r    rA   rB   )
proxy_typevalid_proxy_typess    r   ProxyTypeValidator2_SectionProxy.__init__.<locals>.ProxyTypeValidator  sH    		J6G$G&&,fZ-1YY7H-I'KL 	L %H	r   typez<Type of proxy being used.  Supported proxy types are: [{0}].r>   )r  r  r  use_urllib3_via_shimFz;If True, use `urllib3` to make requests via `httplib2shim`.r  )r   rQ  r   r  r  r  r  r  r  r  r   PROXY_TYPE_MAPkeysrA   rB   r  r  r  )r   r  r  r   s     @r   r   _SectionProxy.__init__  s)   	-'099F  HDL		K  MDI		  DI II#  $DM II#  $DM
 />>CCEFL ii&#456$!   #DO !%O	 !. !QDr   )r  r  r  r  r  r  r  r   r   s   @r   rQ  rQ    s    8)Q )Qr   rQ  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rS  i  z1Contains the properties for the 'pubsub' section.c                 \   > [         [        U ]  S5        U R                  SSSSSS9U l        g )NrT  legacy_outputFTzUse the legacy output for beta pubsub commands. The legacy output from beta is being deprecated. This property will eventually be removed.)r   r  r  r  )r   rS  r   r  r  r   s    r   r   _SectionPubsub.__init__  s9    	.$(2, ' .Dr   )r  r   r   s   @r   rS  rS    s    9	. 	.r   rS  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rU  i  z4Contains the properties for the 'recaptcha' section.c                 ,   > [         [        U ]  S5        g )NrV  )r   rU  r   r   s    r   r   _SectionRecaptcha.__init__  s    	
T+K8r   r&   r   r   s   @r   rU  rU    s    <9 9r   rU  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rW  i  z0Contains the properties for the 'redis' section.c                 V   > [         [        U ]  S5        U R                  SSS9U l        g )NrX  r(  zDefault region to use when working with Cloud Memorystore for Redis resources. When a `region` is required but not provided by a flag, the command will fall back to this value, if set.r)  )r   rW  r   r  r(  r   s    r   r   _SectionRedis.__init__  s1    	-'0))P  QDKr   r+  r   r   s   @r   rW  rW    s    8Q Qr   rW  c                   8   ^  \ rS rSrSrSrSrSrU 4S jrSr	U =r
$ )rY  i  z3Contains the properties for the 'regional' section.zregional-onlyautolegacyc                    > [         [        U ]  SSS9  U R                  SU R                  U R
                  U R                  /U R                  SS9U l        U R                  SSS	9U l        g )
NrZ  Tr  endpoint_modea  Determines how regional endpoints are used. The choices are:
    *   `legacy` - Use global/locational endpoints.
    *   `regional-only` - Use only regional endpoints.
    *   `auto` - Allow commands to choose between regional/global endpoints, preferring regional if available.
r  r   r  default_endpoint_locationz;Specifies the regional endpoint location to use by default.r)  )	r   rY  r   r  REGIONAL_ONLYAUTOr8  r  r  r   s    r   r   _SectionRegional.__init__  ss    	
D*:d*C##TYY<	 # 
D &*YY#O &/ &D"r   )r  r  )rq   rr   rs   rt   ru   r  r  r8  r   rv   r   r   s   @r   rY  rY    s    ;!-	$& r   rY  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r[  i  z:Contains the properties for the 'resource_policy' section.c                 V   > [         [        U ]  SSS9  U R                  SS SS9U l        g )Nr\  Tr  org_restriction_headera  Default organization restriction header to use when working with GCP resources. If set, the value must be in JSON format and must contain a comma separated list of authorized GCP organization IDs. The JSON must then be encoded by following the RFC 4648, section 5, specifications. See https://www.rfc-editor.org/rfc/rfc4648#section-5 for more information about base 64 encoding. And visit https://cloud.google.com/resource-manager/docs/organization-restrictions/overview for more information about organization restrictions.r$  )r   r[  r   r  r  r   s    r   r   _SectionResourcePolicy.__init__  s<    	
 $01B40P"&)) @ #, #ADr   )r  r   r   s   @r   r[  r[    s    BA Ar   r[  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r]  i  z.Contains the properties for the 'run' section.c                   > [         [        U ]  S5        U R                  SSS9U l        U R                  SSSS9U l        U R                  S	S
S9U l        U R                  SSS9U l        U R                  S/ SQSSS9U l        g )Nr^  r(  zDefault region to use when working with Cloud Run resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set.r)  	namespacezeSpecific to working with Cloud on GKE or a Kubernetes cluster: Kubernetes namespace for the resource.Tr_  ro  r`  ra  rb  r  )gkemanaged
kubernetesr  z%Target platform for running commands.r  )	r   r]  r   r  r(  r  ro  ra  r  r   s    r   r   _SectionRun.__init__  s    	+t%e,))N  ODK YYG	  DN 99  DL
 !IIC & ED II09	  ;DMr   )ro  ra  r  r  r(  r   r   s   @r   r]  r]    s    6; ;r   r]  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r_  i8  z2Contains the properties for the 'runapps' section.c                    > [         [        U ]  S5        U R                  SSSSS9U l        U R                  SSS	9U l        g )
Nr`  experimental_integrationszIf enabled then the user will have access to integrations that are currently experimental. These integrations will also not beusable in the API for those who are not allowlisted.FTr  deployment_service_accountz3Service account to use when deploying integrations.r)  )r   r_  r   r  r  r  r  r   s    r   r   _SectionRunApps.__init__;  sV    	/4))4%)]]#?  &3 &D" '+ii$G '0 'D#r   )r  r  r   r   s   @r   r_  r_  8  s    : r   r_  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r	  iJ  z.Contains the properties for the 'scc' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        g )Nr
  r  z9Default organization `gcloud` should use for scc surface.r)  parentz3Default parent `gcloud` should use for scc surface.)r   r	  r   r  r  r  r   s    r   r   _SectionScc.__init__M  sM    	+t%e,		M " OD ))G  IDKr   )r  r  r   r   s   @r   r	  r	  J  s    6I Ir   r	  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ra  iW  z2Contains the properties for the 'secrets' section.c                    > [         [        U ]  S5        U R                  SSS/SS9U l        U R                  SSS	9U l        g )
Nrb  zreplication-policy	automaticzuser-managedzThe type of replication policy to apply to secrets. Allowed values are "automatic" and "user-managed". If user-managed then locations must also be provided.)r  r  	locationsztA comma separated list of the locations to replicate secrets to. Only applies to secrets with a user-managed policy.r)  )r   ra  r   r  replication_policyr  r   s    r   r   _SectionSecrets.__init__Z  sY    	/4))4"iin-+ ( D YYJ  KDNr   )r  r  r   r   s   @r   ra  ra  W  s    :K Kr   ra  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rc  ii  z2Contains the properties for the 'spanner' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nrd  instancezDefault instance to use when working with Cloud Spanner resources. When an instance is required but not provided by a flag, the command will fall back to this value, if set.z:googlecloudsdk.command_lib.spanner.flags:InstanceCompleterr_  )r   rc  r   r  r  r   s    r   r   _SectionSpanner.__init__l  s6    	/4))4II< O  PDMr   )r  r   r   s   @r   rc  rc  i  s    :P Pr   rc  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )r  iv  z Contains SSH-related properties.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS9U l        g )Nr  putty_force_connectTzWhether or not `gcloud` should automatically accept new or changed host keys when executing plink/pscp commands on Windows. Defaults to True, but can be set to False to present these interactive prompts to the user for host key checking.r$  verify_internal_ipa  Whether or not `gcloud` should perform an initial SSH connection to verify an instance ID is correct when connecting via its internal IP. Without this check, `gcloud` will simply connect to the internal IP of the desired instance, which may be wrong if the desired instance is in a different subnet but happens to share the same internal IP as an instance in the current subnet. Defaults to True.)r   r  r   r  r  r  r   s    r   r   _SectionSsh.__init__y  sX    	+t%e,#}}A  -  BD #mm , 	Dr   )r  r  r   r   s   @r   r  r  v  s    ( r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	CheckHashesi  zdDifferent settings for hashing throughout gcloud storage.

More details in _CHECK_HASHES_HELP_TEXT.
if_fast_else_failif_fast_else_skipr  r  r&   N)
rq   rr   rs   rt   ru   IF_FAST_ELSE_FAILIF_FAST_ELSE_SKIPALWAYSNEVERrv   r&   r   r   r  r    s    
 *)&
%r   r  c                        \ rS rSrSrSrSrSrg)StoragePreferredApii  z!Preferred API for gcloud storage.jsongrpc_with_json_fallbackr&   N)rq   rr   rs   rt   ru   r  GRPC_WITH_JSON_FALLBACKrv   r&   r   r   r  r    s    )	$5r   r  c                   p   ^  \ rS rSrSr\R                  " S5      rSrSr	Sr
SrSrSrSrSrU 4S jrS	rU =r$ )
re  i  z2Contains the properties for the 'storage' section.a        'check_hashes' specifies how strictly to require integrity checking for
      downloaded data. Legal values are:
      +
      * 'if_fast_else_fail' - (default) Only integrity check if the digest
      will run efficiently (using compiled code), else fail the download.
      +
      * 'if_fast_else_skip' - Only integrity check if the server supplies a hash
      and the local digest computation will run quickly, else skip the check.
      +
      * 'always' - Always check download integrity regardless of possible
      performance costs.
      +
      * 'never' - Don't perform download integrity checks. This setting is
      not recommended except for special cases such as measuring download
      performance excluding time for integrity checking.
      +
      This option exists to assist users who wish to download a composite
      object and are unable to install crcmod with the C-extension. CRC32c is
      the only available integrity check for composite objects, and without the
      C-extension, download performance can be significantly degraded by the
      digest computation. This option is ignored for daisy-chain copies, which
      don't compute hashes but instead (inexpensively) compare the cloud source
      and destination hashes.100Mi256Ki8Mii }  c           
        > [         [        U ]  S5        U R                  SSS9U l        U R                  SSSS9U l        U R                  S	[        R                  R                  U R                  [         Vs/ s H  oR                  PM     snS
9U l        U R                  SSSS9U l        U R                  SSSS9U l        U R                  SU R                  [        SS9U l        U R                  SU R"                  [        SS9U l        U R                  SSSSS9U l        U R                  SSSSS9U l        U R                  SSS[*        SS9U l        U R                  SU R.                  [        S S9U l        U R                  S!S"S#S9U l        U R                  S$SS%S9U l        U R                  S&S'S(S9U l        U R                  S)S*SS+S9U l        U R                  S,S SS-S9U l        U R                  S.S SS/S9U l        U R                  S0S1SS2S9U l        U R                  S3[@        RB                  " S45      S9U l"        U R                  S5S6S7S9U l#        U R                  S8U RH                  [        S9S9U l%        U R                  S:U RL                  [        S;S9U l'        U R                  S<S SS=/ S>QS?9U l(        U R                  S@SAS9U l)        U R                  SBU RT                  [        SCS9U l+        U R                  SD[        SESF9U l,        U R                  SGSHS9U l-        U R                  SI[        SJSF9U l.        U R                  SKSLS9U l/        U R                  SMSNSOS9U l0        U R                  SPSQ[        SRS9U l1        U R                  SSSSTS9U l2        U R                  SUS SV/ SWQS
9U l3        U R                  SXSY[        SZS9U l4        U R                  S[U Rj                  S[        S\S9U l6        U R                  S]SSS^S9U l7        U R                  S_[p        Rr                  Ru                  [v        Rx                  " 5       Rz                  S`SSa5      SbS9U l>        U R                  ScU R~                  SdS9U l@        U R                  SeSSSfS9U lA        U R                  SgSShS9U lB        U R                  SiS SjS9U lC        U R                  SkSSlS9U lD        U R                  Sm[p        Rr                  Ru                  [v        Rx                  " 5       Rz                  S`SSn5      SoSSp9U lE        U R                  Sq[p        Rr                  Ru                  [v        Rx                  " 5       Rz                  S`SSr5      SsS9U lF        U R                  StS SuS9U lG        U R                  SvSSwS9U lH        U R                  SxSSyS9U lI        U R                  SzSS{S9U lJ        U R                  S|[        R                  R                  SS}[         Vs/ s H  o"R                  PM     snS?9U lM        U R                  S~SSSS9U lN        g s  snf s  snf )Nrf  additional_headerszIncludes arbitrary headers in storage API calls. Accepts a comma separated list of key=value pairs, e.g. `header1=value1,header2=value2`.r)  run_by_gsutil_shimz@Indicates command was launched by gsutil-to-gcloud-storage shim.Tr_  check_hashes)r   r  r  check_mv_early_deletion_feez^Block mv commands that may incur an early deletion fee (the source object in a mv is deleted).r$  ,convert_incompatible_windows_path_characterszAllows automatic conversion of invalid path characters on Windows. If not enabled, Windows will raise an OSError if an invalid character is encountered.copy_chunk_sizez4Chunk size used for copying to in clouds or on disk.r  download_chunk_sizez*Chunk size used for downloading to clouds.enable_task_graph_debuggingFz9Enables task graph debugging for gcloud storage commands.r  #enable_zonal_buckets_bidi_streamingzAEnables zonal buckets bidi streaming for gcloud storage commands.&task_graph_debugging_snapshot_durationra   a  The duration in seconds for which the task graph debuggingframework will take a snapshotof the task graph, task buffer ,management threads and worker threadsand then display them and provide avisual representation of the contentsand help track down the issue.)r   r  r  r  upload_chunk_sizez(Chunk size used for uploading to clouds.max_retries   z/Max number of retries for operations like copy.base_retry_delayz\Second delay between retrying operations. May be multiplied by exponential_sleep_multiplier.exponential_sleep_multiplierr`   z4Used in exponential backoff for retrying operations.gs_xml_endpoint_urlzhttps://storage.googleapis.comzQThe endpoint used to Google Cloud Storage when HMAC authentication through Boto3.gs_xml_access_key_idzLegacy Cloud Storage HMAC credential access key ID.WARNING: This in conjunction with storage/gs_xml_secret_access_key forces gcloud storage to use the XML API to call Cloud Storage, which means not all commands will work as expected.gs_xml_secret_access_keyzLegacy Cloud Storage HMAC credential secret access key.WARNING: This in conjunction with storage/gs_xml_access_key_id forces gcloud storage to use the XML API to call Cloud Storage, which means not all commands will work as expected.json_api_versionv1zThe version "v1" is hardcoded in the generated client for upload operations, e.g. /resumable/upload/storage/v1/b/{bucket}/o. Setting this property will replace "v1" in the above path with the specified value.key_store_pathao          Path to a yaml file containing an encryption key, and multiple
        decryption keys for use in storage commands. The file must be formatted
        as follows:
        +
            encryption_key: {A customer-supplied or customer-managed key.}
            decryption_keys:
            - {A customer-supplied key}
            ...
        +
        Customer-supplied encryption keys must be RFC 4648 section 4
        base64-encoded AES256 strings. Customer-managed encryption keys must be
        of the form
        `projects/{project}/locations/{location}/keyRings/{key-ring}/cryptoKeys/{crypto-key}`.
        max_retry_delay    z.Max second delay between retriable operations.multipart_chunksizea  Specifies partition size in bytes of each part of a multipart upload made by the Boto3 client. To calculate the maximum size of a Boto3 client multipart upload, multiply the multipart_chunk value by the maximum number of parts the API allows. For AWS S3 this limit is 10000. Values can be provided either in bytes or as human-readable values (e.g., "150M" to represent 150 mebibytes).multipart_thresholdzFiles larger than this threshold will be partitioned into parts, uploaded separately by the Boto3 client, and then combined into a single object. Otherwise, files smaller than this threshold will be uploaded by the Boto3 client in a single stream.multiprocessing_default_methodzSpecifies the default method to use for multiprocessing in storage commands. If not set, the default method is determined by the operating system and python version.)forkspawn
forkserver)r   r  r  r  process_countzThe maximum number of processes parallel execution should use. When process_count and thread_count are both 1, commands use sequential execution.resumable_thresholdz~File operations above this size in bytes will use resumable instead of one-shot strategies. For example, a resumable download.%sliced_object_download_component_sizezoTarget size and upper bound for files to be sliced into. Analogous to parallel_composite_upload_component_size.r  %sliced_object_download_max_componentszSpecifies the maximum number of slices to be used when performing a sliced object download. Set None for automatic optimization based on system resources. sliced_object_download_thresholdzwSlice files larger than this value. Zero will block sliced downloads. Analogous to parallel_composite_upload_threshold.thread_countzThe number of threads parallel execution should use per process. When process_count and thread_count are both 1, commands use sequential execution.*parallel_composite_upload_component_prefixzN/gcloud/tmp/parallel_composite_uploads/see_gcloud_storage_cp_help_for_details/a"  The prefix used when naming temporary components created by composite uploads. If the prefix begins with a `/`, the temporary components are uploaded relative to the bucket name. If the prefix does not begin with a `/`, the temporary components are uploaded relative to the prefix portion of the destination object name. For example, consider an upload that will create a final object named `gs://bucket/dir1/dir2/object`. Using a prefix of `/prefix` means temporary components use names like `gs://bucket/prefix/COMPONENT_NAME`. Using a prefix of `prefix` means temporary components use names like `gs://bucket/dir1/dir2/prefix/COMPONENT_NAME`. Note that this can complicate cleaning up temporary components, as they will not all share a common prefix. If this property is not specified, gcloud storage uses the prefix `/gcloud/tmp/parallel_composite_uploads/see_gcloud_storage_cp_help_for_details/`. If a chosen prefix results in temporary component names longer than the maximum length Cloud Storage allows, gcloud storage performs a non-composite upload.(parallel_composite_upload_component_size50Mai  Specifies the ideal size of a component in bytes, which will act as an upper bound to the size of the components if ceil(file_size / parallel_composite_upload_component_size) is less than the maximum number of objects the API allows composing at once. Values can be provided either in bytes or as human-readable values (e.g., "150M" to represent 150 mebibytes).-parallel_composite_upload_compatibility_checkzDetermines if the GET bucket call should be performed to check if the default storage class and retention period for the destination bucket meet the criteria for parallel composite upload.!parallel_composite_upload_enabledzDetermines whether parallel composite upload should be used. Default value is None which will use parallel composite upload and log an appropriate warning for the user explaining that parallel composite upload is being used by default.)TFN#parallel_composite_upload_threshold150Ma  Specifies the maximum size of a file to upload in a single stream. Files larger than this threshold will be partitioned into component parts, uploaded in parallel, then composed into a single object. The number of components will be the smaller of ceil(file_size / parallel_composite_upload_component_size) and the maximum number of objects the API allows composing at once. For Cloud Storage this limit is 32. This property has no effect if parallel_composite_upload_enabled is set to False.bidi_streaming_flush_sizezThe size of the in-memory buffer that is flushed during bidi streaming uploads. Ensure this is within your machine's RAM limits.bidi_streaming_finalize_writeszIf True, the upload will be finalized when the last chunk is written. If False, objects will be left in the default unfinalized state.rsync_files_directorysurface_datarsync_filesz6Directory path to intermediary files created by rsync.rsync_list_chunk_sizezNumber of files processed at a time by the rsync command when it builds and compares the list of files at the source and destination.use_url_based_rsync_sortingzJEnables url based sorting for tracker files used by gcloud storage rsync .>use_gsutil_rsync_delete_unmatched_destination_objects_behaviorzIf True, rsync will preserve unmatched destination objects while using --delete-unmatched-destination-objects flag along with other flags such as --no-clobber, --skip-unsupported and --skip-if-dest-has-newer-mtime just as it would with gsutil.s3_endpoint_urlz~If set, boto3 client will connect to this endpoint. Otherwise, boto3 selects a default endpoint based on the AWS service used.suggest_transferzfIf True, logs messages about when Storage Transfer Service might be a better tool than gcloud storage.symlink_placeholder_directorysymlink_placeholdersz6Directory path to temporary symlink placeholder files.r  tracker_files_directorytracker_filesz9Directory path to tracker files for resumable operations.use_gcloud_crc32ca  If True, data integrity checks use a binary subprocess to  calculate CRC32C hashes with the included gcloud-crc32c tool rather than the google-crc32c Python library. This behavior is  also triggered when the google-crc32c Python library is unavailable even if this property is False.
use_gsutilzDIf True, use the deprecated upload implementation which uses gsutil.use_magicfilea  If True, uses the `file --mime <filename>` command to guess content types instead of the default filename extension-based mechanism. Available on UNIX and macOS (and possibly on Windows,  if you're running Cygwin or some other package that provides  implementations of UNIX-like commands). When available and  enabled use_magicfile should be more robust because it analyzes  file contents in addition to extensions.use_threading_localzIf True, reuses some resource if they are already declared on a thread. If False, creates duplicates of resources like API clients on the same thread. Turning off can help with some bugs but will hurt performance.preferred_apizSpecifies the API to be used for performing `gcloud storage` operations. If `grpc_with_json_fallback` is set, the gRPC API will be used if the operations is supported by `gcloud storage`, else it will fallback to using the JSON API.use_grpc_if_availablezIIf True, uses gRPC when possible. If False, uses existing implementation.)Or   re  r   r  r  r  r  r  r  r   _CHECK_HASHES_HELP_TEXTr  r  r  DEFAULT_COPY_CHUNK_SIZEr\   r  DEFAULT_DOWNLOAD_CHUNK_SIZEr  r  r  rM   r  DEFAULT_UPLOAD_CHUNK_SIZEr  r  r   r  r  r  r  r  r0  r1  r  r  DEFAULT_MULTIPART_CHUNKSIZEr
  DEFAULT_MULTIPART_THRESHOLDr  r  r  DEFAULT_RESUMABLE_THRESHOLDr  r  r  r  r  r  r  r  r  r  !DEFAULT_BIDI_STREAMING_FLUSH_SIZEr  r  r   r   rB   r   r  global_config_dirr  DEFAULT_RSYNC_LIST_CHUNK_SIZEr"  r#  r$  r%  r&  r'  r)  r+  r,  r-  r.  r  r  r/  r0  )r   settingr  r   s      r   r   _SectionStorage.__init__  s4   	/4))4"ii0 ( D #mmN , D 		--33../:;{G--{;	 " D (,}}%7	 (5 (D$ 9=6)	 9F 9D5  99,,3H	 % D  $yy003>	  )  D (,}}%M	 (5 (D$ 04}}-O 0= 0D, 37))0#- 3< 3D/  "YY..3<	 ' >D yyC ! ED
 !II, & -D )-		&H )2 )JD%
  $yy0(	  )  )D !%		>	 !* !?D %)II">	 %. %?D! !IIM & 
D ))// #  $ D$  99B % DD
  $yy003K	  ) 	 LD  $yy003C	  )  DD +/))(0 0 +4 +D'   # !D  $yy003N	  )  OD 26/3B 2; 2CD. 26/3 2; 24D. -1II*3H -6 -ID) 		  " !D 7;ii460 7@ 7D38 59II235	 5> 	56D1 :>7N :G :OD6 .2YY+5 $ .7 .%D* 04yy-3=	 09 0>D, &*YY#663 &/ 
&D" +/--(" +8 	+D' "&LLN,,	
 K "+ 	"D "&22 	 "+ "D (,}}% (5 (D$ KO--HL	 KX 	KDG  99 % D !MM7 * 8D *.'LLN,,"	
 K *3 
*D& $(99!LLN,,	
 N $- 	$D  "]];	 + =D mm $ DO 8	 ' 
:D  $}}  -  D #((..J (;;':))':; # >D "& "/ "De <` <s   8X>Y)2r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r/  r  r  r  r"  r  r%  r  r  r  r&  r'  r  r  r)  r  r+  r0  r,  r$  r-  r.  r#  )rq   rr   rs   rt   ru   r0  r1  r1  r2  r3  r4  r6  r5  r7  r8  r:  r   rv   r   r   s   @r   re  re    sX    :$OO -! "2 $ '% % % %&-#"'Q Qr   re  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rg  i  z1Contains the properties for the 'survey' section.c                 X   > [         [        U ]  S5        U R                  SSSS9U l        g )Nrh  r  FzNIf True, gcloud will not prompt you to take periodic usage experience surveys.r$  )r   rg  r   r  r  r   s    r   r   _SectionSurvey.__init__  s3    	.$(2== ) Dr   )r  r   r   s   @r   rg  rg    s    9 r   rg  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ri  i  z/Contains the properties for the 'test' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        g )Nrj  results_base_urlTr  matrix_status_interval)r   ri  r   r  rB  rC  r   s    r   r   _SectionTest.__init__  sC    	,&v. II&8IFD"&))  #, #/Dr   )rC  rB  r   r   s   @r   ri  ri    s    7/ /r   ri  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ro  i  z5Contains the properties for the 'transcoder' section.c                 T   > [         [        U ]  SSS9  U R                  SSS9U l        g )Nrp  Tr  r	  zTranscoder location to use. This parameter corresponds to the /locations/<location> segment of the Transcoder resource URIs being referenced.r)  )r   ro  r   r  r	  r   s    r   r   _SectionTranscoder.__init__  s5    	
d,\$,GII   "DMr   r6  r   r   s   @r   ro  ro    s    =" "r   ro  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rk  i  z3Contains the properties for the 'transfer' section.c                 X   > [         [        U ]  SSS9  U R                  SSSSS9U l        g )Nrl  Tr  no_async_polling_interval_msi  z@Frequency for polling a transfer operation to see if it is done.r  )r   rk  r   r  rJ  r   s    r   r   _SectionTransfer.__init__  s<    	
D*:d*C(,		&	 )2 )D%r   )rJ  r   r   s   @r   rk  rk    s    ; r   rk  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rm  i  z4Contains the properties for the 'transport' section.c                    > [         [        U ]  SSS9  U R                  SSSSS9U l        U R                  SSSS	S9U l        g )
Nrn  Tr  disable_requests_overrideFzGlobal switch to turn off using requests as a transport. Users can use it to switch back to the old mode if requests breaks users.r  opt_out_requestsz>A switch to disable requests for a surface or a command group.)r   rm  r   r  rN  rO  r   s    r   r   _SectionTransport.__init__  sb    	
T+K+E%)]]#)	 &3 &*D" !MM	 * Dr   )rN  rO  r   r   s   @r   rm  rm    s    < r   rm  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rq  i  z1Contains the properties for the 'vmware' section.c                    > [         [        U ]  S5        U R                  SSSS9U l        U R                  SSSS	S
9U l        g )Nrr  r(  r.  zDefault region to use when working with VMware Engine resources.  When a `--region` flag is required but not provided, the command will fall back to this value, if set.r$  z	node-typezc1-highmem-72-metalTz-Node type to use when creating a new cluster.r  )r   rq  r   r  r(  	node_typer   s    r   r   _SectionVmware.__init__  sV    	.$(2))  DK YY%A	  CDNr   )rS  r(  r   r   s   @r   rq  rq    s    9C Cr   rq  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rs  i  z/Contains the properties for the 'web3' section.c                 V   > [         [        U ]  SSS9  U R                  SSSS9U l        g )Nrt  Tr  r	  r.  zThe default region to use when working with Cloud Web3 resources. When a `--location` flag is required but not provided, the command will fall back to this value, if set.r$  )r   rs  r   r  r	  r   s    r   r   _SectionWeb3.__init__  s9    	,&vd&;IIN  ODMr   r6  r   r   s   @r   rs  rs    s    7O Or   rs  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ru  i   z4Contains the properties for the 'workflows' section.c                 V   > [         [        U ]  SSS9  U R                  SSSS9U l        g )Nrv  Tr  r	  r.  zThe default region to use when working with Cloud Workflows resources. When a `--location` flag is required but not provided, the command will fall back to this value, if set.r$  )r   ru  r   r  r	  r   s    r   r   _SectionWorkflows.__init__  s:    	
T+K+EIIN  ODMr   r6  r   r   s   @r   ru  ru     s    <O Or   ru  c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )rw  i  z7Contains the properties for the 'workstations' section.c                    > [         [        U ]  S5        U R                  SSS9U l        U R                  SSS9U l        U R                  SSS9U l        g )	Nrx  r(  zDefault region to use when working with Workstations resources. When a `--region` flag is required but not provided, the command will fall back to this value, if set.r)  ro  zDefault cluster to use when working with Workstations resources. When a `--cluster` flag is required but not provided, the command will fall back to this value, if set.r   zDefault configuration to use when working with Workstations resources. When a `--config` flag is required but not provided, the command will fall back to this value, if set.)r   rw  r   r  r(  ro  r   r   s    r   r   _SectionWorkstations.__init__  so    	
.~>))5  DK 995  DL ))J  DKr   )ro  r   r(  r   r   s   @r   rw  rw    s    ? r   rw  c                   \   \ rS rSrSr         S$S jr\S 5       r\S 5       r\S 5       r	\S 5       r
\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       rS rS rS rS rS rS rS rS rS%S jrS%S jrS rS rS%S jrS%S jrS rS r S r!S  r"S! r#S" r$S#r%g)&r  i,  a  An individual property that can be gotten from the properties file.

Attributes:
  section: str, The name of the section the property appears in, within the
    file.
  name: str, The name of the property.
  help_text: str, The man page help for what this property does.
  is_hidden: bool, True to hide this property from display for users that
    don't know about them.
  is_internal: bool, True to hide this property from display even if it is
    set. Internal properties are implementation details not meant to be set by
    users.
  callbacks: [func], A list of functions to be called, in order, if no value
    is found elsewhere.  The result of a callback will be shown in when
    listing properties (if the property is not hidden).
  completer: [func], a completer function
  default: str, A final value to use if no value is found after the callbacks.
    The default value is never shown when listing properties regardless of
    whether the property is hidden or not.
  default_flag: default_flag name to include in RequiredPropertyError if
    property fails on Get. This can be used for flags that are tightly coupled
    with a property.
  validator: func(str), A function that is called on the value when .Set()'d
    or .Get()'d. For valid values, the function should do nothing. For invalid
    values, it should raise InvalidValueError with an explanation of why it
    was invalid.
  choices: [str], The allowable values for this property.  This is included in
    the help text and used in tab completion.
Nc                     Xl         X l        X0l        X@l        XPl        U=(       d    / U l        Xpl        Xl        Xl        Xl	        Xl
        g r   )_Property__section_Property__name_Property__help_text_Property__hidden_Property__internal_Property__callbacks_Property__default_Property__validator_Property__choices_Property__completer_Property__default_flag)r   r   r   r  r  r  r  r   r  r  r  r   s               r   r   _Property.__init__K  sF     NK MO BDN N &r   c                     U R                   $ r   )r`  r   s    r   r   _Property.sectionc      >>r   c                     U R                   $ r   )ra  r   s    r   r   _Property.nameg  r  r   c                     U R                   $ r   )rb  r   s    r   r  _Property.help_textk  r  r   c                     U R                   $ r   )rc  r   s    r   r  _Property.is_hiddeno  s    ==r   c                     U R                   $ r   )rd  r   s    r   r  _Property.is_internals  s    ??r   c                     U R                   $ r   )rf  r   s    r   r   _Property.defaultw  rn  r   c                     U R                   $ r   re  r   s    r   r  _Property.callbacks{  r  r   c                     U R                   $ r   )rh  r   s    r   r  _Property.choices  rn  r   c                     U R                   $ r   )ri  r   s    r   r  _Property.completer  r  r   c                     U R                   $ r   )rj  r   s    r   r   _Property.default_flag  s    r   c                 X    [        U R                  5      [        U R                  5      -   $ r   )r  r   r   r   s    r   r  _Property.__hash__  s    TYY//r   c                 t    U R                   UR                   :H  =(       a    U R                  UR                  :H  $ r   r   r   r  s     r   r  _Property.__eq__  s'    <<5==(DTYY%**-DDr   c                     X:X  + $ r   r&   r  s     r   r  _Property.__ne__  s    r   c                 4    U R                   UR                   :  $ r   r  r  s     r   r  _Property.__gt__  r  r   c                 4    U R                   UR                   :  $ r   r  r  s     r   r  _Property.__ge__  r  r   c                 4    U R                   UR                   :  $ r   r  r  s     r   r  _Property.__lt__  r  r   c                 4    U R                   UR                   :*  $ r   r  r  s     r   r  _Property.__le__  r  r   c                      U R                  SS9$ )zShortcut for Get(required=True).

Convenient as a callback function.

Returns:
  str, The value for this property.
Raises:
  RequiredPropertyError if property is not set.
T)required)rg   r   s    r   	GetOrFail_Property.GetOrFail  s     88T8""r   c                 V    U R                  X5      nUc  g[        UR                  5      $ )as  Gets the value for this property.

Looks first in the environment, then in the workspace config, then in the
global config, and finally at callbacks.

Args:
  required: bool, True to raise an exception if the property is not set.
  validate: bool, Whether or not to run the fetched value through the
    validation function.

Returns:
  str, The value for this property.
N)GetPropertyValuer   r   r   r  validaterD   s       r   rg   _Property.Get  s.     **8>N^))**r   c                     [        U [        R                  R                  5       U5      nU(       a  U R	                  U5        U$ )a}  Gets the value for this property.

Looks first in the environment, then in the workspace config, then in the
global config, and finally at callbacks.

Args:
  required: bool, True to raise an exception if the property is not set.
  validate: bool, Whether or not to run the fetched value through the
    validation function.

Returns:
  PropertyValue, The value for this property.
)_GetPropertyr	   r  r  r  r  s       r   r  _Property.GetPropertyValue  s<     "$"/"D"D"I"I"K"*,N 
mmN#r   c                 v    [        U [        R                  R                  5       5      nUc  gUR                  SL$ )zDetermines if this property has been explicitly set by the user.

Properties with defaults or callbacks don't count as explicitly set.

Returns:
  True, if the value was explicitly set, False otherwise.
NF)r	  r	   r  r  r   )r   rD   s     r   IsExplicitlySet_Property.IsExplicitlySet  s<     1m005579Nt++r   c                 <   U R                   (       a7  [        U[        5      (       a  UR                  nOUn U R                  U5        gg! [         aG  nSR                  U R                  U R                  5      nSR                  XC5      n[	        U5      eSnAff = f)zTest to see if the value is valid for this property.

Args:
  property_value: str | PropertyValue, The value of the property to be
    validated.

Raises:
  InvalidValueError: If the value was invalid according to the property's
      validator.
z{}/{}z#Invalid value for property [{}]: {}N)rg  r   r?   r   r    rA   r   r   )r   rD   r   r[   r   errors         r   r  _Property.Validate  s     	NM	2	2$$'   '~~dllDII65<<TE&&'s   A
 

BABBc                 V    [        U [        R                  R                  5       UUS9nU$ )a  Gets the boolean value for this property.

Looks first in the environment, then in the workspace config, then in the
global config, and finally at callbacks.

Does not validate by default because boolean properties were not previously
validated, and startup functions rely on boolean properties that may have
invalid values from previous installations

Args:
  required: bool, True to raise an exception if the property is not set.
  validate: bool, Whether or not to run the fetched value through the
    validation function.

Returns:
  bool, The boolean value for this property, or None if it is not set.

Raises:
  InvalidValueError: if value is not boolean
)r  )_GetBoolPropertyr	   r  r  r   r  r  r   s       r   GetBool_Property.GetBool  s0    * **//1	E
 Lr   c                     [        U [        R                  R                  5       U5      nU(       a  U R	                  U5        U$ )a  Gets the integer value for this property.

Looks first in the environment, then in the workspace config, then in the
global config, and finally at callbacks.

Args:
  required: bool, True to raise an exception if the property is not set.
  validate: bool, Whether or not to run the fetched value through the
    validation function.

Returns:
  int, The integer value for this property.
)_GetIntPropertyr	   r  r  r  r  s       r   GetInt_Property.GetInt  s8     D-"D"D"I"I"K$&E
mmELr   c                     U R                  U5        [        U[        5      (       a  UR                  nOUnUb  [	        U5      n[
        R                  " [        R                  U R                  5       U5        g)zSets the value for this property as an environment variable.

Args:
  property_value: PropertyValue | str | bool, The proposed value for this
    property.  If None, it is removed from the environment.
N)
r  r   r?   r   r   r   SetEncodedValuer   rb   r   )r   rD   r   s      r   Set_Property.Set*  s\     	MM.!.-00""eeeRZZ)=)=)?Gr   c                 :    U R                   R                  U5        g)z(Adds another callback for this property.N)re  r  r   r   s     r   AddCallback_Property.AddCallback:      H%r   c                 :    U R                   R                  U5        g)z)Removes given callback for this property.N)re  remover  s     r   RemoveCallback_Property.RemoveCallback>  r  r   c                 "    / U R                   SS& g)z(Removes all callbacks for this property.Nrz  r   s    r   ClearCallback_Property.ClearCallbackB  s    DQr   c                     SR                  U R                  R                  5       U R                  R                  5       S9$ )z{Get the name of the environment variable for this property.

Returns:
  str, The name of the correct environment variable.
zCLOUDSDK_{section}_{name}r  )rA   r`  upperra  r   s    r   r   _Property.EnvironmentNameF  s<     '--$$&[[  .  r   c                 J    SR                  U R                  U R                  S9$ )Nz{section}/{name}r  )rA   r`  ra  r   s    r   r   _Property.__str__Q  s     $$T^^$++$NNr   )__callbacks	__choices__completer	__default__default_flag__help_text__hidden
__internalr  	__section__validatorr  )FT)&rq   rr   rs   rt   ru   r   r   r   r   r  r  r  r   r  r  r  r   r  r  r  r  r  r  r  r  rg   r  r  r  r  r  r  r  r  r  r   r   rv   r&   r   r   r  r  ,  sY   B  '0                    0E"#"##+&*,'.8(H &&	Or   r  c                 t    [        U 5      u  pU(       d  g[        R                  U5      R                  U5      $ )a5  Gets the property object corresponding the given string.

Args:
  property_string: str, The string to parse.  It can be in the format
    section/property, or just property if the section is the default one.

Returns:
  properties.Property, The property or None if it failed to parse to a valid
    property.
N)ParsePropertyStringrd   r  r  property_stringr   r   s      r   
FromStringr  X  s0     &o6-'			 	)	)$	//r   c                     U (       d  gSU ;   a  [        U R                  SS5      5      u  pOSnU nU=(       d    [        R                  R                  nU=(       d    SnX4$ )a!  Parses a string into a section and property name.

Args:
  property_string: str, The property string in the format section/property.

Returns:
  (str, str), The section and property.  Both will be none if the input
  string is empty.  Property can be None if the string ends with a slash.
r   r   ra   N)tuplerh   rd   r   r   r  s      r   r  r  i  s^     
O///Q78MGTGD2v--22'	$	r   c                       \ rS rSrS rSrg)
_ScopeInfoi  c                     Xl         X l        g r   iddescription)r   r  r  s      r   r   _ScopeInfo.__init__  s    G"r   )r  r  Nr   r&   r   r   r  r    s    #r   r  c                       \ rS rSrSr\" SSS9r\" SSS9r\\/r\ V Vs/ s H  oR                  PM     snn r
\S 5       r\S	 5       r\S
 5       r\S 5       rSrgs  snn f )r   i  zIAn enum class for the different types of property files that can be used.installationzThe installation based configuration file applies to all users on the system that use this version of the Cloud SDK.  If the SDK was installed by an administrator, you will need administrator rights to make changes to this file.r  userzThe user based configuration file applies only to the current user of the system.  It will override any values from the installation configuration.c                  4    [        [        R                  5      $ )zIGets all possible enum values.

Returns:
  [Scope], All the enum values.
)r  r   _ALLr&   r   r   r  Scope.AllValues  s     

r   c                  4    [        [        R                  5      $ r   )r  r   _ALL_SCOPE_NAMESr&   r   r   r   Scope.AllScopeNames  s    &&''r   c                 ~    U (       d  g[         R                   H  nUR                  U :X  d  M  Us  $    [        U 5      e)a  Gets the enum corresponding to the given scope id.

Args:
  scope_id: str, The scope id to parse.

Raises:
  InvalidScopeValueError: If the given value cannot be parsed.

Returns:
  OperatingSystemTuple, One of the OperatingSystem constants or None if the
  input is None.
N)r   r  r  r   )scope_idscopes     r   FromIdScope.FromId  s6     	X	  !
**r   c            	          SR                  [        R                  5        V s/ s H)  n SR                  U R                  U R
                  5      PM+     sn 5      $ s  sn f )Nr   z*{0}*::: {1})rB   r   r  rA   r  r  )rP   s    r   r  Scope.GetHelpString  sH    ;;=B__=NO=N		qttQ]]	3=NOQ QOs   0Ar&   N)rq   rr   rs   rt   ru   r  INSTALLATIONUSERr  r  r  staticmethodr  r   r  r  rv   )r'   rP   s   00r   r   r     s    Q	&', 
	$
%$ 	$$()DqddD)  ( ( + +( Q QK *s   Ar   c                 &   U R                  U5        [        R                  (       a  [        U5      nU[        R
                  :X  a  [        R                  " 5         [        R                  " 5       R                  nU(       d
  [        5       e[        R                  " X0R                  U R                  U5        [        R                   R#                  SS9  OE[        R$                  R'                  5       nUR                  U R                  U R                  U5        U R)                  5       n[*        R,                  " [.        R0                  U5      nU(       a<  Sn[2        R4                  R7                  UR9                  U R                  XV5      5        gg)a  Sets the given property in the properties file.

This function should not generally be used as part of normal program
execution.  The property files are user editable config files that they should
control.  This is mostly for initial setup of properties that get set during
SDK installation.

Args:
  prop: properties.Property, The property to set.
  value: str, The value to set for the property. If None, the property is
    removed.
  scope: Scope, The config location to set the property in.  If given, only
    this location will be updated and it is an error if that location does not
    exist.  If not given, it will attempt to update the property in the first
    of the following places that exists: - the active named config - user
    level config It will never fall back to installation properties; you must
    use that scope explicitly to set that value.

Raises:
  MissingInstallationConfig: If you are trying to set the installation config,
    but there is not SDK root.
T)mark_changedzGWARNING: Property [{0}] is overridden by environment setting [{1}={2}]
N)r  r   PY3_EscapePercentSignr   r  r   EnsureSDKWriteAccessr  installation_properties_pathr~   prop_files_libPersistPropertyr   r   r	   r  
Invalidater  r  r   r   rc   r   rb   sysstderrwriterA   )r   r   r  config_filer  env_nameoverridewarning_messages           r   r  r    s   . --WWu%E
e   
!,,.==K%''"";diiO&&11t1D!44AACM!!$,,		5A !!#(%%bjj(;(<O JJ_++DIIxJK r   c                 z   Sn[         R                  5       n[        U5      S:  a%  US   nX;   a  UR                  U 5      R                  n[        X5      nUb  UR                  b  U$ U R                  b7  [        [        U R                  5      [        R                  R                  5      $ U(       a	  [        XS9eg)am  Gets the given property.

If the property has a designated command line argument and args is provided,
check args for the value first. If the corresponding environment variable is
set, use that second. If still nothing, use the callbacks.

Args:
  prop: properties.Property, The property to get.
  properties_file: properties_file.PropertiesFile, An already loaded
    properties files to use.
  required: bool, True to raise an exception if the property is not set.

Raises:
  RequiredPropertyError: If the property was required but unset.

Returns:
  PropertyValue, The value of the property, or None if it is not set.
Nra   r   )rd   r  ri   r  r   r
  r   r   r?   r   r   r   r   )r   r
   r  flag_to_useinvocation_stackfirst_invocationrD   s          r   r  r    s    ( +..0	Q'*$((.33k-dD.N$8$8$D 
\\$,,!=!=!E!EG G 

77	r   c                     [        X5      nU(       a  UR                  b  U$ U R                   H<  nU" 5       nUc  M  [        [	        U5      [        R
                  R                  5      s  $    g)aI  Gets the given property without using a default.

If the property has a designated command line argument and args is provided,
check args for the value first. If the corresponding environment variable is
set, use that second. Next, return whatever is in the property file.  Finally,
use the callbacks to find values.  Do not check the default value.

Args:
  prop: properties.Property, The property to get.
  properties_file: properties_file.PropertiesFile, An already loaded
    properties files to use.

Returns:
  PropertyValue, The value of the property, or None if it is not set.
N)r	  r   r  r?   r   r   r   )r   r
   rD   r   r   s        r   r
  r
     si    " /tE.,,8 ..hJE
E
M88AAC C ! 
r   c                    [         R                  5       n[        U5       Hk  nX;  a  M
  UR                  U S5      nU(       d  M%  UR                  c  M4  [        [        UR                  5      [
        R                  R                  5      s  $    [        R                  " [        R                  U R                  5       5      nUb-  [        [        U5      [
        R                  R                  5      $ UR                  U R                   U R"                  5      nUb-  [        [        U5      [
        R                  R$                  5      $ g)a*  Gets the given property without using a callback or default.

If the property has a designated command line argument and args is provided,
check args for the value first. If the corresponding environment variable is
set, use that second. Finally, return whatever is in the property file.  Do
not check for values in callbacks or defaults.

Args:
  prop: properties.Property, The property to get.
  properties_file: PropertiesFile, An already loaded properties files to use.

Returns:
  PropertyValue, The value of the property, or None if it is not set.
N)rd   r  reversedr  r   r?   r   r   r   r   rc   r   rb   r   r   rg   r   r   r   )r   r
   r  r  
value_flagr   s         r   r	  r	  ?  s     ..0./kt,J#
J$$
%}'C'C'H'HJ J 0 
"
"2::t/C/C/E
F%
%-66BBD D 

dllDII
6%
%-66DDF F 
r   c                     [        XU5      nU(       a  [        U R                  U5        Ub  UR                  c  g[	        UR                  5      R                  5       nUS:X  a  gUS;   $ )a~  Gets the given property in bool form.

Args:
  prop: properties.Property, The property to get.
  properties_file: properties_file.PropertiesFile, An already loaded
    properties files to use.
  required: bool, True to raise an exception if the property is not set.
  validate: bool, True to validate the value

Returns:
  bool, The value of the property, or None if it is not set.
Nr=   )r3   r2   r4   r5   r6   )r  rG   r   r   r   r@   )r   r
   r  r  rD   property_string_values         r   r  r  i  sf      x@.dii0~33;#N$8$89??Af$	"A	AAr   c                     [        XU5      nUb  UR                  c  g [        UR                  5      $ ! [         a#    [	        SR                  XR                  S95      ef = f)a[  Gets the given property in integer form.

Args:
  prop: properties.Property, The property to get.
  properties_file: properties_file.PropertiesFile, An already loaded
    properties files to use.
  required: bool, True to raise an exception if the property is not set.

Returns:
  int, The integer value of the property, or None if it is not set.
Nz;The property [{prop}] must have an integer value: [{value}])r   r   )r  r   rI   rJ   r    rA   )r   r
   r  rD   s       r   r  r    ss      x@.~33;4~##$$	 4
ELL11 	M 	34 44s	   4 -A!c                  p    [         R                  R                  n U R                  5       U R                  :H  $ r   )rd   re   r  rg   r   )universe_domain_propertys    r   IsDefaultUniverser	    s-    #[[88	!	%	%	'+C+K+K	KKr   c                  R    [         R                  R                  R                  5       $ )zGet the universe domain.)rd   re   r  rg   r&   r   r   GetUniverseDomainr    s     
	$	$	(	(	**r   c                      [         R                  R                  R                  5       n U (       a  U $ SSKJn  UR                  5       (       a  gSSKJn  UR                  SS9(       a  gg)	a  Get the metrics environment.

Returns the property metrics/environment if set, if not, it tries to deduce if
we're on some known platforms like devshell or GCE.

Returns:
  None, if no environment is set or found
  str, a string denoting the environment if one is set or found
r   )r  r  )	gce_cacheF)	check_ageGCEN)	rd   rF  r   rg   googlecloudsdk.core.credentialsr  IsDevshellEnvironmentr  GetOnGCE)r   
c_devshellr  s      r   GetMetricsEnvironmentr    sW     **..0+ E%%''7%(	r   c                     [        U [        R                  5      (       a  SU ;   a  U $ SU ;   a  U R                  SS5      $ U $ )zEscape '%' in property value.

Do nothing if value contains '%%', i.e. value was escaped by user.

Args:
  value: property value

Returns:
  str, value with escaped % sign
z%%%)r   r   r   r  r   s    r   r  r    s?     
E3++	,	,L
e|==d##Lr   r   r   r  )ru   
__future__r   r   r   r   r  r   r,   r  r0  googlecloudsdk.corer   r   r   "googlecloudsdk.core.configurationsr	   r
   r  googlecloudsdk.core.dockerr   r  googlecloudsdk.core.resourcer   r  rR   r   r   r   %googlecloudsdk.generated_clients.apisr   r   FLAG_OVERRIDE_STACKPushFromArgsGetDecodedArgvr   compiler  
IGNORECASEr  _PUBSUB_NOTICE_URLr   r#   r0   rG   rM   rW   r\   rl   rn   rx   r{   r~   r   r    r   r   r   r  r?   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r-  r/  r1  r3  r5  r7  r9  r=  r;  r?  rA  rC  rE  rG  rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r_  r	  ra  rc  r  r   r  r  re  rg  ri  ro  rk  rm  rq  rs  ru  rw  r  rd   r  r  r  r   r  r  r
  r	  r  r  r	  r  r  r  r&   r   r   <module>r#     sY   2 &  '   	 	 
  * & * < P = J - 5 3 : 
  ! ! . .z/H/H/J K#  zz	
   "$	* MM-" 2 Q 
C,F2-`
I$..J .E5 EL% L5 5KU KO OP% PE D8)) 8$LF L0`# `#Fov od/#8 #:>H >	O 	O 2 26WC8 WCt
FP( FPR: :zO8 Od
9H 
9h 2&4X &4R28 20H x Bx  ?h ?D9X 9": :B! !8 !X !& &"h "-8 -`X.8 X.v
H  x *  x >?x ?&( "HX H"
* 
*Ix I	D( 	D	9H 	98x 8&
9x 
9L8 LG G*> >@/8 /	X 	'D 'DT9 9$
98 
9?M( ?MD)h )X
18 
1	QX 	Q	QX 	Q: :	Hx 	H$@ $@NAh A;x ;(	
( 	

QX 
Q
9 
9* *,QH ,Q^.X .9 9	QH 	Qx 4AX A&;( ;Bh $
I( 
IKh K$
Ph 
P( 0	$)) 	6$)) 6vh vr	X 	/8 /
" 
"
x 
 (CX C*
O8 
O
O 
O8 >fO fOR	 
0"0# #7QF 7Qt-L`*Z>'TB04.L
+8r   