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",
});
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")
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
	})
}
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",
    });
});
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());
    }
}
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
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 string
- The unique name of the resource.
- args ForticlientArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args ForticlientArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ForticlientArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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 string
- Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
- Usergroupname string
- User group name for FortiClient users.
- Realm string
- FortiClient realm name.
- Status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- Vdomparam 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.
- Usergroupname string
- User group name for FortiClient users.
- Realm string
- FortiClient realm name.
- Status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- Vdomparam 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.
- usergroupname String
- User group name for FortiClient users.
- realm String
- FortiClient realm name.
- status String
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- vdomparam 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.
- usergroupname string
- User group name for FortiClient users.
- realm string
- FortiClient realm name.
- status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- vdomparam 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.
- usergroupname str
- User group name for FortiClient users.
- realm str
- FortiClient realm name.
- status str
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- vdomparam 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.
- usergroupname String
- User group name for FortiClient users.
- realm String
- FortiClient realm name.
- status String
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- vdomparam 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) -> Forticlientfunc 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- Phase2name string
- Phase 2 tunnel name that you defined in the FortiClient dialup configuration.
- Realm string
- FortiClient realm name.
- Status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- Usergroupname string
- User group name for FortiClient users.
- Vdomparam 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 string
- FortiClient realm name.
- Status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- Usergroupname string
- User group name for FortiClient users.
- Vdomparam 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 String
- FortiClient realm name.
- status String
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- usergroupname String
- User group name for FortiClient users.
- vdomparam 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 string
- FortiClient realm name.
- status string
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- usergroupname string
- User group name for FortiClient users.
- vdomparam 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 str
- FortiClient realm name.
- status str
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- usergroupname str
- User group name for FortiClient users.
- vdomparam 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 String
- FortiClient realm name.
- status String
- Enable/disable this FortiClient configuration. Valid values: enable,disable.
- usergroupname String
- User group name for FortiClient users.
- vdomparam 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}}
If you do not want to import arguments of block:
$ export “FORTIOS_IMPORT_TABLE”=“false”
$ pulumi import fortios:vpn/ipsec/forticlient:Forticlient labelname {{realm}}
$ 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 fortiosTerraform Provider.
