1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/models/compute/dhcp_option.rb
2013-01-07 20:53:25 +00:00

68 lines
1.6 KiB
Ruby

require 'fog/core/model'
module Fog
module Compute
class AWS
class DhcpOption < Fog::Model
identity :id, :aliases => 'dhcpOptionsId'
attribute :dhcp_configuration_set, :aliases => 'dhcpConfigurationSet'
attribute :tag_set, :aliases => 'tagSet'
def initialize(attributes={})
super
end
# Associates an existing dhcp configration set with a VPC
#
# dhcp_option.attach(dopt-id, vpc-id)
#
# ==== Returns
#
# True or false depending on the result
#
def associate(vpc_id)
requires :id
service.attach_dhcp_option(id, vpc_id)
#reload
end
# Removes an existing dhcp configuration set
#
# dhcp_option.destroy
#
# ==== Returns
#
# True or false depending on the result
#
def destroy
requires :id
service.delete_dhcp_options(id)
true
end
# Create a dhcp configuration set
#
# >> g = AWS.dhcp_options.new()
# >> g.save
#
# == Returns:
#
# requestId and a dhcpOptions object
#
def save
requires :dhcp_configuration_set
data = service.create_dhcp_options(dhcp_configuration_set).body['dhcpOptionsSet'].first
new_attributes = data.reject {|key,value| key == 'requestId'}
merge_attributes(new_attributes)
true
true
end
end
end
end
end