
    
                        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	Jr  SS	K	Jr  \R                  " \R                  R                  \R                  R                   5       " S
 S\R"                  5      5       rg)z&Command to create a SHA custom module.    )absolute_import)division)unicode_literals)clients)base)	constants)flags)parsingc                   .    \ rS rSrSr\S 5       rS rSrg)Create   aA  Create an Security Health Analytics custom module.

## EXAMPLES

To create a Security Health Analytics custom module for organization
`123`, run:

  $ {command} --organization=organizations/123
      --display-name="test_display_name"
      --enablement-state="ENABLED"
      --custom-config-from-file=custom_config.yaml
c                    [         R                  " SS9R                  U 5        [         R                  " SS9R                  U 5        [         R                  " SS9R                  U 5        [         R
                  " [        R                  R                  SS9R                  U 5        [         R                  " SS9R                  U 5        g )NT)requiredF)module_typer   )
r	   CreateParentFlagAddToParserCreateValidateOnlyFlagCreateCustomConfigFlagCreateEnablementStateFlagr   CustomModuleTypeSHACreateDisplayNameFlag)parsers    3lib/surface/scc/manage/custom_modules/sha/create.pyArgsCreate.Args+   s    	D)55f=	  %0<<VD	  $/;;FC	##..22 k&	.::6B    c                 \   [         R                  " U5      nUR                  n[         R                  " UR                  5      n[         R
                  " UR                  [        R                  R                  S9nUR                  n[        R                  " 5       nUR                  UUUUUS9$ )N)r   )parentvalidate_onlycustom_configenablement_statedisplay_name)r
   GetParentResourceNameFromArgsr    GetCustomConfigFromArgscustom_config_from_fileGetEnablementStateFromArgsr"   r   r   r   r#   r   SHACustomModuleClientr   )selfargsr   r    r!   r"   r#   clients           r   Run
Create.Run6   s    2248F&&M33$$M 99..22 $$L**,F==##)!   r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r,   __static_attributes__r.   r   r   r   r      s"     C Cr   r   N)r3   
__future__r   r   r   %googlecloudsdk.api_lib.scc.manage.shar   googlecloudsdk.callioper   %googlecloudsdk.command_lib.scc.manager   r	   r
   ReleaseTracksReleaseTrackGAALPHACommandr   r.   r   r   <module>r?      sg    - &  ' 9 ( ; 7 9 D%%(($*;*;*A*AB-T\\ - C-r   