Sha256: c87a22238d8d718a81bdcbc524bfdd33d0d4c2574baa5eb7444abe4a4fc4e0f4

Contents?: true

Size: 1.26 KB

Versions: 9

Compression:

Stored size: 1.26 KB

Contents

class TerremarkEcloud

  module Compute

    def self.vdc_from_list(vdc_list)
      if matcher = ENV['VDC_NAME_MATCHER']
        vdc_list.detect {|v| v['name'] =~ /#{Regexp.escape(matcher)}/ }
      else
        vdc_list.first
      end
    end

    def self.preferred_vdc
      @preferred_vdc ||= begin
        href = vdc_from_list(TerremarkEcloud[:compute].get_organization.body['Link'])['href']
        TerremarkEcloud[:compute].get_vdc(href).body
      end
    end

    def self.preferred_catalog
      @preferred_catalog ||= begin
        catalog_href = preferred_vdc['Link'].detect {|link| link['type'] == 'application/vnd.vmware.vcloud.catalog+xml' }['href']
        TerremarkEcloud[:compute].get_catalog(catalog_href).body
      end
    end

    def self.preferred_catalog_item
      @preferred_catalog_item ||= begin
        catalog_item = preferred_catalog['CatalogItems'].detect do |item|
          item['name'] == 'Ubuntu Server 10.04 x32'
        end
        TerremarkEcloud[:compute].get_catalog_item(catalog_item['href']).body
      end
    end

    def self.preferred_network
      @preferred_network ||= begin
        network_href = preferred_vdc['AvailableNetworks'].first['href']
        TerremarkEcloud[:compute].get_network(network_href).body
      end
    end

  end

end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
fog-0.5.3 tests/compute/requests/terremark_ecloud/helper.rb
fog-0.5.2 tests/compute/requests/terremark_ecloud/helper.rb
fog-0.5.1 tests/compute/requests/terremark_ecloud/helper.rb
fog-0.5.0 tests/compute/requests/terremark_ecloud/helper.rb
phpfog-fog-0.4.1.3 tests/compute/requests/terremark_ecloud/helper.rb
phpfog-fog-0.4.1.2 tests/compute/requests/terremark_ecloud/helper.rb
phpfog-fog-0.4.1.1 tests/compute/requests/terremark_ecloud/helper.rb
phpfog-fog-0.4.1 tests/compute/requests/terremark_ecloud/helper.rb
fog-0.4.1 tests/compute/requests/terremark_ecloud/helper.rb