Sha256: b1a0708f29d598f6f0a919b22ad1adb2f447d7a3c298a994515573789595595b

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

require File.expand_path('../../../helpers/compute/data_helper', __FILE__)

module Fog
  module Compute
    class ProfitBricks
      class Datacenter < Fog::Models::ProfitBricks::Base
        include Fog::Helpers::ProfitBricks::DataHelper

        identity  :id

        # properties
        attribute :name
        attribute :description
        attribute :location
        attribute :version
        attribute :features

        # metadata
        attribute :created_date,        :aliases => 'createdDate', :type => :time
        attribute :created_by,          :aliases => 'createdBy'
        attribute :last_modified_date,  :aliases => 'lastModifiedDate', :type => :time
        attribute :last_modified_by,    :aliases => 'lastModifiedBy'
        attribute :request_id,          :aliases => 'requestId'
        attribute :state

        attr_accessor :options

        def initialize(attributes = {})
          super
        end

        def save
          requires :name, :location

          options = {}
          options[:name]        = name
          options[:location]    = location
          options[:description] = description if description

          data = service.create_datacenter(options)
          merge_attributes(flatten(data.body))
          true
        end

        def update
          requires :id

          options = {}
          options[:name] = name if name
          options[:description] = description if description
          data = service.update_datacenter(id, options)
          merge_attributes(flatten(data.body))
          true
        end

        def delete
          requires :id
          data = service.delete_datacenter(id)
          true
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-profitbricks-4.0.0 lib/fog/profitbricks/models/compute/datacenter.rb
fog-profitbricks-3.0.0 lib/fog/profitbricks/models/compute/datacenter.rb