Sha256: 4cb10017638d271b6b6b076fb8d6a51811808bd9b487350498252c07fbf6d62c

Contents?: true

Size: 1.29 KB

Versions: 21

Compression:

Stored size: 1.29 KB

Contents

module Fog
  module Compute
    class Cloudstack

      class Real
        # Lists all public ip addresses
        #
        # {CloudStack API Reference}[http://cloudstack.apache.org/docs/api/apidocs-4.4/root_admin/listPublicIpAddresses.html]
        def list_public_ip_addresses(*args)
          options = {}
          if args[0].is_a? Hash
            options = args[0]
            options.merge!('command' => 'listPublicIpAddresses')
          else
            options.merge!('command' => 'listPublicIpAddresses')
          end

          # add project id if we have one
          @cloudstack_project_id ? options.merge!('projectid' => @cloudstack_project_id) : nil

          request(options)
        end
      end

      class Mock
        def list_public_ip_addresses(*args)
          public_ip_address_id = args[0].is_a?(Hash) ? args[0]['id'] : nil
          if public_ip_address_id
            public_ip_addresses = [self.data[:public_ip_addresses][public_ip_address_id]]
          else
            public_ip_addresses = self.data[:public_ip_addresses].values
          end

          {
            'listpublicipaddressesresponse' => {
              'count' => public_ip_addresses.size,
              'publicipaddress' => public_ip_addresses
            }
          }
        end
      end
    end
  end
end

Version data entries

21 entries across 19 versions & 3 rubygems

Version Path
fog-2.1.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-1.42.1/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.42.1 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-2.0.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.42.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.41.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.40.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.39.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.38.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.37.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.36.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.35.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-2.0.0.pre.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-1.32.0/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.34.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.33.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.32.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb
fog-1.31.0 lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb