@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
338 lines (337 loc) • 13.3 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure DNS databases.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname = new fortios.system.Dnsdatabase("trname", {
* authoritative: "enable",
* contact: "hostmaster",
* dnsEntries: [{
* hostname: "sghsgh.com",
* ttl: 3,
* type: "MX",
* }],
* domain: "s.com",
* forwarder: "\"9.9.9.9\" \"3.3.3.3\" ",
* ipMaster: "0.0.0.0",
* primaryName: "dns",
* sourceIp: "0.0.0.0",
* status: "enable",
* ttl: 86400,
* type: "master",
* view: "shadow",
* });
* ```
*
* ## Import
*
* System DnsDatabase can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:system/dnsdatabase:Dnsdatabase labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:system/dnsdatabase:Dnsdatabase labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Dnsdatabase extends pulumi.CustomResource {
/**
* Get an existing Dnsdatabase 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?: DnsdatabaseState, opts?: pulumi.CustomResourceOptions): Dnsdatabase;
/**
* Returns true if the given object is an instance of Dnsdatabase. 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 Dnsdatabase;
/**
* DNS zone transfer IP address list.
*/
readonly allowTransfer: pulumi.Output<string>;
/**
* Enable/disable authoritative zone. Valid values: `enable`, `disable`.
*/
readonly authoritative: pulumi.Output<string>;
/**
* Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.
*/
readonly contact: pulumi.Output<string>;
/**
* DNS entry. The structure of `dnsEntry` block is documented below.
*/
readonly dnsEntries: pulumi.Output<outputs.system.DnsdatabaseDnsEntry[] | undefined>;
/**
* Domain name.
*/
readonly domain: 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>;
/**
* DNS zone forwarder IP address list.
*/
readonly forwarder: pulumi.Output<string>;
/**
* Forwarder IPv6 address.
*/
readonly forwarder6: pulumi.Output<string>;
/**
* 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>;
/**
* IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.
*/
readonly ipMaster: pulumi.Output<string>;
/**
* IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.
*/
readonly ipPrimary: pulumi.Output<string>;
/**
* Zone name.
*/
readonly name: pulumi.Output<string>;
/**
* Domain name of the default DNS server for this zone.
*/
readonly primaryName: pulumi.Output<string>;
/**
* Maximum number of resource records (10 - 65536, 0 means infinite).
*/
readonly rrMax: pulumi.Output<number>;
/**
* Source IP for forwarding to DNS server.
*/
readonly sourceIp: pulumi.Output<string>;
/**
* IPv6 source IP address for forwarding to DNS server.
*/
readonly sourceIp6: pulumi.Output<string>;
/**
* Enable/disable this DNS zone. Valid values: `enable`, `disable`.
*/
readonly status: pulumi.Output<string>;
/**
* Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).
*/
readonly ttl: pulumi.Output<number>;
/**
* Zone type (primary to manage entries directly, secondary to import entries from other zones).
*/
readonly type: 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>;
/**
* Zone view (public to serve public clients, shadow to serve internal clients).
*/
readonly view: pulumi.Output<string>;
/**
* Create a Dnsdatabase 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: DnsdatabaseArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Dnsdatabase resources.
*/
export interface DnsdatabaseState {
/**
* DNS zone transfer IP address list.
*/
allowTransfer?: pulumi.Input<string>;
/**
* Enable/disable authoritative zone. Valid values: `enable`, `disable`.
*/
authoritative?: pulumi.Input<string>;
/**
* Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.
*/
contact?: pulumi.Input<string>;
/**
* DNS entry. The structure of `dnsEntry` block is documented below.
*/
dnsEntries?: pulumi.Input<pulumi.Input<inputs.system.DnsdatabaseDnsEntry>[]>;
/**
* Domain name.
*/
domain?: 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>;
/**
* DNS zone forwarder IP address list.
*/
forwarder?: pulumi.Input<string>;
/**
* Forwarder IPv6 address.
*/
forwarder6?: pulumi.Input<string>;
/**
* 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>;
/**
* IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.
*/
ipMaster?: pulumi.Input<string>;
/**
* IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.
*/
ipPrimary?: pulumi.Input<string>;
/**
* Zone name.
*/
name?: pulumi.Input<string>;
/**
* Domain name of the default DNS server for this zone.
*/
primaryName?: pulumi.Input<string>;
/**
* Maximum number of resource records (10 - 65536, 0 means infinite).
*/
rrMax?: pulumi.Input<number>;
/**
* Source IP for forwarding to DNS server.
*/
sourceIp?: pulumi.Input<string>;
/**
* IPv6 source IP address for forwarding to DNS server.
*/
sourceIp6?: pulumi.Input<string>;
/**
* Enable/disable this DNS zone. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).
*/
ttl?: pulumi.Input<number>;
/**
* Zone type (primary to manage entries directly, secondary to import entries from other zones).
*/
type?: 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>;
/**
* Zone view (public to serve public clients, shadow to serve internal clients).
*/
view?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Dnsdatabase resource.
*/
export interface DnsdatabaseArgs {
/**
* DNS zone transfer IP address list.
*/
allowTransfer?: pulumi.Input<string>;
/**
* Enable/disable authoritative zone. Valid values: `enable`, `disable`.
*/
authoritative: pulumi.Input<string>;
/**
* Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.
*/
contact?: pulumi.Input<string>;
/**
* DNS entry. The structure of `dnsEntry` block is documented below.
*/
dnsEntries?: pulumi.Input<pulumi.Input<inputs.system.DnsdatabaseDnsEntry>[]>;
/**
* Domain name.
*/
domain: 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>;
/**
* DNS zone forwarder IP address list.
*/
forwarder?: pulumi.Input<string>;
/**
* Forwarder IPv6 address.
*/
forwarder6?: pulumi.Input<string>;
/**
* 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>;
/**
* IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.
*/
ipMaster?: pulumi.Input<string>;
/**
* IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.
*/
ipPrimary?: pulumi.Input<string>;
/**
* Zone name.
*/
name?: pulumi.Input<string>;
/**
* Domain name of the default DNS server for this zone.
*/
primaryName?: pulumi.Input<string>;
/**
* Maximum number of resource records (10 - 65536, 0 means infinite).
*/
rrMax?: pulumi.Input<number>;
/**
* Source IP for forwarding to DNS server.
*/
sourceIp?: pulumi.Input<string>;
/**
* IPv6 source IP address for forwarding to DNS server.
*/
sourceIp6?: pulumi.Input<string>;
/**
* Enable/disable this DNS zone. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).
*/
ttl: pulumi.Input<number>;
/**
* Zone type (primary to manage entries directly, secondary to import entries from other zones).
*/
type: 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>;
/**
* Zone view (public to serve public clients, shadow to serve internal clients).
*/
view: pulumi.Input<string>;
}