
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKrS	 rS
 rS rS rS rS rS rS rSS jrS rS rg)z.Shared resource flags for datafusion commands.    )arg_parsers)base)concepts)deps)concept_parsers)
propertiesNc                      [         R                  " [        R                  R                  R
                  5      /n [        R                  " SSU S9$ )Nlocationz8Compute Engine region in which to create the {resource}.)name	help_textfallthroughs)r   PropertyFallthroughr   VALUES
datafusionr
   r    ResourceParameterAttributeConfig)r   s    ;lib/googlecloudsdk/command_lib/data_fusion/resource_args.pyLocationAttributeConfigr      sG    
z00;;DDE, 
	2	2J
! !    c                  ,    [         R                  " SSS9$ )Ninstancez.Cloud Data Fusion instance for the {resource}.r   r   r   r    r   r   InstanceAttributeConfigr   %   s    		2	2@
B Br   c                  ,    [         R                  " SSS9$ )N	operationz/Cloud Data Fusion operation for the {resource}.r   r   r   r   r   OperationAttributeConfigr   +   s    		2	2A
C Cr   c                  \    [         R                  " SS[         R                  [        5       S9$ )Nzdatafusion.projects.locationsr
   )resource_name
projectsIdlocationsId)r   ResourceSpec DEFAULT_PROJECT_ATTRIBUTE_CONFIGr   r   r   r   GetLocationResourceSpecr$   1   s*    			%::)+	
- -r   c                  n    [         R                  " SS[         R                  [        5       [	        5       S9$ )Nz'datafusion.projects.locations.instancesr   )r   r    r!   instancesId)r   r"   r#   r   r   r   r   r   GetInstanceResourceSpecr'   9   s0    			/::)+)+
- -r   c                  n    [         R                  " SS[         R                  [        5       [	        5       S9$ )Nz(datafusion.projects.locations.operationsr   )r   r    r!   operationsId)r   r"   r#   r   r   r   r   r   GetOperationResourceSpecr*   B   s0    			0::)++-
/ /r   c                 r    [         R                  R                  S[        5       USS9R	                  U 5        g )Nz
--locationTrequired)r   ConceptParserForResourcer$   AddToParserparserdescriptions     r   AddLocationResourceArgr4   K   s3    +++-{ ,  [(r   c            	          / SQn [         R                  " SS[        R                  " 5       [        R                  SR                  U 5      S9$ )z(Makes the base.Argument for --tags flag.)z%List of tags KEY=VALUE pairs to bind.z(Each item must be specified in either IDz`<tag_Key_id>=<tag_value_id>`zor Namespaced formatz4`<tag-key-namespaced-name>=<tag-value-short-name>`.
z?Example: `123/environment=production,123/costCenter=marketing`
z--tagsz	KEY=VALUE
)metavartypeactionhelp)r   Argumentr   ArgDictUpdateActionjoin)
help_partss    r   
GetTagsArgr@   Q   sC    * 
 %%99Z 
 r   c                     [        X5      nU(       d  gU" [        [        R                  " U5      5       VVs/ s H  u  pEUR	                  XES9PM     snnS9$ s  snnf )zMakes the tags message object.N)keyvalue)additionalProperties)getattrsortedsix	iteritemsAdditionalProperty)argstags_messagetags_arg_nametagsrB   rC   s         r   GetTagsFromArgsrN   d   s_    		%$		 #3==#677jc 
)
)c
)
?7
 s   A
c                 t    [         R                  R                  S[        5       USSS9R	                  U 5        g )Nr   TF)r-   plural)r   r.   r/   r'   r0   r1   s     r   AddInstanceResourceArgrQ   r   s9    ++ , 
  K'r   c                 r    [         R                  R                  S[        5       USS9R	                  U 5        g )Nr   Tr,   )r   r.   r/   r*   r0   r1   s     r   AddOperationResourceArgrS   {   s3    +++-{ ,  [(r   )rM   )__doc__googlecloudsdk.callioper   r    googlecloudsdk.calliope.conceptsr   r   (googlecloudsdk.command_lib.util.conceptsr   googlecloudsdk.corer   rG   r   r   r   r$   r'   r*   r4   r@   rN   rQ   rS   r   r   r   <module>rY      sZ    5 0 ( 5 1 D * 
!BC--/)&()r   