class GeoEngineer::Resources::AwsLoadBalancerBackendServerPolicy

AwsLoadBalancerBackendServerPolicy is the

+aws_load_balancer_backend_server_policy+ terrform resource,

{www.terraform.io/docs/providers/aws/r/aws_load_balancer_backend_server_policy.html

Terraform Docs}

Public Class Methods

_extract_backend_servers(load_balancer) click to toggle source
# File lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb, line 38
def self._extract_backend_servers(load_balancer)
  load_balancer[:backend_server_descriptions].map do |server|
    server.merge(
      {
        load_balancer_name: load_balancer[:load_balancer_name],
        _terraform_id: "#{load_balancer[:load_balancer_name]}:#{server[:instance_port]}"
      }
    )
  end
end
_fetch_remote_resources(provider) click to toggle source
# File lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb, line 28
def self._fetch_remote_resources(provider)
  AwsClients
    .elb(provider)
    .describe_load_balancers
    .load_balancer_descriptions
    .map { |load_balancer| _extract_backend_servers(load_balancer.to_h) }
    .flatten
    .compact
end

Public Instance Methods

support_tags?() click to toggle source
# File lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb, line 24
def support_tags?
  false
end
to_terraform_state() click to toggle source
# File lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb, line 15
def to_terraform_state
  tfstate = super
  tfstate[:primary][:attributes] = {
    'load_balancer_name' => load_balancer_name,
    'instance_port' => instance_port.to_s
  }
  tfstate
end