import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LdapServerConfig extends cdktf.TerraformMetaArguments { /** * The maximum number of seconds the system will wait for a response from the LDAP server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#auth_timeout LdapServer#auth_timeout} */ readonly authTimeout?: number; /** * Set to false for public key Authentication. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#authentication LdapServer#authentication} */ readonly authentication?: boolean | cdktf.IResolvable; /** * The base or node where the ldapsearch should start. Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#base_dn LdapServer#base_dn} */ readonly baseDn?: string; /** * The full distinguished name used to bind to the LDAP server. Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#bind_dn LdapServer#bind_dn} */ readonly bindDn?: string; /** * The password used to bind to the LDAP server. Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#bind_passwd LdapServer#bind_passwd} */ readonly bindPasswd?: string; /** * Enable change of the user. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#change_password LdapServer#change_password} */ readonly changePassword?: boolean | cdktf.IResolvable; /** * This is the default group. Maximum length = 64 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#default_authentication_group LdapServer#default_authentication_group} */ readonly defaultAuthenticationGroup?: string; /** * Enable following LDAP referrals received from LDAP server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#follow_referrals LdapServer#follow_referrals} */ readonly followReferrals?: boolean | cdktf.IResolvable; /** * The Attribute name for group extraction from the LDAP server. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#group_attr_name LdapServer#group_attr_name} */ readonly groupAttrName?: string; /** * Name that uniquely identifies a group in LDAP server. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#group_name_identifier LdapServer#group_name_identifier} */ readonly groupNameIdentifier?: string; /** * LDAP group search attribute. Used to determine to which groups a group belongs. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#group_search_attribute LdapServer#group_search_attribute} */ readonly groupSearchAttribute?: string; /** * String to be combined with the default LDAP group search string to form the search value. Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#group_search_filter LdapServer#group_search_filter} */ readonly groupSearchFilter?: string; /** * LDAP group search subattribute. Used to determine to which groups a group belongs.. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#group_search_subattribute LdapServer#group_search_subattribute} */ readonly groupSearchSubattribute?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#id LdapServer#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * The IP address of the LDAP server.. Minimum length = 1 Maximum length = 64 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#ip_address LdapServer#ip_address} */ readonly ipAddress: string; /** * Host Name on the certificate from LDAP Server. Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#ldap_host_name LdapServer#ldap_host_name} */ readonly ldapHostName?: string; /** * The name attribute used by the system to query the external LDAP server. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#login_name LdapServer#login_name} */ readonly loginName?: string; /** * Maximum number of ldap referrals to follow. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#max_ldap_referrals LdapServer#max_ldap_referrals} */ readonly maxLdapReferrals?: number; /** * Number of levels at which group extraction is allowed. Maximum value = * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#max_nesting_level LdapServer#max_nesting_level} */ readonly maxNestingLevel?: number; /** * Name of LDAP server. Minimum length = 1 Maximum length = 128 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#name LdapServer#name} */ readonly name: string; /** * Enable Nested Group Extraction. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#nested_group_extraction LdapServer#nested_group_extraction} */ readonly nestedGroupExtraction?: boolean | cdktf.IResolvable; /** * The port number on which the LDAP server is running. Maximum value = * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#port LdapServer#port} */ readonly port?: number; /** * The String to be combined with the default LDAP user search string to form the value. Maximum length = 256 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#search_filter LdapServer#search_filter} */ readonly searchFilter?: string; /** * The communication type between the system and the LDAP server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#sec_type LdapServer#sec_type} */ readonly secType?: string; /** * SSH public key attribute holds the public keys of the user. Maximum length = 64 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#ssh_public_key LdapServer#ssh_public_key} */ readonly sshPublicKey?: string; /** * The Sub-Attribute name for group extraction from LDAP server. Maximum length = 32 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#subattribute_name LdapServer#subattribute_name} */ readonly subattributeName?: string; /** * The type of LDAP server. Minimum length = 2 Maximum length = 64 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#type LdapServer#type} */ readonly type: string; /** * Validate LDAP Server Certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#validate_ldap_server_certs LdapServer#validate_ldap_server_certs} */ readonly validateLdapServerCerts?: boolean | cdktf.IResolvable; } /** * Represents a {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server netscalersdx_ldap_server} */ export declare class LdapServer extends cdktf.TerraformResource { static readonly tfResourceType = "netscalersdx_ldap_server"; /** * Generates CDKTF code for importing a LdapServer resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the LdapServer to import * @param importFromId The id of the existing LdapServer that should be imported. Refer to the {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LdapServer to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/netscaler/netscalersdx/0.7.2/docs/resources/ldap_server netscalersdx_ldap_server} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options LdapServerConfig */ constructor(scope: Construct, id: string, config: LdapServerConfig); private _authTimeout?; get authTimeout(): number; set authTimeout(value: number); resetAuthTimeout(): void; get authTimeoutInput(): number; private _authentication?; get authentication(): boolean | cdktf.IResolvable; set authentication(value: boolean | cdktf.IResolvable); resetAuthentication(): void; get authenticationInput(): any; private _baseDn?; get baseDn(): string; set baseDn(value: string); resetBaseDn(): void; get baseDnInput(): string; private _bindDn?; get bindDn(): string; set bindDn(value: string); resetBindDn(): void; get bindDnInput(): string; private _bindPasswd?; get bindPasswd(): string; set bindPasswd(value: string); resetBindPasswd(): void; get bindPasswdInput(): string; private _changePassword?; get changePassword(): boolean | cdktf.IResolvable; set changePassword(value: boolean | cdktf.IResolvable); resetChangePassword(): void; get changePasswordInput(): any; private _defaultAuthenticationGroup?; get defaultAuthenticationGroup(): string; set defaultAuthenticationGroup(value: string); resetDefaultAuthenticationGroup(): void; get defaultAuthenticationGroupInput(): string; private _followReferrals?; get followReferrals(): boolean | cdktf.IResolvable; set followReferrals(value: boolean | cdktf.IResolvable); resetFollowReferrals(): void; get followReferralsInput(): any; private _groupAttrName?; get groupAttrName(): string; set groupAttrName(value: string); resetGroupAttrName(): void; get groupAttrNameInput(): string; private _groupNameIdentifier?; get groupNameIdentifier(): string; set groupNameIdentifier(value: string); resetGroupNameIdentifier(): void; get groupNameIdentifierInput(): string; private _groupSearchAttribute?; get groupSearchAttribute(): string; set groupSearchAttribute(value: string); resetGroupSearchAttribute(): void; get groupSearchAttributeInput(): string; private _groupSearchFilter?; get groupSearchFilter(): string; set groupSearchFilter(value: string); resetGroupSearchFilter(): void; get groupSearchFilterInput(): string; private _groupSearchSubattribute?; get groupSearchSubattribute(): string; set groupSearchSubattribute(value: string); resetGroupSearchSubattribute(): void; get groupSearchSubattributeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); get ipAddressInput(): string; private _ldapHostName?; get ldapHostName(): string; set ldapHostName(value: string); resetLdapHostName(): void; get ldapHostNameInput(): string; private _loginName?; get loginName(): string; set loginName(value: string); resetLoginName(): void; get loginNameInput(): string; private _maxLdapReferrals?; get maxLdapReferrals(): number; set maxLdapReferrals(value: number); resetMaxLdapReferrals(): void; get maxLdapReferralsInput(): number; private _maxNestingLevel?; get maxNestingLevel(): number; set maxNestingLevel(value: number); resetMaxNestingLevel(): void; get maxNestingLevelInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _nestedGroupExtraction?; get nestedGroupExtraction(): boolean | cdktf.IResolvable; set nestedGroupExtraction(value: boolean | cdktf.IResolvable); resetNestedGroupExtraction(): void; get nestedGroupExtractionInput(): any; private _port?; get port(): number; set port(value: number); resetPort(): void; get portInput(): number; private _searchFilter?; get searchFilter(): string; set searchFilter(value: string); resetSearchFilter(): void; get searchFilterInput(): string; private _secType?; get secType(): string; set secType(value: string); resetSecType(): void; get secTypeInput(): string; private _sshPublicKey?; get sshPublicKey(): string; set sshPublicKey(value: string); resetSshPublicKey(): void; get sshPublicKeyInput(): string; private _subattributeName?; get subattributeName(): string; set subattributeName(value: string); resetSubattributeName(): void; get subattributeNameInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _validateLdapServerCerts?; get validateLdapServerCerts(): boolean | cdktf.IResolvable; set validateLdapServerCerts(value: boolean | cdktf.IResolvable); resetValidateLdapServerCerts(): void; get validateLdapServerCertsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }