
                             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/r
S/rS rS	 rS
 rS rS rS rS rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrg)z9Flags and helpers for the Audit Manager related commands.    )arg_parsers)	multitype)resource_args)concept_parsers)presentation_specsodfc                      SU R                    3$ )Nz
--project )projectargss    5lib/googlecloudsdk/command_lib/audit_manager/flags.pyGetProjectParamr      s    dll^	$$    c                      SU R                    3$ )Nz	--folder )folderr   s    r   GetFolderParamr       s    T[[M	""r   c                 H    U R                   c  [        U 5      $ [        U 5      $ )N)r   r   r   r   s    r   GetProjectOrFolderParamr   $   s"    	[[4  		r   c                      SU R                    3$ )Nz--location )locationr   s    r   GetLocationParamr   +   s    t}}o	&&r   c                 "    SU R                    S3$ )Nz--eligible-gcs-buckets "")gcs_urir   s    r   GetEligibleGcsBucketParamr   /   s    #DLL>	33r   c                 R    U R                  S5      S-   nSR                  U S U 5      $ )Nzaudit-manager    )indexjoin)command_pathidxs     r   GetCommandPrefixr#   3   s-    ?+a/#	,t$	%%r   c           	          [         R                  " S[        R                  " 5       [        R                  " 5       SS9n[
        R                  " [        R                  " SUSSS9/5      R                  U 5        g )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                     U R                  US9nUR                  SSR                  U5      S9  UR                  SSR                  U5      S9  g )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                     U R                  US9nUR                  SSR                  U5      S9  UR                  SSR                  U5      S9  UR                  SSR                  U5      S9  g )	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                 D    U R                  SUSR                  U5      S9  g )Nz
--locationzThe location where {}.r)   r7   )r<   r=   )r0   r?   r)   s      r   AddLocationFlagrF   X   s)    #**95  r   c                 &    U R                  SSUS9  g )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                 0    U R                  SU[        SS9  g )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                 0    U R                  SU[        SS9  g )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                 &    U R                  SUSS9  g )Nz--output-directoryz=The directory path where the scope report should be created .rE   rH   rI   s     r   AddOutputDirectoryFormatFlagrU   }   s    J  r   c                 &    U R                  SUSS9  g )Nz--output-file-namez2The name by while scope report should be created .rE   rH   rI   s     r   AddOutputFileNameFormatFlagrW      s    ?  r   c                 B    U R                  US9nUR                  SSS9  g )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                 j    U R                  US9nUR                  SS[        R                  " SS9SS9  g )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   