<gh_stars>0// *** 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! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Vpn.Inputs
{

    public sealed class ConnectionIkeConfigArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// The authentication algorithm of phase-one negotiation. Valid value: md5 | sha1 . Default value: md5
        /// </summary>
        [Input("ikeAuthAlg")]
        public Input<string>? IkeAuthAlg { get; set; }

        /// <summary>
        /// The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes
        /// </summary>
        [Input("ikeEncAlg")]
        public Input<string>? IkeEncAlg { get; set; }

        /// <summary>
        /// The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.
        /// </summary>
        [Input("ikeLifetime")]
        public Input<int>? IkeLifetime { get; set; }

        /// <summary>
        /// The identification of the VPN gateway.
        /// </summary>
        [Input("ikeLocalId")]
        public Input<string>? IkeLocalId { get; set; }

        /// <summary>
        /// The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: main
        /// </summary>
        [Input("ikeMode")]
        public Input<string>? IkeMode { get; set; }

        /// <summary>
        /// The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2
        /// </summary>
        [Input("ikePfs")]
        public Input<string>? IkePfs { get; set; }

        /// <summary>
        /// The identification of the customer gateway.
        /// </summary>
        [Input("ikeRemoteId")]
        public Input<string>? IkeRemoteId { get; set; }

        /// <summary>
        /// The version of the IKE protocol. Valid value: ikev1 | ikev2. Default value: ikev1
        /// </summary>
        [Input("ikeVersion")]
        public Input<string>? IkeVersion { get; set; }

        /// <summary>
        /// Used for authentication between the IPsec VPN gateway and the customer gateway.
        /// </summary>
        [Input("psk")]
        public Input<string>? Psk { get; set; }

        public ConnectionIkeConfigArgs()
        {
        }
        public static new ConnectionIkeConfigArgs Empty => new ConnectionIkeConfigArgs();
    }
}
