
    %"                         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  SS
 jrS rSS jrSS jrS rS rSS jrSS jrS rS rS rS rS rS rS rS rS rS r S r!g)zIFlags and helpers for the Cloud NetApp Files Active Directories commands.    )absolute_import)division)unicode_literals)arg_parsers)flags)util)labels_util)concept_parsersc                 0    U R                  S[        USS9  g)z(Adds a --domain arg to the given parser.z--domainzThe Active Directory domain.typerequiredhelpNadd_argumentstrparserr   s     Alib/googlecloudsdk/command_lib/netapp/active_directories/flags.pyAddActiveDirectoryDomainArgr      s!    -	      c                 .    U R                  S[        SS9  g)z&Adds a --site arg to the given parser.z--sitezYThe Active Directory site the service          will limit Domain Controller discovery to.r   r   Nr   r   s    r   AddActiveDirectorySiteArgr   (   s     8  r   c                 0    U R                  S[        USS9  g)z%Adds a --dns arg to the given parser.z--dnszRA comma separated list of DNS server IP addresses for the Active Directory domain.r   Nr   r   s     r   AddActiveDirectoryDnsArgr   2   s!    c	  r   c                 0    U R                  S[        USS9  g)z1Adds a --net-bios-prefix arg to the given parser.z--net-bios-prefixz"NetBIOS prefix name of the server.r   Nr   r   s     r   AddActiveDirectoryNetBiosArgr   <   s!    3	  r   c                 .    U R                  S[        SS9  g)z5Adds a --organizational-unit arg to the given parser.z--organizational-unitzUThe Organizational Unit (OU) within the Windows Active Directory the user belongs to.r   Nr   r   s    r   'AddActiveDirectoryOrganizationalUnitArgr!   F   s    f  r   c                     U R                  S[        R                  " [        R                  [        R
                  S9SS9  g)z,Adds a --enable-aes arg to the given parser.z--enable-aestruthy_stringsfalsey_stringsz[The Boolean value indiciating whether AES encryption will be enabled for SMB communication.r   Nr   r   
ArgBooleannetapp_utiltruthyfalseyr   s    r   "AddActiveDirectoryAesEncryptionArgr+   O   s;    !!1C1C1<1C1CEl	  r   c                 0    U R                  S[        USS9  g)z*Adds a --username arg to the given parser.z
--usernamez6Username of the Active Directory domain administrator.r   Nr   r   s     r   AddActiveDirectoryUsernameArgr-   Y   !    G	  r   c                 0    U R                  S[        USS9  g)z*Adds a --password arg to the given parser.z
--passwordz6Password of the Active Directory domain administrator.r   Nr   r   s     r   AddActiveDirectoryPasswordArgr0   c   r.   r   c                 T    U R                  S[        R                  " [        S9SSS9  g)z2Adds a --backup-operators arg to the given parser.z--backup-operatorselement_typeBACKUP_OPERATORzIUsers to be added to the Built-in Backup Operator Active Directory group.r   metavarr   Nr   r   ArgListr   r   s    r   $AddActiveDirectoryBackupOperatorsArgr9   m   s,    C0Z	  r   c                 T    U R                  S[        R                  " [        S9SSS9  g)z4Adds a --security-operators arg to the given parser.z--security-operatorsr2   SECURITY_OPERATORz0Domain users to be given the Security privilege.r5   Nr7   r   s    r   &AddActiveDirectorySecurityOperatorsArgr<   w   s,    C0!A	  r   c                 T    U R                  S[        R                  " [        S9SSS9  g)z0Adds a --administrators arg to the given parser.z--administratorsr2   ADMINISTRATORz>Members of the Active Directory built-in Administrators group.r5   Nr7   r   s    r   #AddActiveDirectoryAdministratorsArgr?      s,    C0O	  r   c                 .    U R                  S[        SS9  g)z.Adds a --kdc-hostname arg to the given parser.z--kdc-hostnamez%Name of the Active Directory machine.r   Nr   r   s    r   !AddActivevDirectoryKdcHostnameArgrA      s    6  r   c                 .    U R                  S[        SS9  g)z(Adds a --kdc-ip arg to the given parser.z--kdc-ipz7KDC server IP address for the Active Directory machine.r   Nr   r   s    r   AddActiveDirectoryKdcIpArgrC      s    H  r   c                     U R                  S[        R                  " [        R                  [        R
                  S9SS9  g)z5Adds a --nfs-users-with-ldap arg to the given parser.z--nfs-users-with-ldapr#   z~Boolean flag that allows access to local users and LDAP users. If access is needed only for LDAP users, it has to be disabled.r   Nr&   r   s    r   %AddActiveDirectoryNfsUsersWithLdapArgrE      s>    !!1C1C1<1C1CE P	  r   c                     U R                  S[        R                  " [        R                  [        R
                  S9SS9  g)z5Adds a --enable-ldap-signing arg to the given parser.z--enable-ldap-signingr#   zKBoolean flag that specifies whether or not LDAP traffic needs to be signed.r   Nr&   r   s    r    AddActiveDirectoryLdapSigningArgrG      s;    !!1C1C1<1C1CE\	  r   c                     U R                  S[        R                  " [        R                  [        R
                  S9SS9  g)z8Adds a --encrypt-dc-connections arg to the given parser.z--encrypt-dc-connectionsr#   zkBoolean flag that specifies whether traffic between SMB server to Domain Controller (DC) will be encrypted.r   Nr&   r   s    r   )AddActiveDirectoryEncryptDcConnectionsArgrI      s;     !!1C1C1<1C1CE|	  r   c                 ^   [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U S5        [        R                  " U 5        [        R                  " U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [!        U 5        [#        U 5        [%        U 5        ['        U 5        [)        U 5        [+        U 5        [-        U 5        [/        U 5        [1        U 5        g)z*Add args for creating an Active Directory.zThe Active Directory to create.Active DirectoryN)r
   ConceptParserr   "GetActiveDirectoryPresentationSpecAddToParserAddResourceDescriptionArgAddResourceAsyncFlagr	   AddCreateLabelsFlagsr   r   r   r   r!   r+   r-   r0   r9   r<   r?   rA   rC   rE   rG   rI   r   s    r   AddActiveDirectoryCreateArgsrR          ..
+-!  [!!&*<=V$""6*f%F#6"v&)&1$V,''&v.(0%f-#F+V$'/"6*+F3r   c                     [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U 5        g)z*Add args for deleting an Active Directory.zThe Active Directory to delete.N)r
   rL   r   rM   rN   rP   r   s    r   AddActiveDirectoryDeleteArgsrU      s@    ..
+-!  [V$r   c                 ^   [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U S5        [        R                  " U 5        [        R                  " U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [        U 5        [!        U 5        [#        U 5        [%        U 5        ['        U 5        [)        U 5        [+        U 5        [-        U 5        [/        U 5        [1        U 5        g)z*Add args for updating an Active Directory.zThe Active Directory to update.rK   N)r
   rL   r   rM   rN   rO   rP   r	   AddUpdateLabelsFlagsr   r   r   r   r!   r+   r-   r0   r9   r<   r?   rA   rC   rE   rG   rI   r   s    r   AddActiveDirectoryUpdateArgsrX      rS   r   N)T)"__doc__
__future__r   r   r   googlecloudsdk.callioper   !googlecloudsdk.command_lib.netappr   r   r(   $googlecloudsdk.command_lib.util.argsr	   (googlecloudsdk.command_lib.util.conceptsr
   r   r   r   r   r!   r+   r-   r0   r9   r<   r?   rA   rC   rE   rG   rI   rR   rU   rX    r   r   <module>r`      s    P &  ' / 3 A < D
46%4r   