Sha256: d3c3e2767f482d4a793e86c61513f8fd908a7bdecbfce5a61a923f577ec85c30

Contents?: true

Size: 1.29 KB

Versions: 2

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/compute/models/ip'

module Fog
  module ArubaCloud
    class Compute

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

        # Returns list of Ip Addresses
        # @return [Fog::ArubaCloud::Compute::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::ArubaCloud::Compute::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

2 entries across 2 versions & 1 rubygems

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