Documentation

Overview

The elb package provides types and functions for interaction with the AWS Elastic Load Balancing service (ELB)

Index

Constants

View Source
const APIVersion = "2012-06-01"

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLog

type AccessLog struct {
	EmitInterval   int64
	Enabled        bool
	S3BucketName   string
	S3BucketPrefix string
}

type AddTags

type AddTags struct {
	LoadBalancerNames []string
	Tags              []Tag
}

type AddTagsResp

type AddTagsResp struct {
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

type AvailabilityZone

type AvailabilityZone struct {
	AvailabilityZone string `xml:"member"`
}

An Instance attaches to an elb

type ConfigureHealthCheck

type ConfigureHealthCheck struct {
	LoadBalancerName string
	Check            HealthCheck
}

type ConfigureHealthCheckResp

type ConfigureHealthCheckResp struct {
	Check     HealthCheck `xml:"ConfigureHealthCheckResult>HealthCheck"`
	RequestId string      `xml:"ResponseMetadata>RequestId"`
}

type ConnectionDraining

type ConnectionDraining struct {
	Enabled bool
	Timeout int64
}

type CreateLoadBalancer

type CreateLoadBalancer struct {
	AvailZone        []string
	Listeners        []Listener
	LoadBalancerName string
	Internal         bool // true for vpc elbs
	SecurityGroups   []string
	Subnets          []string
	Tags             []Tag
}

The CreateLoadBalancer request parameters

type CreateLoadBalancerResp

type CreateLoadBalancerResp struct {
	DNSName   string `xml:"CreateLoadBalancerResult>DNSName"`
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

type DeleteLoadBalancer

type DeleteLoadBalancer struct {
	LoadBalancerName string
}

The DestroyLoadBalancer request parameters

type DeregisterInstancesFromLoadBalancer

type DeregisterInstancesFromLoadBalancer struct {
	LoadBalancerName string
	Instances        []string
}

The DeregisterInstancesFromLoadBalancer request parameters

type DeregisterInstancesFromLoadBalancerResp

type DeregisterInstancesFromLoadBalancerResp struct {
	Instances []Instance `xml:"DeregisterInstancesFromLoadBalancerResult>Instances>member"`
	RequestId string     `xml:"ResponseMetadata>RequestId"`
}

type DescribeInstanceHealth

type DescribeInstanceHealth struct {
	LoadBalancerName string
}

The DescribeInstanceHealth request parameters

type DescribeInstanceHealthResp

type DescribeInstanceHealthResp struct {
	InstanceStates []InstanceState `xml:"DescribeInstanceHealthResult>InstanceStates>member"`
	RequestId      string          `xml:"ResponseMetadata>RequestId"`
}

type DescribeLoadBalancer

type DescribeLoadBalancer struct {
	Names []string
}

DescribeLoadBalancer request params

type DescribeLoadBalancersResp

type DescribeLoadBalancersResp struct {
	RequestId     string         `xml:"ResponseMetadata>RequestId"`
	LoadBalancers []LoadBalancer `xml:"DescribeLoadBalancersResult>LoadBalancerDescriptions>member"`
}

type DescribeTags

type DescribeTags struct {
	LoadBalancerNames []string
}

type DescribeTagsResp

type DescribeTagsResp struct {
	LoadBalancerTags []LoadBalancerTag `xml:"DescribeTagsResult>TagDescriptions>member"`
	NextToken        string            `xml:"DescribeTagsResult>NextToken"`
	RequestId        string            `xml:"ResponseMetadata>RequestId"`
}

type ELB

type ELB struct {
	aws.Auth
	aws.Region
	// contains filtered or unexported fields
}

The ELB type encapsulates operations operations with the elb endpoint.

func New

func New(auth aws.Auth, region aws.Region) *ELB

New creates a new ELB instance.

func NewWithClient

func NewWithClient(auth aws.Auth, region aws.Region, httpClient *http.Client) *ELB

func (*ELB) AddTags

func (elb *ELB) AddTags(options *AddTags) (resp *AddTagsResp, err error)

func (*ELB) ConfigureHealthCheck

func (elb *ELB) ConfigureHealthCheck(options *ConfigureHealthCheck) (resp *ConfigureHealthCheckResp, err error)

func (*ELB) CreateLoadBalancer

func (elb *ELB) CreateLoadBalancer(options *CreateLoadBalancer) (resp *CreateLoadBalancerResp, err error)

func (*ELB) DeleteLoadBalancer

func (elb *ELB) DeleteLoadBalancer(options *DeleteLoadBalancer) (resp *SimpleResp, err error)

func (*ELB) DeregisterInstancesFromLoadBalancer

func (elb *ELB) DeregisterInstancesFromLoadBalancer(options *DeregisterInstancesFromLoadBalancer) (resp *DeregisterInstancesFromLoadBalancerResp, err error)

func (*ELB) DescribeInstanceHealth

func (elb *ELB) DescribeInstanceHealth(options *DescribeInstanceHealth) (resp *DescribeInstanceHealthResp, err error)

func (*ELB) DescribeLoadBalancers

func (elb *ELB) DescribeLoadBalancers(options *DescribeLoadBalancer) (resp *DescribeLoadBalancersResp, err error)

func (*ELB) DescribeTags

func (elb *ELB) DescribeTags(options *DescribeTags) (resp *DescribeTagsResp, err error)

func (*ELB) ModifyLoadBalancerAttributes

func (elb *ELB) ModifyLoadBalancerAttributes(options *ModifyLoadBalancerAttributes) (resp *SimpleResp, err error)

func (*ELB) RegisterInstancesWithLoadBalancer

func (elb *ELB) RegisterInstancesWithLoadBalancer(options *RegisterInstancesWithLoadBalancer) (resp *RegisterInstancesWithLoadBalancerResp, err error)

func (*ELB) RemoveTags

func (elb *ELB) RemoveTags(options *RemoveTags) (resp *RemoveTagsResp, err error)

type Error

type Error struct {
	// HTTP status code of the error.
	StatusCode int

	// AWS code of the error.
	Code string

	// Message explaining the error.
	Message string
}

Error encapsulates an elb error.

func (*Error) Error

func (e *Error) Error() string

type HealthCheck

type HealthCheck struct {
	HealthyThreshold   int64  `xml:"HealthyThreshold"`
	UnhealthyThreshold int64  `xml:"UnhealthyThreshold"`
	Interval           int64  `xml:"Interval"`
	Target             string `xml:"Target"`
	Timeout            int64  `xml:"Timeout"`
}

type Instance

type Instance struct {
	InstanceId string `xml:"InstanceId"`
}

An Instance attaches to an elb

type InstanceState

type InstanceState struct {
	InstanceId  string `xml:"InstanceId"`
	Description string `xml:"Description"`
	State       string `xml:"State"`
	ReasonCode  string `xml:"ReasonCode"`
}

An InstanceState from an elb health query

type Listener

type Listener struct {
	InstancePort     int64  `xml:"Listener>InstancePort"`
	InstanceProtocol string `xml:"Listener>InstanceProtocol"`
	SSLCertificateId string `xml:"Listener>SSLCertificateId"`
	LoadBalancerPort int64  `xml:"Listener>LoadBalancerPort"`
	Protocol         string `xml:"Listener>Protocol"`
}

A listener attaches to an elb

type LoadBalancer

type LoadBalancer struct {
	LoadBalancerName  string             `xml:"LoadBalancerName"`
	Listeners         []Listener         `xml:"ListenerDescriptions>member"`
	Instances         []Instance         `xml:"Instances>member"`
	HealthCheck       HealthCheck        `xml:"HealthCheck"`
	AvailabilityZones []AvailabilityZone `xml:"AvailabilityZones"`
	DNSName           string             `xml:"DNSName"`
	SecurityGroups    []string           `xml:"SecurityGroups>member"`
	Scheme            string             `xml:"Scheme"`
	Subnets           []string           `xml:"Subnets>member"`
}

An individual load balancer

type LoadBalancerAttributes

type LoadBalancerAttributes struct {
	CrossZoneLoadBalancingEnabled bool
	ConnectionSettingsIdleTimeout int64
	ConnectionDraining            ConnectionDraining
	AccessLog                     AccessLog
}

type LoadBalancerTag

type LoadBalancerTag struct {
	Tags             []Tag  `xml:"Tags>member"`
	LoadBalancerName string `xml:"LoadBalancerName"`
}

type ModifyLoadBalancerAttributes

type ModifyLoadBalancerAttributes struct {
	LoadBalancerName       string
	LoadBalancerAttributes LoadBalancerAttributes
}

type RegisterInstancesWithLoadBalancer

type RegisterInstancesWithLoadBalancer struct {
	LoadBalancerName string
	Instances        []string
}

The RegisterInstancesWithLoadBalancer request parameters

type RegisterInstancesWithLoadBalancerResp

type RegisterInstancesWithLoadBalancerResp struct {
	Instances []Instance `xml:"RegisterInstancesWithLoadBalancerResult>Instances>member"`
	RequestId string     `xml:"ResponseMetadata>RequestId"`
}

type RemoveTags

type RemoveTags struct {
	LoadBalancerNames []string
	TagKeys           []string
}

type RemoveTagsResp

type RemoveTagsResp struct {
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

type SimpleResp

type SimpleResp struct {
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

type Tag

type Tag struct {
	Key   string `xml:"Key"`
	Value string `xml:"Value"`
}

A tag attached to an elb

Source Files