/*
* 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 rds-2014-10-31.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.RDS.Model
{
///
/// Container for the parameters to the ModifyCurrentDBClusterCapacity operation.
/// Set the capacity of an Aurora Serverless v1 DB cluster to a specific value.
///
///
///
/// Aurora Serverless v1 scales seamlessly based on the workload on the DB cluster. In
/// some cases, the capacity might not scale fast enough to meet a sudden change in workload,
/// such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
/// to set the capacity explicitly.
///
///
///
/// After this call sets the DB cluster capacity, Aurora Serverless v1 can automatically
/// scale the DB cluster based on the cooldown period for scaling up and the cooldown
/// period for scaling down.
///
///
///
/// For more information about Aurora Serverless v1, see Using
/// Amazon Aurora Serverless v1 in the Amazon Aurora User Guide.
///
///
///
/// If you call ModifyCurrentDBClusterCapacity
with the default TimeoutAction
,
/// connections that prevent Aurora Serverless v1 from finding a scaling point might be
/// dropped. For more information about scaling points, see
/// Autoscaling for Aurora Serverless v1 in the Amazon Aurora User Guide.
///
///
///
/// This action only applies to Aurora Serverless v1 DB clusters.
///
///
///
public partial class ModifyCurrentDBClusterCapacityRequest : AmazonRDSRequest
{
private int? _capacity;
private string _dbClusterIdentifier;
private int? _secondsBeforeTimeout;
private string _timeoutAction;
///
/// Gets and sets the property Capacity.
///
/// The DB cluster capacity.
///
///
///
/// When you change the capacity of a paused Aurora Serverless v1 DB cluster, it automatically
/// resumes.
///
///
///
/// Constraints:
///
/// -
///
/// For Aurora MySQL, valid capacity values are
1
, 2
, 4
,
/// 8
, 16
, 32
, 64
, 128
,
/// and 256
.
///
/// -
///
/// For Aurora PostgreSQL, valid capacity values are
2
, 4
, 8
,
/// 16
, 32
, 64
, 192
, and 384
.
///
///
///
public int Capacity
{
get { return this._capacity.GetValueOrDefault(); }
set { this._capacity = value; }
}
// Check to see if Capacity property is set
internal bool IsSetCapacity()
{
return this._capacity.HasValue;
}
///
/// Gets and sets the property DBClusterIdentifier.
///
/// The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.
///
///
///
/// Constraints:
///
/// -
///
/// Must match the identifier of an existing DB cluster.
///
///
///
[AWSProperty(Required=true)]
public string DBClusterIdentifier
{
get { return this._dbClusterIdentifier; }
set { this._dbClusterIdentifier = value; }
}
// Check to see if DBClusterIdentifier property is set
internal bool IsSetDBClusterIdentifier()
{
return this._dbClusterIdentifier != null;
}
///
/// Gets and sets the property SecondsBeforeTimeout.
///
/// The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling
/// point to perform seamless scaling before enforcing the timeout action. The default
/// is 300.
///
///
///
/// Specify a value between 10 and 600 seconds.
///
///
public int SecondsBeforeTimeout
{
get { return this._secondsBeforeTimeout.GetValueOrDefault(); }
set { this._secondsBeforeTimeout = value; }
}
// Check to see if SecondsBeforeTimeout property is set
internal bool IsSetSecondsBeforeTimeout()
{
return this._secondsBeforeTimeout.HasValue;
}
///
/// Gets and sets the property TimeoutAction.
///
/// The action to take when the timeout is reached, either ForceApplyCapacityChange
/// or RollbackCapacityChange
.
///
///
///
/// ForceApplyCapacityChange
, the default, sets the capacity to the specified
/// value as soon as possible.
///
///
///
/// RollbackCapacityChange
ignores the capacity change if a scaling point
/// isn't found in the timeout period.
///
///
public string TimeoutAction
{
get { return this._timeoutAction; }
set { this._timeoutAction = value; }
}
// Check to see if TimeoutAction property is set
internal bool IsSetTimeoutAction()
{
return this._timeoutAction != null;
}
}
}