You are viewing documentation for version 1 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: AWS::RDS::DBSnapshot

Inherits:
Core::Resource
  • Object
show all
Defined in:
lib/aws/rds/db_snapshot.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db_snapshot_id, options = {}) ⇒ DBSnapshot

Returns a new instance of DBSnapshot

Parameters:

  • db_snapshot_id (String)
  • options (Hash) (defaults to: {})


47
48
49
50
# File 'lib/aws/rds/db_snapshot.rb', line 47

def initialize db_snapshot_id, options = {}
  @db_snapshot_identifier = db_snapshot_id
  super
end

Instance Attribute Details

#allocated_storageInteger (readonly)

Returns the current value of allocated_storage

Returns:

  • (Integer)

    the current value of allocated_storage



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def allocated_storage
  @allocated_storage
end

#availability_zone_nameString (readonly)

Returns the current value of availability_zone_name

Returns:

  • (String)

    the current value of availability_zone_name



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def availability_zone_name
  @availability_zone_name
end

#created_atTime (readonly)

Returns the current value of created_at

Returns:

  • (Time)

    the current value of created_at



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def created_at
  @created_at
end

#db_instance_idString (readonly)

Returns the current value of db_instance_id

Returns:

  • (String)

    the current value of db_instance_id



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def db_instance_id
  @db_instance_id
end

#db_snapshot_identifierString (readonly) Also known as: id, db_snapshot_id

Returns:

  • (String)


53
54
55
# File 'lib/aws/rds/db_snapshot.rb', line 53

def db_snapshot_identifier
  @db_snapshot_identifier
end

#engineString (readonly)

Returns the current value of engine

Returns:

  • (String)

    the current value of engine



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def engine
  @engine
end

#engine_versionString (readonly)

Returns the current value of engine_version

Returns:

  • (String)

    the current value of engine_version



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def engine_version
  @engine_version
end

#instance_create_timeTime (readonly)

Returns the current value of instance_create_time

Returns:

  • (Time)

    the current value of instance_create_time



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def instance_create_time
  @instance_create_time
end

#license_modelString (readonly)

Returns the current value of license_model

Returns:

  • (String)

    the current value of license_model



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def license_model
  @license_model
end

#master_usernameString (readonly)

Returns the current value of master_username

Returns:

  • (String)

    the current value of master_username



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def master_username
  @master_username
end

#portString (readonly)

Returns the current value of port

Returns:

  • (String)

    the current value of port



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def port
  @port
end

#snapshot_typeString (readonly)

Returns the current value of snapshot_type

Returns:

  • (String)

    the current value of snapshot_type



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def snapshot_type
  @snapshot_type
end

#statusString (readonly)

Returns the current value of status

Returns:

  • (String)

    the current value of status



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def status
  @status
end

#vpc_idInteger (readonly)

Returns the current value of vpc_id

Returns:

  • (Integer)

    the current value of vpc_id



43
44
45
# File 'lib/aws/rds/db_snapshot.rb', line 43

def vpc_id
  @vpc_id
end

Instance Method Details

#copy(new_snapshot_id) ⇒ DBSnapshot

Copies this database snapshot.

Parameters:

  • new_snapshot_id (String)

Returns:



108
109
110
111
112
113
114
115
116
117
118
# File 'lib/aws/rds/db_snapshot.rb', line 108

def copy new_snapshot_id

  options = {}
  options[:source_db_snapshot_identifier] = id
  options[:target_db_snapshot_identifier] = new_snapshot_id
  resp = client.copy_db_snapshot(options)

  DBSnapshot.new_from(:copy_db_snapshot, resp,
    resp[:db_snapshot_identifier], :config => config)

end

#db_instanceDBInstance

Returns:



101
102
103
# File 'lib/aws/rds/db_snapshot.rb', line 101

def db_instance
  DBInstance.new(db_instance_id, :config => config)
end

#deletenil

Deletes this database snapshot.

Returns:

  • (nil)


122
123
124
125
# File 'lib/aws/rds/db_snapshot.rb', line 122

def delete
  client.delete_db_snapshot(:db_snapshot_identifier => db_snapshot_identifier)
  nil
end

#exists?Boolean

Returns true if the db snapshot exists.

Returns:

  • (Boolean)

    Returns true if the db snapshot exists.



140
141
142
143
144
145
146
147
# File 'lib/aws/rds/db_snapshot.rb', line 140

def exists?
  begin
    get_resource
    true
  rescue AWS::RDS::Errors::DBSnapshotNotFound
    false
  end
end

#restore_instance(options = {}) ⇒ Object

Restores the database instance from this snapshot. You may optionally specify the db instance id if you wish to restore to a different db.

Parameters:

  • options (Hash) (defaults to: {})
    • :db_instance_identifier - required - (String) The identifier for the DB Snapshot to restore from.
    • :db_snapshot_identifier - required - (String) Name of the DB Instance to create from the DB Snapshot. This parameter isn't case sensitive.
    • :db_instance_class - (String) The compute and memory capacity of the Amazon RDS DB instance.
    • :port - (Integer) The port number on which the database accepts connections.
    • :availability_zone - (String) The EC2 Availability Zone that the database instance will be created in.
    • :db_subnet_group_name - (String) The DB Subnet Group name to use for the new instance.
    • :multi_az - (Boolean) Specifies if the DB Instance is a Multi-AZ deployment. Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true .
    • :publicly_accessible - (Boolean) 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. Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case. Default VPC: true VPC: false If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.
    • :auto_minor_version_upgrade - (Boolean) Indicates that minor version upgrades will be applied automatically to the DB Instance during the maintenance window.
    • :license_model - (String) License model information for the restored DB Instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license
    • :db_name - (String) The database name for the restored DB Instance. This parameter doesn't apply to the MySQL engine.
    • :engine - (String) The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Example: oracle-ee
    • :iops - (Integer) 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.
    • :option_group_name - (String) 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, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance
    • :tags - (Array<)
      • :key - (String) A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with "aws:". The string may only contain only the set of Unicode letters, digits, white-space, '', '.', '/', '=', '+', '-' (Java regex: "^([\p{L}\\p{Z}\\p{N}.:/=+\-]*)$").
      • :value - (String) A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with "aws:". The string may only contain only the set of Unicode letters, digits, white-space, '', '.', '/', '=', '+', '-' (Java regex: "^([\p{L}\\p{Z}\\p{N}.:/=+\-]*)$").
    • :storage_type - (String) Specifies 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.
    • :tde_credential_arn - (String) The ARN from the Key Store with which to associate the instance for TDE encryption.
    • :tde_credential_password - (String) The password for the given ARN from the Key Store in order to access the device.


132
133
134
135
136
137
# File 'lib/aws/rds/db_snapshot.rb', line 132

def restore_instance options = {}
  options[:db_snapshot_identifier] = db_snapshot_identifier
  options[:db_instance_identifier] ||= db_instance_id
  client.restore_db_instance_from_db_snapshot(options)
  nil
end