Sha256: 6e70a2a912a07b68899b4b53c41742cda7ee43dbb7b3d37a45d1eea2ce285e92

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

# coding: utf-8
#
# Author:: Dangleterre Michaël
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'fog/core/model'
require 'fog/arubacloud/error'


module Fog
  module ArubaCloud
    class Compute
      class SharedStorage < Fog::Model
        identity :id, :aliases => 'id'

        attribute :quantity, :aliases => 'quantity'
        attribute :value, :aliases => 'value'
        attribute :sharedstoragename, :aliases => 'sharedstoragename'
        attribute :sharedstorageprotocoltype

        def initialize(attributes = {})
          @service = attributes[:service]
        end

        def create
          requires :sharedstorageprotocoltype, :quantity, :sharedstoragename
          if :sharedstorageprotocoltype.upcase == 'ISCSI'
            requires :value
          end
          data = attributes
          service.create_shared_storage(data)
        end # create

        def edit
          requires :id
          data = :attributes
          service.edit_shared_storage(data)
        end # edit

        def delete
          requires :id
          data = :attributes
          service.delete_shared_storage(data)
        end # delete

        def rename
          requires :id, :sharedstoragename
          data = :attributes
          service.rename_shared_storage(data)
        end # rename

      end # Custom_Template
    end # Compute
  end # ArubaCloud
end # Fog

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.6 lib/fog/arubacloud/compute/models/sharedstorage.rb
fog-arubacloud-0.0.5 lib/fog/arubacloud/compute/models/sharedstorage.rb