UNPKG

@pulumiverse/fortios

Version:

A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0

588 lines (587 loc) 20.4 kB
import * as pulumi from "@pulumi/pulumi"; /** * Configure LDAP server entries. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fortios from "@pulumiverse/fortios"; * * const trname = new fortios.user.Ldap("trname", { * accountKeyFilter: "(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))", * accountKeyProcessing: "same", * cnid: "cn", * dn: "EIWNCIEW", * groupMemberCheck: "user-attr", * groupObjectFilter: "(&(objectcategory=group)(member=*))", * memberAttr: "memberOf", * passwordExpiryWarning: "disable", * passwordRenewal: "disable", * port: 389, * secure: "disable", * server: "1.1.1.1", * serverIdentityCheck: "disable", * sourceIp: "0.0.0.0", * sslMinProtoVersion: "default", * type: "simple", * }); * ``` * * ## Import * * User Ldap can be imported using any of these accepted formats: * * ```sh * $ pulumi import fortios:user/ldap:Ldap labelname {{name}} * ``` * * If you do not want to import arguments of block: * * $ export "FORTIOS_IMPORT_TABLE"="false" * * ```sh * $ pulumi import fortios:user/ldap:Ldap labelname {{name}} * ``` * * $ unset "FORTIOS_IMPORT_TABLE" */ export declare class Ldap extends pulumi.CustomResource { /** * Get an existing Ldap resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LdapState, opts?: pulumi.CustomResourceOptions): Ldap; /** * Returns true if the given object is an instance of Ldap. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Ldap; /** * Define subject identity field in certificate for user access right checking. */ readonly accountKeyCertField: pulumi.Output<string>; /** * Account key filter, using the UPN as the search filter. */ readonly accountKeyFilter: pulumi.Output<string>; /** * Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`. */ readonly accountKeyProcessing: pulumi.Output<string>; /** * Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`. */ readonly accountKeyUpnSan: pulumi.Output<string>; /** * Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`. */ readonly antiphish: pulumi.Output<string>; /** * CA certificate name. */ readonly caCert: pulumi.Output<string>; /** * Client certificate name. */ readonly clientCert: pulumi.Output<string>; /** * Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`. */ readonly clientCertAuth: pulumi.Output<string>; /** * Common name identifier for the LDAP server. The common name identifier for most LDAP servers is "cn". */ readonly cnid: pulumi.Output<string>; /** * Distinguished name used to look up entries on the LDAP server. */ readonly dn: pulumi.Output<string>; /** * Filter used for group matching. */ readonly groupFilter: pulumi.Output<string>; /** * Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`. */ readonly groupMemberCheck: pulumi.Output<string>; /** * Filter used for group searching. */ readonly groupObjectFilter: pulumi.Output<string>; /** * Search base used for group searching. */ readonly groupSearchBase: pulumi.Output<string>; /** * Specify outgoing interface to reach server. */ readonly interface: pulumi.Output<string>; /** * Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`. */ readonly interfaceSelectMethod: pulumi.Output<string>; /** * Name of attribute from which to get group membership. */ readonly memberAttr: pulumi.Output<string>; /** * LDAP server entry name. */ readonly name: pulumi.Output<string>; /** * Enable/disable obtaining of user information. Valid values: `enable`, `disable`. */ readonly obtainUserInfo: pulumi.Output<string>; /** * Password for initial binding. */ readonly password: pulumi.Output<string | undefined>; /** * Name of attribute to get password hash. */ readonly passwordAttr: pulumi.Output<string>; /** * Enable/disable password expiry warnings. Valid values: `enable`, `disable`. */ readonly passwordExpiryWarning: pulumi.Output<string>; /** * Enable/disable online password renewal. Valid values: `enable`, `disable`. */ readonly passwordRenewal: pulumi.Output<string>; /** * Port to be used for communication with the LDAP server (default = 389). */ readonly port: pulumi.Output<number>; /** * Search type. Valid values: `recursive`. */ readonly searchType: pulumi.Output<string>; /** * Secondary LDAP server CN domain name or IP. */ readonly secondaryServer: pulumi.Output<string>; /** * Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`. */ readonly secure: pulumi.Output<string>; /** * LDAP server CN domain name or IP. */ readonly server: pulumi.Output<string>; /** * Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`. */ readonly serverIdentityCheck: pulumi.Output<string>; /** * Source IP for communications to LDAP server. */ readonly sourceIp: pulumi.Output<string>; /** * Source port to be used for communication with the LDAP server. */ readonly sourcePort: pulumi.Output<number>; /** * Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting). */ readonly sslMinProtoVersion: pulumi.Output<string>; /** * Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300). */ readonly statusTtl: pulumi.Output<number>; /** * Tertiary LDAP server CN domain name or IP. */ readonly tertiaryServer: pulumi.Output<string>; /** * Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`. */ readonly twoFactor: pulumi.Output<string>; /** * Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`. */ readonly twoFactorAuthentication: pulumi.Output<string>; /** * Filter used to synchronize users to FortiToken Cloud. */ readonly twoFactorFilter: pulumi.Output<string>; /** * Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`. */ readonly twoFactorNotification: pulumi.Output<string>; /** * Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`. */ readonly type: pulumi.Output<string>; /** * MS Exchange server from which to fetch user information. */ readonly userInfoExchangeServer: pulumi.Output<string>; /** * Username (full DN) for initial binding. */ readonly username: pulumi.Output<string>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ readonly vdomparam: pulumi.Output<string>; /** * Create a Ldap resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: LdapArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Ldap resources. */ export interface LdapState { /** * Define subject identity field in certificate for user access right checking. */ accountKeyCertField?: pulumi.Input<string>; /** * Account key filter, using the UPN as the search filter. */ accountKeyFilter?: pulumi.Input<string>; /** * Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`. */ accountKeyProcessing?: pulumi.Input<string>; /** * Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`. */ accountKeyUpnSan?: pulumi.Input<string>; /** * Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`. */ antiphish?: pulumi.Input<string>; /** * CA certificate name. */ caCert?: pulumi.Input<string>; /** * Client certificate name. */ clientCert?: pulumi.Input<string>; /** * Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`. */ clientCertAuth?: pulumi.Input<string>; /** * Common name identifier for the LDAP server. The common name identifier for most LDAP servers is "cn". */ cnid?: pulumi.Input<string>; /** * Distinguished name used to look up entries on the LDAP server. */ dn?: pulumi.Input<string>; /** * Filter used for group matching. */ groupFilter?: pulumi.Input<string>; /** * Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`. */ groupMemberCheck?: pulumi.Input<string>; /** * Filter used for group searching. */ groupObjectFilter?: pulumi.Input<string>; /** * Search base used for group searching. */ groupSearchBase?: pulumi.Input<string>; /** * Specify outgoing interface to reach server. */ interface?: pulumi.Input<string>; /** * Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`. */ interfaceSelectMethod?: pulumi.Input<string>; /** * Name of attribute from which to get group membership. */ memberAttr?: pulumi.Input<string>; /** * LDAP server entry name. */ name?: pulumi.Input<string>; /** * Enable/disable obtaining of user information. Valid values: `enable`, `disable`. */ obtainUserInfo?: pulumi.Input<string>; /** * Password for initial binding. */ password?: pulumi.Input<string>; /** * Name of attribute to get password hash. */ passwordAttr?: pulumi.Input<string>; /** * Enable/disable password expiry warnings. Valid values: `enable`, `disable`. */ passwordExpiryWarning?: pulumi.Input<string>; /** * Enable/disable online password renewal. Valid values: `enable`, `disable`. */ passwordRenewal?: pulumi.Input<string>; /** * Port to be used for communication with the LDAP server (default = 389). */ port?: pulumi.Input<number>; /** * Search type. Valid values: `recursive`. */ searchType?: pulumi.Input<string>; /** * Secondary LDAP server CN domain name or IP. */ secondaryServer?: pulumi.Input<string>; /** * Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`. */ secure?: pulumi.Input<string>; /** * LDAP server CN domain name or IP. */ server?: pulumi.Input<string>; /** * Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`. */ serverIdentityCheck?: pulumi.Input<string>; /** * Source IP for communications to LDAP server. */ sourceIp?: pulumi.Input<string>; /** * Source port to be used for communication with the LDAP server. */ sourcePort?: pulumi.Input<number>; /** * Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting). */ sslMinProtoVersion?: pulumi.Input<string>; /** * Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300). */ statusTtl?: pulumi.Input<number>; /** * Tertiary LDAP server CN domain name or IP. */ tertiaryServer?: pulumi.Input<string>; /** * Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`. */ twoFactor?: pulumi.Input<string>; /** * Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`. */ twoFactorAuthentication?: pulumi.Input<string>; /** * Filter used to synchronize users to FortiToken Cloud. */ twoFactorFilter?: pulumi.Input<string>; /** * Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`. */ twoFactorNotification?: pulumi.Input<string>; /** * Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`. */ type?: pulumi.Input<string>; /** * MS Exchange server from which to fetch user information. */ userInfoExchangeServer?: pulumi.Input<string>; /** * Username (full DN) for initial binding. */ username?: pulumi.Input<string>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ vdomparam?: pulumi.Input<string>; } /** * The set of arguments for constructing a Ldap resource. */ export interface LdapArgs { /** * Define subject identity field in certificate for user access right checking. */ accountKeyCertField?: pulumi.Input<string>; /** * Account key filter, using the UPN as the search filter. */ accountKeyFilter?: pulumi.Input<string>; /** * Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`. */ accountKeyProcessing?: pulumi.Input<string>; /** * Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`. */ accountKeyUpnSan?: pulumi.Input<string>; /** * Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`. */ antiphish?: pulumi.Input<string>; /** * CA certificate name. */ caCert?: pulumi.Input<string>; /** * Client certificate name. */ clientCert?: pulumi.Input<string>; /** * Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`. */ clientCertAuth?: pulumi.Input<string>; /** * Common name identifier for the LDAP server. The common name identifier for most LDAP servers is "cn". */ cnid?: pulumi.Input<string>; /** * Distinguished name used to look up entries on the LDAP server. */ dn: pulumi.Input<string>; /** * Filter used for group matching. */ groupFilter?: pulumi.Input<string>; /** * Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`. */ groupMemberCheck?: pulumi.Input<string>; /** * Filter used for group searching. */ groupObjectFilter?: pulumi.Input<string>; /** * Search base used for group searching. */ groupSearchBase?: pulumi.Input<string>; /** * Specify outgoing interface to reach server. */ interface?: pulumi.Input<string>; /** * Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`. */ interfaceSelectMethod?: pulumi.Input<string>; /** * Name of attribute from which to get group membership. */ memberAttr?: pulumi.Input<string>; /** * LDAP server entry name. */ name?: pulumi.Input<string>; /** * Enable/disable obtaining of user information. Valid values: `enable`, `disable`. */ obtainUserInfo?: pulumi.Input<string>; /** * Password for initial binding. */ password?: pulumi.Input<string>; /** * Name of attribute to get password hash. */ passwordAttr?: pulumi.Input<string>; /** * Enable/disable password expiry warnings. Valid values: `enable`, `disable`. */ passwordExpiryWarning?: pulumi.Input<string>; /** * Enable/disable online password renewal. Valid values: `enable`, `disable`. */ passwordRenewal?: pulumi.Input<string>; /** * Port to be used for communication with the LDAP server (default = 389). */ port?: pulumi.Input<number>; /** * Search type. Valid values: `recursive`. */ searchType?: pulumi.Input<string>; /** * Secondary LDAP server CN domain name or IP. */ secondaryServer?: pulumi.Input<string>; /** * Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`. */ secure?: pulumi.Input<string>; /** * LDAP server CN domain name or IP. */ server: pulumi.Input<string>; /** * Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`. */ serverIdentityCheck?: pulumi.Input<string>; /** * Source IP for communications to LDAP server. */ sourceIp?: pulumi.Input<string>; /** * Source port to be used for communication with the LDAP server. */ sourcePort?: pulumi.Input<number>; /** * Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting). */ sslMinProtoVersion?: pulumi.Input<string>; /** * Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300). */ statusTtl?: pulumi.Input<number>; /** * Tertiary LDAP server CN domain name or IP. */ tertiaryServer?: pulumi.Input<string>; /** * Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`. */ twoFactor?: pulumi.Input<string>; /** * Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`. */ twoFactorAuthentication?: pulumi.Input<string>; /** * Filter used to synchronize users to FortiToken Cloud. */ twoFactorFilter?: pulumi.Input<string>; /** * Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`. */ twoFactorNotification?: pulumi.Input<string>; /** * Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`. */ type?: pulumi.Input<string>; /** * MS Exchange server from which to fetch user information. */ userInfoExchangeServer?: pulumi.Input<string>; /** * Username (full DN) for initial binding. */ username?: pulumi.Input<string>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ vdomparam?: pulumi.Input<string>; }