
                         N    d Z ddlmZ ddlmZ ddlmZ d Zd Zd Z	 ddZ	d	 Z
y
)z$Shared resource arguments and flags.    )concepts)deps)concept_parsersc                  Z    t        j                  ddt        j                  d      g      S )z=Returns the resource parameter attribute config for location.locationz$The Cloud region for the {resource}.globalname	help_textfallthroughs)r    ResourceParameterAttributeConfigr   ValueFallthrough     6lib/googlecloudsdk/api_lib/gemini_cloud_assist/args.pyLocationAttributeConfigr      s,    		2	26))(34
 r   c                 f    g }| rt        j                  d      g}t        j                  dd|      S )zBReturns the resource parameter attribute config for investigation.-investigationzThe name of the {resource}.r	   )r   r   r   r   )allow_no_idr   s     r   InvestigationAttributeConfigr      s9    ,))#./L		2	2-
 r   c           
      v    t        j                  dddt         j                  t               t	        |             S )z,Returns the resource spec for investigation.z3geminicloudassist.projects.locations.investigationsr   F)resource_namedisable_auto_completers
projectsIdlocationsIdinvestigationsId)r   ResourceSpec DEFAULT_PROJECT_ATTRIBUTE_CONFIGr   r   )r   s    r   GetInvestigationResourceSpecr    +   s5    			;##::)+3K@
 r   c                     |xs d| d}t         j                  j                  dt        |      |ddi|      j	                  |        y)a<  Adds investigations resource argument to the parser.

  NOTE: May be used only if it's the only resource arg in the command.
  Args:
    parser: the argparse parser for the command.
    verb: (Optional) str, the verb to describe the resource, such as 'to
      update'.
    help_text_override: (Optional)str, the help text to use for the resource
      argument. If override is providded, verb will be ignored.
    required: bool, whether the argument is required.
    allow_no_id: bool, whether to no investigation id, if none is passed '-'
      will be used instead.
  zThe investigation name .r   r    )flag_name_overridesrequiredN)r   ConceptParserForResourcer    AddToParser)parserverbhelp_text_overrider%   r   r   s         r   AddInvestigationResourceArgr,   7   sV      !E&=dV1$E)++";/%r* ,  Kr   c                 ,    | j                  ddd       y)ziAdds IAM policy file argument to the parser.

  Args:
    parser: the argparse parser for the command.
  policy_filePOLICY_FILEzFPath to a local JSON or YAML formatted file containing a valid policy.)metavarhelpN)add_argument)r)   s    r   AddIAMPolicyFileArgr3   Q   s"     	'	  r   N)r#   r#   TF)__doc__ googlecloudsdk.calliope.conceptsr   r   (googlecloudsdk.command_lib.util.conceptsr   r   r   r    r,   r3   r   r   r   <module>r7      s3    + 5 1 D		 HM4r   