class Aws::RDS::Types::RestoreDBInstanceFromDBSnapshotMessage

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

data as a hash:

    {
      db_instance_identifier: "String", # required
      db_snapshot_identifier: "String", # required
      db_instance_class: "String",
      port: 1,
      availability_zone: "String",
      db_subnet_group_name: "String",
      multi_az: false,
      publicly_accessible: false,
      auto_minor_version_upgrade: false,
      license_model: "String",
      db_name: "String",
      engine: "String",
      iops: 1,
      option_group_name: "String",
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
      storage_type: "String",
      tde_credential_arn: "String",
      tde_credential_password: "String",
      vpc_security_group_ids: ["String"],
      domain: "String",
      copy_tags_to_snapshot: false,
      domain_iam_role_name: "String",
      enable_iam_database_authentication: false,
      enable_cloudwatch_logs_exports: ["String"],
      processor_features: [
        {
          name: "String",
          value: "String",
        },
      ],
      use_default_processor_features: false,
      db_parameter_group_name: "String",
      deletion_protection: false,
      enable_customer_owned_ip: false,
    }

@!attribute [rw] db_instance_identifier

Name of the DB instance to create from the DB snapshot. This
parameter isn't case-sensitive.

Constraints:

* Must contain from 1 to 63 numbers, letters, or hyphens

* First character must be a letter

* Can't end with a hyphen or contain two consecutive hyphens

Example: `my-snapshot-id`
@return [String]

@!attribute [rw] db_snapshot_identifier

The identifier for the DB snapshot to restore from.

Constraints:

* Must match the identifier of an existing DBSnapshot.

* If you are restoring from a shared manual DB snapshot, the
  `DBSnapshotIdentifier` must be the ARN of the shared DB snapshot.
@return [String]

@!attribute [rw] db_instance_class

The compute and memory capacity of the Amazon RDS 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.*

Default: The same DBInstanceClass as the original DB instance.

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

@!attribute [rw] port

The port number on which the database accepts connections.

Default: The same port as the original DB instance

Constraints: Value must be `1150-65535`
@return [Integer]

@!attribute [rw] availability_zone

The Availability Zone (AZ) where the DB instance will be created.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the `AvailabilityZone` parameter if
the DB instance is a Multi-AZ deployment.

Example: `us-east-1a`
@return [String]

@!attribute [rw] db_subnet_group_name

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing
DBSubnetGroup.

Example: `mySubnetgroup`
@return [String]

@!attribute [rw] multi_az

A value that indicates whether the DB instance is a Multi-AZ
deployment.

Constraint: You can't specify the `AvailabilityZone` parameter if
the DB instance is a Multi-AZ deployment.
@return [Boolean]

@!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] auto_minor_version_upgrade

A value that indicates whether minor version upgrades are applied
automatically to the DB instance during the maintenance window.
@return [Boolean]

@!attribute [rw] license_model

License model information for the restored DB instance.

Default: Same as source.

Valid values: `license-included` \| `bring-your-own-license` \|
`general-public-license`
@return [String]

@!attribute [rw] db_name

The database name for the restored DB instance.

<note markdown="1"> This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB
engines.

 </note>
@return [String]

@!attribute [rw] engine

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source. For
example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6
snapshot.

Valid Values:

* `mariadb`

* `mysql`

* `oracle-ee`

* `oracle-ee-cdb`

* `oracle-se2`

* `oracle-se2-cdb`

* `postgres`

* `sqlserver-ee`

* `sqlserver-se`

* `sqlserver-ex`

* `sqlserver-web`
@return [String]

@!attribute [rw] iops

Specifies the amount of provisioned IOPS for the DB instance,
expressed in I/O operations per second. If this parameter isn't
specified, the IOPS value is taken from the backup. If this
parameter is set to 0, the new instance is converted to a non-PIOPS
instance. The conversion takes additional time, though your DB
instance is available for connections before the conversion starts.

The provisioned IOPS value must follow the requirements for your
database engine. For more information, see [Amazon RDS Provisioned
IOPS Storage to Improve Performance][1] in the *Amazon RDS User
Guide.*

Constraints: Must be an integer greater than 1000.

[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 be used for the restored DB
instance.

Permanent options, such as the TDE option for Oracle Advanced
Security TDE, can't be removed from an option group, and that
option group can't be removed from a DB instance once it is
associated with a DB instance
@return [String]

@!attribute [rw] tags

A list of tags. 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] tde_credential_arn

The ARN from the key store with which to associate the instance for
TDE encryption.
@return [String]

@!attribute [rw] tde_credential_password

The password for the given ARN from the key store in order to access
the device.
@return [String]

@!attribute [rw] vpc_security_group_ids

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

Default: The default EC2 VPC security group for the DB subnet
group's VPC.
@return [Array<String>]

@!attribute [rw] domain

Specify the Active Directory directory ID to restore the DB instance
in. The domain must be created prior to this operation. Currently,
only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB
instances can be created in an Active Directory Domain.

For more information, see [ Kerberos Authentication][1] in the
*Amazon RDS User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html
@return [String]

@!attribute [rw] copy_tags_to_snapshot

A value that indicates whether to copy all tags from the restored DB
instance to snapshots of the DB instance. By default, tags are not
copied.
@return [Boolean]

@!attribute [rw] domain_iam_role_name

Specify the name of the IAM role to be used when making API calls to
the Directory Service.
@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] 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] 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.

Constraints:

* If supplied, must match the name of an existing DBParameterGroup.

* Must be 1 to 255 letters, numbers, or hyphens.

* First character must be a letter.

* Can't end with a hyphen or contain two consecutive hyphens.
@return [String]

@!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] enable_customer_owned_ip

A value that indicates whether to enable a customer-owned IP address
(CoIP) for an RDS on Outposts DB instance.

A *CoIP* provides local or external connectivity to resources in
your Outpost subnets through your on-premises network. For some use
cases, a CoIP can provide lower latency for connections to the DB
instance from outside of its virtual private cloud (VPC) on your
local network.

For more information about RDS on Outposts, see [Working with Amazon
RDS on Amazon Web Services Outposts][1] in the *Amazon RDS User
Guide*.

For more information about CoIPs, see [Customer-owned IP
addresses][2] in the *Amazon Web Services Outposts User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html
[2]: https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing
@return [Boolean]

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

Constants

SENSITIVE