/*
* 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 directconnect-2012-10-25.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.DirectConnect.Model
{
///
/// Information about an interconnect.
///
public partial class Interconnect
{
private string _awsDevice;
private string _awsDeviceV2;
private string _awsLogicalDeviceId;
private string _bandwidth;
private HasLogicalRedundancy _hasLogicalRedundancy;
private string _interconnectId;
private string _interconnectName;
private InterconnectState _interconnectState;
private bool? _jumboFrameCapable;
private string _lagId;
private DateTime? _loaIssueTime;
private string _location;
private string _providerName;
private string _region;
private List _tags = new List();
///
/// Gets and sets the property AwsDevice.
///
/// The Direct Connect endpoint on which the physical connection terminates.
///
///
public string AwsDevice
{
get { return this._awsDevice; }
set { this._awsDevice = value; }
}
// Check to see if AwsDevice property is set
internal bool IsSetAwsDevice()
{
return this._awsDevice != null;
}
///
/// Gets and sets the property AwsDeviceV2.
///
/// The Direct Connect endpoint that terminates the physical connection.
///
///
public string AwsDeviceV2
{
get { return this._awsDeviceV2; }
set { this._awsDeviceV2 = value; }
}
// Check to see if AwsDeviceV2 property is set
internal bool IsSetAwsDeviceV2()
{
return this._awsDeviceV2 != null;
}
///
/// Gets and sets the property AwsLogicalDeviceId.
///
/// The Direct Connect endpoint that terminates the logical connection. This device might
/// be different than the device that terminates the physical connection.
///
///
public string AwsLogicalDeviceId
{
get { return this._awsLogicalDeviceId; }
set { this._awsLogicalDeviceId = value; }
}
// Check to see if AwsLogicalDeviceId property is set
internal bool IsSetAwsLogicalDeviceId()
{
return this._awsLogicalDeviceId != null;
}
///
/// Gets and sets the property Bandwidth.
///
/// The bandwidth of the connection.
///
///
public string Bandwidth
{
get { return this._bandwidth; }
set { this._bandwidth = value; }
}
// Check to see if Bandwidth property is set
internal bool IsSetBandwidth()
{
return this._bandwidth != null;
}
///
/// Gets and sets the property HasLogicalRedundancy.
///
/// Indicates whether the interconnect supports a secondary BGP in the same address family
/// (IPv4/IPv6).
///
///
public HasLogicalRedundancy HasLogicalRedundancy
{
get { return this._hasLogicalRedundancy; }
set { this._hasLogicalRedundancy = value; }
}
// Check to see if HasLogicalRedundancy property is set
internal bool IsSetHasLogicalRedundancy()
{
return this._hasLogicalRedundancy != null;
}
///
/// Gets and sets the property InterconnectId.
///
/// The ID of the interconnect.
///
///
public string InterconnectId
{
get { return this._interconnectId; }
set { this._interconnectId = value; }
}
// Check to see if InterconnectId property is set
internal bool IsSetInterconnectId()
{
return this._interconnectId != null;
}
///
/// Gets and sets the property InterconnectName.
///
/// The name of the interconnect.
///
///
public string InterconnectName
{
get { return this._interconnectName; }
set { this._interconnectName = value; }
}
// Check to see if InterconnectName property is set
internal bool IsSetInterconnectName()
{
return this._interconnectName != null;
}
///
/// Gets and sets the property InterconnectState.
///
/// The state of the interconnect. The following are the possible values:
///
/// -
///
///
requested
: The initial state of an interconnect. The interconnect stays
/// in the requested state until the Letter of Authorization (LOA) is sent to the customer.
///
/// -
///
///
pending
: The interconnect is approved, and is being initialized.
///
/// -
///
///
available
: The network link is up, and the interconnect is ready for
/// use.
///
/// -
///
///
down
: The network link is down.
///
/// -
///
///
deleting
: The interconnect is being deleted.
///
/// -
///
///
deleted
: The interconnect is deleted.
///
/// -
///
///
unknown
: The state of the interconnect is not available.
///
///
///
public InterconnectState InterconnectState
{
get { return this._interconnectState; }
set { this._interconnectState = value; }
}
// Check to see if InterconnectState property is set
internal bool IsSetInterconnectState()
{
return this._interconnectState != null;
}
///
/// Gets and sets the property JumboFrameCapable.
///
/// Indicates whether jumbo frames are supported.
///
///
public bool JumboFrameCapable
{
get { return this._jumboFrameCapable.GetValueOrDefault(); }
set { this._jumboFrameCapable = value; }
}
// Check to see if JumboFrameCapable property is set
internal bool IsSetJumboFrameCapable()
{
return this._jumboFrameCapable.HasValue;
}
///
/// Gets and sets the property LagId.
///
/// The ID of the LAG.
///
///
public string LagId
{
get { return this._lagId; }
set { this._lagId = value; }
}
// Check to see if LagId property is set
internal bool IsSetLagId()
{
return this._lagId != null;
}
///
/// Gets and sets the property LoaIssueTime.
///
/// The time of the most recent call to DescribeLoa for this connection.
///
///
public DateTime LoaIssueTime
{
get { return this._loaIssueTime.GetValueOrDefault(); }
set { this._loaIssueTime = value; }
}
// Check to see if LoaIssueTime property is set
internal bool IsSetLoaIssueTime()
{
return this._loaIssueTime.HasValue;
}
///
/// Gets and sets the property Location.
///
/// The location of the connection.
///
///
public string Location
{
get { return this._location; }
set { this._location = value; }
}
// Check to see if Location property is set
internal bool IsSetLocation()
{
return this._location != null;
}
///
/// Gets and sets the property ProviderName.
///
/// The name of the service provider associated with the interconnect.
///
///
public string ProviderName
{
get { return this._providerName; }
set { this._providerName = value; }
}
// Check to see if ProviderName property is set
internal bool IsSetProviderName()
{
return this._providerName != null;
}
///
/// Gets and sets the property Region.
///
/// The Amazon Web Services Region where the connection is located.
///
///
public string Region
{
get { return this._region; }
set { this._region = value; }
}
// Check to see if Region property is set
internal bool IsSetRegion()
{
return this._region != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags associated with the interconnect.
///
///
[AWSProperty(Min=1)]
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;
}
}
}