
    
                        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  ej                  ej                  j                  ej                  j                          G d
 dej"                               Zy)z&Command to create a SHA custom module.    )absolute_import)division)unicode_literals)clients)base)	constants)flags)parsingc                   &    e Zd ZdZed        Zd Zy)CreateaQ  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                    t        j                  d      j                  |        t        j                  d      j                  |        t        j                  d      j                  |        t        j
                  t        j                  j                  d      j                  |        t        j                  d      j                  |        y )NT)requiredF)module_typer   )
r	   CreateParentFlagAddToParserCreateValidateOnlyFlagCreateCustomConfigFlagCreateEnablementStateFlagr   CustomModuleTypeSHACreateDisplayNameFlag)parsers    3lib/surface/scc/manage/custom_modules/sha/create.pyArgszCreate.Args+   s    	D)55f=	  %0<<VD	  $/;;FC	##..22 k&	.::6B    c                 `   t        j                  |      }|j                  }t        j                  |j                        }t        j
                  |j                  t        j                  j                        }|j                  }t        j                         }|j                  |||||      S )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   Runz
Create.Run6   s    2248F&&M33$$M 99..22 $$L**,F==##)!   r   N)__name__
__module____qualname____doc__staticmethodr   r*    r   r   r   r      s"     C Cr   r   N)r.   
__future__r   r   r   %googlecloudsdk.api_lib.scc.manage.shar   googlecloudsdk.callioper   %googlecloudsdk.command_lib.scc.manager   r	   r
   ReleaseTracksReleaseTrackGAALPHACommandr   r0   r   r   <module>r:      si    - &  ' 9 ( ; 7 9 D%%(($*;*;*A*AB-T\\ - C-r   