class Aws::RDS::Types::RestoreDBInstanceFromS3Message

@note When making an API call, you may pass RestoreDBInstanceFromS3Message

data as a hash:

    {
      db_name: "String",
      db_instance_identifier: "String", # required
      allocated_storage: 1,
      db_instance_class: "String", # required
      engine: "String", # required
      master_username: "String",
      master_user_password: "String",
      db_security_groups: ["String"],
      vpc_security_group_ids: ["String"],
      availability_zone: "String",
      db_subnet_group_name: "String",
      preferred_maintenance_window: "String",
      db_parameter_group_name: "String",
      backup_retention_period: 1,
      preferred_backup_window: "String",
      port: 1,
      multi_az: false,
      engine_version: "String",
      auto_minor_version_upgrade: false,
      license_model: "String",
      iops: 1,
      option_group_name: "String",
      publicly_accessible: false,
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
      storage_type: "String",
      storage_encrypted: false,
      kms_key_id: "String",
      copy_tags_to_snapshot: false,
      monitoring_interval: 1,
      monitoring_role_arn: "String",
      enable_iam_database_authentication: false,
      source_engine: "String", # required
      source_engine_version: "String", # required
      s3_bucket_name: "String", # required
      s3_prefix: "String",
      s3_ingestion_role_arn: "String", # required
      enable_performance_insights: false,
      performance_insights_kms_key_id: "String",
      performance_insights_retention_period: 1,
      enable_cloudwatch_logs_exports: ["String"],
      processor_features: [
        {
          name: "String",
          value: "String",
        },
      ],
      use_default_processor_features: false,
      deletion_protection: false,
      max_allocated_storage: 1,
    }

@!attribute [rw] db_name

The name of the database to create when the DB instance is created.
Follow the naming rules specified in `CreateDBInstance`.
@return [String]

@!attribute [rw] db_instance_identifier

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`
@return [String]

@!attribute [rw] allocated_storage

The amount of storage (in gigabytes) to allocate initially for the
DB instance. Follow the allocation rules specified in
`CreateDBInstance`.

<note markdown="1"> Be sure to allocate enough memory for your new DB instance so that
the restore operation can succeed. You can also allocate additional
memory for future growth.

 </note>
@return [Integer]

@!attribute [rw] db_instance_class

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][1] in the *Amazon RDS User Guide.*

Importing from Amazon S3 isn't supported on the db.t2.micro DB
instance class.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
@return [String]

@!attribute [rw] engine

The name of the database engine to be used for this instance.

Valid Values: `mysql`
@return [String]

@!attribute [rw] master_username

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.
@return [String]

@!attribute [rw] master_user_password

The password for the master user. The password can include any
printable ASCII character except "/", """, or "@".

Constraints: Must contain from 8 to 41 characters.
@return [String]

@!attribute [rw] db_security_groups

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.
@return [Array<String>]

@!attribute [rw] vpc_security_group_ids

A list of VPC security groups to associate with this DB instance.
@return [Array<String>]

@!attribute [rw] availability_zone

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][1] 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.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
@return [String]

@!attribute [rw] db_subnet_group_name

A DB subnet group to associate with this DB instance.
@return [String]

@!attribute [rw] preferred_maintenance_window

The time range each week during which system maintenance can occur,
in Universal Coordinated Time (UTC). For more information, see
[Amazon RDS Maintenance Window][1] 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.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
@return [String]

@!attribute [rw] db_parameter_group_name

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.
@return [String]

@!attribute [rw] backup_retention_period

The number of days for which automated backups are retained. Setting
this parameter to a positive number enables backups. For more
information, see `CreateDBInstance`.
@return [Integer]

@!attribute [rw] preferred_backup_window

The time range each day during which automated backups are created
if automated backups are enabled. For more information, see [Backup
window][1] 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.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow
@return [String]

@!attribute [rw] port

The port number on which the database accepts connections.

Type: Integer

Valid Values: `1150`-`65535`

Default: `3306`
@return [Integer]

@!attribute [rw] multi_az

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.
@return [Boolean]

@!attribute [rw] engine_version

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`.
@return [String]

@!attribute [rw] auto_minor_version_upgrade

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.
@return [Boolean]

@!attribute [rw] license_model

The license model for this DB instance. Use
`general-public-license`.
@return [String]

@!attribute [rw] 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 to
Improve Performance][1] in the *Amazon RDS User Guide.*

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS
@return [Integer]

@!attribute [rw] option_group_name

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.
@return [String]

@!attribute [rw] publicly_accessible

A value that indicates whether the DB instance is publicly
accessible.

When the DB instance is publicly accessible, its DNS endpoint
resolves to the private IP address from within the DB instance's
VPC, and 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, and 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.
@return [Boolean]

@!attribute [rw] tags

A list of tags to associate with this DB instance. For more
information, see [Tagging Amazon RDS Resources][1] in the *Amazon
RDS User Guide.*

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
@return [Array<Types::Tag>]

@!attribute [rw] storage_type

Specifies the storage type to be associated with the DB instance.

Valid values: `standard` \| `gp2` \| `io1`

If you specify `io1`, you must also include a value for the `Iops`
parameter.

Default: `io1` if the `Iops` parameter is specified; otherwise `gp2`
@return [String]

@!attribute [rw] storage_encrypted

A value that indicates whether the new DB instance is encrypted or
not.
@return [Boolean]

@!attribute [rw] kms_key_id

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 Amazon Web Services KMS customer
master key (CMK). To use a CMK 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 CMK. There is a default CMK for your Amazon Web
Services account. Your Amazon Web Services account has a different
default CMK for each Amazon Web Services Region.
@return [String]

@!attribute [rw] copy_tags_to_snapshot

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.
@return [Boolean]

@!attribute [rw] monitoring_interval

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`
@return [Integer]

@!attribute [rw] monitoring_role_arn

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][1] in the *Amazon RDS User Guide.*

If `MonitoringInterval` is set to a value other than 0, then you
must supply a `MonitoringRoleArn` value.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling
@return [String]

@!attribute [rw] enable_iam_database_authentication

A value that indicates whether to enable mapping of Amazon Web
Services Identity and Access Management (IAM) accounts to database
accounts. By default, mapping is disabled.

For more information about IAM database authentication, see [ IAM
Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
RDS User Guide.*

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
@return [Boolean]

@!attribute [rw] source_engine

The name of the engine of your source database.

Valid Values: `mysql`
@return [String]

@!attribute [rw] source_engine_version

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`
@return [String]

@!attribute [rw] s3_bucket_name

The name of your Amazon S3 bucket that contains your database backup
file.
@return [String]

@!attribute [rw] s3_prefix

The prefix of your Amazon S3 bucket.
@return [String]

@!attribute [rw] s3_ingestion_role_arn

An Amazon Web Services Identity and Access Management (IAM) role to
allow Amazon RDS to access your Amazon S3 bucket.
@return [String]

@!attribute [rw] enable_performance_insights

A value that indicates whether to enable Performance Insights for
the DB instance.

For more information, see [Using Amazon Performance Insights][1] in
the *Amazon Relational Database Service User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html
@return [Boolean]

@!attribute [rw] performance_insights_kms_key_id

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 Amazon Web Services KMS customer
master key (CMK).

If you do not specify a value for `PerformanceInsightsKMSKeyId`,
then Amazon RDS uses your default CMK. There is a default CMK for
your Amazon Web Services account. Your Amazon Web Services account
has a different default CMK for each Amazon Web Services Region.
@return [String]

@!attribute [rw] performance_insights_retention_period

The amount of time, in days, to retain Performance Insights data.
Valid values are 7 or 731 (2 years).
@return [Integer]

@!attribute [rw] enable_cloudwatch_logs_exports

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][1] in the *Amazon RDS User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
@return [Array<String>]

@!attribute [rw] processor_features

The number of CPU cores and the number of threads per core for the
DB instance class of the DB instance.
@return [Array<Types::ProcessorFeature>]

@!attribute [rw] use_default_processor_features

A value that indicates whether the DB instance class of the DB
instance uses its default processor features.
@return [Boolean]

@!attribute [rw] deletion_protection

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 is disabled.
For more information, see [ Deleting a DB Instance][1].

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
@return [Boolean]

@!attribute [rw] max_allocated_storage

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][1] in the *Amazon RDS User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3Message AWS API Documentation

Constants

SENSITIVE