/*
* 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 ec2-2016-11-15.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.EC2.Model
{
///
/// Describes a VPN connection.
///
public partial class VpnConnection
{
private string _category;
private string _coreNetworkArn;
private string _coreNetworkAttachmentArn;
private string _customerGatewayConfiguration;
private string _customerGatewayId;
private GatewayAssociationState _gatewayAssociationState;
private VpnConnectionOptions _options;
private List _routes = new List();
private VpnState _state;
private List _tags = new List();
private string _transitGatewayId;
private GatewayType _type;
private List _vgwTelemetry = new List();
private string _vpnConnectionId;
private string _vpnGatewayId;
///
/// Gets and sets the property Category.
///
/// The category of the VPN connection. A value of VPN
indicates an Amazon
/// Web Services VPN connection. A value of VPN-Classic
indicates an Amazon
/// Web Services Classic VPN connection.
///
///
public string Category
{
get { return this._category; }
set { this._category = value; }
}
// Check to see if Category property is set
internal bool IsSetCategory()
{
return this._category != null;
}
///
/// Gets and sets the property CoreNetworkArn.
///
/// The ARN of the core network.
///
///
public string CoreNetworkArn
{
get { return this._coreNetworkArn; }
set { this._coreNetworkArn = value; }
}
// Check to see if CoreNetworkArn property is set
internal bool IsSetCoreNetworkArn()
{
return this._coreNetworkArn != null;
}
///
/// Gets and sets the property CoreNetworkAttachmentArn.
///
/// The ARN of the core network attachment.
///
///
public string CoreNetworkAttachmentArn
{
get { return this._coreNetworkAttachmentArn; }
set { this._coreNetworkAttachmentArn = value; }
}
// Check to see if CoreNetworkAttachmentArn property is set
internal bool IsSetCoreNetworkAttachmentArn()
{
return this._coreNetworkAttachmentArn != null;
}
///
/// Gets and sets the property CustomerGatewayConfiguration.
///
/// The configuration information for the VPN connection's customer gateway (in the native
/// XML format). This element is always present in the CreateVpnConnection response;
/// however, it's present in the DescribeVpnConnections response only if the VPN
/// connection is in the pending
or available
state.
///
///
[AWSProperty(Sensitive=true)]
public string CustomerGatewayConfiguration
{
get { return this._customerGatewayConfiguration; }
set { this._customerGatewayConfiguration = value; }
}
// Check to see if CustomerGatewayConfiguration property is set
internal bool IsSetCustomerGatewayConfiguration()
{
return this._customerGatewayConfiguration != null;
}
///
/// Gets and sets the property CustomerGatewayId.
///
/// The ID of the customer gateway at your end of the VPN connection.
///
///
public string CustomerGatewayId
{
get { return this._customerGatewayId; }
set { this._customerGatewayId = value; }
}
// Check to see if CustomerGatewayId property is set
internal bool IsSetCustomerGatewayId()
{
return this._customerGatewayId != null;
}
///
/// Gets and sets the property GatewayAssociationState.
///
/// The current state of the gateway association.
///
///
public GatewayAssociationState GatewayAssociationState
{
get { return this._gatewayAssociationState; }
set { this._gatewayAssociationState = value; }
}
// Check to see if GatewayAssociationState property is set
internal bool IsSetGatewayAssociationState()
{
return this._gatewayAssociationState != null;
}
///
/// Gets and sets the property Options.
///
/// The VPN connection options.
///
///
public VpnConnectionOptions Options
{
get { return this._options; }
set { this._options = value; }
}
// Check to see if Options property is set
internal bool IsSetOptions()
{
return this._options != null;
}
///
/// Gets and sets the property Routes.
///
/// The static routes associated with the VPN connection.
///
///
public List Routes
{
get { return this._routes; }
set { this._routes = value; }
}
// Check to see if Routes property is set
internal bool IsSetRoutes()
{
return this._routes != null && this._routes.Count > 0;
}
///
/// Gets and sets the property State.
///
/// The current state of the VPN connection.
///
///
public VpnState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Tags.
///
/// Any tags assigned to the VPN connection.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TransitGatewayId.
///
/// The ID of the transit gateway associated with the VPN connection.
///
///
public string TransitGatewayId
{
get { return this._transitGatewayId; }
set { this._transitGatewayId = value; }
}
// Check to see if TransitGatewayId property is set
internal bool IsSetTransitGatewayId()
{
return this._transitGatewayId != null;
}
///
/// Gets and sets the property Type.
///
/// The type of VPN connection.
///
///
public GatewayType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property VgwTelemetry.
///
/// Information about the VPN tunnel.
///
///
public List VgwTelemetry
{
get { return this._vgwTelemetry; }
set { this._vgwTelemetry = value; }
}
// Check to see if VgwTelemetry property is set
internal bool IsSetVgwTelemetry()
{
return this._vgwTelemetry != null && this._vgwTelemetry.Count > 0;
}
///
/// Gets and sets the property VpnConnectionId.
///
/// The ID of the VPN connection.
///
///
public string VpnConnectionId
{
get { return this._vpnConnectionId; }
set { this._vpnConnectionId = value; }
}
// Check to see if VpnConnectionId property is set
internal bool IsSetVpnConnectionId()
{
return this._vpnConnectionId != null;
}
///
/// Gets and sets the property VpnGatewayId.
///
/// The ID of the virtual private gateway at the Amazon Web Services side of the VPN connection.
///
///
public string VpnGatewayId
{
get { return this._vpnGatewayId; }
set { this._vpnGatewayId = value; }
}
// Check to see if VpnGatewayId property is set
internal bool IsSetVpnGatewayId()
{
return this._vpnGatewayId != null;
}
}
}