1. Packages
  2. Fortios
  3. API Docs
  4. vpn
  5. vpn/ipsec
  6. Forticlient
Fortios v0.0.6 published on Tuesday, Jul 9, 2024 by pulumiverse

fortios.vpn/ipsec.Forticlient

Explore with Pulumi AI

Configure FortiClient policy realm.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as fortios from "@pulumiverse/fortios";

// fortios_vpnipsec_phase1interface.trname2:
const trname4 = new fortios.vpn.ipsec.Phase1interface("trname4", {
    acctVerify: "disable",
    addGwRoute: "disable",
    addRoute: "enable",
    assignIp: "enable",
    assignIpFrom: "range",
    authmethod: "psk",
    authusrgrp: "Guest-group",
    autoDiscoveryForwarder: "disable",
    autoDiscoveryPsk: "disable",
    autoDiscoveryReceiver: "disable",
    autoDiscoverySender: "disable",
    autoNegotiate: "enable",
    certIdValidation: "enable",
    childlessIke: "disable",
    clientAutoNegotiate: "disable",
    clientKeepAlive: "disable",
    comments: "VPN: Dialup_IPsec (Created by VPN wizard)",
    defaultGw: "0.0.0.0",
    defaultGwPriority: 0,
    dhgrp: "14 5",
    digitalSignatureAuth: "disable",
    distance: 15,
    dnsMode: "auto",
    dpd: "on-idle",
    dpdRetrycount: 3,
    dpdRetryinterval: "60",
    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": "port4",
    ipVersion: "4",
    ipv4DnsServer1: "0.0.0.0",
    ipv4DnsServer2: "0.0.0.0",
    ipv4DnsServer3: "0.0.0.0",
    ipv4EndIp: "10.10.10.10",
    ipv4Netmask: "255.255.255.192",
    ipv4SplitInclude: "FIREWALL_AUTH_PORTAL_ADDRESS",
    ipv4StartIp: "10.10.10.1",
    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: "aggressive",
    modeCfg: "enable",
    monitorHoldDownDelay: 0,
    monitorHoldDownTime: "00:00",
    monitorHoldDownType: "immediate",
    monitorHoldDownWeekday: "sunday",
    nattraversal: "enable",
    negotiateTimeout: 30,
    netDevice: "enable",
    passiveMode: "disable",
    peertype: "any",
    psksecret: "NCIEW32930293203932",
    ppk: "disable",
    priority: 0,
    proposal: "aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1",
    reauth: "disable",
    rekey: "enable",
    remoteGw: "0.0.0.0",
    remoteGw6: "::",
    rsaSignatureFormat: "pkcs1",
    savePassword: "enable",
    sendCertChain: "enable",
    signatureHashAlg: "sha2-512 sha2-384 sha2-256 sha1",
    suiteB: "disable",
    tunnelSearch: "selectors",
    type: "dynamic",
    unitySupport: "enable",
    wizardType: "dialup-forticlient",
    xauthtype: "auto",
});
// fortios_vpnipsec_phase2interface.trname1:
const trname3 = new fortios.vpn.ipsec.Phase2interface("trname3", {
    addRoute: "phase1",
    autoDiscoveryForwarder: "phase1",
    autoDiscoverySender: "phase1",
    autoNegotiate: "disable",
    dhcpIpsec: "disable",
    dhgrp: "14 5",
    dstAddrType: "subnet",
    dstEndIp: "0.0.0.0",
    dstEndIp6: "::",
    dstPort: 0,
    dstStartIp: "0.0.0.0",
    dstStartIp6: "::",
    dstSubnet: "0.0.0.0 0.0.0.0",
    dstSubnet6: "::/0",
    encapsulation: "tunnel-mode",
    keepalive: "disable",
    keylifeType: "seconds",
    keylifekbs: 5120,
    keylifeseconds: 43200,
    l2tp: "disable",
    pfs: "enable",
    phase1name: trname4.name,
    proposal: "aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305",
    protocol: 0,
    replay: "enable",
    routeOverlap: "use-new",
    singleSource: "disable",
    srcAddrType: "subnet",
    srcEndIp: "0.0.0.0",
    srcEndIp6: "::",
    srcPort: 0,
    srcStartIp: "0.0.0.0",
    srcStartIp6: "::",
    srcSubnet: "0.0.0.0 0.0.0.0",
    srcSubnet6: "::/0",
});
const trname = new fortios.vpn.ipsec.Forticlient("trname", {
    phase2name: trname3.name,
    realm: "1",
    status: "enable",
    usergroupname: "Guest-group",
});
Copy
import pulumi
import pulumiverse_fortios as fortios

# fortios_vpnipsec_phase1interface.trname2:
trname4 = fortios.vpn.ipsec.Phase1interface("trname4",
    acct_verify="disable",
    add_gw_route="disable",
    add_route="enable",
    assign_ip="enable",
    assign_ip_from="range",
    authmethod="psk",
    authusrgrp="Guest-group",
    auto_discovery_forwarder="disable",
    auto_discovery_psk="disable",
    auto_discovery_receiver="disable",
    auto_discovery_sender="disable",
    auto_negotiate="enable",
    cert_id_validation="enable",
    childless_ike="disable",
    client_auto_negotiate="disable",
    client_keep_alive="disable",
    comments="VPN: Dialup_IPsec (Created by VPN wizard)",
    default_gw="0.0.0.0",
    default_gw_priority=0,
    dhgrp="14 5",
    digital_signature_auth="disable",
    distance=15,
    dns_mode="auto",
    dpd="on-idle",
    dpd_retrycount=3,
    dpd_retryinterval="60",
    eap="disable",
    eap_identity="use-id-payload",
    encap_local_gw4="0.0.0.0",
    encap_local_gw6="::",
    encap_remote_gw4="0.0.0.0",
    encap_remote_gw6="::",
    encapsulation="none",
    encapsulation_address="ike",
    enforce_unique_id="disable",
    exchange_interface_ip="disable",
    exchange_ip_addr4="0.0.0.0",
    exchange_ip_addr6="::",
    forticlient_enforcement="disable",
    fragmentation="enable",
    fragmentation_mtu=1200,
    group_authentication="disable",
    ha_sync_esp_seqno="enable",
    idle_timeout="disable",
    idle_timeoutinterval=15,
    ike_version="1",
    include_local_lan="disable",
    interface="port4",
    ip_version="4",
    ipv4_dns_server1="0.0.0.0",
    ipv4_dns_server2="0.0.0.0",
    ipv4_dns_server3="0.0.0.0",
    ipv4_end_ip="10.10.10.10",
    ipv4_netmask="255.255.255.192",
    ipv4_split_include="FIREWALL_AUTH_PORTAL_ADDRESS",
    ipv4_start_ip="10.10.10.1",
    ipv4_wins_server1="0.0.0.0",
    ipv4_wins_server2="0.0.0.0",
    ipv6_dns_server1="::",
    ipv6_dns_server2="::",
    ipv6_dns_server3="::",
    ipv6_end_ip="::",
    ipv6_prefix=128,
    ipv6_start_ip="::",
    keepalive=10,
    keylife=86400,
    local_gw="0.0.0.0",
    local_gw6="::",
    localid_type="auto",
    mesh_selector_type="disable",
    mode="aggressive",
    mode_cfg="enable",
    monitor_hold_down_delay=0,
    monitor_hold_down_time="00:00",
    monitor_hold_down_type="immediate",
    monitor_hold_down_weekday="sunday",
    nattraversal="enable",
    negotiate_timeout=30,
    net_device="enable",
    passive_mode="disable",
    peertype="any",
    psksecret="NCIEW32930293203932",
    ppk="disable",
    priority=0,
    proposal="aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1",
    reauth="disable",
    rekey="enable",
    remote_gw="0.0.0.0",
    remote_gw6="::",
    rsa_signature_format="pkcs1",
    save_password="enable",
    send_cert_chain="enable",
    signature_hash_alg="sha2-512 sha2-384 sha2-256 sha1",
    suite_b="disable",
    tunnel_search="selectors",
    type="dynamic",
    unity_support="enable",
    wizard_type="dialup-forticlient",
    xauthtype="auto")
# fortios_vpnipsec_phase2interface.trname1:
trname3 = fortios.vpn.ipsec.Phase2interface("trname3",
    add_route="phase1",
    auto_discovery_forwarder="phase1",
    auto_discovery_sender="phase1",
    auto_negotiate="disable",
    dhcp_ipsec="disable",
    dhgrp="14 5",
    dst_addr_type="subnet",
    dst_end_ip="0.0.0.0",
    dst_end_ip6="::",
    dst_port=0,
    dst_start_ip="0.0.0.0",
    dst_start_ip6="::",
    dst_subnet="0.0.0.0 0.0.0.0",
    dst_subnet6="::/0",
    encapsulation="tunnel-mode",
    keepalive="disable",
    keylife_type="seconds",
    keylifekbs=5120,
    keylifeseconds=43200,
    l2tp="disable",
    pfs="enable",
    phase1name=trname4.name,
    proposal="aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305",
    protocol=0,
    replay="enable",
    route_overlap="use-new",
    single_source="disable",
    src_addr_type="subnet",
    src_end_ip="0.0.0.0",
    src_end_ip6="::",
    src_port=0,
    src_start_ip="0.0.0.0",
    src_start_ip6="::",
    src_subnet="0.0.0.0 0.0.0.0",
    src_subnet6="::/0")
trname = fortios.vpn.ipsec.Forticlient("trname",
    phase2name=trname3.name,
    realm="1",
    status="enable",
    usergroupname="Guest-group")
Copy
package main

import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/vpn"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// fortios_vpnipsec_phase1interface.trname2:
		trname4, err := vpn.NewPhase1interface(ctx, "trname4", &vpn.Phase1interfaceArgs{
			AcctVerify:             pulumi.String("disable"),
			AddGwRoute:             pulumi.String("disable"),
			AddRoute:               pulumi.String("enable"),
			AssignIp:               pulumi.String("enable"),
			AssignIpFrom:           pulumi.String("range"),
			Authmethod:             pulumi.String("psk"),
			Authusrgrp:             pulumi.String("Guest-group"),
			AutoDiscoveryForwarder: pulumi.String("disable"),
			AutoDiscoveryPsk:       pulumi.String("disable"),
			AutoDiscoveryReceiver:  pulumi.String("disable"),
			AutoDiscoverySender:    pulumi.String("disable"),
			AutoNegotiate:          pulumi.String("enable"),
			CertIdValidation:       pulumi.String("enable"),
			ChildlessIke:           pulumi.String("disable"),
			ClientAutoNegotiate:    pulumi.String("disable"),
			ClientKeepAlive:        pulumi.String("disable"),
			Comments:               pulumi.String("VPN: Dialup_IPsec (Created by VPN wizard)"),
			DefaultGw:              pulumi.String("0.0.0.0"),
			DefaultGwPriority:      pulumi.Int(0),
			Dhgrp:                  pulumi.String("14 5"),
			DigitalSignatureAuth:   pulumi.String("disable"),
			Distance:               pulumi.Int(15),
			DnsMode:                pulumi.String("auto"),
			Dpd:                    pulumi.String("on-idle"),
			DpdRetrycount:          pulumi.Int(3),
			DpdRetryinterval:       pulumi.String("60"),
			Eap:                    pulumi.String("disable"),
			EapIdentity:            pulumi.String("use-id-payload"),
			EncapLocalGw4:          pulumi.String("0.0.0.0"),
			EncapLocalGw6:          pulumi.String("::"),
			EncapRemoteGw4:         pulumi.String("0.0.0.0"),
			EncapRemoteGw6:         pulumi.String("::"),
			Encapsulation:          pulumi.String("none"),
			EncapsulationAddress:   pulumi.String("ike"),
			EnforceUniqueId:        pulumi.String("disable"),
			ExchangeInterfaceIp:    pulumi.String("disable"),
			ExchangeIpAddr4:        pulumi.String("0.0.0.0"),
			ExchangeIpAddr6:        pulumi.String("::"),
			ForticlientEnforcement: pulumi.String("disable"),
			Fragmentation:          pulumi.String("enable"),
			FragmentationMtu:       pulumi.Int(1200),
			GroupAuthentication:    pulumi.String("disable"),
			HaSyncEspSeqno:         pulumi.String("enable"),
			IdleTimeout:            pulumi.String("disable"),
			IdleTimeoutinterval:    pulumi.Int(15),
			IkeVersion:             pulumi.String("1"),
			IncludeLocalLan:        pulumi.String("disable"),
			Interface:              pulumi.String("port4"),
			IpVersion:              pulumi.String("4"),
			Ipv4DnsServer1:         pulumi.String("0.0.0.0"),
			Ipv4DnsServer2:         pulumi.String("0.0.0.0"),
			Ipv4DnsServer3:         pulumi.String("0.0.0.0"),
			Ipv4EndIp:              pulumi.String("10.10.10.10"),
			Ipv4Netmask:            pulumi.String("255.255.255.192"),
			Ipv4SplitInclude:       pulumi.String("FIREWALL_AUTH_PORTAL_ADDRESS"),
			Ipv4StartIp:            pulumi.String("10.10.10.1"),
			Ipv4WinsServer1:        pulumi.String("0.0.0.0"),
			Ipv4WinsServer2:        pulumi.String("0.0.0.0"),
			Ipv6DnsServer1:         pulumi.String("::"),
			Ipv6DnsServer2:         pulumi.String("::"),
			Ipv6DnsServer3:         pulumi.String("::"),
			Ipv6EndIp:              pulumi.String("::"),
			Ipv6Prefix:             pulumi.Int(128),
			Ipv6StartIp:            pulumi.String("::"),
			Keepalive:              pulumi.Int(10),
			Keylife:                pulumi.Int(86400),
			LocalGw:                pulumi.String("0.0.0.0"),
			LocalGw6:               pulumi.String("::"),
			LocalidType:            pulumi.String("auto"),
			MeshSelectorType:       pulumi.String("disable"),
			Mode:                   pulumi.String("aggressive"),
			ModeCfg:                pulumi.String("enable"),
			MonitorHoldDownDelay:   pulumi.Int(0),
			MonitorHoldDownTime:    pulumi.String("00:00"),
			MonitorHoldDownType:    pulumi.String("immediate"),
			MonitorHoldDownWeekday: pulumi.String("sunday"),
			Nattraversal:           pulumi.String("enable"),
			NegotiateTimeout:       pulumi.Int(30),
			NetDevice:              pulumi.String("enable"),
			PassiveMode:            pulumi.String("disable"),
			Peertype:               pulumi.String("any"),
			Psksecret:              pulumi.String("NCIEW32930293203932"),
			Ppk:                    pulumi.String("disable"),
			Priority:               pulumi.Int(0),
			Proposal:               pulumi.String("aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1"),
			Reauth:                 pulumi.String("disable"),
			Rekey:                  pulumi.String("enable"),
			RemoteGw:               pulumi.String("0.0.0.0"),
			RemoteGw6:              pulumi.String("::"),
			RsaSignatureFormat:     pulumi.String("pkcs1"),
			SavePassword:           pulumi.String("enable"),
			SendCertChain:          pulumi.String("enable"),
			SignatureHashAlg:       pulumi.String("sha2-512 sha2-384 sha2-256 sha1"),
			SuiteB:                 pulumi.String("disable"),
			TunnelSearch:           pulumi.String("selectors"),
			Type:                   pulumi.String("dynamic"),
			UnitySupport:           pulumi.String("enable"),
			WizardType:             pulumi.String("dialup-forticlient"),
			Xauthtype:              pulumi.String("auto"),
		})
		if err != nil {
			return err
		}
		// fortios_vpnipsec_phase2interface.trname1:
		trname3, err := vpn.NewPhase2interface(ctx, "trname3", &vpn.Phase2interfaceArgs{
			AddRoute:               pulumi.String("phase1"),
			AutoDiscoveryForwarder: pulumi.String("phase1"),
			AutoDiscoverySender:    pulumi.String("phase1"),
			AutoNegotiate:          pulumi.String("disable"),
			DhcpIpsec:              pulumi.String("disable"),
			Dhgrp:                  pulumi.String("14 5"),
			DstAddrType:            pulumi.String("subnet"),
			DstEndIp:               pulumi.String("0.0.0.0"),
			DstEndIp6:              pulumi.String("::"),
			DstPort:                pulumi.Int(0),
			DstStartIp:             pulumi.String("0.0.0.0"),
			DstStartIp6:            pulumi.String("::"),
			DstSubnet:              pulumi.String("0.0.0.0 0.0.0.0"),
			DstSubnet6:             pulumi.String("::/0"),
			Encapsulation:          pulumi.String("tunnel-mode"),
			Keepalive:              pulumi.String("disable"),
			KeylifeType:            pulumi.String("seconds"),
			Keylifekbs:             pulumi.Int(5120),
			Keylifeseconds:         pulumi.Int(43200),
			L2tp:                   pulumi.String("disable"),
			Pfs:                    pulumi.String("enable"),
			Phase1name:             trname4.Name,
			Proposal:               pulumi.String("aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305"),
			Protocol:               pulumi.Int(0),
			Replay:                 pulumi.String("enable"),
			RouteOverlap:           pulumi.String("use-new"),
			SingleSource:           pulumi.String("disable"),
			SrcAddrType:            pulumi.String("subnet"),
			SrcEndIp:               pulumi.String("0.0.0.0"),
			SrcEndIp6:              pulumi.String("::"),
			SrcPort:                pulumi.Int(0),
			SrcStartIp:             pulumi.String("0.0.0.0"),
			SrcStartIp6:            pulumi.String("::"),
			SrcSubnet:              pulumi.String("0.0.0.0 0.0.0.0"),
			SrcSubnet6:             pulumi.String("::/0"),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewForticlient(ctx, "trname", &vpn.ForticlientArgs{
			Phase2name:    trname3.Name,
			Realm:         pulumi.String("1"),
			Status:        pulumi.String("enable"),
			Usergroupname: pulumi.String("Guest-group"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Fortios = Pulumiverse.Fortios;

return await Deployment.RunAsync(() => 
{
    // fortios_vpnipsec_phase1interface.trname2:
    var trname4 = new Fortios.Vpn.Ipsec.Phase1interface("trname4", new()
    {
        AcctVerify = "disable",
        AddGwRoute = "disable",
        AddRoute = "enable",
        AssignIp = "enable",
        AssignIpFrom = "range",
        Authmethod = "psk",
        Authusrgrp = "Guest-group",
        AutoDiscoveryForwarder = "disable",
        AutoDiscoveryPsk = "disable",
        AutoDiscoveryReceiver = "disable",
        AutoDiscoverySender = "disable",
        AutoNegotiate = "enable",
        CertIdValidation = "enable",
        ChildlessIke = "disable",
        ClientAutoNegotiate = "disable",
        ClientKeepAlive = "disable",
        Comments = "VPN: Dialup_IPsec (Created by VPN wizard)",
        DefaultGw = "0.0.0.0",
        DefaultGwPriority = 0,
        Dhgrp = "14 5",
        DigitalSignatureAuth = "disable",
        Distance = 15,
        DnsMode = "auto",
        Dpd = "on-idle",
        DpdRetrycount = 3,
        DpdRetryinterval = "60",
        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 = "port4",
        IpVersion = "4",
        Ipv4DnsServer1 = "0.0.0.0",
        Ipv4DnsServer2 = "0.0.0.0",
        Ipv4DnsServer3 = "0.0.0.0",
        Ipv4EndIp = "10.10.10.10",
        Ipv4Netmask = "255.255.255.192",
        Ipv4SplitInclude = "FIREWALL_AUTH_PORTAL_ADDRESS",
        Ipv4StartIp = "10.10.10.1",
        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 = "aggressive",
        ModeCfg = "enable",
        MonitorHoldDownDelay = 0,
        MonitorHoldDownTime = "00:00",
        MonitorHoldDownType = "immediate",
        MonitorHoldDownWeekday = "sunday",
        Nattraversal = "enable",
        NegotiateTimeout = 30,
        NetDevice = "enable",
        PassiveMode = "disable",
        Peertype = "any",
        Psksecret = "NCIEW32930293203932",
        Ppk = "disable",
        Priority = 0,
        Proposal = "aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1",
        Reauth = "disable",
        Rekey = "enable",
        RemoteGw = "0.0.0.0",
        RemoteGw6 = "::",
        RsaSignatureFormat = "pkcs1",
        SavePassword = "enable",
        SendCertChain = "enable",
        SignatureHashAlg = "sha2-512 sha2-384 sha2-256 sha1",
        SuiteB = "disable",
        TunnelSearch = "selectors",
        Type = "dynamic",
        UnitySupport = "enable",
        WizardType = "dialup-forticlient",
        Xauthtype = "auto",
    });

    // fortios_vpnipsec_phase2interface.trname1:
    var trname3 = new Fortios.Vpn.Ipsec.Phase2interface("trname3", new()
    {
        AddRoute = "phase1",
        AutoDiscoveryForwarder = "phase1",
        AutoDiscoverySender = "phase1",
        AutoNegotiate = "disable",
        DhcpIpsec = "disable",
        Dhgrp = "14 5",
        DstAddrType = "subnet",
        DstEndIp = "0.0.0.0",
        DstEndIp6 = "::",
        DstPort = 0,
        DstStartIp = "0.0.0.0",
        DstStartIp6 = "::",
        DstSubnet = "0.0.0.0 0.0.0.0",
        DstSubnet6 = "::/0",
        Encapsulation = "tunnel-mode",
        Keepalive = "disable",
        KeylifeType = "seconds",
        Keylifekbs = 5120,
        Keylifeseconds = 43200,
        L2tp = "disable",
        Pfs = "enable",
        Phase1name = trname4.Name,
        Proposal = "aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305",
        Protocol = 0,
        Replay = "enable",
        RouteOverlap = "use-new",
        SingleSource = "disable",
        SrcAddrType = "subnet",
        SrcEndIp = "0.0.0.0",
        SrcEndIp6 = "::",
        SrcPort = 0,
        SrcStartIp = "0.0.0.0",
        SrcStartIp6 = "::",
        SrcSubnet = "0.0.0.0 0.0.0.0",
        SrcSubnet6 = "::/0",
    });

    var trname = new Fortios.Vpn.Ipsec.Forticlient("trname", new()
    {
        Phase2name = trname3.Name,
        Realm = "1",
        Status = "enable",
        Usergroupname = "Guest-group",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.fortios.vpn.Phase1interface;
import com.pulumi.fortios.vpn.Phase1interfaceArgs;
import com.pulumi.fortios.vpn.Phase2interface;
import com.pulumi.fortios.vpn.Phase2interfaceArgs;
import com.pulumi.fortios.vpn.Forticlient;
import com.pulumi.fortios.vpn.ForticlientArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        // fortios_vpnipsec_phase1interface.trname2:
        var trname4 = new Phase1interface("trname4", Phase1interfaceArgs.builder()
            .acctVerify("disable")
            .addGwRoute("disable")
            .addRoute("enable")
            .assignIp("enable")
            .assignIpFrom("range")
            .authmethod("psk")
            .authusrgrp("Guest-group")
            .autoDiscoveryForwarder("disable")
            .autoDiscoveryPsk("disable")
            .autoDiscoveryReceiver("disable")
            .autoDiscoverySender("disable")
            .autoNegotiate("enable")
            .certIdValidation("enable")
            .childlessIke("disable")
            .clientAutoNegotiate("disable")
            .clientKeepAlive("disable")
            .comments("VPN: Dialup_IPsec (Created by VPN wizard)")
            .defaultGw("0.0.0.0")
            .defaultGwPriority(0)
            .dhgrp("14 5")
            .digitalSignatureAuth("disable")
            .distance(15)
            .dnsMode("auto")
            .dpd("on-idle")
            .dpdRetrycount(3)
            .dpdRetryinterval("60")
            .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_("port4")
            .ipVersion("4")
            .ipv4DnsServer1("0.0.0.0")
            .ipv4DnsServer2("0.0.0.0")
            .ipv4DnsServer3("0.0.0.0")
            .ipv4EndIp("10.10.10.10")
            .ipv4Netmask("255.255.255.192")
            .ipv4SplitInclude("FIREWALL_AUTH_PORTAL_ADDRESS")
            .ipv4StartIp("10.10.10.1")
            .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("aggressive")
            .modeCfg("enable")
            .monitorHoldDownDelay(0)
            .monitorHoldDownTime("00:00")
            .monitorHoldDownType("immediate")
            .monitorHoldDownWeekday("sunday")
            .nattraversal("enable")
            .negotiateTimeout(30)
            .netDevice("enable")
            .passiveMode("disable")
            .peertype("any")
            .psksecret("NCIEW32930293203932")
            .ppk("disable")
            .priority(0)
            .proposal("aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1")
            .reauth("disable")
            .rekey("enable")
            .remoteGw("0.0.0.0")
            .remoteGw6("::")
            .rsaSignatureFormat("pkcs1")
            .savePassword("enable")
            .sendCertChain("enable")
            .signatureHashAlg("sha2-512 sha2-384 sha2-256 sha1")
            .suiteB("disable")
            .tunnelSearch("selectors")
            .type("dynamic")
            .unitySupport("enable")
            .wizardType("dialup-forticlient")
            .xauthtype("auto")
            .build());

        // fortios_vpnipsec_phase2interface.trname1:
        var trname3 = new Phase2interface("trname3", Phase2interfaceArgs.builder()
            .addRoute("phase1")
            .autoDiscoveryForwarder("phase1")
            .autoDiscoverySender("phase1")
            .autoNegotiate("disable")
            .dhcpIpsec("disable")
            .dhgrp("14 5")
            .dstAddrType("subnet")
            .dstEndIp("0.0.0.0")
            .dstEndIp6("::")
            .dstPort(0)
            .dstStartIp("0.0.0.0")
            .dstStartIp6("::")
            .dstSubnet("0.0.0.0 0.0.0.0")
            .dstSubnet6("::/0")
            .encapsulation("tunnel-mode")
            .keepalive("disable")
            .keylifeType("seconds")
            .keylifekbs(5120)
            .keylifeseconds(43200)
            .l2tp("disable")
            .pfs("enable")
            .phase1name(trname4.name())
            .proposal("aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305")
            .protocol(0)
            .replay("enable")
            .routeOverlap("use-new")
            .singleSource("disable")
            .srcAddrType("subnet")
            .srcEndIp("0.0.0.0")
            .srcEndIp6("::")
            .srcPort(0)
            .srcStartIp("0.0.0.0")
            .srcStartIp6("::")
            .srcSubnet("0.0.0.0 0.0.0.0")
            .srcSubnet6("::/0")
            .build());

        var trname = new Forticlient("trname", ForticlientArgs.builder()
            .phase2name(trname3.name())
            .realm("1")
            .status("enable")
            .usergroupname("Guest-group")
            .build());

    }
}
Copy
resources:
  # fortios_vpnipsec_phase1interface.trname2:
  trname4:
    type: fortios:vpn/ipsec:Phase1interface
    properties:
      acctVerify: disable
      addGwRoute: disable
      addRoute: enable
      assignIp: enable
      assignIpFrom: range
      authmethod: psk
      authusrgrp: Guest-group
      autoDiscoveryForwarder: disable
      autoDiscoveryPsk: disable
      autoDiscoveryReceiver: disable
      autoDiscoverySender: disable
      autoNegotiate: enable
      certIdValidation: enable
      childlessIke: disable
      clientAutoNegotiate: disable
      clientKeepAlive: disable
      comments: 'VPN: Dialup_IPsec (Created by VPN wizard)'
      defaultGw: 0.0.0.0
      defaultGwPriority: 0
      dhgrp: 14 5
      digitalSignatureAuth: disable
      distance: 15
      dnsMode: auto
      dpd: on-idle
      dpdRetrycount: 3
      dpdRetryinterval: '60'
      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: port4
      ipVersion: '4'
      ipv4DnsServer1: 0.0.0.0
      ipv4DnsServer2: 0.0.0.0
      ipv4DnsServer3: 0.0.0.0
      ipv4EndIp: 10.10.10.10
      ipv4Netmask: 255.255.255.192
      ipv4SplitInclude: FIREWALL_AUTH_PORTAL_ADDRESS
      ipv4StartIp: 10.10.10.1
      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: aggressive
      modeCfg: enable
      monitorHoldDownDelay: 0
      monitorHoldDownTime: 00:00
      monitorHoldDownType: immediate
      monitorHoldDownWeekday: sunday
      nattraversal: enable
      negotiateTimeout: 30
      netDevice: enable
      passiveMode: disable
      peertype: any
      psksecret: NCIEW32930293203932
      ppk: disable
      priority: 0
      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1
      reauth: disable
      rekey: enable
      remoteGw: 0.0.0.0
      remoteGw6: '::'
      rsaSignatureFormat: pkcs1
      savePassword: enable
      sendCertChain: enable
      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1
      suiteB: disable
      tunnelSearch: selectors
      type: dynamic
      unitySupport: enable
      wizardType: dialup-forticlient
      xauthtype: auto
  # fortios_vpnipsec_phase2interface.trname1:
  trname3:
    type: fortios:vpn/ipsec:Phase2interface
    properties:
      addRoute: phase1
      autoDiscoveryForwarder: phase1
      autoDiscoverySender: phase1
      autoNegotiate: disable
      dhcpIpsec: disable
      dhgrp: 14 5
      dstAddrType: subnet
      dstEndIp: 0.0.0.0
      dstEndIp6: '::'
      dstPort: 0
      dstStartIp: 0.0.0.0
      dstStartIp6: '::'
      dstSubnet: 0.0.0.0 0.0.0.0
      dstSubnet6: ::/0
      encapsulation: tunnel-mode
      keepalive: disable
      keylifeType: seconds
      keylifekbs: 5120
      keylifeseconds: 43200
      l2tp: disable
      pfs: enable
      phase1name: ${trname4.name}
      proposal: aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305
      protocol: 0
      replay: enable
      routeOverlap: use-new
      singleSource: disable
      srcAddrType: subnet
      srcEndIp: 0.0.0.0
      srcEndIp6: '::'
      srcPort: 0
      srcStartIp: 0.0.0.0
      srcStartIp6: '::'
      srcSubnet: 0.0.0.0 0.0.0.0
      srcSubnet6: ::/0
  trname:
    type: fortios:vpn/ipsec:Forticlient
    properties:
      phase2name: ${trname3.name}
      realm: '1'
      status: enable
      usergroupname: Guest-group
Copy

Create Forticlient Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Forticlient(name: string, args: ForticlientArgs, opts?: CustomResourceOptions);
@overload
def Forticlient(resource_name: str,
                args: ForticlientArgs,
                opts: Optional[ResourceOptions] = None)

@overload
def Forticlient(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                phase2name: Optional[str] = None,
                usergroupname: Optional[str] = None,
                realm: Optional[str] = None,
                status: Optional[str] = None,
                vdomparam: Optional[str] = None)
func NewForticlient(ctx *Context, name string, args ForticlientArgs, opts ...ResourceOption) (*Forticlient, error)
public Forticlient(string name, ForticlientArgs args, CustomResourceOptions? opts = null)
public Forticlient(String name, ForticlientArgs args)
public Forticlient(String name, ForticlientArgs args, CustomResourceOptions options)
type: fortios:vpn/ipsec/forticlient:Forticlient
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ForticlientArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ForticlientArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ForticlientArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ForticlientArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ForticlientArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Forticlient Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Forticlient resource accepts the following input properties:

Phase2name This property is required. string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
Usergroupname This property is required. string
User group name for FortiClient users.
Realm Changes to this property will trigger replacement. string
FortiClient realm name.
Status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
Vdomparam Changes to this property will trigger replacement. 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.
Phase2name This property is required. string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
Usergroupname This property is required. string
User group name for FortiClient users.
Realm Changes to this property will trigger replacement. string
FortiClient realm name.
Status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
Vdomparam Changes to this property will trigger replacement. 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.
phase2name This property is required. String
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
usergroupname This property is required. String
User group name for FortiClient users.
realm Changes to this property will trigger replacement. String
FortiClient realm name.
status String
Enable/disable this FortiClient configuration. Valid values: enable, disable.
vdomparam Changes to this property will trigger replacement. 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.
phase2name This property is required. string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
usergroupname This property is required. string
User group name for FortiClient users.
realm Changes to this property will trigger replacement. string
FortiClient realm name.
status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
vdomparam Changes to this property will trigger replacement. 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.
phase2name This property is required. str
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
usergroupname This property is required. str
User group name for FortiClient users.
realm Changes to this property will trigger replacement. str
FortiClient realm name.
status str
Enable/disable this FortiClient configuration. Valid values: enable, disable.
vdomparam Changes to this property will trigger replacement. str
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.
phase2name This property is required. String
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
usergroupname This property is required. String
User group name for FortiClient users.
realm Changes to this property will trigger replacement. String
FortiClient realm name.
status String
Enable/disable this FortiClient configuration. Valid values: enable, disable.
vdomparam Changes to this property will trigger replacement. 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.

Outputs

All input properties are implicitly available as output properties. Additionally, the Forticlient resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing Forticlient Resource

Get an existing Forticlient resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ForticlientState, opts?: CustomResourceOptions): Forticlient
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        phase2name: Optional[str] = None,
        realm: Optional[str] = None,
        status: Optional[str] = None,
        usergroupname: Optional[str] = None,
        vdomparam: Optional[str] = None) -> Forticlient
func GetForticlient(ctx *Context, name string, id IDInput, state *ForticlientState, opts ...ResourceOption) (*Forticlient, error)
public static Forticlient Get(string name, Input<string> id, ForticlientState? state, CustomResourceOptions? opts = null)
public static Forticlient get(String name, Output<String> id, ForticlientState state, CustomResourceOptions options)
resources:  _:    type: fortios:vpn/ipsec/forticlient:Forticlient    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Phase2name string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
Realm Changes to this property will trigger replacement. string
FortiClient realm name.
Status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
Usergroupname string
User group name for FortiClient users.
Vdomparam Changes to this property will trigger replacement. 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.
Phase2name string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
Realm Changes to this property will trigger replacement. string
FortiClient realm name.
Status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
Usergroupname string
User group name for FortiClient users.
Vdomparam Changes to this property will trigger replacement. 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.
phase2name String
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
realm Changes to this property will trigger replacement. String
FortiClient realm name.
status String
Enable/disable this FortiClient configuration. Valid values: enable, disable.
usergroupname String
User group name for FortiClient users.
vdomparam Changes to this property will trigger replacement. 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.
phase2name string
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
realm Changes to this property will trigger replacement. string
FortiClient realm name.
status string
Enable/disable this FortiClient configuration. Valid values: enable, disable.
usergroupname string
User group name for FortiClient users.
vdomparam Changes to this property will trigger replacement. 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.
phase2name str
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
realm Changes to this property will trigger replacement. str
FortiClient realm name.
status str
Enable/disable this FortiClient configuration. Valid values: enable, disable.
usergroupname str
User group name for FortiClient users.
vdomparam Changes to this property will trigger replacement. str
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.
phase2name String
Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
realm Changes to this property will trigger replacement. String
FortiClient realm name.
status String
Enable/disable this FortiClient configuration. Valid values: enable, disable.
usergroupname String
User group name for FortiClient users.
vdomparam Changes to this property will trigger replacement. 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.

Import

VpnIpsec Forticlient can be imported using any of these accepted formats:

$ pulumi import fortios:vpn/ipsec/forticlient:Forticlient labelname {{realm}}
Copy

If you do not want to import arguments of block:

$ export “FORTIOS_IMPORT_TABLE”=“false”

$ pulumi import fortios:vpn/ipsec/forticlient:Forticlient labelname {{realm}}
Copy

$ unset “FORTIOS_IMPORT_TABLE”

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
fortios pulumiverse/pulumi-fortios
License
Apache-2.0
Notes
This Pulumi package is based on the fortios Terraform Provider.