Sha256: a916f113669eeaa563aa6e4ba42f7b5181442e1eb952860a734da7c9dbe25c41

Contents?: true

Size: 1.5 KB

Versions: 20

Compression:

Stored size: 1.5 KB

Contents

module Fog
  module Compute
    class Ecloud
      class Network < Fog::Ecloud::Model
        identity :href

        attribute :name,              :aliases => :Name
        attribute :type,              :aliases => :Type
        attribute :other_links,       :aliases => :Links, :squash => :Link
        attribute :address,           :aliases => :Address
        attribute :network_type,      :aliases => :NetworkType
        attribute :broadcast_address, :aliases => :BroadcastAddress
        attribute :gateway_address,   :aliases => :GatewayAddress
        attribute :rnat_address,      :aliases => :RnatAddress

        def rnats
          @rnats ||= Fog::Compute::Ecloud::Rnats.new(:service => service, :href => "#{service.base_path}/rnats/networks/#{id}")
        end

        def ips
          @ips ||= Fog::Compute::Ecloud::IpAddresses.new(:service => service, :href => href)
        end

        def edit_rnat_association(options)
          options[:uri] = href
          data = service.rnat_associations_edit_network(options).body
          task = Fog::Compute::Ecloud::Tasks.new(:service => service, :href => data[:href])[0]
        end

        def id
          href.scan(/\d+/)[0]
        end

        def environment
          reload if other_links.nil?
          environment_href = other_links.find { |l| l[:type] == "application/vnd.tmrk.cloud.environment" }[:href]
          self.service.environments.get(environment_href)
        end

        def location
          environment.id
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 5 rubygems

Version Path
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-ecloud-0.1.1/lib/fog/compute/ecloud/models/network.rb
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/ecloud/models/compute/network.rb
fog-ecloud-0.1.1 lib/fog/compute/ecloud/models/network.rb
fog-ecloud-0.1.0 lib/fog/compute/ecloud/models/network.rb
fog-ecloud-0.0.2 lib/fog/ecloud/models/compute/network.rb
fog-ecloud-0.0.1 lib/fog/ecloud/models/compute/network.rb
fog-1.25.0 lib/fog/ecloud/models/compute/network.rb
nsidc-fog-1.24.1 lib/fog/ecloud/models/compute/network.rb
fog-1.24.0 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.11 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.10 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.9 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.8 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.7 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.6 lib/fog/ecloud/models/compute/network.rb
fog-1.23.0 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.4 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.3 lib/fog/ecloud/models/compute/network.rb
ns-fog-1.22.2 lib/fog/ecloud/models/compute/network.rb
fog-1.22.1 lib/fog/ecloud/models/compute/network.rb