/*
* 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 dax-2017-04-19.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.DAX.Model
{
///
/// Contains all of the attributes of a specific DAX cluster.
///
public partial class Cluster
{
private int? _activeNodes;
private string _clusterArn;
private Endpoint _clusterDiscoveryEndpoint;
private ClusterEndpointEncryptionType _clusterEndpointEncryptionType;
private string _clusterName;
private string _description;
private string _iamRoleArn;
private List _nodeIdsToRemove = new List();
private List _nodes = new List();
private string _nodeType;
private NotificationConfiguration _notificationConfiguration;
private ParameterGroupStatus _parameterGroup;
private string _preferredMaintenanceWindow;
private List _securityGroups = new List();
private SSEDescription _sseDescription;
private string _status;
private string _subnetGroup;
private int? _totalNodes;
///
/// Gets and sets the property ActiveNodes.
///
/// The number of nodes in the cluster that are active (i.e., capable of serving requests).
///
///
public int ActiveNodes
{
get { return this._activeNodes.GetValueOrDefault(); }
set { this._activeNodes = value; }
}
// Check to see if ActiveNodes property is set
internal bool IsSetActiveNodes()
{
return this._activeNodes.HasValue;
}
///
/// Gets and sets the property ClusterArn.
///
/// The Amazon Resource Name (ARN) that uniquely identifies the cluster.
///
///
public string ClusterArn
{
get { return this._clusterArn; }
set { this._clusterArn = value; }
}
// Check to see if ClusterArn property is set
internal bool IsSetClusterArn()
{
return this._clusterArn != null;
}
///
/// Gets and sets the property ClusterDiscoveryEndpoint.
///
/// The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a
/// URL. Applications should use the URL to configure the DAX client to find their cluster.
///
///
public Endpoint ClusterDiscoveryEndpoint
{
get { return this._clusterDiscoveryEndpoint; }
set { this._clusterDiscoveryEndpoint = value; }
}
// Check to see if ClusterDiscoveryEndpoint property is set
internal bool IsSetClusterDiscoveryEndpoint()
{
return this._clusterDiscoveryEndpoint != null;
}
///
/// Gets and sets the property ClusterEndpointEncryptionType.
///
/// The type of encryption supported by the cluster's endpoint. Values are:
///
/// -
///
///
NONE
for no encryption
///
///
///
/// TLS
for Transport Layer Security
///
///
///
public ClusterEndpointEncryptionType ClusterEndpointEncryptionType
{
get { return this._clusterEndpointEncryptionType; }
set { this._clusterEndpointEncryptionType = value; }
}
// Check to see if ClusterEndpointEncryptionType property is set
internal bool IsSetClusterEndpointEncryptionType()
{
return this._clusterEndpointEncryptionType != null;
}
///
/// Gets and sets the property ClusterName.
///
/// The name of the DAX cluster.
///
///
public string ClusterName
{
get { return this._clusterName; }
set { this._clusterName = value; }
}
// Check to see if ClusterName property is set
internal bool IsSetClusterName()
{
return this._clusterName != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the cluster.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property IamRoleArn.
///
/// A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will
/// assume this role and use the role's permissions to access DynamoDB on your behalf.
///
///
public string IamRoleArn
{
get { return this._iamRoleArn; }
set { this._iamRoleArn = value; }
}
// Check to see if IamRoleArn property is set
internal bool IsSetIamRoleArn()
{
return this._iamRoleArn != null;
}
///
/// Gets and sets the property NodeIdsToRemove.
///
/// A list of nodes to be removed from the cluster.
///
///
public List NodeIdsToRemove
{
get { return this._nodeIdsToRemove; }
set { this._nodeIdsToRemove = value; }
}
// Check to see if NodeIdsToRemove property is set
internal bool IsSetNodeIdsToRemove()
{
return this._nodeIdsToRemove != null && this._nodeIdsToRemove.Count > 0;
}
///
/// Gets and sets the property Nodes.
///
/// A list of nodes that are currently in the cluster.
///
///
public List Nodes
{
get { return this._nodes; }
set { this._nodes = value; }
}
// Check to see if Nodes property is set
internal bool IsSetNodes()
{
return this._nodes != null && this._nodes.Count > 0;
}
///
/// Gets and sets the property NodeType.
///
/// The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the
/// same type.)
///
///
public string NodeType
{
get { return this._nodeType; }
set { this._nodeType = value; }
}
// Check to see if NodeType property is set
internal bool IsSetNodeType()
{
return this._nodeType != null;
}
///
/// Gets and sets the property NotificationConfiguration.
///
/// Describes a notification topic and its status. Notification topics are used for publishing
/// DAX events to subscribers using Amazon Simple Notification Service (SNS).
///
///
public NotificationConfiguration NotificationConfiguration
{
get { return this._notificationConfiguration; }
set { this._notificationConfiguration = value; }
}
// Check to see if NotificationConfiguration property is set
internal bool IsSetNotificationConfiguration()
{
return this._notificationConfiguration != null;
}
///
/// Gets and sets the property ParameterGroup.
///
/// The parameter group being used by nodes in the cluster.
///
///
public ParameterGroupStatus ParameterGroup
{
get { return this._parameterGroup; }
set { this._parameterGroup = value; }
}
// Check to see if ParameterGroup property is set
internal bool IsSetParameterGroup()
{
return this._parameterGroup != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// A range of time when maintenance of DAX cluster software will be performed. For example:
/// sun:01:00-sun:09:00
. Cluster maintenance normally takes less than 30
/// minutes, and is performed automatically within the maintenance window.
///
///
public string PreferredMaintenanceWindow
{
get { return this._preferredMaintenanceWindow; }
set { this._preferredMaintenanceWindow = value; }
}
// Check to see if PreferredMaintenanceWindow property is set
internal bool IsSetPreferredMaintenanceWindow()
{
return this._preferredMaintenanceWindow != null;
}
///
/// Gets and sets the property SecurityGroups.
///
/// A list of security groups, and the status of each, for the nodes in the cluster.
///
///
public List SecurityGroups
{
get { return this._securityGroups; }
set { this._securityGroups = value; }
}
// Check to see if SecurityGroups property is set
internal bool IsSetSecurityGroups()
{
return this._securityGroups != null && this._securityGroups.Count > 0;
}
///
/// Gets and sets the property SSEDescription.
///
/// The description of the server-side encryption status on the specified DAX cluster.
///
///
public SSEDescription SSEDescription
{
get { return this._sseDescription; }
set { this._sseDescription = value; }
}
// Check to see if SSEDescription property is set
internal bool IsSetSSEDescription()
{
return this._sseDescription != null;
}
///
/// Gets and sets the property Status.
///
/// The current status of the cluster.
///
///
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property SubnetGroup.
///
/// The subnet group where the DAX cluster is running.
///
///
public string SubnetGroup
{
get { return this._subnetGroup; }
set { this._subnetGroup = value; }
}
// Check to see if SubnetGroup property is set
internal bool IsSetSubnetGroup()
{
return this._subnetGroup != null;
}
///
/// Gets and sets the property TotalNodes.
///
/// The total number of nodes in the cluster.
///
///
public int TotalNodes
{
get { return this._totalNodes.GetValueOrDefault(); }
set { this._totalNodes = value; }
}
// Check to see if TotalNodes property is set
internal bool IsSetTotalNodes()
{
return this._totalNodes.HasValue;
}
}
}