/*
* 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 docdb-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.DocDB.Model
{
///
/// Container for the parameters to the CreateDBInstance operation.
/// Creates a new instance.
///
public partial class CreateDBInstanceRequest : AmazonDocDBRequest
{
private bool? _autoMinorVersionUpgrade;
private string _availabilityZone;
private bool? _copyTagsToSnapshot;
private string _dbClusterIdentifier;
private string _dbInstanceClass;
private string _dbInstanceIdentifier;
private bool? _enablePerformanceInsights;
private string _engine;
private string _performanceInsightsKMSKeyId;
private string _preferredMaintenanceWindow;
private int? _promotionTier;
private List _tags = new List();
///
/// Gets and sets the property AutoMinorVersionUpgrade.
///
/// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform
/// minor version upgrades regardless of the value set.
///
///
///
/// Default: false
///
///
public bool AutoMinorVersionUpgrade
{
get { return this._autoMinorVersionUpgrade.GetValueOrDefault(); }
set { this._autoMinorVersionUpgrade = value; }
}
// Check to see if AutoMinorVersionUpgrade property is set
internal bool IsSetAutoMinorVersionUpgrade()
{
return this._autoMinorVersionUpgrade.HasValue;
}
///
/// Gets and sets the property AvailabilityZone.
///
/// The Amazon EC2 Availability Zone that the instance is created in.
///
///
///
/// Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services
/// Region.
///
///
///
/// Example: us-east-1d
///
///
public string AvailabilityZone
{
get { return this._availabilityZone; }
set { this._availabilityZone = value; }
}
// Check to see if AvailabilityZone property is set
internal bool IsSetAvailabilityZone()
{
return this._availabilityZone != null;
}
///
/// Gets and sets the property CopyTagsToSnapshot.
///
/// A value that indicates whether to copy tags from the DB instance to snapshots of the
/// DB instance. By default, tags are not copied.
///
///
public bool CopyTagsToSnapshot
{
get { return this._copyTagsToSnapshot.GetValueOrDefault(); }
set { this._copyTagsToSnapshot = value; }
}
// Check to see if CopyTagsToSnapshot property is set
internal bool IsSetCopyTagsToSnapshot()
{
return this._copyTagsToSnapshot.HasValue;
}
///
/// Gets and sets the property DBClusterIdentifier.
///
/// The identifier of the cluster that the instance will belong to.
///
///
[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 DBInstanceClass.
///
/// The compute and memory capacity of the instance; for example, db.r5.large
.
///
///
///
[AWSProperty(Required=true)]
public string DBInstanceClass
{
get { return this._dbInstanceClass; }
set { this._dbInstanceClass = value; }
}
// Check to see if DBInstanceClass property is set
internal bool IsSetDBInstanceClass()
{
return this._dbInstanceClass != null;
}
///
/// Gets and sets the property DBInstanceIdentifier.
///
/// The instance identifier. This parameter is stored as a lowercase string.
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 1 to 63 letters, numbers, or hyphens.
///
///
-
///
/// The first character must be a letter.
///
///
-
///
/// Cannot end with a hyphen or contain two consecutive hyphens.
///
///
///
/// Example: mydbinstance
///
///
[AWSProperty(Required=true)]
public string DBInstanceIdentifier
{
get { return this._dbInstanceIdentifier; }
set { this._dbInstanceIdentifier = value; }
}
// Check to see if DBInstanceIdentifier property is set
internal bool IsSetDBInstanceIdentifier()
{
return this._dbInstanceIdentifier != null;
}
///
/// Gets and sets the property EnablePerformanceInsights.
///
/// A value that indicates whether to enable Performance Insights for the DB Instance.
/// For more information, see Using
/// Amazon Performance Insights.
///
///
public bool EnablePerformanceInsights
{
get { return this._enablePerformanceInsights.GetValueOrDefault(); }
set { this._enablePerformanceInsights = value; }
}
// Check to see if EnablePerformanceInsights property is set
internal bool IsSetEnablePerformanceInsights()
{
return this._enablePerformanceInsights.HasValue;
}
///
/// Gets and sets the property Engine.
///
/// The name of the database engine to be used for this instance.
///
///
///
/// Valid value: docdb
///
///
[AWSProperty(Required=true)]
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 PerformanceInsightsKMSKeyId.
///
/// The KMS key identifier for encryption of Performance Insights data.
///
///
///
/// The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
/// key.
///
///
///
/// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB
/// uses your default KMS key. There is a default KMS key for your Amazon Web Services
/// account. Your Amazon Web Services account has a different default KMS key for each
/// Amazon Web Services region.
///
///
public string PerformanceInsightsKMSKeyId
{
get { return this._performanceInsightsKMSKeyId; }
set { this._performanceInsightsKMSKeyId = value; }
}
// Check to see if PerformanceInsightsKMSKeyId property is set
internal bool IsSetPerformanceInsightsKMSKeyId()
{
return this._performanceInsightsKMSKeyId != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// The time range each week during which system maintenance can occur, in Universal Coordinated
/// Time (UTC).
///
///
///
/// Format: ddd:hh24:mi-ddd:hh24:mi
///
///
///
/// The default is a 30-minute window selected at random from an 8-hour block of time
/// for each Amazon Web Services Region, occurring on a random day of the week.
///
///
///
/// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
///
///
///
/// Constraints: Minimum 30-minute 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 PromotionTier.
///
/// A value that specifies the order in which an Amazon DocumentDB replica is promoted
/// to the primary instance after a failure of the existing primary instance.
///
///
///
/// Default: 1
///
///
///
/// Valid values: 0-15
///
///
public int PromotionTier
{
get { return this._promotionTier.GetValueOrDefault(); }
set { this._promotionTier = value; }
}
// Check to see if PromotionTier property is set
internal bool IsSetPromotionTier()
{
return this._promotionTier.HasValue;
}
///
/// Gets and sets the property Tags.
///
/// The tags to be assigned to the instance. You can assign up to 10 tags to an instance.
///
///
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;
}
}
}