/*
* 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 a link aggregation group (LAG).
///
public partial class UpdateLagResponse : AmazonWebServiceResponse
{
private bool? _allowsHostedConnections;
private string _awsDevice;
private string _awsDeviceV2;
private string _awsLogicalDeviceId;
private List _connections = new List();
private string _connectionsBandwidth;
private string _encryptionMode;
private HasLogicalRedundancy _hasLogicalRedundancy;
private bool? _jumboFrameCapable;
private string _lagId;
private string _lagName;
private LagState _lagState;
private string _location;
private bool? _macSecCapable;
private List _macSecKeys = new List();
private int? _minimumLinks;
private int? _numberOfConnections;
private string _ownerAccount;
private string _providerName;
private string _region;
private List _tags = new List();
///
/// Gets and sets the property AllowsHostedConnections.
///
/// Indicates whether the LAG can host other connections.
///
///
public bool AllowsHostedConnections
{
get { return this._allowsHostedConnections.GetValueOrDefault(); }
set { this._allowsHostedConnections = value; }
}
// Check to see if AllowsHostedConnections property is set
internal bool IsSetAllowsHostedConnections()
{
return this._allowsHostedConnections.HasValue;
}
///
/// Gets and sets the property AwsDevice.
///
/// The Direct Connect endpoint that hosts the LAG.
///
///
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 hosts the LAG.
///
///
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 Connections.
///
/// The connections bundled by the LAG.
///
///
public List Connections
{
get { return this._connections; }
set { this._connections = value; }
}
// Check to see if Connections property is set
internal bool IsSetConnections()
{
return this._connections != null && this._connections.Count > 0;
}
///
/// Gets and sets the property ConnectionsBandwidth.
///
/// The individual bandwidth of the physical connections bundled by the LAG. The possible
/// values are 1Gbps and 10Gbps.
///
///
public string ConnectionsBandwidth
{
get { return this._connectionsBandwidth; }
set { this._connectionsBandwidth = value; }
}
// Check to see if ConnectionsBandwidth property is set
internal bool IsSetConnectionsBandwidth()
{
return this._connectionsBandwidth != null;
}
///
/// Gets and sets the property EncryptionMode.
///
/// The LAG MAC Security (MACsec) encryption mode.
///
///
///
/// The valid values are no_encrypt
, should_encrypt
, and must_encrypt
.
///
///
public string EncryptionMode
{
get { return this._encryptionMode; }
set { this._encryptionMode = value; }
}
// Check to see if EncryptionMode property is set
internal bool IsSetEncryptionMode()
{
return this._encryptionMode != null;
}
///
/// Gets and sets the property HasLogicalRedundancy.
///
/// Indicates whether the LAG supports a secondary BGP peer 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 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 LagName.
///
/// The name of the LAG.
///
///
public string LagName
{
get { return this._lagName; }
set { this._lagName = value; }
}
// Check to see if LagName property is set
internal bool IsSetLagName()
{
return this._lagName != null;
}
///
/// Gets and sets the property LagState.
///
/// The state of the LAG. The following are the possible values:
///
/// -
///
///
requested
: The initial state of a LAG. The LAG stays in the requested
/// state until the Letter of Authorization (LOA) is available.
///
/// -
///
///
pending
: The LAG has been approved and is being initialized.
///
/// -
///
///
available
: The network link is established and the LAG is ready for
/// use.
///
/// -
///
///
down
: The network link is down.
///
/// -
///
///
deleting
: The LAG is being deleted.
///
/// -
///
///
deleted
: The LAG is deleted.
///
/// -
///
///
unknown
: The state of the LAG is not available.
///
///
///
public LagState LagState
{
get { return this._lagState; }
set { this._lagState = value; }
}
// Check to see if LagState property is set
internal bool IsSetLagState()
{
return this._lagState != null;
}
///
/// Gets and sets the property Location.
///
/// The location of the LAG.
///
///
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 MacSecCapable.
///
/// Indicates whether the LAG supports MAC Security (MACsec).
///
///
public bool MacSecCapable
{
get { return this._macSecCapable.GetValueOrDefault(); }
set { this._macSecCapable = value; }
}
// Check to see if MacSecCapable property is set
internal bool IsSetMacSecCapable()
{
return this._macSecCapable.HasValue;
}
///
/// Gets and sets the property MacSecKeys.
///
/// The MAC Security (MACsec) security keys associated with the LAG.
///
///
public List MacSecKeys
{
get { return this._macSecKeys; }
set { this._macSecKeys = value; }
}
// Check to see if MacSecKeys property is set
internal bool IsSetMacSecKeys()
{
return this._macSecKeys != null && this._macSecKeys.Count > 0;
}
///
/// Gets and sets the property MinimumLinks.
///
/// The minimum number of physical dedicated connections that must be operational for
/// the LAG itself to be operational.
///
///
public int MinimumLinks
{
get { return this._minimumLinks.GetValueOrDefault(); }
set { this._minimumLinks = value; }
}
// Check to see if MinimumLinks property is set
internal bool IsSetMinimumLinks()
{
return this._minimumLinks.HasValue;
}
///
/// Gets and sets the property NumberOfConnections.
///
/// The number of physical dedicated connections bundled by the LAG, up to a maximum of
/// 10.
///
///
public int NumberOfConnections
{
get { return this._numberOfConnections.GetValueOrDefault(); }
set { this._numberOfConnections = value; }
}
// Check to see if NumberOfConnections property is set
internal bool IsSetNumberOfConnections()
{
return this._numberOfConnections.HasValue;
}
///
/// Gets and sets the property OwnerAccount.
///
/// The ID of the Amazon Web Services account that owns the LAG.
///
///
public string OwnerAccount
{
get { return this._ownerAccount; }
set { this._ownerAccount = value; }
}
// Check to see if OwnerAccount property is set
internal bool IsSetOwnerAccount()
{
return this._ownerAccount != null;
}
///
/// Gets and sets the property ProviderName.
///
/// The name of the service provider associated with the LAG.
///
///
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 LAG.
///
///
[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;
}
}
}