Sha256: 02e0a4c380ab80bb268336e9b89690741a1b11c7ccaf441c808d8b736a9a03f2

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'fog/core/model'

module Fog
  module Volume
    class SakuraCloud
      class Disk < Fog::Model

        identity :id, :aliases => 'ID'
        attribute :name, :aliases => 'Name'
        attribute :connection, :aliases => 'Connection'
        attribute :availability, :aliases => 'Availability'
        attribute :plan, :aliases => 'Plan'
        attribute :size_mb, :aliases => 'SizeMB'
        attribute :source_disk, :aliases => 'SourceDisk'
        attribute :source_archive, :aliases => 'SourceArchive'

        def delete
          service.delete_disk(identity)
          true
        end
        alias_method :destroy, :delete

        def save
          requires :name, :plan, :source_archive
          data = service.create_disk(@attributes[:name], @attributes[:plan], @attributes[:source_archive]).body["Disk"]
          merge_attributes(data)
          true
        end

        def configure(sshkey_id)
          requires :id
          service.configure_disk(@attributes[:id], sshkey_id )
          true
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-1.22.0 lib/fog/sakuracloud/models/volume/disk.rb
fog-1.21.0 lib/fog/sakuracloud/models/volume/disk.rb