@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
416 lines (415 loc) • 15.6 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure domain controller entries.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname1 = new fortios.user.Ldap("trname1", {
* 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",
* });
* const trname = new fortios.user.Domaincontroller("trname", {
* domainName: "s.com",
* ipAddress: "1.1.1.1",
* ldapServer: trname1.name,
* port: 445,
* });
* ```
*
* ## Import
*
* User DomainController can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:user/domaincontroller:Domaincontroller labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:user/domaincontroller:Domaincontroller labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Domaincontroller extends pulumi.CustomResource {
/**
* Get an existing Domaincontroller 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?: DomaincontrollerState, opts?: pulumi.CustomResourceOptions): Domaincontroller;
/**
* Returns true if the given object is an instance of Domaincontroller. 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 Domaincontroller;
/**
* Set Active Directory mode. Valid values: `none`, `ds`, `lds`.
*/
readonly adMode: pulumi.Output<string>;
/**
* AD LDS distinguished name.
*/
readonly adldsDn: pulumi.Output<string>;
/**
* AD LDS IPv6 address.
*/
readonly adldsIp6: pulumi.Output<string>;
/**
* AD LDS IPv4 address.
*/
readonly adldsIpAddress: pulumi.Output<string>;
/**
* Port number of AD LDS service (default = 389).
*/
readonly adldsPort: pulumi.Output<number>;
/**
* Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.
*/
readonly changeDetection: pulumi.Output<string>;
/**
* Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).
*/
readonly changeDetectionPeriod: pulumi.Output<number>;
/**
* Enable/disable DNS service lookup. Valid values: `enable`, `disable`.
*/
readonly dnsSrvLookup: pulumi.Output<string>;
/**
* Domain DNS name.
*/
readonly domainName: pulumi.Output<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
readonly dynamicSortSubtable: pulumi.Output<string | undefined>;
/**
* extra servers. The structure of `extraServer` block is documented below.
*/
readonly extraServers: pulumi.Output<outputs.user.DomaincontrollerExtraServer[] | undefined>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
readonly getAllTables: pulumi.Output<string | undefined>;
/**
* Hostname of the server to connect to.
*/
readonly hostname: 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>;
/**
* Domain controller IPv6 address.
*/
readonly ip6: pulumi.Output<string>;
/**
* Domain controller IP address.
*/
readonly ipAddress: pulumi.Output<string>;
/**
* LDAP server name.
*/
readonly ldapServer: pulumi.Output<string>;
/**
* Domain controller entry name.
*/
readonly name: pulumi.Output<string>;
/**
* Password for specified username.
*/
readonly password: pulumi.Output<string | undefined>;
/**
* Port to be used for communication with the domain controller (default = 445).
*/
readonly port: pulumi.Output<number>;
/**
* Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.
*/
readonly replicationPort: pulumi.Output<number>;
/**
* FortiGate IPv6 address to be used for communication with the domain controller.
*/
readonly sourceIp6: pulumi.Output<string>;
/**
* FortiGate IPv4 address to be used for communication with the domain controller.
*/
readonly sourceIpAddress: pulumi.Output<string>;
/**
* Source port to be used for communication with the domain controller.
*/
readonly sourcePort: pulumi.Output<number>;
/**
* User name to sign in with. Must have proper permissions for service.
*/
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 Domaincontroller 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: DomaincontrollerArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Domaincontroller resources.
*/
export interface DomaincontrollerState {
/**
* Set Active Directory mode. Valid values: `none`, `ds`, `lds`.
*/
adMode?: pulumi.Input<string>;
/**
* AD LDS distinguished name.
*/
adldsDn?: pulumi.Input<string>;
/**
* AD LDS IPv6 address.
*/
adldsIp6?: pulumi.Input<string>;
/**
* AD LDS IPv4 address.
*/
adldsIpAddress?: pulumi.Input<string>;
/**
* Port number of AD LDS service (default = 389).
*/
adldsPort?: pulumi.Input<number>;
/**
* Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.
*/
changeDetection?: pulumi.Input<string>;
/**
* Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).
*/
changeDetectionPeriod?: pulumi.Input<number>;
/**
* Enable/disable DNS service lookup. Valid values: `enable`, `disable`.
*/
dnsSrvLookup?: pulumi.Input<string>;
/**
* Domain DNS name.
*/
domainName?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* extra servers. The structure of `extraServer` block is documented below.
*/
extraServers?: pulumi.Input<pulumi.Input<inputs.user.DomaincontrollerExtraServer>[]>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Hostname of the server to connect to.
*/
hostname?: 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>;
/**
* Domain controller IPv6 address.
*/
ip6?: pulumi.Input<string>;
/**
* Domain controller IP address.
*/
ipAddress?: pulumi.Input<string>;
/**
* LDAP server name.
*/
ldapServer?: pulumi.Input<string>;
/**
* Domain controller entry name.
*/
name?: pulumi.Input<string>;
/**
* Password for specified username.
*/
password?: pulumi.Input<string>;
/**
* Port to be used for communication with the domain controller (default = 445).
*/
port?: pulumi.Input<number>;
/**
* Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.
*/
replicationPort?: pulumi.Input<number>;
/**
* FortiGate IPv6 address to be used for communication with the domain controller.
*/
sourceIp6?: pulumi.Input<string>;
/**
* FortiGate IPv4 address to be used for communication with the domain controller.
*/
sourceIpAddress?: pulumi.Input<string>;
/**
* Source port to be used for communication with the domain controller.
*/
sourcePort?: pulumi.Input<number>;
/**
* User name to sign in with. Must have proper permissions for service.
*/
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 Domaincontroller resource.
*/
export interface DomaincontrollerArgs {
/**
* Set Active Directory mode. Valid values: `none`, `ds`, `lds`.
*/
adMode?: pulumi.Input<string>;
/**
* AD LDS distinguished name.
*/
adldsDn?: pulumi.Input<string>;
/**
* AD LDS IPv6 address.
*/
adldsIp6?: pulumi.Input<string>;
/**
* AD LDS IPv4 address.
*/
adldsIpAddress?: pulumi.Input<string>;
/**
* Port number of AD LDS service (default = 389).
*/
adldsPort?: pulumi.Input<number>;
/**
* Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.
*/
changeDetection?: pulumi.Input<string>;
/**
* Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).
*/
changeDetectionPeriod?: pulumi.Input<number>;
/**
* Enable/disable DNS service lookup. Valid values: `enable`, `disable`.
*/
dnsSrvLookup?: pulumi.Input<string>;
/**
* Domain DNS name.
*/
domainName?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* extra servers. The structure of `extraServer` block is documented below.
*/
extraServers?: pulumi.Input<pulumi.Input<inputs.user.DomaincontrollerExtraServer>[]>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Hostname of the server to connect to.
*/
hostname?: 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>;
/**
* Domain controller IPv6 address.
*/
ip6?: pulumi.Input<string>;
/**
* Domain controller IP address.
*/
ipAddress: pulumi.Input<string>;
/**
* LDAP server name.
*/
ldapServer: pulumi.Input<string>;
/**
* Domain controller entry name.
*/
name?: pulumi.Input<string>;
/**
* Password for specified username.
*/
password?: pulumi.Input<string>;
/**
* Port to be used for communication with the domain controller (default = 445).
*/
port?: pulumi.Input<number>;
/**
* Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.
*/
replicationPort?: pulumi.Input<number>;
/**
* FortiGate IPv6 address to be used for communication with the domain controller.
*/
sourceIp6?: pulumi.Input<string>;
/**
* FortiGate IPv4 address to be used for communication with the domain controller.
*/
sourceIpAddress?: pulumi.Input<string>;
/**
* Source port to be used for communication with the domain controller.
*/
sourcePort?: pulumi.Input<number>;
/**
* User name to sign in with. Must have proper permissions for service.
*/
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>;
}