Sha256: b04b2b45f34a46656a36508f8e600846b8bae6991cbfd4f38f4e1e378ca61133
Contents?: true
Size: 1.2 KB
Versions: 13
Compression:
Stored size: 1.2 KB
Contents
require 'fog/ecloud/models/compute/internet_service' module Fog module Compute class Ecloud class InternetServices < Fog::Ecloud::Collection identity :href model Fog::Compute::Ecloud::InternetService def all data = connection.get_internet_services(href).body[:InternetServices] if data.is_a?(Hash) load(data[:InternetService]) elsif data.is_a?(String) && data.empty? load([]) end end def get(uri) if data = connection.get_internet_service(uri) new(data.body) end rescue Fog::Errors::NotFound nil end def create(options) options[:uri] = "/cloudapi/ecloud/internetServices/publicIps/#{public_ip_id}/action/createInternetService" options[:protocol] ||= "TCP" options[:enabled] ||= true options[:description] ||= "" options[:persistence] ||= {} options[:persistence][:type] ||= "None" data = connection.internet_service_create(options).body object = new(data) end def public_ip_id href.scan(/\d+/)[0] end end end end end
Version data entries
13 entries across 13 versions & 7 rubygems