Sha256: 2800eda8860297e2fa3b38d93896eac32a8115468e2522f1f52a4abcea826c15

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

#
# Author:: Alessio Rocchi (<alessio.rocchi@staff.aruba.it>)
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'fog/core/collection'
require 'fog/arubacloud/models/compute/ip'

module Fog
  module Compute
    class ArubaCloud

      class Ips < Fog::Collection
        model Fog::Compute::ArubaCloud::IP

        # Returns list of Ip Addresses
        # @return [Fog::Compute::ArubaCloud::Ips]
        # @raise [Fog::ArubaCloud::Errors::NotFound]
        def all
          data = service.get_purchased_ip_addresses
          objects = data['Value']
          load(objects)
        end

        # Returns a single IpAddress object
        # @param ip [String]
        # @return [Fog::Compute::ArubaCloud::IP]
        # @raise [Fog::ArubaCloud::Errors::NotFound]
        def get(ip)
          # TODO: Implement single item retrieve
        end

        # Returns list of Ip Addresses related to a Virtual Machine
        def filter_by_vmid(vmid)
          # TODO: Implement filter ip per ID
        end

        # Purchase a new IpAddress
        # @return [Hash] hash containing the response of the request
        # @raise [Fog::ArubaCloud::Errors::RequestError]
        def purchase
          self << new(service.purchase_ip['Value'])
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.3 lib/fog/arubacloud/models/compute/ips.rb