Class: Kelbim::ELBWrapper::LoadBalancerCollection::LoadBalancer::ListenerCollection::Listener::PolicyCollection::Policy

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Logger::ClientHelper
Defined in:
lib/kelbim/wrapper/policy.rb

Instance Method Summary collapse

Methods included from Logger::ClientHelper

#log

Constructor Details

#initialize(policy, listener, options) ⇒ Policy

Returns a new instance of Policy.



16
17
18
19
20
# File 'lib/kelbim/wrapper/policy.rb', line 16

def initialize(policy, listener, options)
  @policy = policy
  @listener = listener
  @options = options
end

Instance Method Details

#deleteObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/kelbim/wrapper/policy.rb', line 33

def delete
  log(:info, 'Delete Policy', :red, "#{@listener.log_id} > #{self.name}")

  unless @options.dry_run
    begin
      @policy.delete
      @options.updated = true
    rescue AWS::ELB::Errors::InvalidConfigurationRequest => e
      if e.message =~ /You cannot delete policy/
        # nothing to do
      else
        raise e
      end
    end
  end
end

#eql?(dsl) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
30
31
# File 'lib/kelbim/wrapper/policy.rb', line 22

def eql?(dsl)
  dsl_type, dsl_name_or_attrs = dsl

  if PolicyTypes.name?(dsl_name_or_attrs)
    @policy.name == dsl_name_or_attrs
  else
    aws_attrs = PolicyTypes.expand(@policy.type, @policy.attributes)
    aws_attrs.sort == dsl_name_or_attrs.sort
  end
end