
                             S r SSKJr  SSKJr  SSKJr  SSKJr     SS jr   SS jr	   SS jr
S	 rS
 rS rS rS rS rSS jrS rg)z6Shared resource flags for Dataproc Metastore commands.    )concepts)deps)concept_parsers)
propertiesc                     SU(       a  SOS-   n[        XR5      n[        R                  R                  U[	        5       SR                  XQ5      UUS9R                  U 5        g)a  Add a resource argument for a Dataproc Metastore Service.

NOTE: Must be used only if it's the only resource arg in the command.

Args:
  parser: the parser for the command
  verb: str, the verb to describe the resource, for example, 'to update'.
  positional: boolean, if True, means that the resource is a positional rather
    than a flag.
  required: boolean, if True, the arg is required
  plural: boolean, if True, expects a list of resources
services 
The {} {}.requiredpluralN)_BuildArgNamer   ConceptParserForResourceGetServiceResourceSpecformatAddToParserparserverb
positionalr   r   nounnames          9lib/googlecloudsdk/command_lib/metastore/resource_args.pyAddServiceResourceArgr      s^    " 
Vc	,$	t	($++
$% , 
 ![(    c                     SU(       a  SOS-   n[        XR5      n[        R                  R                  U[	        5       SR                  XQ5      UUS9R                  U 5        g)a  Add a resource argument for a Dataproc Metastore long-running operation.

NOTE: Must be used only if it's the only resource arg in the command.

Args:
  parser: the parser for the command
  verb: str, the verb to describe the resource, for example, 'to update'.
  positional: boolean, if True, means that the resource is a positional rather
    than a flag.
  required: boolean, if True, the arg is required
  plural: boolean, if True, expects a list of resources
	operationr	   r
   r   r   N)r   r   r   r   GetOperationResourceSpecr   r   r   s          r   AddOperationResourceArgr!   3   s^    " 
v2	.$	t	($++
 $% , 
 ![(r   c                     SU(       a  SOS-   n[        XR5      n[        R                  R                  U[	        5       SR                  XQ5      UUS9R                  U 5        g)a  Add a resource argument for a Dataproc Metastore Federation.

NOTE: Must be used only if it's the only resource arg in the command.

Args:
  parser: the parser for the command
  verb: str, the verb to describe the resource, for example, 'to update'.
  positional: boolean, if True, means that the resource is a positional rather
    than a flag.
  required: boolean, if True, the arg is required
  plural: boolean, if True, expects a list of resources

federationr	   r
   r   r   N)r   r   r   r   GetFederationResourceSpecr   r   r   s          r   AddFederationResourceArgr%   N   s^    " 
B	/$	t	($++
!$% , 
 ![(r   c                  n    [         R                  " SS[         R                  [        5       [	        5       S9$ )Nz%metastore.projects.locations.servicesr   )resource_name
projectsIdlocationsId
servicesId)r   ResourceSpec DEFAULT_PROJECT_ATTRIBUTE_CONFIGLocationAttributeConfigServiceAttributeConfig r   r   r   r   i   s0    			-::)+')
+ +r   c                  n    [         R                  " SS[         R                  [        5       [	        5       S9$ )Nz'metastore.projects.locations.operationsr   )r'   r(   r)   operationsId)r   r+   r,   r-   OperationAttributeConfigr/   r   r   r    r    r   s0    			/::)++-
/ /r   c                  n    [         R                  " SS[         R                  [        5       [	        5       S9$ )Nz(metastore.projects.locations.federationsr#   )r'   r(   r)   federationsId)r   r+   r,   r-   FederationAttributeConfigr/   r   r   r$   r$   {   s0    			0 ::)+-/
1 1r   c                  ,    [         R                  " SSS9$ )Nr   z.Dataproc Metastore service for the {resource}.r   	help_textr    ResourceParameterAttributeConfigr/   r   r   r.   r.      s    		2	2@
B Br   c                  ,    [         R                  " SSS9$ )Nr#   z1Dataproc Metastore federation for the {resource}.r7   r9   r/   r   r   r5   r5      s    		2	2C
E Er   c                  ,    [         R                  " SSS9$ )Nr   z0Dataproc Metastore operation for the {resource}.r7   r9   r/   r   r   r2   r2      s    		2	2B
D Dr   c                     [         R                  " SSU (       a;  [        R                  " [        R
                  R                  R                  5      /S9$ / S9$ )Nlocationz)Location to which the {resource} belongs.)r   r8   fallthroughs)r   r:   r   PropertyFallthroughr   VALUES	metastorer>   )fallthroughs_enableds    r   r-   r-      sV    		2	2;   
"
":#4#4#>#>#G#G
H
* *
 &(
* *r   c                 B    SR                  U(       a  SU 5      $ SU 5      $ )Nz{}{}r
   z--)r   )r   r   s     r   r   r      s    	Zr4	88T4	88r   N)TTF)T)__doc__ googlecloudsdk.calliope.conceptsr   r   (googlecloudsdk.command_lib.util.conceptsr   googlecloudsdk.corer   r   r!   r%   r   r    r$   r.   r5   r2   r-   r   r/   r   r   <module>rI      ss    = 6 1 D *
 &*#'!&	): (,%)#(	): )-&*$)	)6+/1BED*9r   