/*
* 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 RestoreDBInstanceFromS3 operation.
/// Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases
/// by using backup files. You can create a backup of your on-premises database, store
/// it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file
/// onto a new Amazon RDS DB instance running MySQL. For more information, see Importing
/// Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.
///
///
///
///
/// This command doesn't apply to RDS Custom.
///
///
public partial class RestoreDBInstanceFromS3Request : AmazonRDSRequest
{
private int? _allocatedStorage;
private bool? _autoMinorVersionUpgrade;
private string _availabilityZone;
private int? _backupRetentionPeriod;
private bool? _copyTagsToSnapshot;
private string _dbInstanceClass;
private string _dbInstanceIdentifier;
private string _dbName;
private string _dbParameterGroupName;
private List _dbSecurityGroups = new List();
private string _dbSubnetGroupName;
private bool? _deletionProtection;
private List _enableCloudwatchLogsExports = new List();
private bool? _enableIAMDatabaseAuthentication;
private bool? _enablePerformanceInsights;
private string _engine;
private string _engineVersion;
private int? _iops;
private string _kmsKeyId;
private string _licenseModel;
private bool? _manageMasterUserPassword;
private string _masterUsername;
private string _masterUserPassword;
private string _masterUserSecretKmsKeyId;
private int? _maxAllocatedStorage;
private int? _monitoringInterval;
private string _monitoringRoleArn;
private bool? _multiAZ;
private string _networkType;
private string _optionGroupName;
private string _performanceInsightsKMSKeyId;
private int? _performanceInsightsRetentionPeriod;
private int? _port;
private string _preferredBackupWindow;
private string _preferredMaintenanceWindow;
private List _processorFeatures = new List();
private bool? _publiclyAccessible;
private string _s3BucketName;
private string _s3IngestionRoleArn;
private string _s3Prefix;
private string _sourceEngine;
private string _sourceEngineVersion;
private bool? _storageEncrypted;
private int? _storageThroughput;
private string _storageType;
private List _tags = new List();
private bool? _useDefaultProcessorFeatures;
private List _vpcSecurityGroupIds = new List();
///
/// Gets and sets the property AllocatedStorage.
///
/// The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow
/// the allocation rules specified in CreateDBInstance
.
///
///
///
/// Be sure to allocate enough storage for your new DB instance so that the restore operation
/// can succeed. You can also allocate additional storage for future growth.
///
///
///
public int AllocatedStorage
{
get { return this._allocatedStorage.GetValueOrDefault(); }
set { this._allocatedStorage = value; }
}
// Check to see if AllocatedStorage property is set
internal bool IsSetAllocatedStorage()
{
return this._allocatedStorage.HasValue;
}
///
/// Gets and sets the property AutoMinorVersionUpgrade.
///
/// A value that indicates whether minor engine upgrades are applied automatically to
/// the DB instance during the maintenance window. By default, minor engine upgrades are
/// not applied automatically.
///
///
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 Availability Zone that the DB instance is created in. For information about Amazon
/// Web Services Regions and Availability Zones, see Regions
/// and Availability Zones in the Amazon RDS User Guide.
///
///
///
/// Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services
/// Region.
///
///
///
/// Example: us-east-1d
///
///
///
/// Constraint: The AvailabilityZone
parameter can't be specified if the
/// DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the
/// same Amazon Web Services Region as the current endpoint.
///
///
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 BackupRetentionPeriod.
///
/// The number of days for which automated backups are retained. Setting this parameter
/// to a positive number enables backups. For more information, see CreateDBInstance
.
///
///
public int BackupRetentionPeriod
{
get { return this._backupRetentionPeriod.GetValueOrDefault(); }
set { this._backupRetentionPeriod = value; }
}
// Check to see if BackupRetentionPeriod property is set
internal bool IsSetBackupRetentionPeriod()
{
return this._backupRetentionPeriod.HasValue;
}
///
/// Gets and sets the property CopyTagsToSnapshot.
///
/// A value that indicates whether to copy all 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 DBInstanceClass.
///
/// The compute and memory capacity of the DB instance, for example db.m4.large. Not all
/// DB instance classes are available in all Amazon Web Services Regions, or for all database
/// engines. For the full list of DB instance classes, and availability for your engine,
/// see DB
/// Instance Class in the Amazon RDS User Guide.
///
///
///
/// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
///
///
[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 DB instance identifier. This parameter is stored as a lowercase string.
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 1 to 63 letters, numbers, or hyphens.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Can't 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 DBName.
///
/// The name of the database to create when the DB instance is created. Follow the naming
/// rules specified in CreateDBInstance
.
///
///
public string DBName
{
get { return this._dbName; }
set { this._dbName = value; }
}
// Check to see if DBName property is set
internal bool IsSetDBName()
{
return this._dbName != null;
}
///
/// Gets and sets the property DBParameterGroupName.
///
/// The name of the DB parameter group to associate with this DB instance.
///
///
///
/// If you do not specify a value for DBParameterGroupName
, then the default
/// DBParameterGroup
for the specified DB engine is used.
///
///
public string DBParameterGroupName
{
get { return this._dbParameterGroupName; }
set { this._dbParameterGroupName = value; }
}
// Check to see if DBParameterGroupName property is set
internal bool IsSetDBParameterGroupName()
{
return this._dbParameterGroupName != null;
}
///
/// Gets and sets the property DBSecurityGroups.
///
/// A list of DB security groups to associate with this DB instance.
///
///
///
/// Default: The default DB security group for the database engine.
///
///
public List DBSecurityGroups
{
get { return this._dbSecurityGroups; }
set { this._dbSecurityGroups = value; }
}
// Check to see if DBSecurityGroups property is set
internal bool IsSetDBSecurityGroups()
{
return this._dbSecurityGroups != null && this._dbSecurityGroups.Count > 0;
}
///
/// Gets and sets the property DBSubnetGroupName.
///
/// A DB subnet group to associate with this DB instance.
///
///
///
/// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
///
///
///
/// Example: mydbsubnetgroup
///
///
public string DBSubnetGroupName
{
get { return this._dbSubnetGroupName; }
set { this._dbSubnetGroupName = value; }
}
// Check to see if DBSubnetGroupName property is set
internal bool IsSetDBSubnetGroupName()
{
return this._dbSubnetGroupName != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// A value that indicates whether the DB instance has deletion protection enabled. The
/// database can't be deleted when deletion protection is enabled. By default, deletion
/// protection isn't enabled. For more information, see
/// Deleting a DB Instance.
///
///
public bool DeletionProtection
{
get { return this._deletionProtection.GetValueOrDefault(); }
set { this._deletionProtection = value; }
}
// Check to see if DeletionProtection property is set
internal bool IsSetDeletionProtection()
{
return this._deletionProtection.HasValue;
}
///
/// Gets and sets the property EnableCloudwatchLogsExports.
///
/// The list of logs that the restored DB instance is to export to CloudWatch Logs. The
/// values in the list depend on the DB engine being used. For more information, see Publishing
/// Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
///
///
public List EnableCloudwatchLogsExports
{
get { return this._enableCloudwatchLogsExports; }
set { this._enableCloudwatchLogsExports = value; }
}
// Check to see if EnableCloudwatchLogsExports property is set
internal bool IsSetEnableCloudwatchLogsExports()
{
return this._enableCloudwatchLogsExports != null && this._enableCloudwatchLogsExports.Count > 0;
}
///
/// Gets and sets the property EnableIAMDatabaseAuthentication.
///
/// A value that indicates whether to enable mapping of Amazon Web Services Identity and
/// Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.
///
///
///
/// For more information about IAM database authentication, see
/// IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User
/// Guide.
///
///
public bool EnableIAMDatabaseAuthentication
{
get { return this._enableIAMDatabaseAuthentication.GetValueOrDefault(); }
set { this._enableIAMDatabaseAuthentication = value; }
}
// Check to see if EnableIAMDatabaseAuthentication property is set
internal bool IsSetEnableIAMDatabaseAuthentication()
{
return this._enableIAMDatabaseAuthentication.HasValue;
}
///
/// 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 in the Amazon RDS User Guide.
///
///
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 Values: mysql
///
///
[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 EngineVersion.
///
/// The version number of the database engine to use. Choose the latest minor version
/// of your database engine. For information about engine versions, see CreateDBInstance
,
/// or call DescribeDBEngineVersions
.
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property Iops.
///
/// The amount of Provisioned IOPS (input/output operations per second) to allocate initially
/// for the DB instance. For information about valid IOPS values, see Amazon
/// RDS Provisioned IOPS storage in the Amazon RDS User Guide.
///
///
public int Iops
{
get { return this._iops.GetValueOrDefault(); }
set { this._iops = value; }
}
// Check to see if Iops property is set
internal bool IsSetIops()
{
return this._iops.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The Amazon Web Services KMS key identifier for an encrypted DB instance.
///
///
///
/// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.
///
///
///
/// If the StorageEncrypted
parameter is enabled, and you do not specify
/// a value for the KmsKeyId
parameter, then Amazon RDS will use 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 KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property LicenseModel.
///
/// The license model for this DB instance. Use general-public-license
.
///
///
public string LicenseModel
{
get { return this._licenseModel; }
set { this._licenseModel = value; }
}
// Check to see if LicenseModel property is set
internal bool IsSetLicenseModel()
{
return this._licenseModel != null;
}
///
/// Gets and sets the property ManageMasterUserPassword.
///
/// A value that indicates whether to manage the master user password with Amazon Web
/// Services Secrets Manager.
///
///
///
/// For more information, see Password
/// management with Amazon Web Services Secrets Manager in the Amazon RDS User
/// Guide.
///
///
///
/// Constraints:
///
/// -
///
/// Can't manage the master user password with Amazon Web Services Secrets Manager if
///
MasterUserPassword
is specified.
///
///
///
public bool ManageMasterUserPassword
{
get { return this._manageMasterUserPassword.GetValueOrDefault(); }
set { this._manageMasterUserPassword = value; }
}
// Check to see if ManageMasterUserPassword property is set
internal bool IsSetManageMasterUserPassword()
{
return this._manageMasterUserPassword.HasValue;
}
///
/// Gets and sets the property MasterUsername.
///
/// The name for the master user.
///
///
///
/// Constraints:
///
/// -
///
/// Must be 1 to 16 letters or numbers.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Can't be a reserved word for the chosen database engine.
///
///
///
public string MasterUsername
{
get { return this._masterUsername; }
set { this._masterUsername = value; }
}
// Check to see if MasterUsername property is set
internal bool IsSetMasterUsername()
{
return this._masterUsername != null;
}
///
/// Gets and sets the property MasterUserPassword.
///
/// The password for the master user. The password can include any printable ASCII character
/// except "/", """, or "@".
///
///
///
/// Constraints: Can't be specified if ManageMasterUserPassword
is turned
/// on.
///
///
///
/// MariaDB
///
///
///
/// Constraints: Must contain from 8 to 41 characters.
///
///
///
/// Microsoft SQL Server
///
///
///
/// Constraints: Must contain from 8 to 128 characters.
///
///
///
/// MySQL
///
///
///
/// Constraints: Must contain from 8 to 41 characters.
///
///
///
/// Oracle
///
///
///
/// Constraints: Must contain from 8 to 30 characters.
///
///
///
/// PostgreSQL
///
///
///
/// Constraints: Must contain from 8 to 128 characters.
///
///
public string MasterUserPassword
{
get { return this._masterUserPassword; }
set { this._masterUserPassword = value; }
}
// Check to see if MasterUserPassword property is set
internal bool IsSetMasterUserPassword()
{
return this._masterUserPassword != null;
}
///
/// Gets and sets the property MasterUserSecretKmsKeyId.
///
/// The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
/// generated and managed in Amazon Web Services Secrets Manager.
///
///
///
/// This setting is valid only if the master user password is managed by RDS in Amazon
/// Web Services Secrets Manager for the DB instance.
///
///
///
/// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.
///
///
///
/// If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
/// KMS key is used to encrypt the secret. If the secret is in a different Amazon Web
/// Services account, then you can't use the aws/secretsmanager
KMS key to
/// encrypt the secret, and you must use a customer managed 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 MasterUserSecretKmsKeyId
{
get { return this._masterUserSecretKmsKeyId; }
set { this._masterUserSecretKmsKeyId = value; }
}
// Check to see if MasterUserSecretKmsKeyId property is set
internal bool IsSetMasterUserSecretKmsKeyId()
{
return this._masterUserSecretKmsKeyId != null;
}
///
/// Gets and sets the property MaxAllocatedStorage.
///
/// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the
/// storage of the DB instance.
///
///
///
/// For more information about this setting, including limitations that apply to it, see
///
/// Managing capacity automatically with Amazon RDS storage autoscaling in the Amazon
/// RDS User Guide.
///
///
public int MaxAllocatedStorage
{
get { return this._maxAllocatedStorage.GetValueOrDefault(); }
set { this._maxAllocatedStorage = value; }
}
// Check to see if MaxAllocatedStorage property is set
internal bool IsSetMaxAllocatedStorage()
{
return this._maxAllocatedStorage.HasValue;
}
///
/// Gets and sets the property MonitoringInterval.
///
/// The interval, in seconds, between points when Enhanced Monitoring metrics are collected
/// for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0.
///
///
///
/// If MonitoringRoleArn
is specified, then you must also set MonitoringInterval
/// to a value other than 0.
///
///
///
/// Valid Values: 0, 1, 5, 10, 15, 30, 60
///
///
///
/// Default: 0
///
///
public int MonitoringInterval
{
get { return this._monitoringInterval.GetValueOrDefault(); }
set { this._monitoringInterval = value; }
}
// Check to see if MonitoringInterval property is set
internal bool IsSetMonitoringInterval()
{
return this._monitoringInterval.HasValue;
}
///
/// Gets and sets the property MonitoringRoleArn.
///
/// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon
/// CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess
.
/// For information on creating a monitoring role, see Setting
/// Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.
///
///
///
/// If MonitoringInterval
is set to a value other than 0, then you must supply
/// a MonitoringRoleArn
value.
///
///
public string MonitoringRoleArn
{
get { return this._monitoringRoleArn; }
set { this._monitoringRoleArn = value; }
}
// Check to see if MonitoringRoleArn property is set
internal bool IsSetMonitoringRoleArn()
{
return this._monitoringRoleArn != null;
}
///
/// Gets and sets the property MultiAZ.
///
/// A value that indicates whether the DB instance is a Multi-AZ deployment. If the DB
/// instance is a Multi-AZ deployment, you can't set the AvailabilityZone
/// parameter.
///
///
public bool MultiAZ
{
get { return this._multiAZ.GetValueOrDefault(); }
set { this._multiAZ = value; }
}
// Check to see if MultiAZ property is set
internal bool IsSetMultiAZ()
{
return this._multiAZ.HasValue;
}
///
/// Gets and sets the property NetworkType.
///
/// The network type of the DB instance.
///
///
///
/// Valid values:
///
/// -
///
///
IPV4
///
/// -
///
///
DUAL
///
///
///
/// The network type is determined by the DBSubnetGroup
specified for the
/// DB instance. A DBSubnetGroup
can support only the IPv4 protocol or the
/// IPv4 and the IPv6 protocols (DUAL
).
///
///
///
/// For more information, see
/// Working with a DB instance in a VPC in the Amazon RDS User Guide.
///
///
public string NetworkType
{
get { return this._networkType; }
set { this._networkType = value; }
}
// Check to see if NetworkType property is set
internal bool IsSetNetworkType()
{
return this._networkType != null;
}
///
/// Gets and sets the property OptionGroupName.
///
/// The name of the option group to associate with this DB instance. If this argument
/// is omitted, the default option group for the specified engine is used.
///
///
public string OptionGroupName
{
get { return this._optionGroupName; }
set { this._optionGroupName = value; }
}
// Check to see if OptionGroupName property is set
internal bool IsSetOptionGroupName()
{
return this._optionGroupName != null;
}
///
/// Gets and sets the property PerformanceInsightsKMSKeyId.
///
/// The Amazon Web Services KMS key identifier for encryption of Performance Insights
/// data.
///
///
///
/// The Amazon Web Services 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
/// RDS 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 PerformanceInsightsRetentionPeriod.
///
/// The number of days to retain Performance Insights data. The default is 7 days. The
/// following values are valid:
///
/// -
///
/// 7
///
///
-
///
/// month * 31, where month is a number of months from 1-23
///
///
-
///
/// 731
///
///
///
/// For example, the following values are valid:
///
/// -
///
/// 93 (3 months * 31)
///
///
-
///
/// 341 (11 months * 31)
///
///
-
///
/// 589 (19 months * 31)
///
///
-
///
/// 731
///
///
///
/// If you specify a retention period such as 94, which isn't a valid value, RDS issues
/// an error.
///
///
public int PerformanceInsightsRetentionPeriod
{
get { return this._performanceInsightsRetentionPeriod.GetValueOrDefault(); }
set { this._performanceInsightsRetentionPeriod = value; }
}
// Check to see if PerformanceInsightsRetentionPeriod property is set
internal bool IsSetPerformanceInsightsRetentionPeriod()
{
return this._performanceInsightsRetentionPeriod.HasValue;
}
///
/// Gets and sets the property Port.
///
/// The port number on which the database accepts connections.
///
///
///
/// Type: Integer
///
///
///
/// Valid Values: 1150
-65535
///
///
///
/// Default: 3306
///
///
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property PreferredBackupWindow.
///
/// The time range each day during which automated backups are created if automated backups
/// are enabled. For more information, see Backup
/// window in the Amazon RDS User Guide.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format
hh24:mi-hh24:mi
.
///
/// -
///
/// Must be in Universal Coordinated Time (UTC).
///
///
-
///
/// Must not conflict with the preferred maintenance window.
///
///
-
///
/// Must be at least 30 minutes.
///
///
///
public string PreferredBackupWindow
{
get { return this._preferredBackupWindow; }
set { this._preferredBackupWindow = value; }
}
// Check to see if PreferredBackupWindow property is set
internal bool IsSetPreferredBackupWindow()
{
return this._preferredBackupWindow != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// The time range each week during which system maintenance can occur, in Universal Coordinated
/// Time (UTC). For more information, see Amazon
/// RDS Maintenance Window in the Amazon RDS User Guide.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format
ddd:hh24:mi-ddd:hh24:mi
.
///
/// -
///
/// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
///
///
-
///
/// Must be in Universal Coordinated Time (UTC).
///
///
-
///
/// Must not conflict with the preferred backup window.
///
///
-
///
/// Must be at least 30 minutes.
///
///
///
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 ProcessorFeatures.
///
/// The number of CPU cores and the number of threads per core for the DB instance class
/// of the DB instance.
///
///
public List ProcessorFeatures
{
get { return this._processorFeatures; }
set { this._processorFeatures = value; }
}
// Check to see if ProcessorFeatures property is set
internal bool IsSetProcessorFeatures()
{
return this._processorFeatures != null && this._processorFeatures.Count > 0;
}
///
/// Gets and sets the property PubliclyAccessible.
///
/// A value that indicates whether the DB instance is publicly accessible.
///
///
///
/// When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint
/// resolves to the private IP address from within the DB instance's virtual private cloud
/// (VPC). It resolves to the public IP address from outside of the DB instance's VPC.
/// Access to the DB instance is ultimately controlled by the security group it uses.
/// That public access is not permitted if the security group assigned to the DB instance
/// doesn't permit it.
///
///
///
/// When the DB instance isn't publicly accessible, it is an internal DB instance with
/// a DNS name that resolves to a private IP address.
///
///
///
/// For more information, see CreateDBInstance.
///
///
public bool PubliclyAccessible
{
get { return this._publiclyAccessible.GetValueOrDefault(); }
set { this._publiclyAccessible = value; }
}
// Check to see if PubliclyAccessible property is set
internal bool IsSetPubliclyAccessible()
{
return this._publiclyAccessible.HasValue;
}
///
/// Gets and sets the property S3BucketName.
///
/// The name of your Amazon S3 bucket that contains your database backup file.
///
///
[AWSProperty(Required=true)]
public string S3BucketName
{
get { return this._s3BucketName; }
set { this._s3BucketName = value; }
}
// Check to see if S3BucketName property is set
internal bool IsSetS3BucketName()
{
return this._s3BucketName != null;
}
///
/// Gets and sets the property S3IngestionRoleArn.
///
/// An Amazon Web Services Identity and Access Management (IAM) role to allow Amazon RDS
/// to access your Amazon S3 bucket.
///
///
[AWSProperty(Required=true)]
public string S3IngestionRoleArn
{
get { return this._s3IngestionRoleArn; }
set { this._s3IngestionRoleArn = value; }
}
// Check to see if S3IngestionRoleArn property is set
internal bool IsSetS3IngestionRoleArn()
{
return this._s3IngestionRoleArn != null;
}
///
/// Gets and sets the property S3Prefix.
///
/// The prefix of your Amazon S3 bucket.
///
///
public string S3Prefix
{
get { return this._s3Prefix; }
set { this._s3Prefix = value; }
}
// Check to see if S3Prefix property is set
internal bool IsSetS3Prefix()
{
return this._s3Prefix != null;
}
///
/// Gets and sets the property SourceEngine.
///
/// The name of the engine of your source database.
///
///
///
/// Valid Values: mysql
///
///
[AWSProperty(Required=true)]
public string SourceEngine
{
get { return this._sourceEngine; }
set { this._sourceEngine = value; }
}
// Check to see if SourceEngine property is set
internal bool IsSetSourceEngine()
{
return this._sourceEngine != null;
}
///
/// Gets and sets the property SourceEngineVersion.
///
/// The version of the database that the backup files were created from.
///
///
///
/// MySQL versions 5.6 and 5.7 are supported.
///
///
///
/// Example: 5.6.40
///
///
[AWSProperty(Required=true)]
public string SourceEngineVersion
{
get { return this._sourceEngineVersion; }
set { this._sourceEngineVersion = value; }
}
// Check to see if SourceEngineVersion property is set
internal bool IsSetSourceEngineVersion()
{
return this._sourceEngineVersion != null;
}
///
/// Gets and sets the property StorageEncrypted.
///
/// A value that indicates whether the new DB instance is encrypted or not.
///
///
public bool StorageEncrypted
{
get { return this._storageEncrypted.GetValueOrDefault(); }
set { this._storageEncrypted = value; }
}
// Check to see if StorageEncrypted property is set
internal bool IsSetStorageEncrypted()
{
return this._storageEncrypted.HasValue;
}
///
/// Gets and sets the property StorageThroughput.
///
/// Specifies the storage throughput value for the DB instance.
///
///
///
/// This setting doesn't apply to RDS Custom or Amazon Aurora.
///
///
public int StorageThroughput
{
get { return this._storageThroughput.GetValueOrDefault(); }
set { this._storageThroughput = value; }
}
// Check to see if StorageThroughput property is set
internal bool IsSetStorageThroughput()
{
return this._storageThroughput.HasValue;
}
///
/// Gets and sets the property StorageType.
///
/// Specifies the storage type to be associated with the DB instance.
///
///
///
/// Valid values: gp2 | gp3 | io1 | standard
///
///
///
/// If you specify io1
or gp3
, you must also include a value
/// for the Iops
parameter.
///
///
///
/// Default: io1
if the Iops
parameter is specified; otherwise
/// gp2
///
///
public string StorageType
{
get { return this._storageType; }
set { this._storageType = value; }
}
// Check to see if StorageType property is set
internal bool IsSetStorageType()
{
return this._storageType != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags to associate with this DB instance. For more information, see Tagging
/// Amazon RDS Resources in the Amazon RDS User Guide.
///
///
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;
}
///
/// Gets and sets the property UseDefaultProcessorFeatures.
///
/// A value that indicates whether the DB instance class of the DB instance uses its default
/// processor features.
///
///
public bool UseDefaultProcessorFeatures
{
get { return this._useDefaultProcessorFeatures.GetValueOrDefault(); }
set { this._useDefaultProcessorFeatures = value; }
}
// Check to see if UseDefaultProcessorFeatures property is set
internal bool IsSetUseDefaultProcessorFeatures()
{
return this._useDefaultProcessorFeatures.HasValue;
}
///
/// Gets and sets the property VpcSecurityGroupIds.
///
/// A list of VPC security groups to associate with this DB instance.
///
///
public List VpcSecurityGroupIds
{
get { return this._vpcSecurityGroupIds; }
set { this._vpcSecurityGroupIds = value; }
}
// Check to see if VpcSecurityGroupIds property is set
internal bool IsSetVpcSecurityGroupIds()
{
return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0;
}
}
}