
    U                        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(                   G d
 de	j*                                      Z e	j"                  e	j$                  j.                         G d de             Z e	j"                  e	j$                  j2                         G d de             Zy)z(Creates a Cloud NetApp Active Directory.    )absolute_import)division)unicode_literals)client)base)flags)labels_util)logc                   \    e Zd ZdZej
                  j                  ZdddZe	d        Z
d Zy)Create'Create a Cloud NetApp Active Directory.zV          Creates an AD (Active Directory) config for Cloud NetApp Volumes.
          a            The following command creates an AD named AD_NAME with the required arguments:

              $ {command} AD_NAME --location=us-central1 --domain=example-domain.com --dns=0.0.0.0 --net-bios-prefix=prefix-1 --enable-aes=true --username=user1 --password="secure1" --backup-operators=backup_op1,backup_op2 --security-operators=sec_op1,sec_op2 --enable-ldap-signing=false
          )DESCRIPTIONEXAMPLESc                 .    t        j                  |        y )N)activedirectories_flagsAddActiveDirectoryCreateArgs)parsers    /lib/surface/netapp/active_directories/create.pyArgszCreate.Args/   s    88@    c                    |j                   j                  j                         }t        j                  | j
                        }t        j                  ||j                  j                  j                        }|j                  |j                         |j                  |j                  |j                  |j                   |j"                  |j$                  |j&                  |j(                  |j*                  |j,                  |j.                  |j0                  |j2                  |j4                  |j6                  |j8                  |j:                  |      }|j=                  ||j>                  |      }|j>                  rWdjA                  | jC                         jD                        }tF        jH                  jK                  djA                  |             |S )z>Create a Cloud NetApp Active Directory in the current project.)namedomainsitednsnet_bios_prefixorganizational_unitaes_encryptionusernamepasswordbackup_operatorssecurity_operatorsadministratorskdc_hostnamekdc_ipnfs_users_with_ldapldap_signingencrypt_dc_connectionsdescriptionlabelsz(gcloud {} netapp active-directories listzWCheck the status of the new active directory by listing all active directories:
  $ {} )&CONCEPTSactive_directoryParse	ad_clientActiveDirectoriesClient_RELEASE_TRACKr	   ParseCreateArgsmessagesActiveDirectoryLabelsValueParseActiveDirectoryConfigRelativeNamer   r   r   r   r   
enable_aesr   r    r!   r"   r#   r$   r%   r&   enable_ldap_signingr(   r)   CreateActiveDirectoryasync_formatReleaseTrackprefixr
   statusPrint)selfargsactivedirectory_refr   r*   r,   resultcommands           r   Runz
Create.Run3   sy   --88>>@..t/B/BCF((foo--99;F 88 --/{{YYHH,, 44..22**&&{{ 44--#::$$' 9 * ))*=*.++*:<F {{:AA




$
$&g	jj##)6'? Mr   N)__name__
__module____qualname____doc__r   r<   GAr0   detailed_helpstaticmethodr   rE    r   r   r   r      sD     0$$''.		- A A&r   r   c                   <    e Zd ZdZej
                  j                  Zy)
CreateBetar   N)rF   rG   rH   rI   r   r<   BETAr0   rM   r   r   rO   rO   \   s    /$$)).r   rO   c                   <    e Zd ZdZej
                  j                  Zy)CreateAlphar   N)rF   rG   rH   rI   r   r<   ALPHAr0   rM   r   r   rR   rR   c   s    /$$**.r   rR   N)rI   
__future__r   r   r   0googlecloudsdk.api_lib.netapp.active_directoriesr   r.   googlecloudsdk.callioper   4googlecloudsdk.command_lib.netapp.active_directoriesr   r   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   ReleaseTracksr<   rJ   DefaultUniverseOnlyCreateCommandr   rP   rO   rS   rR   rM   r   r   <module>r]      s    / &  ' P ( a < # D%%(():T :  *:z D%%**+* * ,* D%%++,+* + -+r   