@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
224 lines • 8.02 kB
JavaScript
"use strict";
// *** 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.Ipsecaggregate = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* Configure an aggregate of IPsec tunnels.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname1Phase1interface = new fortios.vpn.ipsec.Phase1interface("trname1Phase1interface", {
* acctVerify: "disable",
* addGwRoute: "disable",
* addRoute: "enable",
* assignIp: "enable",
* assignIpFrom: "range",
* authmethod: "psk",
* autoDiscoveryForwarder: "disable",
* autoDiscoveryPsk: "disable",
* autoDiscoveryReceiver: "disable",
* autoDiscoverySender: "disable",
* autoNegotiate: "enable",
* certIdValidation: "enable",
* childlessIke: "disable",
* clientAutoNegotiate: "disable",
* clientKeepAlive: "disable",
* defaultGw: "0.0.0.0",
* defaultGwPriority: 0,
* dhgrp: "14 5",
* digitalSignatureAuth: "disable",
* distance: 15,
* dnsMode: "manual",
* dpd: "on-demand",
* dpdRetrycount: 3,
* dpdRetryinterval: "20",
* eap: "disable",
* eapIdentity: "use-id-payload",
* encapLocalGw4: "0.0.0.0",
* encapLocalGw6: "::",
* encapRemoteGw4: "0.0.0.0",
* encapRemoteGw6: "::",
* encapsulation: "none",
* encapsulationAddress: "ike",
* enforceUniqueId: "disable",
* exchangeInterfaceIp: "disable",
* exchangeIpAddr4: "0.0.0.0",
* exchangeIpAddr6: "::",
* forticlientEnforcement: "disable",
* fragmentation: "enable",
* fragmentationMtu: 1200,
* groupAuthentication: "disable",
* haSyncEspSeqno: "enable",
* idleTimeout: "disable",
* idleTimeoutinterval: 15,
* ikeVersion: "1",
* includeLocalLan: "disable",
* "interface": "port3",
* ipVersion: "4",
* ipv4DnsServer1: "0.0.0.0",
* ipv4DnsServer2: "0.0.0.0",
* ipv4DnsServer3: "0.0.0.0",
* ipv4EndIp: "0.0.0.0",
* ipv4Netmask: "255.255.255.255",
* ipv4StartIp: "0.0.0.0",
* ipv4WinsServer1: "0.0.0.0",
* ipv4WinsServer2: "0.0.0.0",
* ipv6DnsServer1: "::",
* ipv6DnsServer2: "::",
* ipv6DnsServer3: "::",
* ipv6EndIp: "::",
* ipv6Prefix: 128,
* ipv6StartIp: "::",
* keepalive: 10,
* keylife: 86400,
* localGw: "0.0.0.0",
* localGw6: "::",
* localidType: "auto",
* meshSelectorType: "disable",
* mode: "main",
* modeCfg: "disable",
* monitorHoldDownDelay: 0,
* monitorHoldDownTime: "00:00",
* monitorHoldDownType: "immediate",
* monitorHoldDownWeekday: "sunday",
* nattraversal: "enable",
* negotiateTimeout: 30,
* netDevice: "disable",
* passiveMode: "disable",
* peertype: "any",
* ppk: "disable",
* priority: 0,
* proposal: "aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1",
* psksecret: "eweeeeeeeecee",
* reauth: "disable",
* rekey: "enable",
* remoteGw: "2.2.2.2",
* remoteGw6: "::",
* rsaSignatureFormat: "pkcs1",
* savePassword: "disable",
* sendCertChain: "enable",
* signatureHashAlg: "sha2-512 sha2-384 sha2-256 sha1",
* suiteB: "disable",
* tunnelSearch: "selectors",
* type: "static",
* unitySupport: "enable",
* wizardType: "custom",
* xauthtype: "disable",
* });
* const trname1Phase2interface = new fortios.vpn.ipsec.Phase2interface("trname1Phase2interface", {
* addRoute: "phase1",
* autoDiscoveryForwarder: "phase1",
* autoDiscoverySender: "phase1",
* autoNegotiate: "disable",
* dhcpIpsec: "disable",
* dhgrp: "14 5",
* dstAddrType: "subnet",
* dstEndIp6: "::",
* dstPort: 0,
* dstSubnet: "0.0.0.0 0.0.0.0",
* encapsulation: "tunnel-mode",
* keepalive: "disable",
* keylifeType: "seconds",
* keylifekbs: 5120,
* keylifeseconds: 43200,
* l2tp: "disable",
* pfs: "enable",
* phase1name: trname1Phase1interface.name,
* proposal: "aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305",
* protocol: 0,
* replay: "enable",
* routeOverlap: "use-new",
* singleSource: "disable",
* srcAddrType: "subnet",
* srcEndIp6: "::",
* srcPort: 0,
* srcSubnet: "0.0.0.0 0.0.0.0",
* });
* const trname = new fortios.system.Ipsecaggregate("trname", {
* algorithm: "round-robin",
* members: [{
* tunnelName: trname1Phase1interface.name,
* }],
* });
* ```
*
* ## Import
*
* System IpsecAggregate can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:system/ipsecaggregate:Ipsecaggregate labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:system/ipsecaggregate:Ipsecaggregate labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
class Ipsecaggregate extends pulumi.CustomResource {
/**
* Get an existing Ipsecaggregate 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 Ipsecaggregate(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of Ipsecaggregate. 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'] === Ipsecaggregate.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["algorithm"] = state ? state.algorithm : undefined;
resourceInputs["dynamicSortSubtable"] = state ? state.dynamicSortSubtable : undefined;
resourceInputs["getAllTables"] = state ? state.getAllTables : undefined;
resourceInputs["members"] = state ? state.members : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["vdomparam"] = state ? state.vdomparam : undefined;
}
else {
const args = argsOrState;
if ((!args || args.members === undefined) && !opts.urn) {
throw new Error("Missing required property 'members'");
}
resourceInputs["algorithm"] = args ? args.algorithm : undefined;
resourceInputs["dynamicSortSubtable"] = args ? args.dynamicSortSubtable : undefined;
resourceInputs["getAllTables"] = args ? args.getAllTables : undefined;
resourceInputs["members"] = args ? args.members : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["vdomparam"] = args ? args.vdomparam : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Ipsecaggregate.__pulumiType, name, resourceInputs, opts);
}
}
exports.Ipsecaggregate = Ipsecaggregate;
/** @internal */
Ipsecaggregate.__pulumiType = 'fortios:system/ipsecaggregate:Ipsecaggregate';
//# sourceMappingURL=ipsecaggregate.js.map