UNPKG

@pulumiverse/fortios

Version:

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

376 lines (375 loc) 15.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Configure central SNAT policies. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fortios from "@pulumiverse/fortios"; * * const trname = new fortios.firewall.Centralsnatmap("trname", { * dstAddrs: [{ * name: "all", * }], * dstintfs: [{ * name: "port3", * }], * nat: "enable", * natPort: "0", * origAddrs: [{ * name: "all", * }], * origPort: "0", * policyid: 1, * protocol: 33, * srcintfs: [{ * name: "port1", * }], * status: "enable", * }); * ``` * * ## Import * * Firewall CentralSnatMap can be imported using any of these accepted formats: * * ```sh * $ pulumi import fortios:firewall/centralsnatmap:Centralsnatmap labelname {{policyid}} * ``` * * If you do not want to import arguments of block: * * $ export "FORTIOS_IMPORT_TABLE"="false" * * ```sh * $ pulumi import fortios:firewall/centralsnatmap:Centralsnatmap labelname {{policyid}} * ``` * * $ unset "FORTIOS_IMPORT_TABLE" */ export declare class Centralsnatmap extends pulumi.CustomResource { /** * Get an existing Centralsnatmap 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?: CentralsnatmapState, opts?: pulumi.CustomResourceOptions): Centralsnatmap; /** * Returns true if the given object is an instance of Centralsnatmap. 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 Centralsnatmap; /** * Comment. */ readonly comments: pulumi.Output<string | undefined>; /** * IPv6 Destination address. The structure of `dstAddr6` block is documented below. */ readonly dstAddr6s: pulumi.Output<outputs.firewall.CentralsnatmapDstAddr6[] | undefined>; /** * Destination address name from available addresses. The structure of `dstAddr` block is documented below. */ readonly dstAddrs: pulumi.Output<outputs.firewall.CentralsnatmapDstAddr[]>; /** * Destination port or port range (1 to 65535, 0 means any port). */ readonly dstPort: pulumi.Output<string>; /** * Destination interface name from available interfaces. The structure of `dstintf` block is documented below. */ readonly dstintfs: pulumi.Output<outputs.firewall.CentralsnatmapDstintf[]>; /** * 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>; /** * 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>; /** * Enable/disable source NAT. Valid values: `disable`, `enable`. */ readonly nat: pulumi.Output<string>; /** * Enable/disable NAT46. Valid values: `enable`, `disable`. */ readonly nat46: pulumi.Output<string>; /** * Enable/disable NAT64. Valid values: `enable`, `disable`. */ readonly nat64: pulumi.Output<string>; /** * IPv6 pools to be used for source NAT. The structure of `natIppool6` block is documented below. */ readonly natIppool6s: pulumi.Output<outputs.firewall.CentralsnatmapNatIppool6[] | undefined>; /** * Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `natIppool` block is documented below. */ readonly natIppools: pulumi.Output<outputs.firewall.CentralsnatmapNatIppool[] | undefined>; /** * Translated port or port range (0 to 65535, 0 means any port). */ readonly natPort: pulumi.Output<string>; /** * IPv6 Original address. The structure of `origAddr6` block is documented below. */ readonly origAddr6s: pulumi.Output<outputs.firewall.CentralsnatmapOrigAddr6[] | undefined>; /** * Original address. The structure of `origAddr` block is documented below. */ readonly origAddrs: pulumi.Output<outputs.firewall.CentralsnatmapOrigAddr[]>; /** * Original TCP port (1 to 65535, 0 means any port). */ readonly origPort: pulumi.Output<string>; /** * Policy ID. */ readonly policyid: pulumi.Output<number>; /** * Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`. */ readonly portPreserve: pulumi.Output<string>; /** * Integer value for the protocol type (0 - 255). */ readonly protocol: pulumi.Output<number>; /** * Source interface name from available interfaces. The structure of `srcintf` block is documented below. */ readonly srcintfs: pulumi.Output<outputs.firewall.CentralsnatmapSrcintf[]>; /** * Enable/disable the active status of this policy. Valid values: `enable`, `disable`. */ readonly status: pulumi.Output<string>; /** * IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`. */ readonly type: pulumi.Output<string>; /** * Universally Unique Identifier (UUID; automatically assigned but can be manually reset). */ readonly uuid: 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 Centralsnatmap 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: CentralsnatmapArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Centralsnatmap resources. */ export interface CentralsnatmapState { /** * Comment. */ comments?: pulumi.Input<string>; /** * IPv6 Destination address. The structure of `dstAddr6` block is documented below. */ dstAddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstAddr6>[]>; /** * Destination address name from available addresses. The structure of `dstAddr` block is documented below. */ dstAddrs?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstAddr>[]>; /** * Destination port or port range (1 to 65535, 0 means any port). */ dstPort?: pulumi.Input<string>; /** * Destination interface name from available interfaces. The structure of `dstintf` block is documented below. */ dstintfs?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstintf>[]>; /** * 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>; /** * 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>; /** * Enable/disable source NAT. Valid values: `disable`, `enable`. */ nat?: pulumi.Input<string>; /** * Enable/disable NAT46. Valid values: `enable`, `disable`. */ nat46?: pulumi.Input<string>; /** * Enable/disable NAT64. Valid values: `enable`, `disable`. */ nat64?: pulumi.Input<string>; /** * IPv6 pools to be used for source NAT. The structure of `natIppool6` block is documented below. */ natIppool6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapNatIppool6>[]>; /** * Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `natIppool` block is documented below. */ natIppools?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapNatIppool>[]>; /** * Translated port or port range (0 to 65535, 0 means any port). */ natPort?: pulumi.Input<string>; /** * IPv6 Original address. The structure of `origAddr6` block is documented below. */ origAddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapOrigAddr6>[]>; /** * Original address. The structure of `origAddr` block is documented below. */ origAddrs?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapOrigAddr>[]>; /** * Original TCP port (1 to 65535, 0 means any port). */ origPort?: pulumi.Input<string>; /** * Policy ID. */ policyid?: pulumi.Input<number>; /** * Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`. */ portPreserve?: pulumi.Input<string>; /** * Integer value for the protocol type (0 - 255). */ protocol?: pulumi.Input<number>; /** * Source interface name from available interfaces. The structure of `srcintf` block is documented below. */ srcintfs?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapSrcintf>[]>; /** * Enable/disable the active status of this policy. Valid values: `enable`, `disable`. */ status?: pulumi.Input<string>; /** * IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`. */ type?: pulumi.Input<string>; /** * Universally Unique Identifier (UUID; automatically assigned but can be manually reset). */ uuid?: 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 Centralsnatmap resource. */ export interface CentralsnatmapArgs { /** * Comment. */ comments?: pulumi.Input<string>; /** * IPv6 Destination address. The structure of `dstAddr6` block is documented below. */ dstAddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstAddr6>[]>; /** * Destination address name from available addresses. The structure of `dstAddr` block is documented below. */ dstAddrs: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstAddr>[]>; /** * Destination port or port range (1 to 65535, 0 means any port). */ dstPort?: pulumi.Input<string>; /** * Destination interface name from available interfaces. The structure of `dstintf` block is documented below. */ dstintfs: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapDstintf>[]>; /** * 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>; /** * 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>; /** * Enable/disable source NAT. Valid values: `disable`, `enable`. */ nat: pulumi.Input<string>; /** * Enable/disable NAT46. Valid values: `enable`, `disable`. */ nat46?: pulumi.Input<string>; /** * Enable/disable NAT64. Valid values: `enable`, `disable`. */ nat64?: pulumi.Input<string>; /** * IPv6 pools to be used for source NAT. The structure of `natIppool6` block is documented below. */ natIppool6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapNatIppool6>[]>; /** * Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `natIppool` block is documented below. */ natIppools?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapNatIppool>[]>; /** * Translated port or port range (0 to 65535, 0 means any port). */ natPort?: pulumi.Input<string>; /** * IPv6 Original address. The structure of `origAddr6` block is documented below. */ origAddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapOrigAddr6>[]>; /** * Original address. The structure of `origAddr` block is documented below. */ origAddrs: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapOrigAddr>[]>; /** * Original TCP port (1 to 65535, 0 means any port). */ origPort: pulumi.Input<string>; /** * Policy ID. */ policyid?: pulumi.Input<number>; /** * Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`. */ portPreserve?: pulumi.Input<string>; /** * Integer value for the protocol type (0 - 255). */ protocol: pulumi.Input<number>; /** * Source interface name from available interfaces. The structure of `srcintf` block is documented below. */ srcintfs: pulumi.Input<pulumi.Input<inputs.firewall.CentralsnatmapSrcintf>[]>; /** * Enable/disable the active status of this policy. Valid values: `enable`, `disable`. */ status?: pulumi.Input<string>; /** * IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`. */ type?: pulumi.Input<string>; /** * Universally Unique Identifier (UUID; automatically assigned but can be manually reset). */ uuid?: 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>; }