1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/models/rds/snapshot.rb

51 lines
1.5 KiB
Ruby

require 'fog/core/model'
module Fog
module AWS
class RDS
class Snapshot < Fog::Model
identity :id, :aliases => ['DBSnapshotIdentifier', :name]
attribute :instance_id, :aliases => 'DBInstanceIdentifier'
attribute :created_at, :aliases => 'SnapshotCreateTime', :type => :time
attribute :instance_created_at, :aliases => 'InstanceCreateTime', :type => :time
attribute :engine, :aliases => 'Engine'
attribute :engine_version, :aliases => 'EngineVersion'
attribute :master_username, :aliases => 'MasterUsername'
attribute :state, :aliases => 'Status'
attribute :port, :aliases => 'Port', :type => :integer
attribute :allocated_storage, :aliases => 'AllocatedStorage', :type => :integer
attribute :availability_zone, :aliases => 'AvailabilityZone'
attribute :type, :aliases => 'SnapshotType'
attribute :publicly_accessible, :aliases => 'PubliclyAccessible'
def ready?
state == 'available'
end
def destroy
requires :id
service.delete_db_snapshot(id)
true
end
def save
requires :instance_id
requires :id
data = service.create_db_snapshot(instance_id, id).body['CreateDBSnapshotResult']['DBSnapshot']
merge_attributes(data)
true
end
def server
requires :instance_id
service.servers.get(instance_id)
end
end
end
end
end