class Cumulus::ELB::AccessLogConfig

Public: An object representing configuration for a load balancer

Attributes

bucket_prefix[R]
emit_interval[R]
enabled[R]
s3_bucket[R]

Public Class Methods

new(json = nil) click to toggle source

Public: Constructor

json - a hash containing the JSON configuration for the load balancer

# File lib/elb/models/AccessLogConfig.rb, line 15
def initialize(json = nil)
  @enabled = !json.nil?
  if !json.nil?
    @s3_bucket = json["s3-bucket"]
    @emit_interval = json["emit-interval"]
    @bucket_prefix = json["bucket-prefix"]
  end
end

Public Instance Methods

diff(aws) click to toggle source

Public: Produce an array of differences between this local configuration and the configuration in AWS

aws - the AWS resource

Returns an array of the HealthCheckDiffs that were found

# File lib/elb/models/AccessLogConfig.rb, line 58
def diff(aws)
  diffs = []

  if @enabled != aws.enabled
    diffs << AccessLogDiff.new(AccessLogChange::ENABLED, aws.enabled, @enabled)
  end

  if @s3_bucket != aws.s3_bucket_name
    diffs << AccessLogDiff.new(AccessLogChange::BUCKET, aws.s3_bucket_name, @s3_bucket)
  end

  if @emit_interval != aws.emit_interval
    diffs << AccessLogDiff.new(AccessLogChange::EMIT, aws.emit_interval, @emit_interval)
  end

  if @bucket_prefix != aws.s3_bucket_prefix
    diffs << AccessLogDiff.new(AccessLogChange::PREFIX, aws.s3_bucket_prefix, @bucket_prefix)
  end

  diffs.flatten
end
populate!(aws) click to toggle source
# File lib/elb/models/AccessLogConfig.rb, line 45
def populate!(aws)
  @enabled = aws.enabled
  @s3_bucket = aws.s3_bucket_name
  @emit_interval = aws.emit_interval
  @bucket_prefix = aws.s3_bucket_prefix
end
to_aws() click to toggle source
# File lib/elb/models/AccessLogConfig.rb, line 36
def to_aws
  {
    enabled: @enabled,
    s3_bucket_name: @s3_bucket,
    emit_interval: @emit_interval,
    s3_bucket_prefix: @bucket_prefix,
  }.reject { |k, v| v.nil? }
end
to_hash() click to toggle source
# File lib/elb/models/AccessLogConfig.rb, line 24
def to_hash
  if @enabled
    {
      "s3-bucket" => @s3_bucket,
      "emit-interval" => @emit_interval,
      "bucket-prefix" => @bucket_prefix,
    }.reject { |k, v| v.nil? }
  else
    false
  end
end