UNPKG

@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
"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