Sha256: 753c6ef559d4a69a5b7d74cffb5387ff007f1af80c996c86743bfff8736aab12

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

module PoolParty
  module CloudDsl
    
    # TODO: Add to ec2 remoter_base
    # def mount_ebs_volume_at(id="", loc="/data")
    #   ebs_volume_id id
    #   ebs_volume_mount_point loc
    #   ebs_volume_device "/dev/#{id.sanitize}"
    #         
    #   has_mount(:name => loc, :device => ebs_volume_device)
    #   has_directory(:name => loc)
    # end
    
    def set_dependency_resolver(name='chef')
      klass = name.preserved_class_constant("Resolver")
      raise DependencyResolverException.new("Unknown resolver") unless klass
      self.dependency_resolver = klass unless dsl_options[:dependency_resolver]
    end
    
    # Enable a service package
    def enable(*services)
      services.each do |service|
        dsl_options[service] = :enabled
      end
    end
    # Disable a service package
    def disable(*services)
      services.each do |service|
        dsl_options[service] = :disabled
      end
    end
    
    # Check to see if the package has been enabled
    def enabled?(srv);dsl_options.has_key?(srv) && dsl_options[srv] == :enabled;end
    
    # All services that are :enabled and have a plugin that corresponds, call on the cloud
    def add_optional_enabled_services
      dsl_options.each do |k,v|
        self.send k if enabled?(k) && respond_to?(k)
      end
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
auser-poolparty-1.2.3 lib/poolparty/modules/cloud_dsl.rb
auser-poolparty-1.2.4 lib/poolparty/modules/cloud_dsl.rb
auser-poolparty-1.2.7 lib/poolparty/modules/cloud_dsl.rb