def restore(options = {})
      options = options.merge(source_db_instance_identifier: @id)
      resp = @client.restore_db_instance_to_point_in_time(options)
      DBInstance.new(
        id: resp.data.db_instance.db_instance_identifier,
        data: resp.data.db_instance,
        client: @client
      )
    end
def restore(options = {})
      options = options.merge(source_db_instance_identifier: @id)
      resp = @client.restore_db_instance_to_point_in_time(options)
      DBInstance.new(
        id: resp.data.db_instance.db_instance_identifier,
        data: resp.data.db_instance,
        client: @client
      )
    end
@example Request syntax with placeholder values

   dbinstance = db_instance.restore({
     target_db_instance_identifier: "String", # required
     restore_time: Time.now,
     use_latest_restorable_time: false,
     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",
     copy_tags_to_snapshot: false,
     tags: [
       {
         key: "String",
         value: "String",
       },
     ],
     storage_type: "String",
     tde_credential_arn: "String",
     tde_credential_password: "String",
     vpc_security_group_ids: ["String"],
     domain: "String",
     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,
     source_dbi_resource_id: "String",
   })
 @param [Hash] options ({})
 @option options [required, String] :target_db_instance_identifier
   The name of the new DB instance to be created.

   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
 @option options [Time,DateTime,Date,Integer,String] :restore_time
   The date and time to restore from.

   Valid Values: Value must be a time in Universal Coordinated Time (UTC)
   format

   Constraints:

   * Must be before the latest restorable time for the DB instance

   * Can't be specified if UseLatestRestorableTime parameter is true

   Example: `2009-09-07T23:45:00Z`
 @option options [Boolean] :use_latest_restorable_time
   Specifies whether (`true`) or not (`false`) the DB instance is
   restored from the latest backup time.

   Default: `false`

   Constraints: Can't be specified if RestoreTime parameter is provided.
 @option options [String] :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 AWS 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
 @option options [Integer] :port
   The port number on which the database accepts connections.

   Constraints: Value must be `1150-65535`

   Default: The same port as the original DB instance.
 @option options [String] :availability_zone
   The EC2 Availability Zone that the DB instance is created in.

   Default: A random, system-chosen Availability Zone.

   Constraint: You can't specify the AvailabilityZone parameter if the
   MultiAZ parameter is set to true.

   Example: `us-east-1a`
 @option options [String] :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`
 @option options [Boolean] :multi_az
   Specifies if the DB instance is a Multi-AZ deployment.

   Constraint: You can't specify the AvailabilityZone parameter if the
   MultiAZ parameter is set to `true`.
 @option options [Boolean] :publicly_accessible
   Specifies the accessibility options for the DB instance. A value of
   true specifies an Internet-facing instance with a publicly resolvable
   DNS name, which resolves to a public IP address. A value of false
   specifies an internal instance with a DNS name that resolves to a
   private IP address. For more information, see CreateDBInstance.
 @option options [Boolean] :auto_minor_version_upgrade
   Indicates that minor version upgrades are applied automatically to the
   DB instance during the maintenance window.
 @option options [String] :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`
 @option options [String] :db_name
   The database name for the restored DB instance.

   <note markdown="1"> This parameter is not used for the MySQL or MariaDB engines.

    </note>
 @option options [String] :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

   Valid Values:

   * `mariadb`

   * `mysql`

   * `oracle-ee`

   * `oracle-se2`

   * `oracle-se1`

   * `oracle-se`

   * `postgres`

   * `sqlserver-ee`

   * `sqlserver-se`

   * `sqlserver-ex`

   * `sqlserver-web`
 @option options [Integer] :iops
   The amount of Provisioned IOPS (input/output operations per second) to
   be initially allocated for the DB instance.

   Constraints: Must be an integer greater than 1000.

   **SQL Server**

   Setting the IOPS value for the SQL Server database engine is not
   supported.
 @option options [String] :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
 @option options [Boolean] :copy_tags_to_snapshot
   True to copy all tags from the restored DB instance to snapshots of
   the restored DB instance, and otherwise false. The default is false.
 @option options [Array<Types::Tag>] :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
 @option options [String] :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
   `standard`
 @option options [String] :tde_credential_arn
   The ARN from the key store with which to associate the instance for
   TDE encryption.
 @option options [String] :tde_credential_password
   The password for the given ARN from the key store in order to access
   the device.
 @option options [Array<String>] :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.
 @option options [String] :domain
   Specify the Active Directory Domain to restore the instance in.
 @option options [String] :domain_iam_role_name
   Specify the name of the IAM role to be used when making API calls to
   the Directory Service.
 @option options [Boolean] :enable_iam_database_authentication
   True to enable mapping of AWS Identity and Access Management (IAM)
   accounts to database accounts, and otherwise false.

   You can enable IAM database authentication for the following database
   engines

   * For MySQL 5.6, minor version 5.6.34 or higher

   * For MySQL 5.7, minor version 5.7.16 or higher

   Default: `false`
 @option options [Array<String>] :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
 @option options [Array<Types::ProcessorFeature>] :processor_features
   The number of CPU cores and the number of threads per core for the DB
   instance class of the DB instance.
 @option options [Boolean] :use_default_processor_features
   A value that specifies that the DB instance class of the DB instance
   uses its default processor features.
 @option options [String] :db_parameter_group_name
   The name of the DB parameter group to associate with this DB instance.
   If this argument is omitted, the default DBParameterGroup for the
   specified 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.
 @option options [Boolean] :deletion_protection
   Indicates if the DB instance should have deletion protection enabled.
   The database can't be deleted when this value is set to true. The
   default is false. For more information, see [ Deleting a DB
   Instance][1].



   [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
 @option options [String] :source_dbi_resource_id
   The resource ID of the source DB instance from which to restore.
 @return [DBInstance]