/*
* 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 elasticache-2015-02-02.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.ElastiCache.Model
{
///
/// The status of the service update for a specific replication group
///
public partial class UpdateAction
{
private string _cacheClusterId;
private List _cacheNodeUpdateStatus = new List();
private string _engine;
private string _estimatedUpdateTime;
private List _nodeGroupUpdateStatus = new List();
private string _nodesUpdated;
private string _replicationGroupId;
private string _serviceUpdateName;
private DateTime? _serviceUpdateRecommendedApplyByDate;
private DateTime? _serviceUpdateReleaseDate;
private ServiceUpdateSeverity _serviceUpdateSeverity;
private ServiceUpdateStatus _serviceUpdateStatus;
private ServiceUpdateType _serviceUpdateType;
private SlaMet _slaMet;
private DateTime? _updateActionAvailableDate;
private UpdateActionStatus _updateActionStatus;
private DateTime? _updateActionStatusModifiedDate;
///
/// Gets and sets the property CacheClusterId.
///
/// The ID of the cache cluster
///
///
public string CacheClusterId
{
get { return this._cacheClusterId; }
set { this._cacheClusterId = value; }
}
// Check to see if CacheClusterId property is set
internal bool IsSetCacheClusterId()
{
return this._cacheClusterId != null;
}
///
/// Gets and sets the property CacheNodeUpdateStatus.
///
/// The status of the service update on the cache node
///
///
public List CacheNodeUpdateStatus
{
get { return this._cacheNodeUpdateStatus; }
set { this._cacheNodeUpdateStatus = value; }
}
// Check to see if CacheNodeUpdateStatus property is set
internal bool IsSetCacheNodeUpdateStatus()
{
return this._cacheNodeUpdateStatus != null && this._cacheNodeUpdateStatus.Count > 0;
}
///
/// Gets and sets the property Engine.
///
/// The Elasticache engine to which the update applies. Either Redis or Memcached
///
///
public string Engine
{
get { return this._engine; }
set { this._engine = value; }
}
// Check to see if Engine property is set
internal bool IsSetEngine()
{
return this._engine != null;
}
///
/// Gets and sets the property EstimatedUpdateTime.
///
/// The estimated length of time for the update to complete
///
///
public string EstimatedUpdateTime
{
get { return this._estimatedUpdateTime; }
set { this._estimatedUpdateTime = value; }
}
// Check to see if EstimatedUpdateTime property is set
internal bool IsSetEstimatedUpdateTime()
{
return this._estimatedUpdateTime != null;
}
///
/// Gets and sets the property NodeGroupUpdateStatus.
///
/// The status of the service update on the node group
///
///
public List NodeGroupUpdateStatus
{
get { return this._nodeGroupUpdateStatus; }
set { this._nodeGroupUpdateStatus = value; }
}
// Check to see if NodeGroupUpdateStatus property is set
internal bool IsSetNodeGroupUpdateStatus()
{
return this._nodeGroupUpdateStatus != null && this._nodeGroupUpdateStatus.Count > 0;
}
///
/// Gets and sets the property NodesUpdated.
///
/// The progress of the service update on the replication group
///
///
public string NodesUpdated
{
get { return this._nodesUpdated; }
set { this._nodesUpdated = value; }
}
// Check to see if NodesUpdated property is set
internal bool IsSetNodesUpdated()
{
return this._nodesUpdated != null;
}
///
/// Gets and sets the property ReplicationGroupId.
///
/// The ID of the replication group
///
///
public string ReplicationGroupId
{
get { return this._replicationGroupId; }
set { this._replicationGroupId = value; }
}
// Check to see if ReplicationGroupId property is set
internal bool IsSetReplicationGroupId()
{
return this._replicationGroupId != null;
}
///
/// Gets and sets the property ServiceUpdateName.
///
/// The unique ID of the service update
///
///
public string ServiceUpdateName
{
get { return this._serviceUpdateName; }
set { this._serviceUpdateName = value; }
}
// Check to see if ServiceUpdateName property is set
internal bool IsSetServiceUpdateName()
{
return this._serviceUpdateName != null;
}
///
/// Gets and sets the property ServiceUpdateRecommendedApplyByDate.
///
/// The recommended date to apply the service update to ensure compliance. For information
/// on compliance, see Self-Service
/// Security Updates for Compliance.
///
///
public DateTime ServiceUpdateRecommendedApplyByDate
{
get { return this._serviceUpdateRecommendedApplyByDate.GetValueOrDefault(); }
set { this._serviceUpdateRecommendedApplyByDate = value; }
}
// Check to see if ServiceUpdateRecommendedApplyByDate property is set
internal bool IsSetServiceUpdateRecommendedApplyByDate()
{
return this._serviceUpdateRecommendedApplyByDate.HasValue;
}
///
/// Gets and sets the property ServiceUpdateReleaseDate.
///
/// The date the update is first available
///
///
public DateTime ServiceUpdateReleaseDate
{
get { return this._serviceUpdateReleaseDate.GetValueOrDefault(); }
set { this._serviceUpdateReleaseDate = value; }
}
// Check to see if ServiceUpdateReleaseDate property is set
internal bool IsSetServiceUpdateReleaseDate()
{
return this._serviceUpdateReleaseDate.HasValue;
}
///
/// Gets and sets the property ServiceUpdateSeverity.
///
/// The severity of the service update
///
///
public ServiceUpdateSeverity ServiceUpdateSeverity
{
get { return this._serviceUpdateSeverity; }
set { this._serviceUpdateSeverity = value; }
}
// Check to see if ServiceUpdateSeverity property is set
internal bool IsSetServiceUpdateSeverity()
{
return this._serviceUpdateSeverity != null;
}
///
/// Gets and sets the property ServiceUpdateStatus.
///
/// The status of the service update
///
///
public ServiceUpdateStatus ServiceUpdateStatus
{
get { return this._serviceUpdateStatus; }
set { this._serviceUpdateStatus = value; }
}
// Check to see if ServiceUpdateStatus property is set
internal bool IsSetServiceUpdateStatus()
{
return this._serviceUpdateStatus != null;
}
///
/// Gets and sets the property ServiceUpdateType.
///
/// Reflects the nature of the service update
///
///
public ServiceUpdateType ServiceUpdateType
{
get { return this._serviceUpdateType; }
set { this._serviceUpdateType = value; }
}
// Check to see if ServiceUpdateType property is set
internal bool IsSetServiceUpdateType()
{
return this._serviceUpdateType != null;
}
///
/// Gets and sets the property SlaMet.
///
/// If yes, all nodes in the replication group have been updated by the recommended apply-by
/// date. If no, at least one node in the replication group have not been updated by the
/// recommended apply-by date. If N/A, the replication group was created after the recommended
/// apply-by date.
///
///
public SlaMet SlaMet
{
get { return this._slaMet; }
set { this._slaMet = value; }
}
// Check to see if SlaMet property is set
internal bool IsSetSlaMet()
{
return this._slaMet != null;
}
///
/// Gets and sets the property UpdateActionAvailableDate.
///
/// The date that the service update is available to a replication group
///
///
public DateTime UpdateActionAvailableDate
{
get { return this._updateActionAvailableDate.GetValueOrDefault(); }
set { this._updateActionAvailableDate = value; }
}
// Check to see if UpdateActionAvailableDate property is set
internal bool IsSetUpdateActionAvailableDate()
{
return this._updateActionAvailableDate.HasValue;
}
///
/// Gets and sets the property UpdateActionStatus.
///
/// The status of the update action
///
///
public UpdateActionStatus UpdateActionStatus
{
get { return this._updateActionStatus; }
set { this._updateActionStatus = value; }
}
// Check to see if UpdateActionStatus property is set
internal bool IsSetUpdateActionStatus()
{
return this._updateActionStatus != null;
}
///
/// Gets and sets the property UpdateActionStatusModifiedDate.
///
/// The date when the UpdateActionStatus was last modified
///
///
public DateTime UpdateActionStatusModifiedDate
{
get { return this._updateActionStatusModifiedDate.GetValueOrDefault(); }
set { this._updateActionStatusModifiedDate = value; }
}
// Check to see if UpdateActionStatusModifiedDate property is set
internal bool IsSetUpdateActionStatusModifiedDate()
{
return this._updateActionStatusModifiedDate.HasValue;
}
}
}