Sha256: fc3b83b6eb62b870d53e28a5d1a7a3d91e51c1bf3e957d146ac43e8ca98d8fb2

Contents?: true

Size: 1.56 KB

Versions: 5

Compression:

Stored size: 1.56 KB

Contents

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  :iops, :aliases => 'Iops', :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

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
fog-1.22.0 lib/fog/aws/models/rds/snapshot.rb
fog-1.21.0 lib/fog/aws/models/rds/snapshot.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/aws/models/rds/snapshot.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/aws/models/rds/snapshot.rb
fog-1.20.0 lib/fog/aws/models/rds/snapshot.rb