@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
179 lines • 9.47 kB
JavaScript
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Linkmonitor = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* 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"
*/
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, id, state, opts) {
return new Linkmonitor(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Linkmonitor.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["addrMode"] = state ? state.addrMode : undefined;
resourceInputs["classId"] = state ? state.classId : undefined;
resourceInputs["diffservcode"] = state ? state.diffservcode : undefined;
resourceInputs["dynamicSortSubtable"] = state ? state.dynamicSortSubtable : undefined;
resourceInputs["failWeight"] = state ? state.failWeight : undefined;
resourceInputs["failtime"] = state ? state.failtime : undefined;
resourceInputs["gatewayIp"] = state ? state.gatewayIp : undefined;
resourceInputs["gatewayIp6"] = state ? state.gatewayIp6 : undefined;
resourceInputs["getAllTables"] = state ? state.getAllTables : undefined;
resourceInputs["haPriority"] = state ? state.haPriority : undefined;
resourceInputs["httpAgent"] = state ? state.httpAgent : undefined;
resourceInputs["httpGet"] = state ? state.httpGet : undefined;
resourceInputs["httpMatch"] = state ? state.httpMatch : undefined;
resourceInputs["interval"] = state ? state.interval : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["packetSize"] = state ? state.packetSize : undefined;
resourceInputs["password"] = state ? state.password : undefined;
resourceInputs["port"] = state ? state.port : undefined;
resourceInputs["probeCount"] = state ? state.probeCount : undefined;
resourceInputs["probeTimeout"] = state ? state.probeTimeout : undefined;
resourceInputs["protocol"] = state ? state.protocol : undefined;
resourceInputs["recoverytime"] = state ? state.recoverytime : undefined;
resourceInputs["routes"] = state ? state.routes : undefined;
resourceInputs["securityMode"] = state ? state.securityMode : undefined;
resourceInputs["serverConfig"] = state ? state.serverConfig : undefined;
resourceInputs["serverLists"] = state ? state.serverLists : undefined;
resourceInputs["serverType"] = state ? state.serverType : undefined;
resourceInputs["servers"] = state ? state.servers : undefined;
resourceInputs["serviceDetection"] = state ? state.serviceDetection : undefined;
resourceInputs["sourceIp"] = state ? state.sourceIp : undefined;
resourceInputs["sourceIp6"] = state ? state.sourceIp6 : undefined;
resourceInputs["srcintf"] = state ? state.srcintf : undefined;
resourceInputs["status"] = state ? state.status : undefined;
resourceInputs["updateCascadeInterface"] = state ? state.updateCascadeInterface : undefined;
resourceInputs["updatePolicyRoute"] = state ? state.updatePolicyRoute : undefined;
resourceInputs["updateStaticRoute"] = state ? state.updateStaticRoute : undefined;
resourceInputs["vdomparam"] = state ? state.vdomparam : undefined;
}
else {
const args = argsOrState;
if ((!args || args.servers === undefined) && !opts.urn) {
throw new Error("Missing required property 'servers'");
}
resourceInputs["addrMode"] = args ? args.addrMode : undefined;
resourceInputs["classId"] = args ? args.classId : undefined;
resourceInputs["diffservcode"] = args ? args.diffservcode : undefined;
resourceInputs["dynamicSortSubtable"] = args ? args.dynamicSortSubtable : undefined;
resourceInputs["failWeight"] = args ? args.failWeight : undefined;
resourceInputs["failtime"] = args ? args.failtime : undefined;
resourceInputs["gatewayIp"] = args ? args.gatewayIp : undefined;
resourceInputs["gatewayIp6"] = args ? args.gatewayIp6 : undefined;
resourceInputs["getAllTables"] = args ? args.getAllTables : undefined;
resourceInputs["haPriority"] = args ? args.haPriority : undefined;
resourceInputs["httpAgent"] = args ? args.httpAgent : undefined;
resourceInputs["httpGet"] = args ? args.httpGet : undefined;
resourceInputs["httpMatch"] = args ? args.httpMatch : undefined;
resourceInputs["interval"] = args ? args.interval : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["packetSize"] = args ? args.packetSize : undefined;
resourceInputs["password"] = (args === null || args === void 0 ? void 0 : args.password) ? pulumi.secret(args.password) : undefined;
resourceInputs["port"] = args ? args.port : undefined;
resourceInputs["probeCount"] = args ? args.probeCount : undefined;
resourceInputs["probeTimeout"] = args ? args.probeTimeout : undefined;
resourceInputs["protocol"] = args ? args.protocol : undefined;
resourceInputs["recoverytime"] = args ? args.recoverytime : undefined;
resourceInputs["routes"] = args ? args.routes : undefined;
resourceInputs["securityMode"] = args ? args.securityMode : undefined;
resourceInputs["serverConfig"] = args ? args.serverConfig : undefined;
resourceInputs["serverLists"] = args ? args.serverLists : undefined;
resourceInputs["serverType"] = args ? args.serverType : undefined;
resourceInputs["servers"] = args ? args.servers : undefined;
resourceInputs["serviceDetection"] = args ? args.serviceDetection : undefined;
resourceInputs["sourceIp"] = args ? args.sourceIp : undefined;
resourceInputs["sourceIp6"] = args ? args.sourceIp6 : undefined;
resourceInputs["srcintf"] = args ? args.srcintf : undefined;
resourceInputs["status"] = args ? args.status : undefined;
resourceInputs["updateCascadeInterface"] = args ? args.updateCascadeInterface : undefined;
resourceInputs["updatePolicyRoute"] = args ? args.updatePolicyRoute : undefined;
resourceInputs["updateStaticRoute"] = args ? args.updateStaticRoute : undefined;
resourceInputs["vdomparam"] = args ? args.vdomparam : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const secretOpts = { additionalSecretOutputs: ["password"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(Linkmonitor.__pulumiType, name, resourceInputs, opts);
}
}
exports.Linkmonitor = Linkmonitor;
/** @internal */
Linkmonitor.__pulumiType = 'fortios:system/linkmonitor:Linkmonitor';
//# sourceMappingURL=linkmonitor.js.map
;