
    V                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlZd Zd Zd Zd Zd Zd Zd Zd ZddZd Zd Zy)z.Shared resource flags for datafusion commands.    )absolute_import)division)unicode_literals)arg_parsers)base)concepts)deps)concept_parsers)
propertiesNc                      t        j                  t        j                  j                  j
                        g} t        j                  dd|       S )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                  0    t        j                  dd      S )Ninstancez.Cloud Data Fusion instance for the {resource}.r   r   r   r    r   r   InstanceAttributeConfigr   (   s    		2	2@
B Br   c                  0    t        j                  dd      S )N	operationz/Cloud Data Fusion operation for the {resource}.r   r   r   r   r   OperationAttributeConfigr    .   s    		2	2A
C Cr   c                  `    t        j                  ddt         j                  t                     S )Nzdatafusion.projects.locationsr   )resource_name
projectsIdlocationsId)r   ResourceSpec DEFAULT_PROJECT_ATTRIBUTE_CONFIGr   r   r   r   GetLocationResourceSpecr'   4   s*    			%::)+	
- -r   c                  r    t        j                  ddt         j                  t               t	                     S )Nz'datafusion.projects.locations.instancesr   )r"   r#   r$   instancesId)r   r%   r&   r   r   r   r   r   GetInstanceResourceSpecr*   <   s0    			/::)+)+
- -r   c                  r    t        j                  ddt         j                  t               t	                     S )Nz(datafusion.projects.locations.operationsr   )r"   r#   r$   operationsId)r   r%   r&   r   r    r   r   r   GetOperationResourceSpecr-   E   s0    			0::)++-
/ /r   c                 x    t         j                  j                  dt               |d      j	                  |        y )Nz
--locationTrequired)r
   ConceptParserForResourcer'   AddToParserparserdescriptions     r   AddLocationResourceArgr7   N   s3    +++-{ ,  [(r   c            	          g d} t        j                  ddt        j                         t        j                  dj                  |             S )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   
GetTagsArgrC   T   sC    * 
 %%99Z 
 r   c           
          t        | |      }|sy |t        t        j                  |            D cg c]  \  }}|j	                  ||       c}}      S c c}}w )zMakes the tags message object.N)keyvalue)additionalProperties)getattrsortedsix	iteritemsAdditionalProperty)argstags_messagetags_arg_nametagsrE   rF   s         r   GetTagsFromArgsrQ   g   se    	}	%$		 #3==#677jc5 
)
)c
)
?7
 s   A
c                 z    t         j                  j                  dt               |dd      j	                  |        y )Nr   TF)r0   plural)r
   r1   r2   r*   r3   r4   s     r   AddInstanceResourceArgrT   u   s9    ++ , 
  K'r   c                 x    t         j                  j                  dt               |d      j	                  |        y )Nr   Tr/   )r
   r1   r2   r-   r3   r4   s     r   AddOperationResourceArgrV   ~   s3    +++-{ ,  [(r   )rP   )__doc__
__future__r   r   r   googlecloudsdk.callioper   r    googlecloudsdk.calliope.conceptsr   r	   (googlecloudsdk.command_lib.util.conceptsr
   googlecloudsdk.corer   rJ   r   r   r    r'   r*   r-   r7   rC   rQ   rT   rV   r   r   r   <module>r]      sa    5 &  ' / ( 5 1 D * 
!BC--/)&()r   