
    
                        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 ETD custom module.    )absolute_import)division)unicode_literals)clients)base)	constants)flags)parsingc                   &    e Zd ZdZed        Zd Zy)Createaj  Create an Event Threat Detection custom module.

  ## EXAMPLES

  To create an Event Threat Detection custom module for organization `123`, run:

    $ {command} --organization=organizations/123
        --display-name="test_display_name"
        --module-type="CONFIGURABLE_BAD_IP"
        --enablement-state="ENABLED"
        --custom-config-file=config.json
  c                    t        j                  d      j                  |        t        j                  d      j                  |        t        j                  d      j                  |        t        j
                  t        j                  j                  d      j                  |        t        j                  d      j                  |        t        j                  d      j                  |        y )NT)requiredF)module_typer   )r	   CreateParentFlagAddToParserCreateValidateOnlyFlag!CreateEtdCustomConfigFilePathFlagCreateEnablementStateFlagr   CustomModuleTypeETDCreateDisplayNameFlagCreateModuleTypeFlag)parsers    3lib/surface/scc/manage/custom_modules/etd/create.pyArgszCreate.Args+   s    	D)55f=	  %0<<VD	++T:FFvN	##..22 k&	.::6B	-99&A    c                 z   t        j                  |      }|j                  }t        j                  |j                        }t        j
                  |j                  t        j                  j                        }|j                  }|j                  }t        j                         }|j                  ||||||      S )N)r   )parentvalidate_onlycustom_configenablement_stater   display_name)r
   GetParentResourceNameFromArgsr   GetConfigValueFromArgscustom_config_fileGetEnablementStateFromArgsr!   r   r   r   r   r"   r   ETDCustomModuleClientr   )	selfargsr   r   r    r!   r   r"   clients	            r   Runz
Create.Run7   s    2248F&&M2243J3JKM99..22 ""K$$L**,F==##)!   r   N)__name__
__module____qualname____doc__staticmethodr   r+    r   r   r   r      s"     	B 	Br   r   N)r/   
__future__r   r   r   %googlecloudsdk.api_lib.scc.manage.etdr   googlecloudsdk.callioper   %googlecloudsdk.command_lib.scc.manager   r	   r
   ReleaseTracksReleaseTrackGAALPHACommandr   r1   r   r   <module>r;      si    - &  ' 9 ( ; 7 9 D%%(($*;*;*A*AB.T\\ . C.r   