UNPKG

@pulumiverse/fortios

Version:

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

536 lines (535 loc) 21.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Configure Link Health Monitor. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fortios from "@pulumiverse/fortios"; * * const trname = new fortios.system.Linkmonitor("trname", { * addrMode: "ipv4", * failtime: 5, * gatewayIp: "2.2.2.2", * gatewayIp6: "::", * haPriority: 1, * httpAgent: "Chrome/ Safari/", * httpGet: "/", * interval: 1, * packetSize: 64, * port: 80, * protocol: "ping", * recoverytime: 5, * securityMode: "none", * servers: [{ * address: "3.3.3.3", * }], * sourceIp: "0.0.0.0", * sourceIp6: "::", * srcintf: "port4", * status: "enable", * updateCascadeInterface: "enable", * updateStaticRoute: "enable", * }); * ``` * * ## Import * * System LinkMonitor can be imported using any of these accepted formats: * * ```sh * $ pulumi import fortios:system/linkmonitor:Linkmonitor labelname {{name}} * ``` * * If you do not want to import arguments of block: * * $ export "FORTIOS_IMPORT_TABLE"="false" * * ```sh * $ pulumi import fortios:system/linkmonitor:Linkmonitor labelname {{name}} * ``` * * $ unset "FORTIOS_IMPORT_TABLE" */ export declare class Linkmonitor extends pulumi.CustomResource { /** * Get an existing Linkmonitor 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?: LinkmonitorState, opts?: pulumi.CustomResourceOptions): Linkmonitor; /** * Returns true if the given object is an instance of Linkmonitor. 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 Linkmonitor; /** * Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`. */ readonly addrMode: pulumi.Output<string>; /** * Traffic class ID. */ readonly classId: pulumi.Output<number>; /** * Differentiated services code point (DSCP) in the IP header of the probe packet. */ readonly diffservcode: 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>; /** * Threshold weight to trigger link failure alert. */ readonly failWeight: pulumi.Output<number>; /** * Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ readonly failtime: pulumi.Output<number>; /** * Gateway IP address used to probe the server. */ readonly gatewayIp: pulumi.Output<string>; /** * Gateway IPv6 address used to probe the server. */ readonly gatewayIp6: 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>; /** * HA election priority (1 - 50). */ readonly haPriority: pulumi.Output<number>; /** * String in the http-agent field in the HTTP header. */ readonly httpAgent: pulumi.Output<string>; /** * If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string. */ readonly httpGet: pulumi.Output<string>; /** * String that you expect to see in the HTTP-GET requests of the traffic to be monitored. */ readonly httpMatch: pulumi.Output<string>; /** * Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500. */ readonly interval: pulumi.Output<number>; /** * Link monitor name. */ readonly name: pulumi.Output<string>; /** * Packet size of a TWAMP test session. */ readonly packetSize: pulumi.Output<number>; /** * Twamp controller password in authentication mode */ readonly password: pulumi.Output<string | undefined>; /** * Port number of the traffic to be used to monitor the server. */ readonly port: pulumi.Output<number>; /** * Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30). */ readonly probeCount: pulumi.Output<number>; /** * Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec. */ readonly probeTimeout: pulumi.Output<number>; /** * Protocols used to monitor the server. */ readonly protocol: pulumi.Output<string>; /** * Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ readonly recoverytime: pulumi.Output<number>; /** * Subnet to monitor. The structure of `route` block is documented below. */ readonly routes: pulumi.Output<outputs.system.LinkmonitorRoute[] | undefined>; /** * Twamp controller security mode. Valid values: `none`, `authentication`. */ readonly securityMode: pulumi.Output<string>; /** * Mode of server configuration. Valid values: `default`, `individual`. */ readonly serverConfig: pulumi.Output<string>; /** * Servers for link-monitor to monitor. The structure of `serverList` block is documented below. */ readonly serverLists: pulumi.Output<outputs.system.LinkmonitorServerList[] | undefined>; /** * Server type (static or dynamic). Valid values: `static`, `dynamic`. */ readonly serverType: pulumi.Output<string>; /** * IP address of the server(s) to be monitored. The structure of `server` block is documented below. */ readonly servers: pulumi.Output<outputs.system.LinkmonitorServer[]>; /** * Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`. */ readonly serviceDetection: pulumi.Output<string>; /** * Source IP address used in packet to the server. */ readonly sourceIp: pulumi.Output<string>; /** * Source IPv6 address used in packet to the server. */ readonly sourceIp6: pulumi.Output<string>; /** * Interface that receives the traffic to be monitored. */ readonly srcintf: pulumi.Output<string>; /** * Enable/disable this link monitor. Valid values: `enable`, `disable`. */ readonly status: pulumi.Output<string>; /** * Enable/disable update cascade interface. Valid values: `enable`, `disable`. */ readonly updateCascadeInterface: pulumi.Output<string>; /** * Enable/disable updating the policy route. Valid values: `enable`, `disable`. */ readonly updatePolicyRoute: pulumi.Output<string>; /** * Enable/disable updating the static route. Valid values: `enable`, `disable`. */ readonly updateStaticRoute: 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 Linkmonitor 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: LinkmonitorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Linkmonitor resources. */ export interface LinkmonitorState { /** * Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`. */ addrMode?: pulumi.Input<string>; /** * Traffic class ID. */ classId?: pulumi.Input<number>; /** * Differentiated services code point (DSCP) in the IP header of the probe packet. */ diffservcode?: 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>; /** * Threshold weight to trigger link failure alert. */ failWeight?: pulumi.Input<number>; /** * Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ failtime?: pulumi.Input<number>; /** * Gateway IP address used to probe the server. */ gatewayIp?: pulumi.Input<string>; /** * Gateway IPv6 address used to probe the server. */ gatewayIp6?: 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>; /** * HA election priority (1 - 50). */ haPriority?: pulumi.Input<number>; /** * String in the http-agent field in the HTTP header. */ httpAgent?: pulumi.Input<string>; /** * If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string. */ httpGet?: pulumi.Input<string>; /** * String that you expect to see in the HTTP-GET requests of the traffic to be monitored. */ httpMatch?: pulumi.Input<string>; /** * Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500. */ interval?: pulumi.Input<number>; /** * Link monitor name. */ name?: pulumi.Input<string>; /** * Packet size of a TWAMP test session. */ packetSize?: pulumi.Input<number>; /** * Twamp controller password in authentication mode */ password?: pulumi.Input<string>; /** * Port number of the traffic to be used to monitor the server. */ port?: pulumi.Input<number>; /** * Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30). */ probeCount?: pulumi.Input<number>; /** * Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec. */ probeTimeout?: pulumi.Input<number>; /** * Protocols used to monitor the server. */ protocol?: pulumi.Input<string>; /** * Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ recoverytime?: pulumi.Input<number>; /** * Subnet to monitor. The structure of `route` block is documented below. */ routes?: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorRoute>[]>; /** * Twamp controller security mode. Valid values: `none`, `authentication`. */ securityMode?: pulumi.Input<string>; /** * Mode of server configuration. Valid values: `default`, `individual`. */ serverConfig?: pulumi.Input<string>; /** * Servers for link-monitor to monitor. The structure of `serverList` block is documented below. */ serverLists?: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorServerList>[]>; /** * Server type (static or dynamic). Valid values: `static`, `dynamic`. */ serverType?: pulumi.Input<string>; /** * IP address of the server(s) to be monitored. The structure of `server` block is documented below. */ servers?: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorServer>[]>; /** * Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`. */ serviceDetection?: pulumi.Input<string>; /** * Source IP address used in packet to the server. */ sourceIp?: pulumi.Input<string>; /** * Source IPv6 address used in packet to the server. */ sourceIp6?: pulumi.Input<string>; /** * Interface that receives the traffic to be monitored. */ srcintf?: pulumi.Input<string>; /** * Enable/disable this link monitor. Valid values: `enable`, `disable`. */ status?: pulumi.Input<string>; /** * Enable/disable update cascade interface. Valid values: `enable`, `disable`. */ updateCascadeInterface?: pulumi.Input<string>; /** * Enable/disable updating the policy route. Valid values: `enable`, `disable`. */ updatePolicyRoute?: pulumi.Input<string>; /** * Enable/disable updating the static route. Valid values: `enable`, `disable`. */ updateStaticRoute?: 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 Linkmonitor resource. */ export interface LinkmonitorArgs { /** * Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`. */ addrMode?: pulumi.Input<string>; /** * Traffic class ID. */ classId?: pulumi.Input<number>; /** * Differentiated services code point (DSCP) in the IP header of the probe packet. */ diffservcode?: 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>; /** * Threshold weight to trigger link failure alert. */ failWeight?: pulumi.Input<number>; /** * Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ failtime?: pulumi.Input<number>; /** * Gateway IP address used to probe the server. */ gatewayIp?: pulumi.Input<string>; /** * Gateway IPv6 address used to probe the server. */ gatewayIp6?: 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>; /** * HA election priority (1 - 50). */ haPriority?: pulumi.Input<number>; /** * String in the http-agent field in the HTTP header. */ httpAgent?: pulumi.Input<string>; /** * If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string. */ httpGet?: pulumi.Input<string>; /** * String that you expect to see in the HTTP-GET requests of the traffic to be monitored. */ httpMatch?: pulumi.Input<string>; /** * Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500. */ interval?: pulumi.Input<number>; /** * Link monitor name. */ name?: pulumi.Input<string>; /** * Packet size of a TWAMP test session. */ packetSize?: pulumi.Input<number>; /** * Twamp controller password in authentication mode */ password?: pulumi.Input<string>; /** * Port number of the traffic to be used to monitor the server. */ port?: pulumi.Input<number>; /** * Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30). */ probeCount?: pulumi.Input<number>; /** * Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec. */ probeTimeout?: pulumi.Input<number>; /** * Protocols used to monitor the server. */ protocol?: pulumi.Input<string>; /** * Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600. */ recoverytime?: pulumi.Input<number>; /** * Subnet to monitor. The structure of `route` block is documented below. */ routes?: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorRoute>[]>; /** * Twamp controller security mode. Valid values: `none`, `authentication`. */ securityMode?: pulumi.Input<string>; /** * Mode of server configuration. Valid values: `default`, `individual`. */ serverConfig?: pulumi.Input<string>; /** * Servers for link-monitor to monitor. The structure of `serverList` block is documented below. */ serverLists?: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorServerList>[]>; /** * Server type (static or dynamic). Valid values: `static`, `dynamic`. */ serverType?: pulumi.Input<string>; /** * IP address of the server(s) to be monitored. The structure of `server` block is documented below. */ servers: pulumi.Input<pulumi.Input<inputs.system.LinkmonitorServer>[]>; /** * Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`. */ serviceDetection?: pulumi.Input<string>; /** * Source IP address used in packet to the server. */ sourceIp?: pulumi.Input<string>; /** * Source IPv6 address used in packet to the server. */ sourceIp6?: pulumi.Input<string>; /** * Interface that receives the traffic to be monitored. */ srcintf?: pulumi.Input<string>; /** * Enable/disable this link monitor. Valid values: `enable`, `disable`. */ status?: pulumi.Input<string>; /** * Enable/disable update cascade interface. Valid values: `enable`, `disable`. */ updateCascadeInterface?: pulumi.Input<string>; /** * Enable/disable updating the policy route. Valid values: `enable`, `disable`. */ updatePolicyRoute?: pulumi.Input<string>; /** * Enable/disable updating the static route. Valid values: `enable`, `disable`. */ updateStaticRoute?: 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>; }