
                             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gZ
dgZd Zd	 Zd
 Zd Zd Zd Zd ZddZddZddZddZddZddZddZddZddZddZy)z9Flags and helpers for the Audit Manager related commands.    )arg_parsers)	multitype)resource_args)concept_parsers)presentation_specsodfc                      d| j                    S )Nz
--project )projectargss    5lib/googlecloudsdk/command_lib/audit_manager/flags.pyGetProjectParamr      s    dll^	$$    c                      d| j                    S )Nz	--folder )folderr   s    r   GetFolderParamr       s    T[[M	""r   c                 F    | j                   t        |       S t        |       S )N)r   r   r   r   s    r   GetProjectOrFolderParamr   $   s"    	[[4  		r   c                      d| j                    S )Nz--location )locationr   s    r   GetLocationParamr   +   s    t}}o	&&r   c                 "    d| j                    dS )Nz--eligible-gcs-buckets "")gcs_urir   s    r   GetEligibleGcsBucketParamr   /   s    #DLL>	33r   c                 R    | j                  d      dz   }dj                  | d |       S )Nzaudit-manager    )indexjoin)command_pathidxs     r   GetCommandPrefixr#   3   s-    ?+a/#	,t$	%%r   c                     t        j                  dt        j                         t        j                         d      }t        j                  t        j                  d|dd      g      j                  |        y )N	operationT)allow_inactive required)
r   MultitypeResourceSpecr    GetOperationResourceSpecByFolder!GetOperationResourceSpecByProjectr   ConceptParserr   !MultitypeResourcePresentationSpecAddToParser)parserspecs     r   AddDescribeOperationFlagsr2   8   sk    		(	(446557	
$ ::


	!  [r   c                     | j                  |      }|j                  ddj                  |             |j                  ddj                  |             y )Nr(   	--projectProject Id {}help--folderFolder Id {}add_mutually_exclusive_groupadd_argumentformatr0   	help_textr)   groups       r   AddProjectOrFolderFlagsrA   I   sQ    

-
-x
-
@%['='=i'HIZn&;&;I&FGr   c                     | j                  |      }|j                  ddj                  |             |j                  ddj                  |             |j                  ddj                  |             y )	Nr(   r4   r5   r6   r8   r9   z--organizationzOrganization Id {}r:   r>   s       r   %AddProjectOrFolderOrOrganizationFlagsrC   O   su    

-
-x
-
@%['='=i'HIZn&;&;I&FG188C  r   c                 J    | j                  d|dj                  |             y )Nz
--locationzThe location where {}.r)   r7   )r<   r=   )r0   r?   r)   s      r   AddLocationFlagrF   X   s)    #**95  r   c                 ,    | j                  dd|       y )Nz--compliance-frameworkzUCompliance Framework against which the Report must be generated. Eg: FEDRAMP_MODERATE)r7   r)   r<   r0   r)   s     r   AddComplianceFrameworkFlagrJ   `   s"    "   r   c                 6    | j                  d|t        d       y )N--report-formatz7The format in which the audit report should be created.r)   choicesr7   )r<   _AUDIT_REPORT_FORMATSrI   s     r   AddReportFormatFlagrP   k   s!    #D	  r   c                 6    | j                  d|t        d       y )NrL   z=The format in which the audit scope report should be created.rM   )r<   _AUDIT_SCOPE_REPORT_FORMATSrI   s     r   AddScopeReportFormatFlagrS   t   s!    )J	  r   c                 ,    | j                  d|d       y )Nz--output-directoryz=The directory path where the scope report should be created .rE   rH   rI   s     r   AddOutputDirectoryFormatFlagrU   }   s    J  r   c                 ,    | j                  d|d       y )Nz--output-file-namez2The name by while scope report should be created .rE   rH   rI   s     r   AddOutputFileNameFormatFlagrW      s    ?  r   c                 N    | j                  |      }|j                  dd       y )Nr(   z	--gcs-urizDestination Cloud storage bucket where report and evidence must be uploaded. The Cloud storage bucket provided here must be selected among the buckets entered during the enrollment process.r6   )r;   r<   r0   r)   r@   s      r   AddDestinationFlagsrZ      s1    

-
-x
-
@%F  r   c                 z    | j                  |      }|j                  ddt        j                  d      d       y )Nr(   z--eligible-gcs-bucketsz
BUCKET URIr   )
min_lengthzIEligible cloud storage buckets where report and evidence can be uploaded.)metavartyper7   )	add_groupr<   r   ArgListrY   s      r   AddEligibleDestinationsFlagsra      sA    


H

-%!,  r   N)T)F)__doc__googlecloudsdk.callioper    googlecloudsdk.calliope.conceptsr   (googlecloudsdk.command_lib.audit_managerr   (googlecloudsdk.command_lib.util.conceptsr   r   rO   rR   r   r   r   r   r   r#   r2   rA   rC   rF   rJ   rP   rS   rU   rW   rZ   ra    r   r   <module>rh      s    @ / 6 B D G  $g %#'4&
"H	
r   