class Fog::Compute::Terremark::InternetService

Attributes

size[W]
type[W]

Public Instance Methods

destroy(delete_public_ip = true) click to toggle source
# File lib/fog/compute/terremark/models/internetservice.rb, line 14
def destroy(delete_public_ip = true)
  service.delete_internet_service(self.Id)
  service.delete_public_ip(self.PublicIpAddress["Id"]) if delete_public_ip
  true
end
save() click to toggle source
# File lib/fog/compute/terremark/models/internetservice.rb, line 20
def save
  requires :Name, :Protocol, :Port
  if !public_ip_address_id
    #Create the first internet service and allocate public IP
    data = service.create_internet_service(
        vdc = service.default_vdc_id,
        name = self.Name,
        protocol = self.Protocol,
        port = self.Port,
        options = {
          "Enabled" => "true",
          "Description" => self.Name
        }
    )
  else
    #create additional services to existing Public IP
    data = service.add_internet_service(
        ip_id = public_ip_address_id,
        name = self.Name,
        protocol = self.Protocol,
        port = self.Port,
        options = {
          "Enabled" => "true",
          "Description" => self.Name
        }
    )
  end
  merge_attributes(data.body)
  true
end

Private Instance Methods

href=(new_href) click to toggle source
# File lib/fog/compute/terremark/models/internetservice.rb, line 54
def href=(new_href)
  self.id = new_href.split("/").last.to_i
end