Sha256: 143090243f31ff48a61a617b768a0be7c25358e4923f630f92e6a8159ad1e93b
Contents?: true
Size: 1.97 KB
Versions: 5
Compression:
Stored size: 1.97 KB
Contents
module Fog module Terremark class Real # Reserve requested resources and deploy vApp # # ==== Parameters # * ip_id<~Integer> - Id of ip to add service to # * name<~String> - Name of service # * protocol<~String> - Protocol of service # * port<~Integer> - Port of service # * options<~Hash>: # * Enabled<~Boolean>: defaults to true # * Description<~String>: optional description # # ==== Returns # * response<~Excon::Response>: # * body<~Hash>: # * 'endTime'<~String> - endTime of task # * 'href'<~String> - link to task # * 'startTime'<~String> - startTime of task # * 'status'<~String> - status of task # * 'type'<~String> - type of task # * 'Owner'<~String> - # * 'href'<~String> - href of owner # * 'name'<~String> - name of owner # * 'type'<~String> - type of owner def add_internet_service(ip_id, name, protocol, port, options = {}) unless options.has_key?('Enabled') options['Enabled'] = true end data = <<-DATA <InternetService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:tmrk:vCloudExpress-1.0:request:createInternetService"> <Name>#{name}</Name> <Protocol>#{protocol.upcase}</Protocol> <Port>#{port}</Port> <Enabled>#{options['Enabled']}</Enabled> <Description>#{options['Description']}</Description> </InternetService> DATA request( :body => data, :expects => 200, :headers => {'Content-Type' => 'application/xml'}, :method => 'POST', :parser => Fog::Parsers::Terremark::InternetService.new, :path => "publicIps/#{ip_id}/internetServices" ) end end class Mock def add_internet_service(ip_id) raise MockNotImplemented.new("Contributions welcome!") end end end end
Version data entries
5 entries across 5 versions & 1 rubygems