/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the securityhub-2018-10-26.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SecurityHub.Model
{
///
/// The VPN tunnel options.
///
public partial class AwsEc2VpnConnectionOptionsTunnelOptionsDetails
{
private int? _dpdTimeoutSeconds;
private List _ikeVersions = new List();
private string _outsideIpAddress;
private List _phase1DhGroupNumbers = new List();
private List _phase1EncryptionAlgorithms = new List();
private List _phase1IntegrityAlgorithms = new List();
private int? _phase1LifetimeSeconds;
private List _phase2DhGroupNumbers = new List();
private List _phase2EncryptionAlgorithms = new List();
private List _phase2IntegrityAlgorithms = new List();
private int? _phase2LifetimeSeconds;
private string _preSharedKey;
private int? _rekeyFuzzPercentage;
private int? _rekeyMarginTimeSeconds;
private int? _replayWindowSize;
private string _tunnelInsideCidr;
///
/// Gets and sets the property DpdTimeoutSeconds.
///
/// The number of seconds after which a Dead Peer Detection (DPD) timeout occurs.
///
///
public int DpdTimeoutSeconds
{
get { return this._dpdTimeoutSeconds.GetValueOrDefault(); }
set { this._dpdTimeoutSeconds = value; }
}
// Check to see if DpdTimeoutSeconds property is set
internal bool IsSetDpdTimeoutSeconds()
{
return this._dpdTimeoutSeconds.HasValue;
}
///
/// Gets and sets the property IkeVersions.
///
/// The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel.
///
///
public List IkeVersions
{
get { return this._ikeVersions; }
set { this._ikeVersions = value; }
}
// Check to see if IkeVersions property is set
internal bool IsSetIkeVersions()
{
return this._ikeVersions != null && this._ikeVersions.Count > 0;
}
///
/// Gets and sets the property OutsideIpAddress.
///
/// The external IP address of the VPN tunnel.
///
///
public string OutsideIpAddress
{
get { return this._outsideIpAddress; }
set { this._outsideIpAddress = value; }
}
// Check to see if OutsideIpAddress property is set
internal bool IsSetOutsideIpAddress()
{
return this._outsideIpAddress != null;
}
///
/// Gets and sets the property Phase1DhGroupNumbers.
///
/// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.
///
///
public List Phase1DhGroupNumbers
{
get { return this._phase1DhGroupNumbers; }
set { this._phase1DhGroupNumbers = value; }
}
// Check to see if Phase1DhGroupNumbers property is set
internal bool IsSetPhase1DhGroupNumbers()
{
return this._phase1DhGroupNumbers != null && this._phase1DhGroupNumbers.Count > 0;
}
///
/// Gets and sets the property Phase1EncryptionAlgorithms.
///
/// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
///
///
public List Phase1EncryptionAlgorithms
{
get { return this._phase1EncryptionAlgorithms; }
set { this._phase1EncryptionAlgorithms = value; }
}
// Check to see if Phase1EncryptionAlgorithms property is set
internal bool IsSetPhase1EncryptionAlgorithms()
{
return this._phase1EncryptionAlgorithms != null && this._phase1EncryptionAlgorithms.Count > 0;
}
///
/// Gets and sets the property Phase1IntegrityAlgorithms.
///
/// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
///
///
public List Phase1IntegrityAlgorithms
{
get { return this._phase1IntegrityAlgorithms; }
set { this._phase1IntegrityAlgorithms = value; }
}
// Check to see if Phase1IntegrityAlgorithms property is set
internal bool IsSetPhase1IntegrityAlgorithms()
{
return this._phase1IntegrityAlgorithms != null && this._phase1IntegrityAlgorithms.Count > 0;
}
///
/// Gets and sets the property Phase1LifetimeSeconds.
///
/// The lifetime for phase 1 of the IKE negotiation, in seconds.
///
///
public int Phase1LifetimeSeconds
{
get { return this._phase1LifetimeSeconds.GetValueOrDefault(); }
set { this._phase1LifetimeSeconds = value; }
}
// Check to see if Phase1LifetimeSeconds property is set
internal bool IsSetPhase1LifetimeSeconds()
{
return this._phase1LifetimeSeconds.HasValue;
}
///
/// Gets and sets the property Phase2DhGroupNumbers.
///
/// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.
///
///
public List Phase2DhGroupNumbers
{
get { return this._phase2DhGroupNumbers; }
set { this._phase2DhGroupNumbers = value; }
}
// Check to see if Phase2DhGroupNumbers property is set
internal bool IsSetPhase2DhGroupNumbers()
{
return this._phase2DhGroupNumbers != null && this._phase2DhGroupNumbers.Count > 0;
}
///
/// Gets and sets the property Phase2EncryptionAlgorithms.
///
/// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
///
///
public List Phase2EncryptionAlgorithms
{
get { return this._phase2EncryptionAlgorithms; }
set { this._phase2EncryptionAlgorithms = value; }
}
// Check to see if Phase2EncryptionAlgorithms property is set
internal bool IsSetPhase2EncryptionAlgorithms()
{
return this._phase2EncryptionAlgorithms != null && this._phase2EncryptionAlgorithms.Count > 0;
}
///
/// Gets and sets the property Phase2IntegrityAlgorithms.
///
/// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
///
///
public List Phase2IntegrityAlgorithms
{
get { return this._phase2IntegrityAlgorithms; }
set { this._phase2IntegrityAlgorithms = value; }
}
// Check to see if Phase2IntegrityAlgorithms property is set
internal bool IsSetPhase2IntegrityAlgorithms()
{
return this._phase2IntegrityAlgorithms != null && this._phase2IntegrityAlgorithms.Count > 0;
}
///
/// Gets and sets the property Phase2LifetimeSeconds.
///
/// The lifetime for phase 2 of the IKE negotiation, in seconds.
///
///
public int Phase2LifetimeSeconds
{
get { return this._phase2LifetimeSeconds.GetValueOrDefault(); }
set { this._phase2LifetimeSeconds = value; }
}
// Check to see if Phase2LifetimeSeconds property is set
internal bool IsSetPhase2LifetimeSeconds()
{
return this._phase2LifetimeSeconds.HasValue;
}
///
/// Gets and sets the property PreSharedKey.
///
/// The preshared key to establish initial authentication between the virtual private
/// gateway and the customer gateway.
///
///
public string PreSharedKey
{
get { return this._preSharedKey; }
set { this._preSharedKey = value; }
}
// Check to see if PreSharedKey property is set
internal bool IsSetPreSharedKey()
{
return this._preSharedKey != null;
}
///
/// Gets and sets the property RekeyFuzzPercentage.
///
/// The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
/// during which the rekey time is randomly selected.
///
///
public int RekeyFuzzPercentage
{
get { return this._rekeyFuzzPercentage.GetValueOrDefault(); }
set { this._rekeyFuzzPercentage = value; }
}
// Check to see if RekeyFuzzPercentage property is set
internal bool IsSetRekeyFuzzPercentage()
{
return this._rekeyFuzzPercentage.HasValue;
}
///
/// Gets and sets the property RekeyMarginTimeSeconds.
///
/// The margin time, in seconds, before the phase 2 lifetime expires, during which the
/// Amazon Web Services side of the VPN connection performs an IKE rekey.
///
///
public int RekeyMarginTimeSeconds
{
get { return this._rekeyMarginTimeSeconds.GetValueOrDefault(); }
set { this._rekeyMarginTimeSeconds = value; }
}
// Check to see if RekeyMarginTimeSeconds property is set
internal bool IsSetRekeyMarginTimeSeconds()
{
return this._rekeyMarginTimeSeconds.HasValue;
}
///
/// Gets and sets the property ReplayWindowSize.
///
/// The number of packets in an IKE replay window.
///
///
public int ReplayWindowSize
{
get { return this._replayWindowSize.GetValueOrDefault(); }
set { this._replayWindowSize = value; }
}
// Check to see if ReplayWindowSize property is set
internal bool IsSetReplayWindowSize()
{
return this._replayWindowSize.HasValue;
}
///
/// Gets and sets the property TunnelInsideCidr.
///
/// The range of inside IPv4 addresses for the tunnel.
///
///
public string TunnelInsideCidr
{
get { return this._tunnelInsideCidr; }
set { this._tunnelInsideCidr = value; }
}
// Check to see if TunnelInsideCidr property is set
internal bool IsSetTunnelInsideCidr()
{
return this._tunnelInsideCidr != null;
}
}
}