class Fog::Parsers::AWS::ELBV2::DescribeListeners

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/elbv2/describe_listeners.rb, line 36
def end_element(name)
  if @in_default_actions
    case name
    when 'member'
      if @in_target_groups
        @target_groups << @target_group
        @target_group = {}
      else
        @listener['DefaultActions'] << @default_action
        @default_action = {}
      end
    when 'TargetGroupArn'
      if @in_target_groups
        @target_group[name] = value
      else
        @default_action[name] = value
      end
    when 'Weight'
      @target_group[name] = value
    when 'Type', 'Order'
      @default_action[name] = value
    when 'Path', 'Protocol', 'Port', 'Query', 'Host', 'StatusCode', 'ContentType',
         'MessageBody', 'StatusCode'
      @config[name] = value
    when 'RedirectConfig', 'ForwardConfig', 'FixedResponseConfig'
      @default_action[name] = @config
      @config = {}
    when 'DurationSeconds', 'Enabled'
      @target_group_stickiness_config[name] = value
    when 'DefaultActions'
      @in_default_actions = false
    when 'TargetGroupStickinessConfig'
      if @in_target_group_stickiness_config
        @config['TargetGroupStickinessConfig'] = @target_group_stickiness_config
        @in_target_group_stickiness_config = false
        @target_group_stickiness_config = {}
      end
    when 'TargetGroups'
      @config['TargetGroups'] = @target_groups
      @in_target_groups = false
      @target_groups = []
    end
  else
    case name
    when 'member'
      if @in_certificates
        @listener['Certificates'] << @certificate
        @certificate = {}
      else
        @results['Listeners'] << @listener
        reset_listener
      end
    when 'LoadBalancerArn', 'Protocol', 'Port', 'ListenerArn', 'SslPolicy'
      @listener[name] = value
    when 'CertificateArn'
      @certificate[name] = value
    when 'Certificates'
      @in_certificates = false

    when 'RequestId'
      @response['ResponseMetadata'][name] = value

    when 'NextMarker'
      @results['NextMarker'] = value

    when 'DescribeListenersResponse'
      @response['DescribeListenersResult'] = @results
    end
  end
end
reset() click to toggle source
# File lib/fog/aws/parsers/elbv2/describe_listeners.rb, line 6
def reset
  reset_listener
  @default_action = {}
  @certificate = {}
  @config = {}
  @target_groups = []
  @target_group = {}
  @target_group_stickiness_config = {}
  @results = { 'Listeners' => [] }
  @response = { 'DescribeListenersResult' => {}, 'ResponseMetadata' => {} }
end
reset_listener() click to toggle source
# File lib/fog/aws/parsers/elbv2/describe_listeners.rb, line 18
def reset_listener
  @listener= { 'DefaultActions' => [], 'Certificates' => [] }
end
start_element(name, attrs = []) click to toggle source
Calls superclass method
# File lib/fog/aws/parsers/elbv2/describe_listeners.rb, line 22
def start_element(name, attrs = [])
  super
  case name
  when 'DefaultActions'
    @in_default_actions = true
  when 'Certificates'
    @in_certificates = true
  when 'TargetGroups'
    @in_target_groups = true
  when 'TargetGroupStickinessConfig'
    @in_target_group_stickiness_config = true
  end
end