terraform/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go

4195 lines
128 KiB
Go

// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Package elbv2 provides a client for Elastic Load Balancing.
package elbv2
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
const opAddTags = "AddTags"
// AddTagsRequest generates a "aws/request.Request" representing the
// client's request for the AddTags operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the AddTags method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the AddTagsRequest method.
// req, resp := client.AddTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
op := &request.Operation{
Name: opAddTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AddTagsInput{}
}
req = c.newRequest(op, input, output)
output = &AddTagsOutput{}
req.Data = output
return
}
// Adds the specified tags to the specified resource. You can tag your Application
// load balancers and your target groups.
//
// Each tag consists of a key and an optional value. If a resource already
// has a tag with the same key, AddTags updates its value.
//
// To list the current tags for your resources, use DescribeTags. To remove
// tags from your resources, use RemoveTags.
func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
req, out := c.AddTagsRequest(input)
err := req.Send()
return out, err
}
const opCreateListener = "CreateListener"
// CreateListenerRequest generates a "aws/request.Request" representing the
// client's request for the CreateListener operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the CreateListener method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the CreateListenerRequest method.
// req, resp := client.CreateListenerRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) {
op := &request.Operation{
Name: opCreateListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateListenerInput{}
}
req = c.newRequest(op, input, output)
output = &CreateListenerOutput{}
req.Data = output
return
}
// Creates a listener for the specified Application load balancer.
//
// To update a listener, use ModifyListener. When you are finished with a listener,
// you can delete it using DeleteListener. If you are finished with both the
// listener and the load balancer, you can delete them both using DeleteLoadBalancer.
//
// For more information, see Listeners for Your Application Load Balancers
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
// in the Application Load Balancers Guide.
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
req, out := c.CreateListenerRequest(input)
err := req.Send()
return out, err
}
const opCreateLoadBalancer = "CreateLoadBalancer"
// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
// client's request for the CreateLoadBalancer operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the CreateLoadBalancer method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the CreateLoadBalancerRequest method.
// req, resp := client.CreateLoadBalancerRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
op := &request.Operation{
Name: opCreateLoadBalancer,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateLoadBalancerInput{}
}
req = c.newRequest(op, input, output)
output = &CreateLoadBalancerOutput{}
req.Data = output
return
}
// Creates an Application load balancer.
//
// To create listeners for your load balancer, use CreateListener. You can
// add security groups, subnets, and tags when you create your load balancer,
// or you can add them later using SetSecurityGroups, SetSubnets, and AddTags.
//
// To describe your current load balancers, see DescribeLoadBalancers. When
// you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
//
// You can create up to 20 load balancers per region per account. You can request
// an increase for the number of load balancers for your account. For more information,
// see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
// in the Application Load Balancers Guide.
func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
req, out := c.CreateLoadBalancerRequest(input)
err := req.Send()
return out, err
}
const opCreateRule = "CreateRule"
// CreateRuleRequest generates a "aws/request.Request" representing the
// client's request for the CreateRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the CreateRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the CreateRuleRequest method.
// req, resp := client.CreateRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
op := &request.Operation{
Name: opCreateRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateRuleInput{}
}
req = c.newRequest(op, input, output)
output = &CreateRuleOutput{}
req.Data = output
return
}
// Creates a rule for the specified listener.
//
// A rule consists conditions and actions. Rules are evaluated in priority
// order, from the lowest value to the highest value. When the conditions for
// a rule are met, the specified actions are taken. If no rule's conditions
// are met, the default actions for the listener are taken.
//
// To view your current rules, use DescribeRules. To update a rule, use ModifyRule.
// To set the priorities of your rules, use SetRulePriorities. To delete a rule,
// use DeleteRule.
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
req, out := c.CreateRuleRequest(input)
err := req.Send()
return out, err
}
const opCreateTargetGroup = "CreateTargetGroup"
// CreateTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the CreateTargetGroup operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the CreateTargetGroup method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the CreateTargetGroupRequest method.
// req, resp := client.CreateTargetGroupRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) {
op := &request.Operation{
Name: opCreateTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateTargetGroupInput{}
}
req = c.newRequest(op, input, output)
output = &CreateTargetGroupOutput{}
req.Data = output
return
}
// Creates a target group.
//
// To register targets with the target group, use RegisterTargets. To update
// the health check settings for the target group, use ModifyTargetGroup. To
// monitor the health of targets in the target group, use DescribeTargetHealth.
//
// To route traffic to the targets in a target group, specify the target group
// in an action using CreateListener or CreateRule.
//
// To delete a target group, use DeleteTargetGroup.
//
// For more information, see Target Groups for Your Application Load Balancers
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
// in the Application Load Balancers Guide.
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
req, out := c.CreateTargetGroupRequest(input)
err := req.Send()
return out, err
}
const opDeleteListener = "DeleteListener"
// DeleteListenerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteListener operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteListener method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteListenerRequest method.
// req, resp := client.DeleteListenerRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) {
op := &request.Operation{
Name: opDeleteListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteListenerInput{}
}
req = c.newRequest(op, input, output)
output = &DeleteListenerOutput{}
req.Data = output
return
}
// Deletes the specified listener.
//
// Alternatively, your listener is deleted when you delete the load balancer
// it is attached to using DeleteLoadBalancer.
func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) {
req, out := c.DeleteListenerRequest(input)
err := req.Send()
return out, err
}
const opDeleteLoadBalancer = "DeleteLoadBalancer"
// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLoadBalancer operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteLoadBalancer method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteLoadBalancerRequest method.
// req, resp := client.DeleteLoadBalancerRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
op := &request.Operation{
Name: opDeleteLoadBalancer,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteLoadBalancerInput{}
}
req = c.newRequest(op, input, output)
output = &DeleteLoadBalancerOutput{}
req.Data = output
return
}
// Deletes the specified load balancer and its attached listeners.
//
// You can't delete a load balancer if deletion protection is enabled. If the
// load balancer does not exist or has already been deleted, the call succeeds.
//
// Deleting a load balancer does not affect its registered targets. For example,
// your EC2 instances continue to run and are still registered to their target
// groups. If you no longer need these EC2 instances, you can stop or terminate
// them.
func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
req, out := c.DeleteLoadBalancerRequest(input)
err := req.Send()
return out, err
}
const opDeleteRule = "DeleteRule"
// DeleteRuleRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteRuleRequest method.
// req, resp := client.DeleteRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
op := &request.Operation{
Name: opDeleteRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteRuleInput{}
}
req = c.newRequest(op, input, output)
output = &DeleteRuleOutput{}
req.Data = output
return
}
// Deletes the specified rule.
func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
req, out := c.DeleteRuleRequest(input)
err := req.Send()
return out, err
}
const opDeleteTargetGroup = "DeleteTargetGroup"
// DeleteTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTargetGroup operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteTargetGroup method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteTargetGroupRequest method.
// req, resp := client.DeleteTargetGroupRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) {
op := &request.Operation{
Name: opDeleteTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteTargetGroupInput{}
}
req = c.newRequest(op, input, output)
output = &DeleteTargetGroupOutput{}
req.Data = output
return
}
// Deletes the specified target group.
//
// You can delete a target group if it is not referenced by any actions. Deleting
// a target group also deletes any associated health checks.
func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) {
req, out := c.DeleteTargetGroupRequest(input)
err := req.Send()
return out, err
}
const opDeregisterTargets = "DeregisterTargets"
// DeregisterTargetsRequest generates a "aws/request.Request" representing the
// client's request for the DeregisterTargets operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeregisterTargets method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeregisterTargetsRequest method.
// req, resp := client.DeregisterTargetsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) {
op := &request.Operation{
Name: opDeregisterTargets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeregisterTargetsInput{}
}
req = c.newRequest(op, input, output)
output = &DeregisterTargetsOutput{}
req.Data = output
return
}
// Deregisters the specified targets from the specified target group. After
// the targets are deregistered, they no longer receive traffic from the load
// balancer.
func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) {
req, out := c.DeregisterTargetsRequest(input)
err := req.Send()
return out, err
}
const opDescribeListeners = "DescribeListeners"
// DescribeListenersRequest generates a "aws/request.Request" representing the
// client's request for the DescribeListeners operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeListeners method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeListenersRequest method.
// req, resp := client.DescribeListenersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *request.Request, output *DescribeListenersOutput) {
op := &request.Operation{
Name: opDescribeListeners,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"Marker"},
OutputTokens: []string{"NextMarker"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeListenersInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeListenersOutput{}
req.Data = output
return
}
// Describes the specified listeners or the listeners for the specified load
// balancer. You must specify either a load balancer or one or more listeners.
func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) {
req, out := c.DescribeListenersRequest(input)
err := req.Send()
return out, err
}
// DescribeListenersPages iterates over the pages of a DescribeListeners operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeListeners method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeListeners operation.
// pageNum := 0
// err := client.DescribeListenersPages(params,
// func(page *DescribeListenersOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *ELBV2) DescribeListenersPages(input *DescribeListenersInput, fn func(p *DescribeListenersOutput, lastPage bool) (shouldContinue bool)) error {
page, _ := c.DescribeListenersRequest(input)
page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
return page.EachPage(func(p interface{}, lastPage bool) bool {
return fn(p.(*DescribeListenersOutput), lastPage)
})
}
const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes"
// DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLoadBalancerAttributes operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeLoadBalancerAttributes method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeLoadBalancerAttributesRequest method.
// req, resp := client.DescribeLoadBalancerAttributesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) {
op := &request.Operation{
Name: opDescribeLoadBalancerAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeLoadBalancerAttributesInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeLoadBalancerAttributesOutput{}
req.Data = output
return
}
// Describes the attributes for the specified load balancer.
func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) {
req, out := c.DescribeLoadBalancerAttributesRequest(input)
err := req.Send()
return out, err
}
const opDescribeLoadBalancers = "DescribeLoadBalancers"
// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLoadBalancers operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeLoadBalancers method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeLoadBalancersRequest method.
// req, resp := client.DescribeLoadBalancersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) {
op := &request.Operation{
Name: opDescribeLoadBalancers,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"Marker"},
OutputTokens: []string{"NextMarker"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeLoadBalancersInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeLoadBalancersOutput{}
req.Data = output
return
}
// Describes the specified Application load balancers or all of your Application
// load balancers.
//
// To describe the listeners for a load balancer, use DescribeListeners. To
// describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) {
req, out := c.DescribeLoadBalancersRequest(input)
err := req.Send()
return out, err
}
// DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeLoadBalancers method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeLoadBalancers operation.
// pageNum := 0
// err := client.DescribeLoadBalancersPages(params,
// func(page *DescribeLoadBalancersOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *ELBV2) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(p *DescribeLoadBalancersOutput, lastPage bool) (shouldContinue bool)) error {
page, _ := c.DescribeLoadBalancersRequest(input)
page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
return page.EachPage(func(p interface{}, lastPage bool) bool {
return fn(p.(*DescribeLoadBalancersOutput), lastPage)
})
}
const opDescribeRules = "DescribeRules"
// DescribeRulesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRules operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeRules method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeRulesRequest method.
// req, resp := client.DescribeRulesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) {
op := &request.Operation{
Name: opDescribeRules,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeRulesInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeRulesOutput{}
req.Data = output
return
}
// Describes the specified rules or the rules for the specified listener. You
// must specify either a listener or one or more rules.
func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) {
req, out := c.DescribeRulesRequest(input)
err := req.Send()
return out, err
}
const opDescribeSSLPolicies = "DescribeSSLPolicies"
// DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSSLPolicies operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeSSLPolicies method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeSSLPoliciesRequest method.
// req, resp := client.DescribeSSLPoliciesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) {
op := &request.Operation{
Name: opDescribeSSLPolicies,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeSSLPoliciesInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeSSLPoliciesOutput{}
req.Data = output
return
}
// Describes the specified policies or all policies used for SSL negotiation.
//
// Note that the only supported policy at this time is ELBSecurityPolicy-2015-05.
func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) {
req, out := c.DescribeSSLPoliciesRequest(input)
err := req.Send()
return out, err
}
const opDescribeTags = "DescribeTags"
// DescribeTagsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTags operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeTags method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeTagsRequest method.
// req, resp := client.DescribeTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
op := &request.Operation{
Name: opDescribeTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTagsInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeTagsOutput{}
req.Data = output
return
}
// Describes the tags for the specified resources.
func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
req, out := c.DescribeTagsRequest(input)
err := req.Send()
return out, err
}
const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes"
// DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetGroupAttributes operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeTargetGroupAttributes method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeTargetGroupAttributesRequest method.
// req, resp := client.DescribeTargetGroupAttributesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) {
op := &request.Operation{
Name: opDescribeTargetGroupAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTargetGroupAttributesInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeTargetGroupAttributesOutput{}
req.Data = output
return
}
// Describes the attributes for the specified target group.
func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) {
req, out := c.DescribeTargetGroupAttributesRequest(input)
err := req.Send()
return out, err
}
const opDescribeTargetGroups = "DescribeTargetGroups"
// DescribeTargetGroupsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetGroups operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeTargetGroups method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeTargetGroupsRequest method.
// req, resp := client.DescribeTargetGroupsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (req *request.Request, output *DescribeTargetGroupsOutput) {
op := &request.Operation{
Name: opDescribeTargetGroups,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &request.Paginator{
InputTokens: []string{"Marker"},
OutputTokens: []string{"NextMarker"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeTargetGroupsInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeTargetGroupsOutput{}
req.Data = output
return
}
// Describes the specified target groups or all of your target groups. By default,
// all target groups are described. Alternatively, you can specify one of the
// following to filter the results: the ARN of the load balancer, the names
// of one or more target groups, or the ARNs of one or more target groups.
//
// To describe the targets for a target group, use DescribeTargetHealth. To
// describe the attributes of a target group, use DescribeTargetGroupAttributes.
func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) {
req, out := c.DescribeTargetGroupsRequest(input)
err := req.Send()
return out, err
}
// DescribeTargetGroupsPages iterates over the pages of a DescribeTargetGroups operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeTargetGroups method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeTargetGroups operation.
// pageNum := 0
// err := client.DescribeTargetGroupsPages(params,
// func(page *DescribeTargetGroupsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func (c *ELBV2) DescribeTargetGroupsPages(input *DescribeTargetGroupsInput, fn func(p *DescribeTargetGroupsOutput, lastPage bool) (shouldContinue bool)) error {
page, _ := c.DescribeTargetGroupsRequest(input)
page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
return page.EachPage(func(p interface{}, lastPage bool) bool {
return fn(p.(*DescribeTargetGroupsOutput), lastPage)
})
}
const opDescribeTargetHealth = "DescribeTargetHealth"
// DescribeTargetHealthRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetHealth operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeTargetHealth method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeTargetHealthRequest method.
// req, resp := client.DescribeTargetHealthRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) {
op := &request.Operation{
Name: opDescribeTargetHealth,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTargetHealthInput{}
}
req = c.newRequest(op, input, output)
output = &DescribeTargetHealthOutput{}
req.Data = output
return
}
// Describes the health of the specified targets or all of your targets.
func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) {
req, out := c.DescribeTargetHealthRequest(input)
err := req.Send()
return out, err
}
const opModifyListener = "ModifyListener"
// ModifyListenerRequest generates a "aws/request.Request" representing the
// client's request for the ModifyListener operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ModifyListener method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ModifyListenerRequest method.
// req, resp := client.ModifyListenerRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) {
op := &request.Operation{
Name: opModifyListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyListenerInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyListenerOutput{}
req.Data = output
return
}
// Modifies the specified properties of the specified listener.
//
// Any properties that you do not specify retain their current values. However,
// changing the protocol from HTTPS to HTTP removes the security policy and
// SSL certificate properties. If you change the protocol from HTTP to HTTPS,
// you must add the security policy.
func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
req, out := c.ModifyListenerRequest(input)
err := req.Send()
return out, err
}
const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes"
// ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
// client's request for the ModifyLoadBalancerAttributes operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ModifyLoadBalancerAttributes method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ModifyLoadBalancerAttributesRequest method.
// req, resp := client.ModifyLoadBalancerAttributesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) {
op := &request.Operation{
Name: opModifyLoadBalancerAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyLoadBalancerAttributesInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyLoadBalancerAttributesOutput{}
req.Data = output
return
}
// Modifies the specified attributes of the specified load balancer.
//
// If any of the specified attributes can't be modified as requested, the call
// fails. Any existing attributes that you do not modify retain their current
// values.
func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) {
req, out := c.ModifyLoadBalancerAttributesRequest(input)
err := req.Send()
return out, err
}
const opModifyRule = "ModifyRule"
// ModifyRuleRequest generates a "aws/request.Request" representing the
// client's request for the ModifyRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ModifyRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ModifyRuleRequest method.
// req, resp := client.ModifyRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) {
op := &request.Operation{
Name: opModifyRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyRuleInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyRuleOutput{}
req.Data = output
return
}
// Modifies the specified rule.
//
// Any existing properties that you do not modify retain their current values.
//
// To modify the default action, use ModifyListener.
func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) {
req, out := c.ModifyRuleRequest(input)
err := req.Send()
return out, err
}
const opModifyTargetGroup = "ModifyTargetGroup"
// ModifyTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the ModifyTargetGroup operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ModifyTargetGroup method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ModifyTargetGroupRequest method.
// req, resp := client.ModifyTargetGroupRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) {
op := &request.Operation{
Name: opModifyTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyTargetGroupInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyTargetGroupOutput{}
req.Data = output
return
}
// Modifies the health checks used when evaluating the health state of the targets
// in the specified target group.
//
// To monitor the health of the targets, use DescribeTargetHealth.
func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) {
req, out := c.ModifyTargetGroupRequest(input)
err := req.Send()
return out, err
}
const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes"
// ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the
// client's request for the ModifyTargetGroupAttributes operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ModifyTargetGroupAttributes method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ModifyTargetGroupAttributesRequest method.
// req, resp := client.ModifyTargetGroupAttributesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) {
op := &request.Operation{
Name: opModifyTargetGroupAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyTargetGroupAttributesInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyTargetGroupAttributesOutput{}
req.Data = output
return
}
// Modifies the specified attributes of the specified target group.
func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) {
req, out := c.ModifyTargetGroupAttributesRequest(input)
err := req.Send()
return out, err
}
const opRegisterTargets = "RegisterTargets"
// RegisterTargetsRequest generates a "aws/request.Request" representing the
// client's request for the RegisterTargets operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the RegisterTargets method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the RegisterTargetsRequest method.
// req, resp := client.RegisterTargetsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) {
op := &request.Operation{
Name: opRegisterTargets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RegisterTargetsInput{}
}
req = c.newRequest(op, input, output)
output = &RegisterTargetsOutput{}
req.Data = output
return
}
// Registers the specified targets with the specified target group.
//
// The target must be in the virtual private cloud (VPC) that you specified
// for the target group.
//
// To remove a target from a target group, use DeregisterTargets.
func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) {
req, out := c.RegisterTargetsRequest(input)
err := req.Send()
return out, err
}
const opRemoveTags = "RemoveTags"
// RemoveTagsRequest generates a "aws/request.Request" representing the
// client's request for the RemoveTags operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the RemoveTags method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the RemoveTagsRequest method.
// req, resp := client.RemoveTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
op := &request.Operation{
Name: opRemoveTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RemoveTagsInput{}
}
req = c.newRequest(op, input, output)
output = &RemoveTagsOutput{}
req.Data = output
return
}
// Removes the specified tags from the specified resource.
//
// To list the current tags for your resources, use DescribeTags.
func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
req, out := c.RemoveTagsRequest(input)
err := req.Send()
return out, err
}
const opSetRulePriorities = "SetRulePriorities"
// SetRulePrioritiesRequest generates a "aws/request.Request" representing the
// client's request for the SetRulePriorities operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the SetRulePriorities method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the SetRulePrioritiesRequest method.
// req, resp := client.SetRulePrioritiesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) {
op := &request.Operation{
Name: opSetRulePriorities,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetRulePrioritiesInput{}
}
req = c.newRequest(op, input, output)
output = &SetRulePrioritiesOutput{}
req.Data = output
return
}
// Sets the priorities of the specified rules.
//
// You can reorder the rules as long as there are no priority conflicts in
// the new order. Any existing rules that you do not specify retain their current
// priority.
func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) {
req, out := c.SetRulePrioritiesRequest(input)
err := req.Send()
return out, err
}
const opSetSecurityGroups = "SetSecurityGroups"
// SetSecurityGroupsRequest generates a "aws/request.Request" representing the
// client's request for the SetSecurityGroups operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the SetSecurityGroups method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the SetSecurityGroupsRequest method.
// req, resp := client.SetSecurityGroupsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) {
op := &request.Operation{
Name: opSetSecurityGroups,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetSecurityGroupsInput{}
}
req = c.newRequest(op, input, output)
output = &SetSecurityGroupsOutput{}
req.Data = output
return
}
// Associates the specified security groups with the specified load balancer.
// The specified security groups override the previously associated security
// groups.
func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) {
req, out := c.SetSecurityGroupsRequest(input)
err := req.Send()
return out, err
}
const opSetSubnets = "SetSubnets"
// SetSubnetsRequest generates a "aws/request.Request" representing the
// client's request for the SetSubnets operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the SetSubnets method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the SetSubnetsRequest method.
// req, resp := client.SetSubnetsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) {
op := &request.Operation{
Name: opSetSubnets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetSubnetsInput{}
}
req = c.newRequest(op, input, output)
output = &SetSubnetsOutput{}
req.Data = output
return
}
// Enables the Availability Zone for the specified subnets for the specified
// load balancer. The specified subnets replace the previously enabled subnets.
func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) {
req, out := c.SetSubnetsRequest(input)
err := req.Send()
return out, err
}
// Information about an action.
type Action struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
// The type of action.
Type *string `type:"string" required:"true" enum:"ActionTypeEnum"`
}
// String returns the string representation
func (s Action) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Action) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Action) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Action"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the parameters for AddTags.
type AddTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource.
ResourceArns []*string `type:"list" required:"true"`
// The tags. Each resource can have a maximum of 10 tags.
Tags []*Tag `min:"1" type:"list" required:"true"`
}
// String returns the string representation
func (s AddTagsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AddTagsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AddTagsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
if s.ResourceArns == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
}
if s.Tags == nil {
invalidParams.Add(request.NewErrParamRequired("Tags"))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of AddTags.
type AddTagsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s AddTagsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AddTagsOutput) GoString() string {
return s.String()
}
// Information about an Availability Zone.
type AvailabilityZone struct {
_ struct{} `type:"structure"`
// The ID of the subnet.
SubnetId *string `type:"string"`
// The name of the Availability Zone.
ZoneName *string `type:"string"`
}
// String returns the string representation
func (s AvailabilityZone) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AvailabilityZone) GoString() string {
return s.String()
}
// Information about an SSL server certificate deployed on a load balancer.
type Certificate struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the certificate.
CertificateArn *string `type:"string"`
}
// String returns the string representation
func (s Certificate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Certificate) GoString() string {
return s.String()
}
// Information about a cipher used in a policy.
type Cipher struct {
_ struct{} `type:"structure"`
// The name of the cipher.
Name *string `type:"string"`
// The priority of the cipher.
Priority *int64 `type:"integer"`
}
// String returns the string representation
func (s Cipher) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Cipher) GoString() string {
return s.String()
}
// Contains the parameters for CreateListener.
type CreateListenerInput struct {
_ struct{} `type:"structure"`
// The SSL server certificate. You must provide exactly one certificate if the
// protocol is HTTPS.
Certificates []*Certificate `type:"list"`
// The default actions for the listener.
DefaultActions []*Action `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
// The port on which the load balancer is listening.
Port *int64 `min:"1" type:"integer" required:"true"`
// The protocol for connections from clients to the load balancer.
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
// The security policy that defines which ciphers and protocols are supported.
// The default is the current predefined security policy.
SslPolicy *string `type:"string"`
}
// String returns the string representation
func (s CreateListenerInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateListenerInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateListenerInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"}
if s.DefaultActions == nil {
invalidParams.Add(request.NewErrParamRequired("DefaultActions"))
}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if s.Port == nil {
invalidParams.Add(request.NewErrParamRequired("Port"))
}
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
if s.Protocol == nil {
invalidParams.Add(request.NewErrParamRequired("Protocol"))
}
if s.DefaultActions != nil {
for i, v := range s.DefaultActions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of CreateListener.
type CreateListenerOutput struct {
_ struct{} `type:"structure"`
// Information about the listener.
Listeners []*Listener `type:"list"`
}
// String returns the string representation
func (s CreateListenerOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateListenerOutput) GoString() string {
return s.String()
}
// Contains the parameters for CreateLoadBalancer.
type CreateLoadBalancerInput struct {
_ struct{} `type:"structure"`
// The name of the load balancer.
//
// This name must be unique within your AWS account, can have a maximum of
// 32 characters, must contain only alphanumeric characters or hyphens, and
// must not begin or end with a hyphen.
Name *string `type:"string" required:"true"`
// The nodes of an Internet-facing load balancer have public IP addresses. The
// DNS name of an Internet-facing load balancer is publicly resolvable to the
// public IP addresses of the nodes. Therefore, Internet-facing load balancers
// can route requests from clients over the Internet.
//
// The nodes of an internal load balancer have only private IP addresses. The
// DNS name of an internal load balancer is publicly resolvable to the private
// IP addresses of the nodes. Therefore, internal load balancers can only route
// requests from clients with access to the VPC for the load balancer.
//
// The default is an Internet-facing load balancer.
Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
// The IDs of the security groups to assign to the load balancer.
SecurityGroups []*string `type:"list"`
// The IDs of the subnets to attach to the load balancer. You can specify only
// one subnet per Availability Zone. You must specify subnets from at least
// two Availability Zones.
Subnets []*string `type:"list" required:"true"`
// One or more tags to assign to the load balancer.
Tags []*Tag `min:"1" type:"list"`
}
// String returns the string representation
func (s CreateLoadBalancerInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateLoadBalancerInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateLoadBalancerInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Subnets == nil {
invalidParams.Add(request.NewErrParamRequired("Subnets"))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of CreateLoadBalancer.
type CreateLoadBalancerOutput struct {
_ struct{} `type:"structure"`
// Information about the load balancer.
LoadBalancers []*LoadBalancer `type:"list"`
}
// String returns the string representation
func (s CreateLoadBalancerOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateLoadBalancerOutput) GoString() string {
return s.String()
}
// Contains the parameters for CreateRule.
type CreateRuleInput struct {
_ struct{} `type:"structure"`
// The actions for the rule.
Actions []*Action `type:"list" required:"true"`
// The conditions.
Conditions []*RuleCondition `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *string `type:"string" required:"true"`
// The priority for the rule. A listener can't have multiple rules with the
// same priority.
Priority *int64 `min:"1" type:"integer" required:"true"`
}
// String returns the string representation
func (s CreateRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"}
if s.Actions == nil {
invalidParams.Add(request.NewErrParamRequired("Actions"))
}
if s.Conditions == nil {
invalidParams.Add(request.NewErrParamRequired("Conditions"))
}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if s.Priority == nil {
invalidParams.Add(request.NewErrParamRequired("Priority"))
}
if s.Priority != nil && *s.Priority < 1 {
invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
}
if s.Actions != nil {
for i, v := range s.Actions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of CreateRule.
type CreateRuleOutput struct {
_ struct{} `type:"structure"`
// Information about the rule.
Rules []*Rule `type:"list"`
}
// String returns the string representation
func (s CreateRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateRuleOutput) GoString() string {
return s.String()
}
// Contains the parameters for CreateTargetGroup.
type CreateTargetGroupInput struct {
_ struct{} `type:"structure"`
// The approximate amount of time, in seconds, between health checks of an individual
// target. The default is 30 seconds.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
// The ping path that is the destination on the targets for health checks. The
// default is /.
HealthCheckPath *string `min:"1" type:"string"`
// The port the load balancer uses when performing health checks on targets.
// The default is traffic-port, which indicates the port on which each target
// receives traffic from the load balancer.
HealthCheckPort *string `type:"string"`
// The protocol the load balancer uses when performing health checks on targets.
// The default is the HTTP protocol.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response from a target means
// a failed health check. The default is 5 seconds.
HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
// The number of consecutive health checks successes required before considering
// an unhealthy target healthy. The default is 5.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
// The HTTP codes to use when checking for a successful response from a target.
// The default is 200.
Matcher *Matcher `type:"structure"`
// The name of the target group.
Name *string `type:"string" required:"true"`
// The port on which the targets receive traffic. This port is used unless you
// specify a port override when registering the target.
Port *int64 `min:"1" type:"integer" required:"true"`
// The protocol to use for routing traffic to the targets.
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
// The number of consecutive health check failures required before considering
// a target unhealthy. The default is 2.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
// The identifier of the virtual private cloud (VPC).
VpcId *string `type:"string" required:"true"`
}
// String returns the string representation
func (s CreateTargetGroupInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateTargetGroupInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateTargetGroupInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateTargetGroupInput"}
if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
}
if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
}
if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
}
if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Port == nil {
invalidParams.Add(request.NewErrParamRequired("Port"))
}
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
if s.Protocol == nil {
invalidParams.Add(request.NewErrParamRequired("Protocol"))
}
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
}
if s.VpcId == nil {
invalidParams.Add(request.NewErrParamRequired("VpcId"))
}
if s.Matcher != nil {
if err := s.Matcher.Validate(); err != nil {
invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of CreateTargetGroup.
type CreateTargetGroupOutput struct {
_ struct{} `type:"structure"`
// Information about the target group.
TargetGroups []*TargetGroup `type:"list"`
}
// String returns the string representation
func (s CreateTargetGroupOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateTargetGroupOutput) GoString() string {
return s.String()
}
// Contains the parameters for DeleteListener.
type DeleteListenerInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteListenerInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteListenerInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteListenerInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DeleteListener.
type DeleteListenerOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteListenerOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteListenerOutput) GoString() string {
return s.String()
}
// Contains the parameters for DeleteLoadBalancer.
type DeleteLoadBalancerInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteLoadBalancerInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteLoadBalancerInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteLoadBalancerInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DeleteLoadBalancer.
type DeleteLoadBalancerOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteLoadBalancerOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteLoadBalancerOutput) GoString() string {
return s.String()
}
// Contains the parameters for DeleteRule.
type DeleteRuleInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the rule.
RuleArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
if s.RuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("RuleArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DeleteRule.
type DeleteRuleOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteRuleOutput) GoString() string {
return s.String()
}
// Contains the parameters for DeleteTargetGroup.
type DeleteTargetGroupInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteTargetGroupInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteTargetGroupInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteTargetGroupInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteTargetGroupInput"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DeleteTargetGroup.
type DeleteTargetGroupOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteTargetGroupOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteTargetGroupOutput) GoString() string {
return s.String()
}
// Contains the parameters for DeregisterTargets.
type DeregisterTargetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
// The targets.
Targets []*TargetDescription `type:"list" required:"true"`
}
// String returns the string representation
func (s DeregisterTargetsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeregisterTargetsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeregisterTargetsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetsInput"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if s.Targets == nil {
invalidParams.Add(request.NewErrParamRequired("Targets"))
}
if s.Targets != nil {
for i, v := range s.Targets {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DeregisterTargets.
type DeregisterTargetsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeregisterTargetsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeregisterTargetsOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeListeners.
type DescribeListenersInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the listeners.
ListenerArns []*string `type:"list"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string"`
// The marker for the next set of results. (You received this marker from a
// previous call.)
Marker *string `type:"string"`
// The maximum number of results to return with this call.
PageSize *int64 `min:"1" type:"integer"`
}
// String returns the string representation
func (s DescribeListenersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeListenersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeListenersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeListenersInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeListeners.
type DescribeListenersOutput struct {
_ struct{} `type:"structure"`
// Information about the listeners.
Listeners []*Listener `type:"list"`
// The marker to use when requesting the next set of results. If there are no
// additional results, the string is empty.
NextMarker *string `type:"string"`
}
// String returns the string representation
func (s DescribeListenersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeListenersOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeLoadBalancerAttributes.
type DescribeLoadBalancerAttributesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DescribeLoadBalancerAttributesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeLoadBalancerAttributesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeLoadBalancerAttributesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerAttributesInput"}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeLoadBalancerAttributes.
type DescribeLoadBalancerAttributesOutput struct {
_ struct{} `type:"structure"`
// Information about the load balancer attributes.
Attributes []*LoadBalancerAttribute `type:"list"`
}
// String returns the string representation
func (s DescribeLoadBalancerAttributesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeLoadBalancerAttributesOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeLoadBalancers.
type DescribeLoadBalancersInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the load balancers.
LoadBalancerArns []*string `type:"list"`
// The marker for the next set of results. (You received this marker from a
// previous call.)
Marker *string `type:"string"`
// The names of the load balancers.
Names []*string `type:"list"`
// The maximum number of results to return with this call.
PageSize *int64 `min:"1" type:"integer"`
}
// String returns the string representation
func (s DescribeLoadBalancersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeLoadBalancersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeLoadBalancersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeLoadBalancers.
type DescribeLoadBalancersOutput struct {
_ struct{} `type:"structure"`
// Information about the load balancers.
LoadBalancers []*LoadBalancer `type:"list"`
// The marker to use when requesting the next set of results. If there are no
// additional results, the string is empty.
NextMarker *string `type:"string"`
}
// String returns the string representation
func (s DescribeLoadBalancersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeLoadBalancersOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeRules.
type DescribeRulesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *string `type:"string"`
// The Amazon Resource Names (ARN) of the rules.
RuleArns []*string `type:"list"`
}
// String returns the string representation
func (s DescribeRulesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeRulesInput) GoString() string {
return s.String()
}
// Contains the output of DescribeRules.
type DescribeRulesOutput struct {
_ struct{} `type:"structure"`
// Information about the rules.
Rules []*Rule `type:"list"`
}
// String returns the string representation
func (s DescribeRulesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeRulesOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeSSLPolicies.
type DescribeSSLPoliciesInput struct {
_ struct{} `type:"structure"`
// The marker for the next set of results. (You received this marker from a
// previous call.)
Marker *string `type:"string"`
// The names of the policies.
Names []*string `type:"list"`
// The maximum number of results to return with this call.
PageSize *int64 `min:"1" type:"integer"`
}
// String returns the string representation
func (s DescribeSSLPoliciesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeSSLPoliciesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeSSLPoliciesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeSSLPoliciesInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeSSLPolicies.
type DescribeSSLPoliciesOutput struct {
_ struct{} `type:"structure"`
// The marker to use when requesting the next set of results. If there are no
// additional results, the string is empty.
NextMarker *string `type:"string"`
// Information about the policies.
SslPolicies []*SslPolicy `type:"list"`
}
// String returns the string representation
func (s DescribeSSLPoliciesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeSSLPoliciesOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeTags.
type DescribeTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the resources.
ResourceArns []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s DescribeTagsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTagsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeTagsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
if s.ResourceArns == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeTags.
type DescribeTagsOutput struct {
_ struct{} `type:"structure"`
// Information about the tags.
TagDescriptions []*TagDescription `type:"list"`
}
// String returns the string representation
func (s DescribeTagsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTagsOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeTargetGroupAttributes.
type DescribeTargetGroupAttributesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DescribeTargetGroupAttributesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetGroupAttributesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeTargetGroupAttributesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupAttributesInput"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeTargetGroupAttributes.
type DescribeTargetGroupAttributesOutput struct {
_ struct{} `type:"structure"`
// Information about the target group attributes
Attributes []*TargetGroupAttribute `type:"list"`
}
// String returns the string representation
func (s DescribeTargetGroupAttributesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetGroupAttributesOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeTargetGroups.
type DescribeTargetGroupsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string"`
// The marker for the next set of results. (You received this marker from a
// previous call.)
Marker *string `type:"string"`
// The names of the target groups.
Names []*string `type:"list"`
// The maximum number of results to return with this call.
PageSize *int64 `min:"1" type:"integer"`
// The Amazon Resource Names (ARN) of the target groups.
TargetGroupArns []*string `type:"list"`
}
// String returns the string representation
func (s DescribeTargetGroupsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetGroupsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeTargetGroupsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupsInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeTargetGroups.
type DescribeTargetGroupsOutput struct {
_ struct{} `type:"structure"`
// The marker to use when requesting the next set of results. If there are no
// additional results, the string is empty.
NextMarker *string `type:"string"`
// Information about the target groups.
TargetGroups []*TargetGroup `type:"list"`
}
// String returns the string representation
func (s DescribeTargetGroupsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetGroupsOutput) GoString() string {
return s.String()
}
// Contains the parameters for DescribeTargetHealth.
type DescribeTargetHealthInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
// The targets.
Targets []*TargetDescription `type:"list"`
}
// String returns the string representation
func (s DescribeTargetHealthInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetHealthInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeTargetHealthInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeTargetHealthInput"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if s.Targets != nil {
for i, v := range s.Targets {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of DescribeTargetHealth.
type DescribeTargetHealthOutput struct {
_ struct{} `type:"structure"`
// Information about the health of the targets.
TargetHealthDescriptions []*TargetHealthDescription `type:"list"`
}
// String returns the string representation
func (s DescribeTargetHealthOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeTargetHealthOutput) GoString() string {
return s.String()
}
// Information about a listener.
type Listener struct {
_ struct{} `type:"structure"`
// The SSL server certificate. You must provide a certificate if the protocol
// is HTTPS.
Certificates []*Certificate `type:"list"`
// The default actions for the listener.
DefaultActions []*Action `type:"list"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *string `type:"string"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string"`
// The port on which the load balancer is listening.
Port *int64 `min:"1" type:"integer"`
// The protocol for connections from clients to the load balancer.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// The security policy that defines which ciphers and protocols are supported.
// The default is the current predefined security policy.
SslPolicy *string `type:"string"`
}
// String returns the string representation
func (s Listener) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Listener) GoString() string {
return s.String()
}
// Information about a load balancer.
type LoadBalancer struct {
_ struct{} `type:"structure"`
// The Availability Zones for the load balancer.
AvailabilityZones []*AvailabilityZone `type:"list"`
// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
CanonicalHostedZoneId *string `type:"string"`
// The date and time the load balancer was created.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The public DNS name of the load balancer.
DNSName *string `type:"string"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string"`
// The name of the load balancer.
LoadBalancerName *string `type:"string"`
// The nodes of an Internet-facing load balancer have public IP addresses. The
// DNS name of an Internet-facing load balancer is publicly resolvable to the
// public IP addresses of the nodes. Therefore, Internet-facing load balancers
// can route requests from clients over the Internet.
//
// The nodes of an internal load balancer have only private IP addresses. The
// DNS name of an internal load balancer is publicly resolvable to the private
// IP addresses of the nodes. Therefore, internal load balancers can only route
// requests from clients with access to the VPC for the load balancer.
Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
// The IDs of the security groups for the load balancer.
SecurityGroups []*string `type:"list"`
// The state of the load balancer.
State *LoadBalancerState `type:"structure"`
// The type of load balancer.
Type *string `type:"string" enum:"LoadBalancerTypeEnum"`
// The ID of the VPC for the load balancer.
VpcId *string `type:"string"`
}
// String returns the string representation
func (s LoadBalancer) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LoadBalancer) GoString() string {
return s.String()
}
// Information about a load balancer attribute.
type LoadBalancerAttribute struct {
_ struct{} `type:"structure"`
// The name of the attribute.
//
// access_logs.s3.enabled - Indicates whether access logs stored in Amazon
// S3 are enabled.
//
// access_logs.s3.bucket - The name of the S3 bucket for the access logs.
// This attribute is required if access logs in Amazon S3 are enabled. The bucket
// must exist in the same region as the load balancer and have a bucket policy
// that grants Elastic Load Balancing permission to write to the bucket.
//
// access_logs.s3.prefix - The prefix for the location in the S3 bucket.
// If you don't specify a prefix, the access logs are stored in the root of
// the bucket.
//
// deletion_protection.enabled - Indicates whether deletion protection is
// enabled.
//
// idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
// valid range is 1-3600. The default is 60 seconds.
Key *string `type:"string"`
// The value of the attribute.
Value *string `type:"string"`
}
// String returns the string representation
func (s LoadBalancerAttribute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LoadBalancerAttribute) GoString() string {
return s.String()
}
// Information about the state of the load balancer.
type LoadBalancerState struct {
_ struct{} `type:"structure"`
// The state code. The initial state of the load balancer is provisioning. After
// the load balancer is fully set up and ready to route traffic, its state is
// active. If the load balancer could not be set up, its state is failed.
Code *string `type:"string" enum:"LoadBalancerStateEnum"`
// A description of the state.
Reason *string `type:"string"`
}
// String returns the string representation
func (s LoadBalancerState) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LoadBalancerState) GoString() string {
return s.String()
}
// Information to use when checking for a successful response from a target.
type Matcher struct {
_ struct{} `type:"structure"`
// The HTTP codes. The default value is 200. You can specify multiple values
// (for example, "200,202") or a range of values (for example, "200-299").
HttpCode *string `type:"string" required:"true"`
}
// String returns the string representation
func (s Matcher) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Matcher) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Matcher) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Matcher"}
if s.HttpCode == nil {
invalidParams.Add(request.NewErrParamRequired("HttpCode"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the parameters for ModifyListener.
type ModifyListenerInput struct {
_ struct{} `type:"structure"`
// The SSL server certificate.
Certificates []*Certificate `type:"list"`
// The default actions.
DefaultActions []*Action `type:"list"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *string `type:"string" required:"true"`
// The port for connections from clients to the load balancer.
Port *int64 `min:"1" type:"integer"`
// The protocol for connections from clients to the load balancer.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// The security policy that defines which ciphers and protocols are supported.
SslPolicy *string `type:"string"`
}
// String returns the string representation
func (s ModifyListenerInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyListenerInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ModifyListenerInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ModifyListenerInput"}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
if s.DefaultActions != nil {
for i, v := range s.DefaultActions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of ModifyListener.
type ModifyListenerOutput struct {
_ struct{} `type:"structure"`
// Information about the modified listeners.
Listeners []*Listener `type:"list"`
}
// String returns the string representation
func (s ModifyListenerOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyListenerOutput) GoString() string {
return s.String()
}
// Contains the parameters for ModifyLoadBalancerAttributes.
type ModifyLoadBalancerAttributesInput struct {
_ struct{} `type:"structure"`
// The load balancer attributes.
Attributes []*LoadBalancerAttribute `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s ModifyLoadBalancerAttributesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyLoadBalancerAttributesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ModifyLoadBalancerAttributesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ModifyLoadBalancerAttributesInput"}
if s.Attributes == nil {
invalidParams.Add(request.NewErrParamRequired("Attributes"))
}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of ModifyLoadBalancerAttributes.
type ModifyLoadBalancerAttributesOutput struct {
_ struct{} `type:"structure"`
// Information about the load balancer attributes.
Attributes []*LoadBalancerAttribute `type:"list"`
}
// String returns the string representation
func (s ModifyLoadBalancerAttributesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyLoadBalancerAttributesOutput) GoString() string {
return s.String()
}
// Contains the parameters for ModifyRules.
type ModifyRuleInput struct {
_ struct{} `type:"structure"`
// The actions.
Actions []*Action `type:"list"`
// The conditions.
Conditions []*RuleCondition `type:"list"`
// The Amazon Resource Name (ARN) of the rule.
RuleArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s ModifyRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ModifyRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ModifyRuleInput"}
if s.RuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("RuleArn"))
}
if s.Actions != nil {
for i, v := range s.Actions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of ModifyRules.
type ModifyRuleOutput struct {
_ struct{} `type:"structure"`
// Information about the rule.
Rules []*Rule `type:"list"`
}
// String returns the string representation
func (s ModifyRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyRuleOutput) GoString() string {
return s.String()
}
// Contains the parameters for ModifyTargetGroupAttributes.
type ModifyTargetGroupAttributesInput struct {
_ struct{} `type:"structure"`
// The attributes.
Attributes []*TargetGroupAttribute `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s ModifyTargetGroupAttributesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyTargetGroupAttributesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ModifyTargetGroupAttributesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupAttributesInput"}
if s.Attributes == nil {
invalidParams.Add(request.NewErrParamRequired("Attributes"))
}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of ModifyTargetGroupAttributes.
type ModifyTargetGroupAttributesOutput struct {
_ struct{} `type:"structure"`
// Information about the attributes.
Attributes []*TargetGroupAttribute `type:"list"`
}
// String returns the string representation
func (s ModifyTargetGroupAttributesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyTargetGroupAttributesOutput) GoString() string {
return s.String()
}
// Contains the parameters for ModifyTargetGroup.
type ModifyTargetGroupInput struct {
_ struct{} `type:"structure"`
// The approximate amount of time, in seconds, between health checks of an individual
// target.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
// The ping path that is the destination for the health check request.
HealthCheckPath *string `min:"1" type:"string"`
// The port to use to connect with the target.
HealthCheckPort *string `type:"string"`
// The protocol to use to connect with the target.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response means a failed health
// check.
HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
// The number of consecutive health checks successes required before considering
// an unhealthy target healthy.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
// The HTTP codes to use when checking for a successful response from a target.
Matcher *Matcher `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
// The number of consecutive health check failures required before considering
// the target unhealthy.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
}
// String returns the string representation
func (s ModifyTargetGroupInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyTargetGroupInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ModifyTargetGroupInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupInput"}
if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 {
invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5))
}
if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 {
invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1))
}
if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 {
invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2))
}
if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2))
}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
}
if s.Matcher != nil {
if err := s.Matcher.Validate(); err != nil {
invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of ModifyTargetGroup.
type ModifyTargetGroupOutput struct {
_ struct{} `type:"structure"`
// Information about the target group.
TargetGroups []*TargetGroup `type:"list"`
}
// String returns the string representation
func (s ModifyTargetGroupOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyTargetGroupOutput) GoString() string {
return s.String()
}
// Contains the parameters for RegisterTargets.
type RegisterTargetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string" required:"true"`
// The targets.
Targets []*TargetDescription `type:"list" required:"true"`
}
// String returns the string representation
func (s RegisterTargetsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RegisterTargetsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RegisterTargetsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RegisterTargetsInput"}
if s.TargetGroupArn == nil {
invalidParams.Add(request.NewErrParamRequired("TargetGroupArn"))
}
if s.Targets == nil {
invalidParams.Add(request.NewErrParamRequired("Targets"))
}
if s.Targets != nil {
for i, v := range s.Targets {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of RegisterTargets.
type RegisterTargetsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s RegisterTargetsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RegisterTargetsOutput) GoString() string {
return s.String()
}
// Contains the parameters for RemoveTags.
type RemoveTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource.
ResourceArns []*string `type:"list" required:"true"`
// The tag keys for the tags to remove.
TagKeys []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s RemoveTagsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RemoveTagsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RemoveTagsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
if s.ResourceArns == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
}
if s.TagKeys == nil {
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of RemoveTags.
type RemoveTagsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s RemoveTagsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RemoveTagsOutput) GoString() string {
return s.String()
}
// Information about a rule.
type Rule struct {
_ struct{} `type:"structure"`
// The actions.
Actions []*Action `type:"list"`
// The conditions.
Conditions []*RuleCondition `type:"list"`
// Indicates whether this is the default rule.
IsDefault *bool `type:"boolean"`
// The priority.
Priority *string `type:"string"`
// The Amazon Resource Name (ARN) of the rule.
RuleArn *string `type:"string"`
}
// String returns the string representation
func (s Rule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Rule) GoString() string {
return s.String()
}
// Information about a condition for a rule.
type RuleCondition struct {
_ struct{} `type:"structure"`
// The name of the field. The possible value is path-pattern.
Field *string `type:"string"`
// The values for the field.
//
// A path pattern is case sensitive, can be up to 255 characters in length,
// and can contain any of the following characters:
//
// A-Z, a-z, 0-9
//
// _ - . $ / ~ " ' @ : +
//
// &amp; (using &amp;amp;)
//
// * (matches 0 or more characters)
//
// ? (matches exactly 1 character)
Values []*string `type:"list"`
}
// String returns the string representation
func (s RuleCondition) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RuleCondition) GoString() string {
return s.String()
}
// Information about the priorities for the rules for a listener.
type RulePriorityPair struct {
_ struct{} `type:"structure"`
// The rule priority.
Priority *int64 `min:"1" type:"integer"`
// The Amazon Resource Name (ARN) of the rule.
RuleArn *string `type:"string"`
}
// String returns the string representation
func (s RulePriorityPair) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RulePriorityPair) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RulePriorityPair) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RulePriorityPair"}
if s.Priority != nil && *s.Priority < 1 {
invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the parameters for SetRulePriorities.
type SetRulePrioritiesInput struct {
_ struct{} `type:"structure"`
// The rule priorities.
RulePriorities []*RulePriorityPair `type:"list" required:"true"`
}
// String returns the string representation
func (s SetRulePrioritiesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetRulePrioritiesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetRulePrioritiesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SetRulePrioritiesInput"}
if s.RulePriorities == nil {
invalidParams.Add(request.NewErrParamRequired("RulePriorities"))
}
if s.RulePriorities != nil {
for i, v := range s.RulePriorities {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RulePriorities", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of SetRulePriorities.
type SetRulePrioritiesOutput struct {
_ struct{} `type:"structure"`
// Information about the rules.
Rules []*Rule `type:"list"`
}
// String returns the string representation
func (s SetRulePrioritiesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetRulePrioritiesOutput) GoString() string {
return s.String()
}
// Contains the parameters for SetSecurityGroups.
type SetSecurityGroupsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
// The IDs of the security groups.
SecurityGroups []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s SetSecurityGroupsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetSecurityGroupsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetSecurityGroupsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SetSecurityGroupsInput"}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if s.SecurityGroups == nil {
invalidParams.Add(request.NewErrParamRequired("SecurityGroups"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of SetSecurityGroups.
type SetSecurityGroupsOutput struct {
_ struct{} `type:"structure"`
// The IDs of the security groups associated with the load balancer.
SecurityGroupIds []*string `type:"list"`
}
// String returns the string representation
func (s SetSecurityGroupsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetSecurityGroupsOutput) GoString() string {
return s.String()
}
// Contains the parameters for SetSubnets.
type SetSubnetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
LoadBalancerArn *string `type:"string" required:"true"`
// The IDs of the subnets. You must specify at least two subnets. You can add
// only one subnet per Availability Zone.
Subnets []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s SetSubnetsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetSubnetsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetSubnetsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SetSubnetsInput"}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if s.Subnets == nil {
invalidParams.Add(request.NewErrParamRequired("Subnets"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of SetSubnets.
type SetSubnetsOutput struct {
_ struct{} `type:"structure"`
// Information about the subnet and Availability Zone.
AvailabilityZones []*AvailabilityZone `type:"list"`
}
// String returns the string representation
func (s SetSubnetsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetSubnetsOutput) GoString() string {
return s.String()
}
// Information about a policy used for SSL negotiation.
type SslPolicy struct {
_ struct{} `type:"structure"`
// The ciphers.
Ciphers []*Cipher `type:"list"`
// The name of the policy.
Name *string `type:"string"`
// The protocols.
SslProtocols []*string `type:"list"`
}
// String returns the string representation
func (s SslPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SslPolicy) GoString() string {
return s.String()
}
// Information about a tag.
type Tag struct {
_ struct{} `type:"structure"`
// The key of the tag.
Key *string `min:"1" type:"string" required:"true"`
// The value of the tag.
Value *string `type:"string"`
}
// String returns the string representation
func (s Tag) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Tag) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Tag) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Tag"}
if s.Key == nil {
invalidParams.Add(request.NewErrParamRequired("Key"))
}
if s.Key != nil && len(*s.Key) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Key", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// The tags associated with a resource.
type TagDescription struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource.
ResourceArn *string `type:"string"`
// Information about the tags.
Tags []*Tag `min:"1" type:"list"`
}
// String returns the string representation
func (s TagDescription) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TagDescription) GoString() string {
return s.String()
}
// Information about a target.
type TargetDescription struct {
_ struct{} `type:"structure"`
// The ID of the target.
Id *string `type:"string" required:"true"`
// The port on which the target is listening.
Port *int64 `min:"1" type:"integer"`
}
// String returns the string representation
func (s TargetDescription) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TargetDescription) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TargetDescription) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "TargetDescription"}
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Information about a target group.
type TargetGroup struct {
_ struct{} `type:"structure"`
// The approximate amount of time, in seconds, between health checks of an individual
// target.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
// The destination for the health check request.
HealthCheckPath *string `min:"1" type:"string"`
// The port to use to connect with the target.
HealthCheckPort *string `type:"string"`
// The protocol to use to connect with the target.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response means a failed health
// check.
HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
// The number of consecutive health checks successes required before considering
// an unhealthy target healthy.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
// The Amazon Resource Names (ARN) of the load balancers that route traffic
// to this target group.
LoadBalancerArns []*string `type:"list"`
// The HTTP codes to use when checking for a successful response from a target.
Matcher *Matcher `type:"structure"`
// The port on which the targets are listening.
Port *int64 `min:"1" type:"integer"`
// The protocol to use for routing traffic to the targets.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string"`
// The name of the target group.
TargetGroupName *string `type:"string"`
// The number of consecutive health check failures required before considering
// the target unhealthy.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
// The ID of the VPC for the targets.
VpcId *string `type:"string"`
}
// String returns the string representation
func (s TargetGroup) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TargetGroup) GoString() string {
return s.String()
}
// Information about a target group attribute.
type TargetGroupAttribute struct {
_ struct{} `type:"structure"`
// The name of the attribute.
//
// deregistration_delay.timeout_seconds - The amount time for Elastic Load
// Balancing to wait before changing the state of a deregistering target from
// draining to unused. The range is 0-3600 seconds. The default value is 300
// seconds.
//
// stickiness.enabled - Indicates whether sticky sessions are enabled.
//
// stickiness.type - The type of sticky sessions. The possible value is
// lb_cookie.
//
// stickiness.lb_cookie.duration_seconds - The time period, in seconds,
// during which requests from a client should be routed to the same target.
// After this time period expires, the load balancer-generated cookie is considered
// stale. The range is 1 second to 1 week (604800 seconds). The default value
// is 1 day (86400 seconds).
Key *string `type:"string"`
// The value of the attribute.
Value *string `type:"string"`
}
// String returns the string representation
func (s TargetGroupAttribute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TargetGroupAttribute) GoString() string {
return s.String()
}
// Information about the current health of a target.
type TargetHealth struct {
_ struct{} `type:"structure"`
// A description of the target health that provides additional details. If the
// state is healthy, a description is not provided.
Description *string `type:"string"`
// The reason code. If the target state is healthy, a reason code is not provided.
//
// If the target state is initial, the reason code can be one of the following
// values:
//
// Elb.RegistrationInProgress - The target is in the process of being registered
// with the load balancer.
//
// Elb.InitialHealthChecking - The load balancer is still sending the target
// the minimum number of health checks required to determine its health status.
//
// If the target state is unhealthy, the reason code can be one of the following
// values:
//
// Target.ResponseCodeMismatch - The health checks did not return an expected
// HTTP code.
//
// Target.Timeout - The health check requests timed out.
//
// Target.FailedHealthChecks - The health checks failed because the connection
// to the target timed out, the target response was malformed, or the target
// failed the health check for an unknown reason.
//
// Elb.InternalError - The health checks failed due to an internal error.
//
// If the target state is unused, the reason code can be one of the following
// values:
//
// Target.NotRegistered - The target is not registered with the target group.
//
// Target.NotInUse - The target group is not used by any load balancer or
// the target is in an Availability Zone that is not enabled for its load balancer.
//
// Target.InvalidState - The target is in the stopped or terminated state.
//
// If the target state is draining, the reason code can be the following
// value:
//
// Target.DeregistrationInProgress - The target is in the process of being
// deregistered and the deregistration delay period has not expired.
Reason *string `type:"string" enum:"TargetHealthReasonEnum"`
// The state of the target.
State *string `type:"string" enum:"TargetHealthStateEnum"`
}
// String returns the string representation
func (s TargetHealth) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TargetHealth) GoString() string {
return s.String()
}
// Information about the health of a target.
type TargetHealthDescription struct {
_ struct{} `type:"structure"`
// The port to use to connect with the target.
HealthCheckPort *string `type:"string"`
// The description of the target.
Target *TargetDescription `type:"structure"`
// The health information for the target.
TargetHealth *TargetHealth `type:"structure"`
}
// String returns the string representation
func (s TargetHealthDescription) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s TargetHealthDescription) GoString() string {
return s.String()
}
const (
// @enum ActionTypeEnum
ActionTypeEnumForward = "forward"
)
const (
// @enum LoadBalancerSchemeEnum
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
// @enum LoadBalancerSchemeEnum
LoadBalancerSchemeEnumInternal = "internal"
)
const (
// @enum LoadBalancerStateEnum
LoadBalancerStateEnumActive = "active"
// @enum LoadBalancerStateEnum
LoadBalancerStateEnumProvisioning = "provisioning"
// @enum LoadBalancerStateEnum
LoadBalancerStateEnumFailed = "failed"
)
const (
// @enum LoadBalancerTypeEnum
LoadBalancerTypeEnumApplication = "application"
)
const (
// @enum ProtocolEnum
ProtocolEnumHttp = "HTTP"
// @enum ProtocolEnum
ProtocolEnumHttps = "HTTPS"
)
const (
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetTimeout = "Target.Timeout"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState"
// @enum TargetHealthReasonEnum
TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
)
const (
// @enum TargetHealthStateEnum
TargetHealthStateEnumInitial = "initial"
// @enum TargetHealthStateEnum
TargetHealthStateEnumHealthy = "healthy"
// @enum TargetHealthStateEnum
TargetHealthStateEnumUnhealthy = "unhealthy"
// @enum TargetHealthStateEnum
TargetHealthStateEnumUnused = "unused"
// @enum TargetHealthStateEnum
TargetHealthStateEnumDraining = "draining"
)