lib/chef/provisioning/load_balancer_spec.rb in chef-provisioning-0.19 vs lib/chef/provisioning/load_balancer_spec.rb in chef-provisioning-0.20

- old
+ new

@@ -1,79 +1,14 @@ +require 'chef/provisioning/managed_entry' + class Chef module Provisioning # - # Specification for a machine. Sufficient information to find and contact it + # Specification for a image. Sufficient information to find and contact it # after it has been set up. # - # TODO: This is pretty similar to image_spec, generalize this. - class LoadBalancerSpec - def initialize(load_balancer_data) - @load_balancer_data = load_balancer_data - # Upgrade from metal to chef_provisioning ASAP. - if @load_balancer_data['normal'] && !@load_balancer_data['normal']['chef_provisioning'] && @load_balancer_data['normal']['metal'] - @load_balancer_data['normal']['chef_provisioning'] = @load_balancer_data['normal'].delete('metal') - end - end - - attr_reader :load_balancer_data - attr_reader :machines - - # - # Globally unique identifier for this machine. Does not depend on the machine's - # location or existence. - # - def id - raise "id unimplemented" - end - - # - # Name of the machine. Corresponds to the name in "machine 'name' do" ... - # - def name - load_balancer_data['id'] - end - - # - # Location of this machine. This should be a freeform hash, with enough - # information for the driver to look it up and create a Machine object to - # access it. - # - # This MUST include a 'driver_url' attribute with the driver's URL in it. - # - # chef-provisioning will do its darnedest to not lose this information. - # - def location - load_balancer_data['location'] - end - - # - # Set the location for this machine. - # - def location=(value) - load_balancer_data['location'] = value - end - - # URL to the driver. Convenience for location['driver_url'] - def driver_url - location ? location['driver_url'] : nil - end - - - def machines - load_balancer_data['machines'] || [] - end - - def machines=(value) - load_balancer_data['machines'] = value - end - - # - # Save this node to the server. If you have significant information that - # could be lost, you should do this as quickly as possible. Data will be - # saved automatically for you after allocate_machine and ready_machine. - # - def save(action_handler) - raise "save unimplemented" - end + class LoadBalancerSpec < ManagedEntry + alias :location :reference + alias :location= :reference= end end end