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

8712 lines
290 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package elbv2
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/query"
)
const opAddListenerCertificates = "AddListenerCertificates"
// AddListenerCertificatesRequest generates a "aws/request.Request" representing the
// client's request for the AddListenerCertificates operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See AddListenerCertificates for more information on using the AddListenerCertificates
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the AddListenerCertificatesRequest method.
// req, resp := client.AddListenerCertificatesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates
func (c *ELBV2) AddListenerCertificatesRequest(input *AddListenerCertificatesInput) (req *request.Request, output *AddListenerCertificatesOutput) {
op := &request.Operation{
Name: opAddListenerCertificates,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AddListenerCertificatesInput{}
}
output = &AddListenerCertificatesOutput{}
req = c.newRequest(op, input, output)
return
}
// AddListenerCertificates API operation for Elastic Load Balancing.
//
// Adds the specified certificate to the specified HTTPS listener.
//
// If the certificate was already added, the call is successful but the certificate
// is not added again.
//
// To list the certificates for your listener, use DescribeListenerCertificates.
// To remove certificates from your listener, use RemoveListenerCertificates.
// To specify the default SSL server certificate, use ModifyListener.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation AddListenerCertificates for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeTooManyCertificatesException "TooManyCertificates"
// You've reached the limit on the number of certificates per load balancer.
//
// * ErrCodeCertificateNotFoundException "CertificateNotFound"
// The specified certificate does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates
func (c *ELBV2) AddListenerCertificates(input *AddListenerCertificatesInput) (*AddListenerCertificatesOutput, error) {
req, out := c.AddListenerCertificatesRequest(input)
return out, req.Send()
}
// AddListenerCertificatesWithContext is the same as AddListenerCertificates with the addition of
// the ability to pass a context and additional request options.
//
// See AddListenerCertificates for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) AddListenerCertificatesWithContext(ctx aws.Context, input *AddListenerCertificatesInput, opts ...request.Option) (*AddListenerCertificatesOutput, error) {
req, out := c.AddListenerCertificatesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opAddTags = "AddTags"
// AddTagsRequest generates a "aws/request.Request" representing the
// client's request for the AddTags operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See AddTags for more information on using the AddTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags
func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
op := &request.Operation{
Name: opAddTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AddTagsInput{}
}
output = &AddTagsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// AddTags API operation for Elastic Load Balancing.
//
// Adds the specified tags to the specified Elastic Load Balancing resource.
// You can tag your Application Load Balancers, Network 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation AddTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeDuplicateTagKeysException "DuplicateTagKeys"
// A tag key was specified more than once.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags
func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
req, out := c.AddTagsRequest(input)
return out, req.Send()
}
// AddTagsWithContext is the same as AddTags with the addition of
// the ability to pass a context and additional request options.
//
// See AddTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
req, out := c.AddTagsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateListener = "CreateListener"
// CreateListenerRequest generates a "aws/request.Request" representing the
// client's request for the CreateListener operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateListener for more information on using the CreateListener
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) {
op := &request.Operation{
Name: opCreateListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateListenerInput{}
}
output = &CreateListenerOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateListener API operation for Elastic Load Balancing.
//
// Creates a listener for the specified Application Load Balancer or Network
// 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.
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple listeners with the same settings, each
// call succeeds.
//
// For more information, see Listeners for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
// in the Application Load Balancers Guide and Listeners for Your Network Load
// Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation CreateListener for usage and error information.
//
// Returned Error Codes:
// * ErrCodeDuplicateListenerException "DuplicateListener"
// A listener with the specified port already exists.
//
// * ErrCodeTooManyListenersException "TooManyListeners"
// You've reached the limit on the number of listeners per load balancer.
//
// * ErrCodeTooManyCertificatesException "TooManyCertificates"
// You've reached the limit on the number of certificates per load balancer.
//
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
// You've reached the limit on the number of load balancers per target group.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
// The specified configuration is not valid with this protocol.
//
// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
// The specified SSL policy does not exist.
//
// * ErrCodeCertificateNotFoundException "CertificateNotFound"
// The specified certificate does not exist.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
// You've reached the limit on the number of times a target can be registered
// with a load balancer.
//
// * ErrCodeTooManyTargetsException "TooManyTargets"
// You've reached the limit on the number of targets.
//
// * ErrCodeTooManyActionsException "TooManyActions"
// You've reached the limit on the number of actions per rule.
//
// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
// The requested action is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
req, out := c.CreateListenerRequest(input)
return out, req.Send()
}
// CreateListenerWithContext is the same as CreateListener with the addition of
// the ability to pass a context and additional request options.
//
// See CreateListener for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) {
req, out := c.CreateListenerRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateLoadBalancer = "CreateLoadBalancer"
// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
// client's request for the CreateLoadBalancer operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateLoadBalancer for more information on using the CreateLoadBalancer
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer
func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
op := &request.Operation{
Name: opCreateLoadBalancer,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateLoadBalancerInput{}
}
output = &CreateLoadBalancerOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateLoadBalancer API operation for Elastic Load Balancing.
//
// Creates an Application Load Balancer or a Network Load Balancer.
//
// When you create a load balancer, you can specify security groups, public
// subnets, IP address type, and tags. Otherwise, you could do so later using
// SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
//
// To create listeners for your load balancer, use CreateListener. To describe
// your current load balancers, see DescribeLoadBalancers. When you are finished
// with a load balancer, you can delete it using DeleteLoadBalancer.
//
// For limit information, see Limits for Your Application Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
// in the Application Load Balancers Guide and Limits for Your Network Load
// Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
// in the Network Load Balancers Guide.
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple load balancers with the same settings,
// each call succeeds.
//
// For more information, see Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html)
// in the Application Load Balancers Guide and Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation CreateLoadBalancer for usage and error information.
//
// Returned Error Codes:
// * ErrCodeDuplicateLoadBalancerNameException "DuplicateLoadBalancerName"
// A load balancer with the specified name already exists.
//
// * ErrCodeTooManyLoadBalancersException "TooManyLoadBalancers"
// You've reached the limit on the number of load balancers for your AWS account.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeSubnetNotFoundException "SubnetNotFound"
// The specified subnet does not exist.
//
// * ErrCodeInvalidSubnetException "InvalidSubnet"
// The specified subnet is out of available addresses.
//
// * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup"
// The specified security group does not exist.
//
// * ErrCodeInvalidSchemeException "InvalidScheme"
// The requested scheme is not valid.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// * ErrCodeDuplicateTagKeysException "DuplicateTagKeys"
// A tag key was specified more than once.
//
// * ErrCodeResourceInUseException "ResourceInUse"
// A specified resource is in use.
//
// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound"
// The specified allocation ID does not exist.
//
// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported"
// The specified Availability Zone is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer
func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
req, out := c.CreateLoadBalancerRequest(input)
return out, req.Send()
}
// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
// the ability to pass a context and additional request options.
//
// See CreateLoadBalancer for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
req, out := c.CreateLoadBalancerRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateRule = "CreateRule"
// CreateRuleRequest generates a "aws/request.Request" representing the
// client's request for the CreateRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateRule for more information on using the CreateRule
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
op := &request.Operation{
Name: opCreateRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateRuleInput{}
}
output = &CreateRuleOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateRule API operation for Elastic Load Balancing.
//
// Creates a rule for the specified listener. The listener must be associated
// with an Application Load Balancer.
//
// Rules are evaluated in priority order, from the lowest value to the highest
// value. When the conditions for a rule are met, its actions are performed.
// If the conditions for no rules are met, the actions for the default rule
// are performed. For more information, see Listener Rules (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules)
// in the Application Load Balancers Guide.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation CreateRule for usage and error information.
//
// Returned Error Codes:
// * ErrCodePriorityInUseException "PriorityInUse"
// The specified priority is in use.
//
// * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups"
// You've reached the limit on the number of target groups for your AWS account.
//
// * ErrCodeTooManyRulesException "TooManyRules"
// You've reached the limit on the number of rules per load balancer.
//
// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
// You've reached the limit on the number of load balancers per target group.
//
// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
// The specified configuration is not valid with this protocol.
//
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
// You've reached the limit on the number of times a target can be registered
// with a load balancer.
//
// * ErrCodeTooManyTargetsException "TooManyTargets"
// You've reached the limit on the number of targets.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// * ErrCodeTooManyActionsException "TooManyActions"
// You've reached the limit on the number of actions per rule.
//
// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
// The requested action is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
req, out := c.CreateRuleRequest(input)
return out, req.Send()
}
// CreateRuleWithContext is the same as CreateRule with the addition of
// the ability to pass a context and additional request options.
//
// See CreateRule for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) {
req, out := c.CreateRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateTargetGroup = "CreateTargetGroup"
// CreateTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the CreateTargetGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateTargetGroup for more information on using the CreateTargetGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) {
op := &request.Operation{
Name: opCreateTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateTargetGroupInput{}
}
output = &CreateTargetGroupOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateTargetGroup API operation for Elastic Load Balancing.
//
// 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.
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple target groups with the same settings, each
// call succeeds.
//
// For more information, see Target Groups for Your Application Load Balancers
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
// in the Application Load Balancers Guide or Target Groups for Your Network
// Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation CreateTargetGroup for usage and error information.
//
// Returned Error Codes:
// * ErrCodeDuplicateTargetGroupNameException "DuplicateTargetGroupName"
// A target group with the specified name already exists.
//
// * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups"
// You've reached the limit on the number of target groups for your AWS account.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
req, out := c.CreateTargetGroupRequest(input)
return out, req.Send()
}
// CreateTargetGroupWithContext is the same as CreateTargetGroup with the addition of
// the ability to pass a context and additional request options.
//
// See CreateTargetGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) CreateTargetGroupWithContext(ctx aws.Context, input *CreateTargetGroupInput, opts ...request.Option) (*CreateTargetGroupOutput, error) {
req, out := c.CreateTargetGroupRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteListener = "DeleteListener"
// DeleteListenerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteListener operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteListener for more information on using the DeleteListener
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener
func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) {
op := &request.Operation{
Name: opDeleteListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteListenerInput{}
}
output = &DeleteListenerOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteListener API operation for Elastic Load Balancing.
//
// Deletes the specified listener.
//
// Alternatively, your listener is deleted when you delete the load balancer
// to which it is attached, using DeleteLoadBalancer.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DeleteListener for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener
func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) {
req, out := c.DeleteListenerRequest(input)
return out, req.Send()
}
// DeleteListenerWithContext is the same as DeleteListener with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteListener for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) {
req, out := c.DeleteListenerRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteLoadBalancer = "DeleteLoadBalancer"
// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLoadBalancer operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer
func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
op := &request.Operation{
Name: opDeleteLoadBalancer,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteLoadBalancerInput{}
}
output = &DeleteLoadBalancerOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteLoadBalancer API operation for Elastic Load Balancing.
//
// Deletes the specified Application Load Balancer or Network 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DeleteLoadBalancer for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// * ErrCodeResourceInUseException "ResourceInUse"
// A specified resource is in use.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer
func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
req, out := c.DeleteLoadBalancerRequest(input)
return out, req.Send()
}
// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteLoadBalancer for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
req, out := c.DeleteLoadBalancerRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteRule = "DeleteRule"
// DeleteRuleRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteRule for more information on using the DeleteRule
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule
func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
op := &request.Operation{
Name: opDeleteRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteRuleInput{}
}
output = &DeleteRuleOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteRule API operation for Elastic Load Balancing.
//
// Deletes the specified rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DeleteRule for usage and error information.
//
// Returned Error Codes:
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule
func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
req, out := c.DeleteRuleRequest(input)
return out, req.Send()
}
// DeleteRuleWithContext is the same as DeleteRule with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteRule for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) {
req, out := c.DeleteRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteTargetGroup = "DeleteTargetGroup"
// DeleteTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTargetGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteTargetGroup for more information on using the DeleteTargetGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup
func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) {
op := &request.Operation{
Name: opDeleteTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteTargetGroupInput{}
}
output = &DeleteTargetGroupOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteTargetGroup API operation for Elastic Load Balancing.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DeleteTargetGroup for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceInUseException "ResourceInUse"
// A specified resource is in use.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup
func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) {
req, out := c.DeleteTargetGroupRequest(input)
return out, req.Send()
}
// DeleteTargetGroupWithContext is the same as DeleteTargetGroup with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteTargetGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DeleteTargetGroupWithContext(ctx aws.Context, input *DeleteTargetGroupInput, opts ...request.Option) (*DeleteTargetGroupOutput, error) {
req, out := c.DeleteTargetGroupRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeregisterTargets = "DeregisterTargets"
// DeregisterTargetsRequest generates a "aws/request.Request" representing the
// client's request for the DeregisterTargets operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeregisterTargets for more information on using the DeregisterTargets
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets
func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) {
op := &request.Operation{
Name: opDeregisterTargets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeregisterTargetsInput{}
}
output = &DeregisterTargetsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeregisterTargets API operation for Elastic Load Balancing.
//
// Deregisters the specified targets from the specified target group. After
// the targets are deregistered, they no longer receive traffic from the load
// balancer.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DeregisterTargets for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeInvalidTargetException "InvalidTarget"
// The specified target does not exist, is not in the same VPC as the target
// group, or has an unsupported instance type.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets
func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) {
req, out := c.DeregisterTargetsRequest(input)
return out, req.Send()
}
// DeregisterTargetsWithContext is the same as DeregisterTargets with the addition of
// the ability to pass a context and additional request options.
//
// See DeregisterTargets for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DeregisterTargetsWithContext(ctx aws.Context, input *DeregisterTargetsInput, opts ...request.Option) (*DeregisterTargetsOutput, error) {
req, out := c.DeregisterTargetsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeAccountLimits = "DescribeAccountLimits"
// DescribeAccountLimitsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeAccountLimits operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeAccountLimits for more information on using the DescribeAccountLimits
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DescribeAccountLimitsRequest method.
// req, resp := client.DescribeAccountLimitsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits
func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) {
op := &request.Operation{
Name: opDescribeAccountLimits,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeAccountLimitsInput{}
}
output = &DescribeAccountLimitsOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeAccountLimits API operation for Elastic Load Balancing.
//
// Describes the current Elastic Load Balancing resource limits for your AWS
// account.
//
// For more information, see Limits for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
// in the Application Load Balancer Guide or Limits for Your Network Load Balancers
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeAccountLimits for usage and error information.
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits
func (c *ELBV2) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) {
req, out := c.DescribeAccountLimitsRequest(input)
return out, req.Send()
}
// DescribeAccountLimitsWithContext is the same as DescribeAccountLimits with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeAccountLimits for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeAccountLimitsWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, opts ...request.Option) (*DescribeAccountLimitsOutput, error) {
req, out := c.DescribeAccountLimitsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeListenerCertificates = "DescribeListenerCertificates"
// DescribeListenerCertificatesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeListenerCertificates operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeListenerCertificates for more information on using the DescribeListenerCertificates
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DescribeListenerCertificatesRequest method.
// req, resp := client.DescribeListenerCertificatesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates
func (c *ELBV2) DescribeListenerCertificatesRequest(input *DescribeListenerCertificatesInput) (req *request.Request, output *DescribeListenerCertificatesOutput) {
op := &request.Operation{
Name: opDescribeListenerCertificates,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeListenerCertificatesInput{}
}
output = &DescribeListenerCertificatesOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeListenerCertificates API operation for Elastic Load Balancing.
//
// Describes the certificates for the specified HTTPS listener.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeListenerCertificates for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates
func (c *ELBV2) DescribeListenerCertificates(input *DescribeListenerCertificatesInput) (*DescribeListenerCertificatesOutput, error) {
req, out := c.DescribeListenerCertificatesRequest(input)
return out, req.Send()
}
// DescribeListenerCertificatesWithContext is the same as DescribeListenerCertificates with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeListenerCertificates for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeListenerCertificatesWithContext(ctx aws.Context, input *DescribeListenerCertificatesInput, opts ...request.Option) (*DescribeListenerCertificatesOutput, error) {
req, out := c.DescribeListenerCertificatesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeListeners = "DescribeListeners"
// DescribeListenersRequest generates a "aws/request.Request" representing the
// client's request for the DescribeListeners operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeListeners for more information on using the DescribeListeners
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners
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{}
}
output = &DescribeListenersOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeListeners API operation for Elastic Load Balancing.
//
// Describes the specified listeners or the listeners for the specified Application
// Load Balancer or Network Load Balancer. You must specify either a load balancer
// or one or more listeners.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeListeners for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners
func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) {
req, out := c.DescribeListenersRequest(input)
return out, req.Send()
}
// DescribeListenersWithContext is the same as DescribeListeners with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeListeners for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeListenersWithContext(ctx aws.Context, input *DescribeListenersInput, opts ...request.Option) (*DescribeListenersOutput, error) {
req, out := c.DescribeListenersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// 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(*DescribeListenersOutput, bool) bool) error {
return c.DescribeListenersPagesWithContext(aws.BackgroundContext(), input, fn)
}
// DescribeListenersPagesWithContext same as DescribeListenersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeListenersPagesWithContext(ctx aws.Context, input *DescribeListenersInput, fn func(*DescribeListenersOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *DescribeListenersInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.DescribeListenersRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*DescribeListenersOutput), !p.HasNextPage())
}
return p.Err()
}
const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes"
// DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLoadBalancerAttributes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeLoadBalancerAttributes for more information on using the DescribeLoadBalancerAttributes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes
func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) {
op := &request.Operation{
Name: opDescribeLoadBalancerAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeLoadBalancerAttributesInput{}
}
output = &DescribeLoadBalancerAttributesOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeLoadBalancerAttributes API operation for Elastic Load Balancing.
//
// Describes the attributes for the specified Application Load Balancer or Network
// Load Balancer.
//
// For more information, see Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes)
// in the Application Load Balancers Guide or Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeLoadBalancerAttributes for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes
func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) {
req, out := c.DescribeLoadBalancerAttributesRequest(input)
return out, req.Send()
}
// DescribeLoadBalancerAttributesWithContext is the same as DescribeLoadBalancerAttributes with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeLoadBalancerAttributes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeLoadBalancerAttributesWithContext(ctx aws.Context, input *DescribeLoadBalancerAttributesInput, opts ...request.Option) (*DescribeLoadBalancerAttributesOutput, error) {
req, out := c.DescribeLoadBalancerAttributesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeLoadBalancers = "DescribeLoadBalancers"
// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLoadBalancers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeLoadBalancers for more information on using the DescribeLoadBalancers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers
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{}
}
output = &DescribeLoadBalancersOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeLoadBalancers API operation for Elastic Load Balancing.
//
// Describes the specified load balancers or all of your load balancers.
//
// To describe the listeners for a load balancer, use DescribeListeners. To
// describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeLoadBalancers for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers
func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) {
req, out := c.DescribeLoadBalancersRequest(input)
return out, req.Send()
}
// DescribeLoadBalancersWithContext is the same as DescribeLoadBalancers with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeLoadBalancers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeLoadBalancersWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, opts ...request.Option) (*DescribeLoadBalancersOutput, error) {
req, out := c.DescribeLoadBalancersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// 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(*DescribeLoadBalancersOutput, bool) bool) error {
return c.DescribeLoadBalancersPagesWithContext(aws.BackgroundContext(), input, fn)
}
// DescribeLoadBalancersPagesWithContext same as DescribeLoadBalancersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeLoadBalancersPagesWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, fn func(*DescribeLoadBalancersOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *DescribeLoadBalancersInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.DescribeLoadBalancersRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*DescribeLoadBalancersOutput), !p.HasNextPage())
}
return p.Err()
}
const opDescribeRules = "DescribeRules"
// DescribeRulesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRules operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeRules for more information on using the DescribeRules
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules
func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) {
op := &request.Operation{
Name: opDescribeRules,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeRulesInput{}
}
output = &DescribeRulesOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeRules API operation for Elastic Load Balancing.
//
// Describes the specified rules or the rules for the specified listener. You
// must specify either a listener or one or more rules.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeRules for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules
func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) {
req, out := c.DescribeRulesRequest(input)
return out, req.Send()
}
// DescribeRulesWithContext is the same as DescribeRules with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeRules for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeRulesWithContext(ctx aws.Context, input *DescribeRulesInput, opts ...request.Option) (*DescribeRulesOutput, error) {
req, out := c.DescribeRulesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeSSLPolicies = "DescribeSSLPolicies"
// DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSSLPolicies operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeSSLPolicies for more information on using the DescribeSSLPolicies
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies
func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) {
op := &request.Operation{
Name: opDescribeSSLPolicies,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeSSLPoliciesInput{}
}
output = &DescribeSSLPoliciesOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeSSLPolicies API operation for Elastic Load Balancing.
//
// Describes the specified policies or all policies used for SSL negotiation.
//
// For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
// in the Application Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeSSLPolicies for usage and error information.
//
// Returned Error Codes:
// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
// The specified SSL policy does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies
func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) {
req, out := c.DescribeSSLPoliciesRequest(input)
return out, req.Send()
}
// DescribeSSLPoliciesWithContext is the same as DescribeSSLPolicies with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeSSLPolicies for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeSSLPoliciesWithContext(ctx aws.Context, input *DescribeSSLPoliciesInput, opts ...request.Option) (*DescribeSSLPoliciesOutput, error) {
req, out := c.DescribeSSLPoliciesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeTags = "DescribeTags"
// DescribeTagsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTags operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeTags for more information on using the DescribeTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags
func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
op := &request.Operation{
Name: opDescribeTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTagsInput{}
}
output = &DescribeTagsOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeTags API operation for Elastic Load Balancing.
//
// Describes the tags for the specified resources. You can describe the tags
// for one or more Application Load Balancers, Network Load Balancers, and target
// groups.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags
func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
req, out := c.DescribeTagsRequest(input)
return out, req.Send()
}
// DescribeTagsWithContext is the same as DescribeTags with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
req, out := c.DescribeTagsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes"
// DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetGroupAttributes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeTargetGroupAttributes for more information on using the DescribeTargetGroupAttributes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes
func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) {
op := &request.Operation{
Name: opDescribeTargetGroupAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTargetGroupAttributesInput{}
}
output = &DescribeTargetGroupAttributesOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeTargetGroupAttributes API operation for Elastic Load Balancing.
//
// Describes the attributes for the specified target group.
//
// For more information, see Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes)
// in the Application Load Balancers Guide or Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes)
// in the Network Load Balancers Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeTargetGroupAttributes for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes
func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) {
req, out := c.DescribeTargetGroupAttributesRequest(input)
return out, req.Send()
}
// DescribeTargetGroupAttributesWithContext is the same as DescribeTargetGroupAttributes with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeTargetGroupAttributes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeTargetGroupAttributesWithContext(ctx aws.Context, input *DescribeTargetGroupAttributesInput, opts ...request.Option) (*DescribeTargetGroupAttributesOutput, error) {
req, out := c.DescribeTargetGroupAttributesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeTargetGroups = "DescribeTargetGroups"
// DescribeTargetGroupsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetGroups operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeTargetGroups for more information on using the DescribeTargetGroups
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups
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{}
}
output = &DescribeTargetGroupsOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeTargetGroups API operation for Elastic Load Balancing.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeTargetGroups for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups
func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) {
req, out := c.DescribeTargetGroupsRequest(input)
return out, req.Send()
}
// DescribeTargetGroupsWithContext is the same as DescribeTargetGroups with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeTargetGroups for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeTargetGroupsWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, opts ...request.Option) (*DescribeTargetGroupsOutput, error) {
req, out := c.DescribeTargetGroupsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// 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(*DescribeTargetGroupsOutput, bool) bool) error {
return c.DescribeTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// DescribeTargetGroupsPagesWithContext same as DescribeTargetGroupsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, fn func(*DescribeTargetGroupsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *DescribeTargetGroupsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.DescribeTargetGroupsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
cont := true
for p.Next() && cont {
cont = fn(p.Page().(*DescribeTargetGroupsOutput), !p.HasNextPage())
}
return p.Err()
}
const opDescribeTargetHealth = "DescribeTargetHealth"
// DescribeTargetHealthRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTargetHealth operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeTargetHealth for more information on using the DescribeTargetHealth
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth
func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) {
op := &request.Operation{
Name: opDescribeTargetHealth,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeTargetHealthInput{}
}
output = &DescribeTargetHealthOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeTargetHealth API operation for Elastic Load Balancing.
//
// Describes the health of the specified targets or all of your targets.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation DescribeTargetHealth for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidTargetException "InvalidTarget"
// The specified target does not exist, is not in the same VPC as the target
// group, or has an unsupported instance type.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeHealthUnavailableException "HealthUnavailable"
// The health of the specified targets could not be retrieved due to an internal
// error.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth
func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) {
req, out := c.DescribeTargetHealthRequest(input)
return out, req.Send()
}
// DescribeTargetHealthWithContext is the same as DescribeTargetHealth with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeTargetHealth for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) DescribeTargetHealthWithContext(ctx aws.Context, input *DescribeTargetHealthInput, opts ...request.Option) (*DescribeTargetHealthOutput, error) {
req, out := c.DescribeTargetHealthRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opModifyListener = "ModifyListener"
// ModifyListenerRequest generates a "aws/request.Request" representing the
// client's request for the ModifyListener operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ModifyListener for more information on using the ModifyListener
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) {
op := &request.Operation{
Name: opModifyListener,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyListenerInput{}
}
output = &ModifyListenerOutput{}
req = c.newRequest(op, input, output)
return
}
// ModifyListener API operation for Elastic Load Balancing.
//
// 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, or from TLS to TCP, removes the
// security policy and server certificate properties. If you change the protocol
// from HTTP to HTTPS, or from TCP to TLS, you must add the security policy
// and server certificate properties.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation ModifyListener for usage and error information.
//
// Returned Error Codes:
// * ErrCodeDuplicateListenerException "DuplicateListener"
// A listener with the specified port already exists.
//
// * ErrCodeTooManyListenersException "TooManyListeners"
// You've reached the limit on the number of listeners per load balancer.
//
// * ErrCodeTooManyCertificatesException "TooManyCertificates"
// You've reached the limit on the number of certificates per load balancer.
//
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
// You've reached the limit on the number of load balancers per target group.
//
// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
// The specified configuration is not valid with this protocol.
//
// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound"
// The specified SSL policy does not exist.
//
// * ErrCodeCertificateNotFoundException "CertificateNotFound"
// The specified certificate does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
// You've reached the limit on the number of times a target can be registered
// with a load balancer.
//
// * ErrCodeTooManyTargetsException "TooManyTargets"
// You've reached the limit on the number of targets.
//
// * ErrCodeTooManyActionsException "TooManyActions"
// You've reached the limit on the number of actions per rule.
//
// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
// The requested action is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
req, out := c.ModifyListenerRequest(input)
return out, req.Send()
}
// ModifyListenerWithContext is the same as ModifyListener with the addition of
// the ability to pass a context and additional request options.
//
// See ModifyListener for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) ModifyListenerWithContext(ctx aws.Context, input *ModifyListenerInput, opts ...request.Option) (*ModifyListenerOutput, error) {
req, out := c.ModifyListenerRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes"
// ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the
// client's request for the ModifyLoadBalancerAttributes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ModifyLoadBalancerAttributes for more information on using the ModifyLoadBalancerAttributes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes
func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) {
op := &request.Operation{
Name: opModifyLoadBalancerAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyLoadBalancerAttributesInput{}
}
output = &ModifyLoadBalancerAttributesOutput{}
req = c.newRequest(op, input, output)
return
}
// ModifyLoadBalancerAttributes API operation for Elastic Load Balancing.
//
// Modifies the specified attributes of the specified Application Load Balancer
// or Network 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation ModifyLoadBalancerAttributes for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes
func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) {
req, out := c.ModifyLoadBalancerAttributesRequest(input)
return out, req.Send()
}
// ModifyLoadBalancerAttributesWithContext is the same as ModifyLoadBalancerAttributes with the addition of
// the ability to pass a context and additional request options.
//
// See ModifyLoadBalancerAttributes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) ModifyLoadBalancerAttributesWithContext(ctx aws.Context, input *ModifyLoadBalancerAttributesInput, opts ...request.Option) (*ModifyLoadBalancerAttributesOutput, error) {
req, out := c.ModifyLoadBalancerAttributesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opModifyRule = "ModifyRule"
// ModifyRuleRequest generates a "aws/request.Request" representing the
// client's request for the ModifyRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ModifyRule for more information on using the ModifyRule
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule
func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) {
op := &request.Operation{
Name: opModifyRule,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyRuleInput{}
}
output = &ModifyRuleOutput{}
req = c.newRequest(op, input, output)
return
}
// ModifyRule API operation for Elastic Load Balancing.
//
// Modifies the specified rule.
//
// Any existing properties that you do not modify retain their current values.
//
// To modify the actions for the default rule, use ModifyListener.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation ModifyRule for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit"
// You've reached the limit on the number of load balancers per target group.
//
// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols"
// The specified configuration is not valid with this protocol.
//
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
// You've reached the limit on the number of times a target can be registered
// with a load balancer.
//
// * ErrCodeTooManyTargetsException "TooManyTargets"
// You've reached the limit on the number of targets.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol"
// The specified protocol is not supported.
//
// * ErrCodeTooManyActionsException "TooManyActions"
// You've reached the limit on the number of actions per rule.
//
// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction"
// The requested action is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule
func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) {
req, out := c.ModifyRuleRequest(input)
return out, req.Send()
}
// ModifyRuleWithContext is the same as ModifyRule with the addition of
// the ability to pass a context and additional request options.
//
// See ModifyRule for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) ModifyRuleWithContext(ctx aws.Context, input *ModifyRuleInput, opts ...request.Option) (*ModifyRuleOutput, error) {
req, out := c.ModifyRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opModifyTargetGroup = "ModifyTargetGroup"
// ModifyTargetGroupRequest generates a "aws/request.Request" representing the
// client's request for the ModifyTargetGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ModifyTargetGroup for more information on using the ModifyTargetGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup
func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) {
op := &request.Operation{
Name: opModifyTargetGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyTargetGroupInput{}
}
output = &ModifyTargetGroupOutput{}
req = c.newRequest(op, input, output)
return
}
// ModifyTargetGroup API operation for Elastic Load Balancing.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation ModifyTargetGroup for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup
func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) {
req, out := c.ModifyTargetGroupRequest(input)
return out, req.Send()
}
// ModifyTargetGroupWithContext is the same as ModifyTargetGroup with the addition of
// the ability to pass a context and additional request options.
//
// See ModifyTargetGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) ModifyTargetGroupWithContext(ctx aws.Context, input *ModifyTargetGroupInput, opts ...request.Option) (*ModifyTargetGroupOutput, error) {
req, out := c.ModifyTargetGroupRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes"
// ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the
// client's request for the ModifyTargetGroupAttributes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ModifyTargetGroupAttributes for more information on using the ModifyTargetGroupAttributes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes
func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) {
op := &request.Operation{
Name: opModifyTargetGroupAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyTargetGroupAttributesInput{}
}
output = &ModifyTargetGroupAttributesOutput{}
req = c.newRequest(op, input, output)
return
}
// ModifyTargetGroupAttributes API operation for Elastic Load Balancing.
//
// Modifies the specified attributes of the specified target group.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation ModifyTargetGroupAttributes for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes
func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) {
req, out := c.ModifyTargetGroupAttributesRequest(input)
return out, req.Send()
}
// ModifyTargetGroupAttributesWithContext is the same as ModifyTargetGroupAttributes with the addition of
// the ability to pass a context and additional request options.
//
// See ModifyTargetGroupAttributes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) ModifyTargetGroupAttributesWithContext(ctx aws.Context, input *ModifyTargetGroupAttributesInput, opts ...request.Option) (*ModifyTargetGroupAttributesOutput, error) {
req, out := c.ModifyTargetGroupAttributesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opRegisterTargets = "RegisterTargets"
// RegisterTargetsRequest generates a "aws/request.Request" representing the
// client's request for the RegisterTargets operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RegisterTargets for more information on using the RegisterTargets
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets
func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) {
op := &request.Operation{
Name: opRegisterTargets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RegisterTargetsInput{}
}
output = &RegisterTargetsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// RegisterTargets API operation for Elastic Load Balancing.
//
// Registers the specified targets with the specified target group.
//
// If the target is an EC2 instance, it must be in the running state when you
// register it.
//
// By default, the load balancer routes requests to registered targets using
// the protocol and port for the target group. Alternatively, you can override
// the port for a target when you register it. You can register each EC2 instance
// or IP address with the same target group multiple times using different ports.
//
// With a Network Load Balancer, you cannot register instances by instance ID
// if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1,
// G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these
// types by IP address.
//
// To remove a target from a target group, use DeregisterTargets.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation RegisterTargets for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeTooManyTargetsException "TooManyTargets"
// You've reached the limit on the number of targets.
//
// * ErrCodeInvalidTargetException "InvalidTarget"
// The specified target does not exist, is not in the same VPC as the target
// group, or has an unsupported instance type.
//
// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId"
// You've reached the limit on the number of times a target can be registered
// with a load balancer.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets
func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) {
req, out := c.RegisterTargetsRequest(input)
return out, req.Send()
}
// RegisterTargetsWithContext is the same as RegisterTargets with the addition of
// the ability to pass a context and additional request options.
//
// See RegisterTargets for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) RegisterTargetsWithContext(ctx aws.Context, input *RegisterTargetsInput, opts ...request.Option) (*RegisterTargetsOutput, error) {
req, out := c.RegisterTargetsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opRemoveListenerCertificates = "RemoveListenerCertificates"
// RemoveListenerCertificatesRequest generates a "aws/request.Request" representing the
// client's request for the RemoveListenerCertificates operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RemoveListenerCertificates for more information on using the RemoveListenerCertificates
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the RemoveListenerCertificatesRequest method.
// req, resp := client.RemoveListenerCertificatesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates
func (c *ELBV2) RemoveListenerCertificatesRequest(input *RemoveListenerCertificatesInput) (req *request.Request, output *RemoveListenerCertificatesOutput) {
op := &request.Operation{
Name: opRemoveListenerCertificates,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RemoveListenerCertificatesInput{}
}
output = &RemoveListenerCertificatesOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// RemoveListenerCertificates API operation for Elastic Load Balancing.
//
// Removes the specified certificate from the specified HTTPS listener.
//
// You can't remove the default certificate for a listener. To replace the default
// certificate, call ModifyListener.
//
// To list the certificates for your listener, use DescribeListenerCertificates.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation RemoveListenerCertificates for usage and error information.
//
// Returned Error Codes:
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates
func (c *ELBV2) RemoveListenerCertificates(input *RemoveListenerCertificatesInput) (*RemoveListenerCertificatesOutput, error) {
req, out := c.RemoveListenerCertificatesRequest(input)
return out, req.Send()
}
// RemoveListenerCertificatesWithContext is the same as RemoveListenerCertificates with the addition of
// the ability to pass a context and additional request options.
//
// See RemoveListenerCertificates for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) RemoveListenerCertificatesWithContext(ctx aws.Context, input *RemoveListenerCertificatesInput, opts ...request.Option) (*RemoveListenerCertificatesOutput, error) {
req, out := c.RemoveListenerCertificatesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opRemoveTags = "RemoveTags"
// RemoveTagsRequest generates a "aws/request.Request" representing the
// client's request for the RemoveTags operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RemoveTags for more information on using the RemoveTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags
func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
op := &request.Operation{
Name: opRemoveTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RemoveTagsInput{}
}
output = &RemoveTagsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// RemoveTags API operation for Elastic Load Balancing.
//
// Removes the specified tags from the specified Elastic Load Balancing resource.
//
// To list the current tags for your resources, use DescribeTags.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation RemoveTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound"
// The specified target group does not exist.
//
// * ErrCodeListenerNotFoundException "ListenerNotFound"
// The specified listener does not exist.
//
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// * ErrCodeTooManyTagsException "TooManyTags"
// You've reached the limit on the number of tags per load balancer.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags
func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
req, out := c.RemoveTagsRequest(input)
return out, req.Send()
}
// RemoveTagsWithContext is the same as RemoveTags with the addition of
// the ability to pass a context and additional request options.
//
// See RemoveTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
req, out := c.RemoveTagsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opSetIpAddressType = "SetIpAddressType"
// SetIpAddressTypeRequest generates a "aws/request.Request" representing the
// client's request for the SetIpAddressType operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See SetIpAddressType for more information on using the SetIpAddressType
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the SetIpAddressTypeRequest method.
// req, resp := client.SetIpAddressTypeRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType
func (c *ELBV2) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) {
op := &request.Operation{
Name: opSetIpAddressType,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetIpAddressTypeInput{}
}
output = &SetIpAddressTypeOutput{}
req = c.newRequest(op, input, output)
return
}
// SetIpAddressType API operation for Elastic Load Balancing.
//
// Sets the type of IP addresses used by the subnets of the specified Application
// Load Balancer or Network Load Balancer.
//
// Network Load Balancers must use ipv4.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation SetIpAddressType for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeInvalidSubnetException "InvalidSubnet"
// The specified subnet is out of available addresses.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType
func (c *ELBV2) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) {
req, out := c.SetIpAddressTypeRequest(input)
return out, req.Send()
}
// SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of
// the ability to pass a context and additional request options.
//
// See SetIpAddressType for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) {
req, out := c.SetIpAddressTypeRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opSetRulePriorities = "SetRulePriorities"
// SetRulePrioritiesRequest generates a "aws/request.Request" representing the
// client's request for the SetRulePriorities operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See SetRulePriorities for more information on using the SetRulePriorities
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities
func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) {
op := &request.Operation{
Name: opSetRulePriorities,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetRulePrioritiesInput{}
}
output = &SetRulePrioritiesOutput{}
req = c.newRequest(op, input, output)
return
}
// SetRulePriorities API operation for Elastic Load Balancing.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation SetRulePriorities for usage and error information.
//
// Returned Error Codes:
// * ErrCodeRuleNotFoundException "RuleNotFound"
// The specified rule does not exist.
//
// * ErrCodePriorityInUseException "PriorityInUse"
// The specified priority is in use.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermitted"
// This operation is not allowed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities
func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) {
req, out := c.SetRulePrioritiesRequest(input)
return out, req.Send()
}
// SetRulePrioritiesWithContext is the same as SetRulePriorities with the addition of
// the ability to pass a context and additional request options.
//
// See SetRulePriorities for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) SetRulePrioritiesWithContext(ctx aws.Context, input *SetRulePrioritiesInput, opts ...request.Option) (*SetRulePrioritiesOutput, error) {
req, out := c.SetRulePrioritiesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opSetSecurityGroups = "SetSecurityGroups"
// SetSecurityGroupsRequest generates a "aws/request.Request" representing the
// client's request for the SetSecurityGroups operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See SetSecurityGroups for more information on using the SetSecurityGroups
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups
func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) {
op := &request.Operation{
Name: opSetSecurityGroups,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetSecurityGroupsInput{}
}
output = &SetSecurityGroupsOutput{}
req = c.newRequest(op, input, output)
return
}
// SetSecurityGroups API operation for Elastic Load Balancing.
//
// Associates the specified security groups with the specified Application Load
// Balancer. The specified security groups override the previously associated
// security groups.
//
// You can't specify a security group for a Network Load Balancer.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation SetSecurityGroups for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup"
// The specified security group does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups
func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) {
req, out := c.SetSecurityGroupsRequest(input)
return out, req.Send()
}
// SetSecurityGroupsWithContext is the same as SetSecurityGroups with the addition of
// the ability to pass a context and additional request options.
//
// See SetSecurityGroups for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) SetSecurityGroupsWithContext(ctx aws.Context, input *SetSecurityGroupsInput, opts ...request.Option) (*SetSecurityGroupsOutput, error) {
req, out := c.SetSecurityGroupsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opSetSubnets = "SetSubnets"
// SetSubnetsRequest generates a "aws/request.Request" representing the
// client's request for the SetSubnets operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See SetSubnets for more information on using the SetSubnets
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // 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)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets
func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) {
op := &request.Operation{
Name: opSetSubnets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetSubnetsInput{}
}
output = &SetSubnetsOutput{}
req = c.newRequest(op, input, output)
return
}
// SetSubnets API operation for Elastic Load Balancing.
//
// Enables the Availability Zone for the specified public subnets for the specified
// Application Load Balancer. The specified subnets replace the previously enabled
// subnets.
//
// You can't change the subnets for a Network Load Balancer.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Elastic Load Balancing's
// API operation SetSubnets for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound"
// The specified load balancer does not exist.
//
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
// The requested configuration is not valid.
//
// * ErrCodeSubnetNotFoundException "SubnetNotFound"
// The specified subnet does not exist.
//
// * ErrCodeInvalidSubnetException "InvalidSubnet"
// The specified subnet is out of available addresses.
//
// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound"
// The specified allocation ID does not exist.
//
// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported"
// The specified Availability Zone is not supported.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets
func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) {
req, out := c.SetSubnetsRequest(input)
return out, req.Send()
}
// SetSubnetsWithContext is the same as SetSubnets with the addition of
// the ability to pass a context and additional request options.
//
// See SetSubnets for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, opts ...request.Option) (*SetSubnetsOutput, error) {
req, out := c.SetSubnetsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// Information about an action.
type Action struct {
_ struct{} `type:"structure"`
// [HTTPS listeners] Information for using Amazon Cognito to authenticate users.
// Specify only when Type is authenticate-cognito.
AuthenticateCognitoConfig *AuthenticateCognitoActionConfig `type:"structure"`
// [HTTPS listeners] Information about an identity provider that is compliant
// with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.
AuthenticateOidcConfig *AuthenticateOidcActionConfig `type:"structure"`
// [Application Load Balancer] Information for creating an action that returns
// a custom HTTP response. Specify only when Type is fixed-response.
FixedResponseConfig *FixedResponseActionConfig `type:"structure"`
// The order for the action. This value is required for rules with multiple
// actions. The action with the lowest value for order is performed first. The
// final action to be performed must be a forward or a fixed-response action.
Order *int64 `min:"1" type:"integer"`
// [Application Load Balancer] Information for creating a redirect action. Specify
// only when Type is redirect.
RedirectConfig *RedirectActionConfig `type:"structure"`
// The Amazon Resource Name (ARN) of the target group. Specify only when Type
// is forward.
TargetGroupArn *string `type:"string"`
// The type of action. Each rule must include exactly one of the following types
// of actions: forward, fixed-response, or redirect.
//
// Type is a required field
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.Order != nil && *s.Order < 1 {
invalidParams.Add(request.NewErrParamMinValue("Order", 1))
}
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
if s.AuthenticateCognitoConfig != nil {
if err := s.AuthenticateCognitoConfig.Validate(); err != nil {
invalidParams.AddNested("AuthenticateCognitoConfig", err.(request.ErrInvalidParams))
}
}
if s.AuthenticateOidcConfig != nil {
if err := s.AuthenticateOidcConfig.Validate(); err != nil {
invalidParams.AddNested("AuthenticateOidcConfig", err.(request.ErrInvalidParams))
}
}
if s.FixedResponseConfig != nil {
if err := s.FixedResponseConfig.Validate(); err != nil {
invalidParams.AddNested("FixedResponseConfig", err.(request.ErrInvalidParams))
}
}
if s.RedirectConfig != nil {
if err := s.RedirectConfig.Validate(); err != nil {
invalidParams.AddNested("RedirectConfig", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAuthenticateCognitoConfig sets the AuthenticateCognitoConfig field's value.
func (s *Action) SetAuthenticateCognitoConfig(v *AuthenticateCognitoActionConfig) *Action {
s.AuthenticateCognitoConfig = v
return s
}
// SetAuthenticateOidcConfig sets the AuthenticateOidcConfig field's value.
func (s *Action) SetAuthenticateOidcConfig(v *AuthenticateOidcActionConfig) *Action {
s.AuthenticateOidcConfig = v
return s
}
// SetFixedResponseConfig sets the FixedResponseConfig field's value.
func (s *Action) SetFixedResponseConfig(v *FixedResponseActionConfig) *Action {
s.FixedResponseConfig = v
return s
}
// SetOrder sets the Order field's value.
func (s *Action) SetOrder(v int64) *Action {
s.Order = &v
return s
}
// SetRedirectConfig sets the RedirectConfig field's value.
func (s *Action) SetRedirectConfig(v *RedirectActionConfig) *Action {
s.RedirectConfig = v
return s
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *Action) SetTargetGroupArn(v string) *Action {
s.TargetGroupArn = &v
return s
}
// SetType sets the Type field's value.
func (s *Action) SetType(v string) *Action {
s.Type = &v
return s
}
type AddListenerCertificatesInput struct {
_ struct{} `type:"structure"`
// The certificate to add. You can specify one certificate per call. Set CertificateArn
// to the certificate ARN but do not set IsDefault.
//
// Certificates is a required field
Certificates []*Certificate `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the listener.
//
// ListenerArn is a required field
ListenerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s AddListenerCertificatesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AddListenerCertificatesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AddListenerCertificatesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AddListenerCertificatesInput"}
if s.Certificates == nil {
invalidParams.Add(request.NewErrParamRequired("Certificates"))
}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetCertificates sets the Certificates field's value.
func (s *AddListenerCertificatesInput) SetCertificates(v []*Certificate) *AddListenerCertificatesInput {
s.Certificates = v
return s
}
// SetListenerArn sets the ListenerArn field's value.
func (s *AddListenerCertificatesInput) SetListenerArn(v string) *AddListenerCertificatesInput {
s.ListenerArn = &v
return s
}
type AddListenerCertificatesOutput struct {
_ struct{} `type:"structure"`
// Information about the certificates.
Certificates []*Certificate `type:"list"`
}
// String returns the string representation
func (s AddListenerCertificatesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AddListenerCertificatesOutput) GoString() string {
return s.String()
}
// SetCertificates sets the Certificates field's value.
func (s *AddListenerCertificatesOutput) SetCertificates(v []*Certificate) *AddListenerCertificatesOutput {
s.Certificates = v
return s
}
type AddTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource.
//
// ResourceArns is a required field
ResourceArns []*string `type:"list" required:"true"`
// The tags. Each resource can have a maximum of 10 tags.
//
// Tags is a required field
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
}
// SetResourceArns sets the ResourceArns field's value.
func (s *AddTagsInput) SetResourceArns(v []*string) *AddTagsInput {
s.ResourceArns = v
return s
}
// SetTags sets the Tags field's value.
func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput {
s.Tags = v
return s
}
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()
}
// Request parameters to use when integrating with Amazon Cognito to authenticate
// users.
type AuthenticateCognitoActionConfig struct {
_ struct{} `type:"structure"`
// The query parameters (up to 10) to include in the redirect request to the
// authorization endpoint.
AuthenticationRequestExtraParams map[string]*string `type:"map"`
// The behavior if the user is not authenticated. The following are possible
// values:
//
// * deny - Return an HTTP 401 Unauthorized error.
//
// * allow - Allow the request to be forwarded to the target.
//
// authenticate
OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateCognitoActionConditionalBehaviorEnum"`
// The set of user claims to be requested from the IdP. The default is openid.
//
// To verify which scope values your IdP supports and how to separate multiple
// values, see the documentation for your IdP.
Scope *string `type:"string"`
// The name of the cookie used to maintain session information. The default
// is AWSELBAuthSessionCookie.
SessionCookieName *string `type:"string"`
// The maximum duration of the authentication session, in seconds. The default
// is 604800 seconds (7 days).
SessionTimeout *int64 `type:"long"`
// The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
//
// UserPoolArn is a required field
UserPoolArn *string `type:"string" required:"true"`
// The ID of the Amazon Cognito user pool client.
//
// UserPoolClientId is a required field
UserPoolClientId *string `type:"string" required:"true"`
// The domain prefix or fully-qualified domain name of the Amazon Cognito user
// pool.
//
// UserPoolDomain is a required field
UserPoolDomain *string `type:"string" required:"true"`
}
// String returns the string representation
func (s AuthenticateCognitoActionConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AuthenticateCognitoActionConfig) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AuthenticateCognitoActionConfig) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AuthenticateCognitoActionConfig"}
if s.UserPoolArn == nil {
invalidParams.Add(request.NewErrParamRequired("UserPoolArn"))
}
if s.UserPoolClientId == nil {
invalidParams.Add(request.NewErrParamRequired("UserPoolClientId"))
}
if s.UserPoolDomain == nil {
invalidParams.Add(request.NewErrParamRequired("UserPoolDomain"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value.
func (s *AuthenticateCognitoActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateCognitoActionConfig {
s.AuthenticationRequestExtraParams = v
return s
}
// SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value.
func (s *AuthenticateCognitoActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateCognitoActionConfig {
s.OnUnauthenticatedRequest = &v
return s
}
// SetScope sets the Scope field's value.
func (s *AuthenticateCognitoActionConfig) SetScope(v string) *AuthenticateCognitoActionConfig {
s.Scope = &v
return s
}
// SetSessionCookieName sets the SessionCookieName field's value.
func (s *AuthenticateCognitoActionConfig) SetSessionCookieName(v string) *AuthenticateCognitoActionConfig {
s.SessionCookieName = &v
return s
}
// SetSessionTimeout sets the SessionTimeout field's value.
func (s *AuthenticateCognitoActionConfig) SetSessionTimeout(v int64) *AuthenticateCognitoActionConfig {
s.SessionTimeout = &v
return s
}
// SetUserPoolArn sets the UserPoolArn field's value.
func (s *AuthenticateCognitoActionConfig) SetUserPoolArn(v string) *AuthenticateCognitoActionConfig {
s.UserPoolArn = &v
return s
}
// SetUserPoolClientId sets the UserPoolClientId field's value.
func (s *AuthenticateCognitoActionConfig) SetUserPoolClientId(v string) *AuthenticateCognitoActionConfig {
s.UserPoolClientId = &v
return s
}
// SetUserPoolDomain sets the UserPoolDomain field's value.
func (s *AuthenticateCognitoActionConfig) SetUserPoolDomain(v string) *AuthenticateCognitoActionConfig {
s.UserPoolDomain = &v
return s
}
// Request parameters when using an identity provider (IdP) that is compliant
// with OpenID Connect (OIDC) to authenticate users.
type AuthenticateOidcActionConfig struct {
_ struct{} `type:"structure"`
// The query parameters (up to 10) to include in the redirect request to the
// authorization endpoint.
AuthenticationRequestExtraParams map[string]*string `type:"map"`
// The authorization endpoint of the IdP. This must be a full URL, including
// the HTTPS protocol, the domain, and the path.
//
// AuthorizationEndpoint is a required field
AuthorizationEndpoint *string `type:"string" required:"true"`
// The OAuth 2.0 client identifier.
//
// ClientId is a required field
ClientId *string `type:"string" required:"true"`
// The OAuth 2.0 client secret. This parameter is required if you are creating
// a rule. If you are modifying a rule, you can omit this parameter if you set
// UseExistingClientSecret to true.
ClientSecret *string `type:"string"`
// The OIDC issuer identifier of the IdP. This must be a full URL, including
// the HTTPS protocol, the domain, and the path.
//
// Issuer is a required field
Issuer *string `type:"string" required:"true"`
// The behavior if the user is not authenticated. The following are possible
// values:
//
// * deny - Return an HTTP 401 Unauthorized error.
//
// * allow - Allow the request to be forwarded to the target.
//
// authenticate
OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateOidcActionConditionalBehaviorEnum"`
// The set of user claims to be requested from the IdP. The default is openid.
//
// To verify which scope values your IdP supports and how to separate multiple
// values, see the documentation for your IdP.
Scope *string `type:"string"`
// The name of the cookie used to maintain session information. The default
// is AWSELBAuthSessionCookie.
SessionCookieName *string `type:"string"`
// The maximum duration of the authentication session, in seconds. The default
// is 604800 seconds (7 days).
SessionTimeout *int64 `type:"long"`
// The token endpoint of the IdP. This must be a full URL, including the HTTPS
// protocol, the domain, and the path.
//
// TokenEndpoint is a required field
TokenEndpoint *string `type:"string" required:"true"`
// Indicates whether to use the existing client secret when modifying a rule.
// If you are creating a rule, you can omit this parameter or set it to false.
UseExistingClientSecret *bool `type:"boolean"`
// The user info endpoint of the IdP. This must be a full URL, including the
// HTTPS protocol, the domain, and the path.
//
// UserInfoEndpoint is a required field
UserInfoEndpoint *string `type:"string" required:"true"`
}
// String returns the string representation
func (s AuthenticateOidcActionConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AuthenticateOidcActionConfig) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AuthenticateOidcActionConfig) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AuthenticateOidcActionConfig"}
if s.AuthorizationEndpoint == nil {
invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint"))
}
if s.ClientId == nil {
invalidParams.Add(request.NewErrParamRequired("ClientId"))
}
if s.Issuer == nil {
invalidParams.Add(request.NewErrParamRequired("Issuer"))
}
if s.TokenEndpoint == nil {
invalidParams.Add(request.NewErrParamRequired("TokenEndpoint"))
}
if s.UserInfoEndpoint == nil {
invalidParams.Add(request.NewErrParamRequired("UserInfoEndpoint"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value.
func (s *AuthenticateOidcActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateOidcActionConfig {
s.AuthenticationRequestExtraParams = v
return s
}
// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value.
func (s *AuthenticateOidcActionConfig) SetAuthorizationEndpoint(v string) *AuthenticateOidcActionConfig {
s.AuthorizationEndpoint = &v
return s
}
// SetClientId sets the ClientId field's value.
func (s *AuthenticateOidcActionConfig) SetClientId(v string) *AuthenticateOidcActionConfig {
s.ClientId = &v
return s
}
// SetClientSecret sets the ClientSecret field's value.
func (s *AuthenticateOidcActionConfig) SetClientSecret(v string) *AuthenticateOidcActionConfig {
s.ClientSecret = &v
return s
}
// SetIssuer sets the Issuer field's value.
func (s *AuthenticateOidcActionConfig) SetIssuer(v string) *AuthenticateOidcActionConfig {
s.Issuer = &v
return s
}
// SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value.
func (s *AuthenticateOidcActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateOidcActionConfig {
s.OnUnauthenticatedRequest = &v
return s
}
// SetScope sets the Scope field's value.
func (s *AuthenticateOidcActionConfig) SetScope(v string) *AuthenticateOidcActionConfig {
s.Scope = &v
return s
}
// SetSessionCookieName sets the SessionCookieName field's value.
func (s *AuthenticateOidcActionConfig) SetSessionCookieName(v string) *AuthenticateOidcActionConfig {
s.SessionCookieName = &v
return s
}
// SetSessionTimeout sets the SessionTimeout field's value.
func (s *AuthenticateOidcActionConfig) SetSessionTimeout(v int64) *AuthenticateOidcActionConfig {
s.SessionTimeout = &v
return s
}
// SetTokenEndpoint sets the TokenEndpoint field's value.
func (s *AuthenticateOidcActionConfig) SetTokenEndpoint(v string) *AuthenticateOidcActionConfig {
s.TokenEndpoint = &v
return s
}
// SetUseExistingClientSecret sets the UseExistingClientSecret field's value.
func (s *AuthenticateOidcActionConfig) SetUseExistingClientSecret(v bool) *AuthenticateOidcActionConfig {
s.UseExistingClientSecret = &v
return s
}
// SetUserInfoEndpoint sets the UserInfoEndpoint field's value.
func (s *AuthenticateOidcActionConfig) SetUserInfoEndpoint(v string) *AuthenticateOidcActionConfig {
s.UserInfoEndpoint = &v
return s
}
// Information about an Availability Zone.
type AvailabilityZone struct {
_ struct{} `type:"structure"`
// [Network Load Balancers] The static IP address.
LoadBalancerAddresses []*LoadBalancerAddress `type:"list"`
// 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()
}
// SetLoadBalancerAddresses sets the LoadBalancerAddresses field's value.
func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *AvailabilityZone {
s.LoadBalancerAddresses = v
return s
}
// SetSubnetId sets the SubnetId field's value.
func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
s.SubnetId = &v
return s
}
// SetZoneName sets the ZoneName field's value.
func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
s.ZoneName = &v
return s
}
// Information about an SSL server certificate.
type Certificate struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the certificate.
CertificateArn *string `type:"string"`
// Indicates whether the certificate is the default certificate. Do not set
// IsDefault when specifying a certificate as an input parameter.
IsDefault *bool `type:"boolean"`
}
// 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()
}
// SetCertificateArn sets the CertificateArn field's value.
func (s *Certificate) SetCertificateArn(v string) *Certificate {
s.CertificateArn = &v
return s
}
// SetIsDefault sets the IsDefault field's value.
func (s *Certificate) SetIsDefault(v bool) *Certificate {
s.IsDefault = &v
return s
}
// 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()
}
// SetName sets the Name field's value.
func (s *Cipher) SetName(v string) *Cipher {
s.Name = &v
return s
}
// SetPriority sets the Priority field's value.
func (s *Cipher) SetPriority(v int64) *Cipher {
s.Priority = &v
return s
}
type CreateListenerInput struct {
_ struct{} `type:"structure"`
// [HTTPS and TLS listeners] The default SSL server certificate. You must provide
// exactly one certificate. Set CertificateArn to the certificate ARN but do
// not set IsDefault.
//
// To create a certificate list, use AddListenerCertificates.
Certificates []*Certificate `type:"list"`
// The actions for the default rule. The rule must include one forward action
// or one or more fixed-response actions.
//
// If the action type is forward, you specify a target group. The protocol of
// the target group must be HTTP or HTTPS for an Application Load Balancer.
// The protocol of the target group must be TCP or TLS for a Network Load Balancer.
//
// [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
// users through an identity provider that is OpenID Connect (OIDC) compliant.
//
// [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
// users through the user pools supported by Amazon Cognito.
//
// [Application Load Balancer] If the action type is redirect, you redirect
// specified client requests from one URL to another.
//
// [Application Load Balancer] If the action type is fixed-response, you drop
// specified client requests and return a custom HTTP response.
//
// DefaultActions is a required field
DefaultActions []*Action `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
LoadBalancerArn *string `type:"string" required:"true"`
// The port on which the load balancer is listening.
//
// Port is a required field
Port *int64 `min:"1" type:"integer" required:"true"`
// The protocol for connections from clients to the load balancer. For Application
// Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load
// Balancers, the supported protocols are TCP and TLS.
//
// Protocol is a required field
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
// [HTTPS and TLS listeners] 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
}
// SetCertificates sets the Certificates field's value.
func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput {
s.Certificates = v
return s
}
// SetDefaultActions sets the DefaultActions field's value.
func (s *CreateListenerInput) SetDefaultActions(v []*Action) *CreateListenerInput {
s.DefaultActions = v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *CreateListenerInput) SetLoadBalancerArn(v string) *CreateListenerInput {
s.LoadBalancerArn = &v
return s
}
// SetPort sets the Port field's value.
func (s *CreateListenerInput) SetPort(v int64) *CreateListenerInput {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput {
s.Protocol = &v
return s
}
// SetSslPolicy sets the SslPolicy field's value.
func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput {
s.SslPolicy = &v
return s
}
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()
}
// SetListeners sets the Listeners field's value.
func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput {
s.Listeners = v
return s
}
type CreateLoadBalancerInput struct {
_ struct{} `type:"structure"`
// [Application Load Balancers] The type of IP addresses used by the subnets
// for your load balancer. The possible values are ipv4 (for IPv4 addresses)
// and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must
// use ipv4.
IpAddressType *string `type:"string" enum:"IpAddressType"`
// The name of the load balancer.
//
// This name must be unique per region per account, can have a maximum of 32
// characters, must contain only alphanumeric characters or hyphens, must not
// begin or end with a hyphen, and must not begin with "internal-".
//
// Name is a required field
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"`
// [Application Load Balancers] The IDs of the security groups for the load
// balancer.
SecurityGroups []*string `type:"list"`
// The IDs of the public subnets. You can specify only one subnet per Availability
// Zone. You must specify either subnets or subnet mappings.
//
// [Application Load Balancers] You must specify subnets from at least two Availability
// Zones. You cannot specify Elastic IP addresses for your subnets.
//
// [Network Load Balancers] You can specify subnets from one or more Availability
// Zones. You can specify one Elastic IP address per subnet.
SubnetMappings []*SubnetMapping `type:"list"`
// The IDs of the public subnets. You can specify only one subnet per Availability
// Zone. You must specify either subnets or subnet mappings.
//
// [Application Load Balancers] You must specify subnets from at least two Availability
// Zones.
//
// [Network Load Balancers] You can specify subnets from one or more Availability
// Zones.
Subnets []*string `type:"list"`
// One or more tags to assign to the load balancer.
Tags []*Tag `min:"1" type:"list"`
// The type of load balancer. The default is application.
Type *string `type:"string" enum:"LoadBalancerTypeEnum"`
}
// 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.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
}
// SetIpAddressType sets the IpAddressType field's value.
func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
s.IpAddressType = &v
return s
}
// SetName sets the Name field's value.
func (s *CreateLoadBalancerInput) SetName(v string) *CreateLoadBalancerInput {
s.Name = &v
return s
}
// SetScheme sets the Scheme field's value.
func (s *CreateLoadBalancerInput) SetScheme(v string) *CreateLoadBalancerInput {
s.Scheme = &v
return s
}
// SetSecurityGroups sets the SecurityGroups field's value.
func (s *CreateLoadBalancerInput) SetSecurityGroups(v []*string) *CreateLoadBalancerInput {
s.SecurityGroups = v
return s
}
// SetSubnetMappings sets the SubnetMappings field's value.
func (s *CreateLoadBalancerInput) SetSubnetMappings(v []*SubnetMapping) *CreateLoadBalancerInput {
s.SubnetMappings = v
return s
}
// SetSubnets sets the Subnets field's value.
func (s *CreateLoadBalancerInput) SetSubnets(v []*string) *CreateLoadBalancerInput {
s.Subnets = v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
s.Tags = v
return s
}
// SetType sets the Type field's value.
func (s *CreateLoadBalancerInput) SetType(v string) *CreateLoadBalancerInput {
s.Type = &v
return s
}
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()
}
// SetLoadBalancers sets the LoadBalancers field's value.
func (s *CreateLoadBalancerOutput) SetLoadBalancers(v []*LoadBalancer) *CreateLoadBalancerOutput {
s.LoadBalancers = v
return s
}
type CreateRuleInput struct {
_ struct{} `type:"structure"`
// The actions. Each rule must include exactly one of the following types of
// actions: forward, fixed-response, or redirect.
//
// If the action type is forward, you specify a target group. The protocol of
// the target group must be HTTP or HTTPS for an Application Load Balancer.
// The protocol of the target group must be TCP or TLS for a Network Load Balancer.
//
// [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
// users through an identity provider that is OpenID Connect (OIDC) compliant.
//
// [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
// users through the user pools supported by Amazon Cognito.
//
// [Application Load Balancer] If the action type is redirect, you redirect
// specified client requests from one URL to another.
//
// [Application Load Balancer] If the action type is fixed-response, you drop
// specified client requests and return a custom HTTP response.
//
// Actions is a required field
Actions []*Action `type:"list" required:"true"`
// The conditions. Each condition specifies a field name and a single value.
//
// If the field name is host-header, you can specify a single host name (for
// example, my.example.com). A host name is case insensitive, can be up to 128
// characters in length, and can contain any of the following characters. You
// can include up to three wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * - .
//
// * * (matches 0 or more characters)
//
// * ? (matches exactly 1 character)
//
// If the field name is path-pattern, you can specify a single path pattern.
// A path pattern is case-sensitive, can be up to 128 characters in length,
// and can contain any of the following characters. You can include up to three
// wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * _ - . $ / ~ " ' @ : +
//
// * & (using &)
//
// * * (matches 0 or more characters)
//
// * ? (matches exactly 1 character)
//
// Conditions is a required field
Conditions []*RuleCondition `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the listener.
//
// ListenerArn is a required field
ListenerArn *string `type:"string" required:"true"`
// The rule priority. A listener can't have multiple rules with the same priority.
//
// Priority is a required field
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
}
// SetActions sets the Actions field's value.
func (s *CreateRuleInput) SetActions(v []*Action) *CreateRuleInput {
s.Actions = v
return s
}
// SetConditions sets the Conditions field's value.
func (s *CreateRuleInput) SetConditions(v []*RuleCondition) *CreateRuleInput {
s.Conditions = v
return s
}
// SetListenerArn sets the ListenerArn field's value.
func (s *CreateRuleInput) SetListenerArn(v string) *CreateRuleInput {
s.ListenerArn = &v
return s
}
// SetPriority sets the Priority field's value.
func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput {
s.Priority = &v
return s
}
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()
}
// SetRules sets the Rules field's value.
func (s *CreateRuleOutput) SetRules(v []*Rule) *CreateRuleOutput {
s.Rules = v
return s
}
type CreateTargetGroupInput struct {
_ struct{} `type:"structure"`
// Indicates whether health checks are enabled. If the target type is instance
// or ip, the default is true. If the target type is lambda, the default is
// false.
HealthCheckEnabled *bool `type:"boolean"`
// The approximate amount of time, in seconds, between health checks of an individual
// target. For Application Load Balancers, the range is 5300 seconds. For Network
// Load Balancers, the supported values are 10 or 30 seconds. If the target
// type is instance or ip, the default is 30 seconds. If the target type is
// lambda, the default is 35 seconds.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
// [HTTP/HTTPS health checks] 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 is 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.
// For Application Load Balancers, the default is HTTP. For Network Load Balancers,
// the default is TCP. The TCP protocol is supported for health checks only
// if the protocol of the target group is TCP or TLS. The TLS protocol is not
// supported for health checks.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response from a target means
// a failed health check. For Application Load Balancers, the range is 2120
// seconds and the default is 5 seconds if the target type is instance or ip
// and 30 seconds if the target type is lambda. For Network Load Balancers,
// this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP
// health checks.
HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
// The number of consecutive health checks successes required before considering
// an unhealthy target healthy. For Application Load Balancers, the default
// is 5. For Network Load Balancers, the default is 3.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
// response from a target.
Matcher *Matcher `type:"structure"`
// The name of the target group.
//
// This name must be unique per region per 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 is a required field
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. If the target is a Lambda
// function, this parameter does not apply.
Port *int64 `min:"1" type:"integer"`
// The protocol to use for routing traffic to the targets. For Application Load
// Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers,
// the supported protocols are TCP and TLS. If the target is a Lambda function,
// this parameter does not apply.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// The type of target that you must specify when registering targets with this
// target group. You can't specify targets for a target group using more than
// one target type.
//
// * instance - Targets are specified by instance ID. This is the default
// value.
//
// * ip - Targets are specified by IP address. You can specify IP addresses
// from the subnets of the virtual private cloud (VPC) for the target group,
// the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and
// the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable
// IP addresses.
//
// * lambda - The target groups contains a single Lambda function.
TargetType *string `type:"string" enum:"TargetTypeEnum"`
// The number of consecutive health check failures required before considering
// a target unhealthy. For Application Load Balancers, the default is 2. For
// Network Load Balancers, this value must be the same as the healthy threshold
// count.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
// The identifier of the virtual private cloud (VPC). If the target is a Lambda
// function, this parameter does not apply.
VpcId *string `type:"string"`
}
// 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 && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
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
}
// SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
func (s *CreateTargetGroupInput) SetHealthCheckEnabled(v bool) *CreateTargetGroupInput {
s.HealthCheckEnabled = &v
return s
}
// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
func (s *CreateTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateTargetGroupInput {
s.HealthCheckIntervalSeconds = &v
return s
}
// SetHealthCheckPath sets the HealthCheckPath field's value.
func (s *CreateTargetGroupInput) SetHealthCheckPath(v string) *CreateTargetGroupInput {
s.HealthCheckPath = &v
return s
}
// SetHealthCheckPort sets the HealthCheckPort field's value.
func (s *CreateTargetGroupInput) SetHealthCheckPort(v string) *CreateTargetGroupInput {
s.HealthCheckPort = &v
return s
}
// SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
func (s *CreateTargetGroupInput) SetHealthCheckProtocol(v string) *CreateTargetGroupInput {
s.HealthCheckProtocol = &v
return s
}
// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
func (s *CreateTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *CreateTargetGroupInput {
s.HealthCheckTimeoutSeconds = &v
return s
}
// SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
func (s *CreateTargetGroupInput) SetHealthyThresholdCount(v int64) *CreateTargetGroupInput {
s.HealthyThresholdCount = &v
return s
}
// SetMatcher sets the Matcher field's value.
func (s *CreateTargetGroupInput) SetMatcher(v *Matcher) *CreateTargetGroupInput {
s.Matcher = v
return s
}
// SetName sets the Name field's value.
func (s *CreateTargetGroupInput) SetName(v string) *CreateTargetGroupInput {
s.Name = &v
return s
}
// SetPort sets the Port field's value.
func (s *CreateTargetGroupInput) SetPort(v int64) *CreateTargetGroupInput {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
s.Protocol = &v
return s
}
// SetTargetType sets the TargetType field's value.
func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
s.TargetType = &v
return s
}
// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
func (s *CreateTargetGroupInput) SetUnhealthyThresholdCount(v int64) *CreateTargetGroupInput {
s.UnhealthyThresholdCount = &v
return s
}
// SetVpcId sets the VpcId field's value.
func (s *CreateTargetGroupInput) SetVpcId(v string) *CreateTargetGroupInput {
s.VpcId = &v
return s
}
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()
}
// SetTargetGroups sets the TargetGroups field's value.
func (s *CreateTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *CreateTargetGroupOutput {
s.TargetGroups = v
return s
}
type DeleteListenerInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the listener.
//
// ListenerArn is a required field
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
}
// SetListenerArn sets the ListenerArn field's value.
func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput {
s.ListenerArn = &v
return s
}
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()
}
type DeleteLoadBalancerInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
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
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *DeleteLoadBalancerInput) SetLoadBalancerArn(v string) *DeleteLoadBalancerInput {
s.LoadBalancerArn = &v
return s
}
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()
}
type DeleteRuleInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the rule.
//
// RuleArn is a required field
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
}
// SetRuleArn sets the RuleArn field's value.
func (s *DeleteRuleInput) SetRuleArn(v string) *DeleteRuleInput {
s.RuleArn = &v
return s
}
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()
}
type DeleteTargetGroupInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
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
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *DeleteTargetGroupInput) SetTargetGroupArn(v string) *DeleteTargetGroupInput {
s.TargetGroupArn = &v
return s
}
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()
}
type DeregisterTargetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
TargetGroupArn *string `type:"string" required:"true"`
// The targets. If you specified a port override when you registered a target,
// you must specify both the target ID and the port when you deregister it.
//
// Targets is a required field
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
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *DeregisterTargetsInput) SetTargetGroupArn(v string) *DeregisterTargetsInput {
s.TargetGroupArn = &v
return s
}
// SetTargets sets the Targets field's value.
func (s *DeregisterTargetsInput) SetTargets(v []*TargetDescription) *DeregisterTargetsInput {
s.Targets = v
return s
}
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()
}
type DescribeAccountLimitsInput 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 maximum number of results to return with this call.
PageSize *int64 `min:"1" type:"integer"`
}
// String returns the string representation
func (s DescribeAccountLimitsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeAccountLimitsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeAccountLimitsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMarker sets the Marker field's value.
func (s *DescribeAccountLimitsInput) SetMarker(v string) *DescribeAccountLimitsInput {
s.Marker = &v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeAccountLimitsInput) SetPageSize(v int64) *DescribeAccountLimitsInput {
s.PageSize = &v
return s
}
type DescribeAccountLimitsOutput struct {
_ struct{} `type:"structure"`
// Information about the limits.
Limits []*Limit `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 DescribeAccountLimitsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeAccountLimitsOutput) GoString() string {
return s.String()
}
// SetLimits sets the Limits field's value.
func (s *DescribeAccountLimitsOutput) SetLimits(v []*Limit) *DescribeAccountLimitsOutput {
s.Limits = v
return s
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeAccountLimitsOutput) SetNextMarker(v string) *DescribeAccountLimitsOutput {
s.NextMarker = &v
return s
}
type DescribeListenerCertificatesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the listener.
//
// ListenerArn is a required field
ListenerArn *string `type:"string" required:"true"`
// 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 DescribeListenerCertificatesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeListenerCertificatesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeListenerCertificatesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeListenerCertificatesInput"}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetListenerArn sets the ListenerArn field's value.
func (s *DescribeListenerCertificatesInput) SetListenerArn(v string) *DescribeListenerCertificatesInput {
s.ListenerArn = &v
return s
}
// SetMarker sets the Marker field's value.
func (s *DescribeListenerCertificatesInput) SetMarker(v string) *DescribeListenerCertificatesInput {
s.Marker = &v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeListenerCertificatesInput) SetPageSize(v int64) *DescribeListenerCertificatesInput {
s.PageSize = &v
return s
}
type DescribeListenerCertificatesOutput struct {
_ struct{} `type:"structure"`
// Information about the certificates.
Certificates []*Certificate `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 DescribeListenerCertificatesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeListenerCertificatesOutput) GoString() string {
return s.String()
}
// SetCertificates sets the Certificates field's value.
func (s *DescribeListenerCertificatesOutput) SetCertificates(v []*Certificate) *DescribeListenerCertificatesOutput {
s.Certificates = v
return s
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeListenerCertificatesOutput) SetNextMarker(v string) *DescribeListenerCertificatesOutput {
s.NextMarker = &v
return s
}
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
}
// SetListenerArns sets the ListenerArns field's value.
func (s *DescribeListenersInput) SetListenerArns(v []*string) *DescribeListenersInput {
s.ListenerArns = v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *DescribeListenersInput) SetLoadBalancerArn(v string) *DescribeListenersInput {
s.LoadBalancerArn = &v
return s
}
// SetMarker sets the Marker field's value.
func (s *DescribeListenersInput) SetMarker(v string) *DescribeListenersInput {
s.Marker = &v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeListenersInput) SetPageSize(v int64) *DescribeListenersInput {
s.PageSize = &v
return s
}
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()
}
// SetListeners sets the Listeners field's value.
func (s *DescribeListenersOutput) SetListeners(v []*Listener) *DescribeListenersOutput {
s.Listeners = v
return s
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeListenersOutput) SetNextMarker(v string) *DescribeListenersOutput {
s.NextMarker = &v
return s
}
type DescribeLoadBalancerAttributesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
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
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *DescribeLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *DescribeLoadBalancerAttributesInput {
s.LoadBalancerArn = &v
return s
}
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()
}
// SetAttributes sets the Attributes field's value.
func (s *DescribeLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *DescribeLoadBalancerAttributesOutput {
s.Attributes = v
return s
}
type DescribeLoadBalancersInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the load balancers. You can specify up
// to 20 load balancers in a single call.
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
}
// SetLoadBalancerArns sets the LoadBalancerArns field's value.
func (s *DescribeLoadBalancersInput) SetLoadBalancerArns(v []*string) *DescribeLoadBalancersInput {
s.LoadBalancerArns = v
return s
}
// SetMarker sets the Marker field's value.
func (s *DescribeLoadBalancersInput) SetMarker(v string) *DescribeLoadBalancersInput {
s.Marker = &v
return s
}
// SetNames sets the Names field's value.
func (s *DescribeLoadBalancersInput) SetNames(v []*string) *DescribeLoadBalancersInput {
s.Names = v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeLoadBalancersInput) SetPageSize(v int64) *DescribeLoadBalancersInput {
s.PageSize = &v
return s
}
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()
}
// SetLoadBalancers sets the LoadBalancers field's value.
func (s *DescribeLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *DescribeLoadBalancersOutput {
s.LoadBalancers = v
return s
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeLoadBalancersOutput) SetNextMarker(v string) *DescribeLoadBalancersOutput {
s.NextMarker = &v
return s
}
type DescribeRulesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the listener.
ListenerArn *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"`
// 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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeRulesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeRulesInput"}
if s.PageSize != nil && *s.PageSize < 1 {
invalidParams.Add(request.NewErrParamMinValue("PageSize", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetListenerArn sets the ListenerArn field's value.
func (s *DescribeRulesInput) SetListenerArn(v string) *DescribeRulesInput {
s.ListenerArn = &v
return s
}
// SetMarker sets the Marker field's value.
func (s *DescribeRulesInput) SetMarker(v string) *DescribeRulesInput {
s.Marker = &v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeRulesInput) SetPageSize(v int64) *DescribeRulesInput {
s.PageSize = &v
return s
}
// SetRuleArns sets the RuleArns field's value.
func (s *DescribeRulesInput) SetRuleArns(v []*string) *DescribeRulesInput {
s.RuleArns = v
return s
}
type DescribeRulesOutput 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 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()
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeRulesOutput) SetNextMarker(v string) *DescribeRulesOutput {
s.NextMarker = &v
return s
}
// SetRules sets the Rules field's value.
func (s *DescribeRulesOutput) SetRules(v []*Rule) *DescribeRulesOutput {
s.Rules = v
return s
}
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
}
// SetMarker sets the Marker field's value.
func (s *DescribeSSLPoliciesInput) SetMarker(v string) *DescribeSSLPoliciesInput {
s.Marker = &v
return s
}
// SetNames sets the Names field's value.
func (s *DescribeSSLPoliciesInput) SetNames(v []*string) *DescribeSSLPoliciesInput {
s.Names = v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeSSLPoliciesInput) SetPageSize(v int64) *DescribeSSLPoliciesInput {
s.PageSize = &v
return s
}
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()
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeSSLPoliciesOutput) SetNextMarker(v string) *DescribeSSLPoliciesOutput {
s.NextMarker = &v
return s
}
// SetSslPolicies sets the SslPolicies field's value.
func (s *DescribeSSLPoliciesOutput) SetSslPolicies(v []*SslPolicy) *DescribeSSLPoliciesOutput {
s.SslPolicies = v
return s
}
type DescribeTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Names (ARN) of the resources.
//
// ResourceArns is a required field
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
}
// SetResourceArns sets the ResourceArns field's value.
func (s *DescribeTagsInput) SetResourceArns(v []*string) *DescribeTagsInput {
s.ResourceArns = v
return s
}
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()
}
// SetTagDescriptions sets the TagDescriptions field's value.
func (s *DescribeTagsOutput) SetTagDescriptions(v []*TagDescription) *DescribeTagsOutput {
s.TagDescriptions = v
return s
}
type DescribeTargetGroupAttributesInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
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
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *DescribeTargetGroupAttributesInput) SetTargetGroupArn(v string) *DescribeTargetGroupAttributesInput {
s.TargetGroupArn = &v
return s
}
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()
}
// SetAttributes sets the Attributes field's value.
func (s *DescribeTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *DescribeTargetGroupAttributesOutput {
s.Attributes = v
return s
}
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
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *DescribeTargetGroupsInput) SetLoadBalancerArn(v string) *DescribeTargetGroupsInput {
s.LoadBalancerArn = &v
return s
}
// SetMarker sets the Marker field's value.
func (s *DescribeTargetGroupsInput) SetMarker(v string) *DescribeTargetGroupsInput {
s.Marker = &v
return s
}
// SetNames sets the Names field's value.
func (s *DescribeTargetGroupsInput) SetNames(v []*string) *DescribeTargetGroupsInput {
s.Names = v
return s
}
// SetPageSize sets the PageSize field's value.
func (s *DescribeTargetGroupsInput) SetPageSize(v int64) *DescribeTargetGroupsInput {
s.PageSize = &v
return s
}
// SetTargetGroupArns sets the TargetGroupArns field's value.
func (s *DescribeTargetGroupsInput) SetTargetGroupArns(v []*string) *DescribeTargetGroupsInput {
s.TargetGroupArns = v
return s
}
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()
}
// SetNextMarker sets the NextMarker field's value.
func (s *DescribeTargetGroupsOutput) SetNextMarker(v string) *DescribeTargetGroupsOutput {
s.NextMarker = &v
return s
}
// SetTargetGroups sets the TargetGroups field's value.
func (s *DescribeTargetGroupsOutput) SetTargetGroups(v []*TargetGroup) *DescribeTargetGroupsOutput {
s.TargetGroups = v
return s
}
type DescribeTargetHealthInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
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
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *DescribeTargetHealthInput) SetTargetGroupArn(v string) *DescribeTargetHealthInput {
s.TargetGroupArn = &v
return s
}
// SetTargets sets the Targets field's value.
func (s *DescribeTargetHealthInput) SetTargets(v []*TargetDescription) *DescribeTargetHealthInput {
s.Targets = v
return s
}
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()
}
// SetTargetHealthDescriptions sets the TargetHealthDescriptions field's value.
func (s *DescribeTargetHealthOutput) SetTargetHealthDescriptions(v []*TargetHealthDescription) *DescribeTargetHealthOutput {
s.TargetHealthDescriptions = v
return s
}
// Information about an action that returns a custom HTTP response.
type FixedResponseActionConfig struct {
_ struct{} `type:"structure"`
// The content type.
//
// Valid Values: text/plain | text/css | text/html | application/javascript
// | application/json
ContentType *string `type:"string"`
// The message.
MessageBody *string `type:"string"`
// The HTTP response code (2XX, 4XX, or 5XX).
//
// StatusCode is a required field
StatusCode *string `type:"string" required:"true"`
}
// String returns the string representation
func (s FixedResponseActionConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s FixedResponseActionConfig) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *FixedResponseActionConfig) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "FixedResponseActionConfig"}
if s.StatusCode == nil {
invalidParams.Add(request.NewErrParamRequired("StatusCode"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetContentType sets the ContentType field's value.
func (s *FixedResponseActionConfig) SetContentType(v string) *FixedResponseActionConfig {
s.ContentType = &v
return s
}
// SetMessageBody sets the MessageBody field's value.
func (s *FixedResponseActionConfig) SetMessageBody(v string) *FixedResponseActionConfig {
s.MessageBody = &v
return s
}
// SetStatusCode sets the StatusCode field's value.
func (s *FixedResponseActionConfig) SetStatusCode(v string) *FixedResponseActionConfig {
s.StatusCode = &v
return s
}
// Information about an Elastic Load Balancing resource limit for your AWS account.
type Limit struct {
_ struct{} `type:"structure"`
// The maximum value of the limit.
Max *string `type:"string"`
// The name of the limit. The possible values are:
//
// * application-load-balancers
//
// * listeners-per-application-load-balancer
//
// * listeners-per-network-load-balancer
//
// * network-load-balancers
//
// * rules-per-application-load-balancer
//
// * target-groups
//
// * targets-per-application-load-balancer
//
// * targets-per-availability-zone-per-network-load-balancer
//
// * targets-per-network-load-balancer
Name *string `type:"string"`
}
// String returns the string representation
func (s Limit) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Limit) GoString() string {
return s.String()
}
// SetMax sets the Max field's value.
func (s *Limit) SetMax(v string) *Limit {
s.Max = &v
return s
}
// SetName sets the Name field's value.
func (s *Limit) SetName(v string) *Limit {
s.Name = &v
return s
}
// Information about a listener.
type Listener struct {
_ struct{} `type:"structure"`
// The SSL server certificate. You must provide a certificate if the protocol
// is HTTPS or TLS.
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()
}
// SetCertificates sets the Certificates field's value.
func (s *Listener) SetCertificates(v []*Certificate) *Listener {
s.Certificates = v
return s
}
// SetDefaultActions sets the DefaultActions field's value.
func (s *Listener) SetDefaultActions(v []*Action) *Listener {
s.DefaultActions = v
return s
}
// SetListenerArn sets the ListenerArn field's value.
func (s *Listener) SetListenerArn(v string) *Listener {
s.ListenerArn = &v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *Listener) SetLoadBalancerArn(v string) *Listener {
s.LoadBalancerArn = &v
return s
}
// SetPort sets the Port field's value.
func (s *Listener) SetPort(v int64) *Listener {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *Listener) SetProtocol(v string) *Listener {
s.Protocol = &v
return s
}
// SetSslPolicy sets the SslPolicy field's value.
func (s *Listener) SetSslPolicy(v string) *Listener {
s.SslPolicy = &v
return s
}
// 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"`
// The public DNS name of the load balancer.
DNSName *string `type:"string"`
// The type of IP addresses used by the subnets for your load balancer. The
// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
// IPv6 addresses).
IpAddressType *string `type:"string" enum:"IpAddressType"`
// 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()
}
// SetAvailabilityZones sets the AvailabilityZones field's value.
func (s *LoadBalancer) SetAvailabilityZones(v []*AvailabilityZone) *LoadBalancer {
s.AvailabilityZones = v
return s
}
// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
func (s *LoadBalancer) SetCanonicalHostedZoneId(v string) *LoadBalancer {
s.CanonicalHostedZoneId = &v
return s
}
// SetCreatedTime sets the CreatedTime field's value.
func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer {
s.CreatedTime = &v
return s
}
// SetDNSName sets the DNSName field's value.
func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
s.DNSName = &v
return s
}
// SetIpAddressType sets the IpAddressType field's value.
func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
s.IpAddressType = &v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *LoadBalancer) SetLoadBalancerArn(v string) *LoadBalancer {
s.LoadBalancerArn = &v
return s
}
// SetLoadBalancerName sets the LoadBalancerName field's value.
func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer {
s.LoadBalancerName = &v
return s
}
// SetScheme sets the Scheme field's value.
func (s *LoadBalancer) SetScheme(v string) *LoadBalancer {
s.Scheme = &v
return s
}
// SetSecurityGroups sets the SecurityGroups field's value.
func (s *LoadBalancer) SetSecurityGroups(v []*string) *LoadBalancer {
s.SecurityGroups = v
return s
}
// SetState sets the State field's value.
func (s *LoadBalancer) SetState(v *LoadBalancerState) *LoadBalancer {
s.State = v
return s
}
// SetType sets the Type field's value.
func (s *LoadBalancer) SetType(v string) *LoadBalancer {
s.Type = &v
return s
}
// SetVpcId sets the VpcId field's value.
func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer {
s.VpcId = &v
return s
}
// Information about a static IP address for a load balancer.
type LoadBalancerAddress struct {
_ struct{} `type:"structure"`
// [Network Load Balancers] The allocation ID of the Elastic IP address.
AllocationId *string `type:"string"`
// The static IP address.
IpAddress *string `type:"string"`
}
// String returns the string representation
func (s LoadBalancerAddress) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LoadBalancerAddress) GoString() string {
return s.String()
}
// SetAllocationId sets the AllocationId field's value.
func (s *LoadBalancerAddress) SetAllocationId(v string) *LoadBalancerAddress {
s.AllocationId = &v
return s
}
// SetIpAddress sets the IpAddress field's value.
func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress {
s.IpAddress = &v
return s
}
// Information about a load balancer attribute.
type LoadBalancerAttribute struct {
_ struct{} `type:"structure"`
// The name of the attribute.
//
// The following attributes are supported by both Application Load Balancers
// and Network Load Balancers:
//
// * access_logs.s3.enabled - Indicates whether access logs are enabled.
// The value is true or false. The default is false.
//
// * access_logs.s3.bucket - The name of the S3 bucket for the access logs.
// This attribute is required if access logs are enabled. The bucket must
// exist in the same region as the load balancer and have a bucket policy
// that grants Elastic Load Balancing permissions to write to the bucket.
//
// * access_logs.s3.prefix - The prefix for the location in the S3 bucket
// for the access logs.
//
// * deletion_protection.enabled - Indicates whether deletion protection
// is enabled. The value is true or false. The default is false.
//
// The following attributes are supported by only Application Load Balancers:
//
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
// valid range is 1-4000 seconds. The default is 60 seconds.
//
// * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value
// is true or false. The default is true.
//
// The following attributes are supported by only Network Load Balancers:
//
// * load_balancing.cross_zone.enabled - Indicates whether cross-zone load
// balancing is enabled. The value is true or false. The default is false.
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()
}
// SetKey sets the Key field's value.
func (s *LoadBalancerAttribute) SetKey(v string) *LoadBalancerAttribute {
s.Key = &v
return s
}
// SetValue sets the Value field's value.
func (s *LoadBalancerAttribute) SetValue(v string) *LoadBalancerAttribute {
s.Value = &v
return s
}
// 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()
}
// SetCode sets the Code field's value.
func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
s.Code = &v
return s
}
// SetReason sets the Reason field's value.
func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
s.Reason = &v
return s
}
// Information to use when checking for a successful response from a target.
type Matcher struct {
_ struct{} `type:"structure"`
// The HTTP codes.
//
// For Application Load Balancers, you can specify values between 200 and 499,
// and the default value is 200. You can specify multiple values (for example,
// "200,202") or a range of values (for example, "200-299").
//
// For Network Load Balancers, this is 200399.
//
// HttpCode is a required field
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
}
// SetHttpCode sets the HttpCode field's value.
func (s *Matcher) SetHttpCode(v string) *Matcher {
s.HttpCode = &v
return s
}
type ModifyListenerInput struct {
_ struct{} `type:"structure"`
// [HTTPS and TLS listeners] The default SSL server certificate. You must provide
// exactly one certificate. Set CertificateArn to the certificate ARN but do
// not set IsDefault.
//
// To create a certificate list, use AddListenerCertificates.
Certificates []*Certificate `type:"list"`
// The actions for the default rule. The rule must include one forward action
// or one or more fixed-response actions.
//
// If the action type is forward, you specify a target group. The protocol of
// the target group must be HTTP or HTTPS for an Application Load Balancer.
// The protocol of the target group must be TCP or TLS for a Network Load Balancer.
//
// [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
// users through an identity provider that is OpenID Connect (OIDC) compliant.
//
// [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
// users through the user pools supported by Amazon Cognito.
//
// [Application Load Balancer] If the action type is redirect, you redirect
// specified client requests from one URL to another.
//
// [Application Load Balancer] If the action type is fixed-response, you drop
// specified client requests and return a custom HTTP response.
DefaultActions []*Action `type:"list"`
// The Amazon Resource Name (ARN) of the listener.
//
// ListenerArn is a required field
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. Application
// Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers
// support the TCP and TLS protocols.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// [HTTPS and TLS listeners] The security policy that defines which protocols
// and ciphers are supported. For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
// in the Application Load Balancers Guide.
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
}
// SetCertificates sets the Certificates field's value.
func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput {
s.Certificates = v
return s
}
// SetDefaultActions sets the DefaultActions field's value.
func (s *ModifyListenerInput) SetDefaultActions(v []*Action) *ModifyListenerInput {
s.DefaultActions = v
return s
}
// SetListenerArn sets the ListenerArn field's value.
func (s *ModifyListenerInput) SetListenerArn(v string) *ModifyListenerInput {
s.ListenerArn = &v
return s
}
// SetPort sets the Port field's value.
func (s *ModifyListenerInput) SetPort(v int64) *ModifyListenerInput {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *ModifyListenerInput) SetProtocol(v string) *ModifyListenerInput {
s.Protocol = &v
return s
}
// SetSslPolicy sets the SslPolicy field's value.
func (s *ModifyListenerInput) SetSslPolicy(v string) *ModifyListenerInput {
s.SslPolicy = &v
return s
}
type ModifyListenerOutput struct {
_ struct{} `type:"structure"`
// Information about the modified listener.
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()
}
// SetListeners sets the Listeners field's value.
func (s *ModifyListenerOutput) SetListeners(v []*Listener) *ModifyListenerOutput {
s.Listeners = v
return s
}
type ModifyLoadBalancerAttributesInput struct {
_ struct{} `type:"structure"`
// The load balancer attributes.
//
// Attributes is a required field
Attributes []*LoadBalancerAttribute `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
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
}
// SetAttributes sets the Attributes field's value.
func (s *ModifyLoadBalancerAttributesInput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesInput {
s.Attributes = v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *ModifyLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *ModifyLoadBalancerAttributesInput {
s.LoadBalancerArn = &v
return s
}
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()
}
// SetAttributes sets the Attributes field's value.
func (s *ModifyLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesOutput {
s.Attributes = v
return s
}
type ModifyRuleInput struct {
_ struct{} `type:"structure"`
// The actions.
//
// If the action type is forward, you specify a target group. The protocol of
// the target group must be HTTP or HTTPS for an Application Load Balancer.
// The protocol of the target group must be TCP or TLS for a Network Load Balancer.
//
// [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
// users through an identity provider that is OpenID Connect (OIDC) compliant.
//
// [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
// users through the user pools supported by Amazon Cognito.
//
// [Application Load Balancer] If the action type is redirect, you redirect
// specified client requests from one URL to another.
//
// [Application Load Balancer] If the action type is fixed-response, you drop
// specified client requests and return a custom HTTP response.
Actions []*Action `type:"list"`
// The conditions. Each condition specifies a field name and a single value.
//
// If the field name is host-header, you can specify a single host name (for
// example, my.example.com). A host name is case insensitive, can be up to 128
// characters in length, and can contain any of the following characters. You
// can include up to three wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * - .
//
// * * (matches 0 or more characters)
//
// * ? (matches exactly 1 character)
//
// If the field name is path-pattern, you can specify a single path pattern.
// A path pattern is case-sensitive, can be up to 128 characters in length,
// and can contain any of the following characters. You can include up to three
// wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * _ - . $ / ~ " ' @ : +
//
// * & (using &)
//
// * * (matches 0 or more characters)
//
// * ? (matches exactly 1 character)
Conditions []*RuleCondition `type:"list"`
// The Amazon Resource Name (ARN) of the rule.
//
// RuleArn is a required field
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
}
// SetActions sets the Actions field's value.
func (s *ModifyRuleInput) SetActions(v []*Action) *ModifyRuleInput {
s.Actions = v
return s
}
// SetConditions sets the Conditions field's value.
func (s *ModifyRuleInput) SetConditions(v []*RuleCondition) *ModifyRuleInput {
s.Conditions = v
return s
}
// SetRuleArn sets the RuleArn field's value.
func (s *ModifyRuleInput) SetRuleArn(v string) *ModifyRuleInput {
s.RuleArn = &v
return s
}
type ModifyRuleOutput struct {
_ struct{} `type:"structure"`
// Information about the modified 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()
}
// SetRules sets the Rules field's value.
func (s *ModifyRuleOutput) SetRules(v []*Rule) *ModifyRuleOutput {
s.Rules = v
return s
}
type ModifyTargetGroupAttributesInput struct {
_ struct{} `type:"structure"`
// The attributes.
//
// Attributes is a required field
Attributes []*TargetGroupAttribute `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
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
}
// SetAttributes sets the Attributes field's value.
func (s *ModifyTargetGroupAttributesInput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesInput {
s.Attributes = v
return s
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *ModifyTargetGroupAttributesInput) SetTargetGroupArn(v string) *ModifyTargetGroupAttributesInput {
s.TargetGroupArn = &v
return s
}
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()
}
// SetAttributes sets the Attributes field's value.
func (s *ModifyTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesOutput {
s.Attributes = v
return s
}
type ModifyTargetGroupInput struct {
_ struct{} `type:"structure"`
// Indicates whether health checks are enabled.
HealthCheckEnabled *bool `type:"boolean"`
// The approximate amount of time, in seconds, between health checks of an individual
// target. For Application Load Balancers, the range is 5300 seconds. For Network
// Load Balancers, the supported values are 10 or 30 seconds.
//
// If the protocol of the target group is TCP, you can't modify this setting.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
// [HTTP/HTTPS health checks] The ping path that is the destination for the
// health check request.
HealthCheckPath *string `min:"1" type:"string"`
// The port the load balancer uses when performing health checks on targets.
HealthCheckPort *string `type:"string"`
// The protocol the load balancer uses when performing health checks on targets.
// The TCP protocol is supported for health checks only if the protocol of the
// target group is TCP or TLS. The TLS protocol is not supported for health
// checks.
//
// If the protocol of the target group is TCP, you can't modify this setting.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// [HTTP/HTTPS health checks] The amount of time, in seconds, during which no
// response means a failed health check.
//
// If the protocol of the target group is TCP, you can't modify this setting.
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"`
// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
// response from a target.
//
// If the protocol of the target group is TCP, you can't modify this setting.
Matcher *Matcher `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
TargetGroupArn *string `type:"string" required:"true"`
// The number of consecutive health check failures required before considering
// the target unhealthy. For Network Load Balancers, this value must be the
// same as the healthy threshold count.
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
}
// SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckEnabled(v bool) *ModifyTargetGroupInput {
s.HealthCheckEnabled = &v
return s
}
// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *ModifyTargetGroupInput {
s.HealthCheckIntervalSeconds = &v
return s
}
// SetHealthCheckPath sets the HealthCheckPath field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckPath(v string) *ModifyTargetGroupInput {
s.HealthCheckPath = &v
return s
}
// SetHealthCheckPort sets the HealthCheckPort field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckPort(v string) *ModifyTargetGroupInput {
s.HealthCheckPort = &v
return s
}
// SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckProtocol(v string) *ModifyTargetGroupInput {
s.HealthCheckProtocol = &v
return s
}
// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
func (s *ModifyTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *ModifyTargetGroupInput {
s.HealthCheckTimeoutSeconds = &v
return s
}
// SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
func (s *ModifyTargetGroupInput) SetHealthyThresholdCount(v int64) *ModifyTargetGroupInput {
s.HealthyThresholdCount = &v
return s
}
// SetMatcher sets the Matcher field's value.
func (s *ModifyTargetGroupInput) SetMatcher(v *Matcher) *ModifyTargetGroupInput {
s.Matcher = v
return s
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *ModifyTargetGroupInput) SetTargetGroupArn(v string) *ModifyTargetGroupInput {
s.TargetGroupArn = &v
return s
}
// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
func (s *ModifyTargetGroupInput) SetUnhealthyThresholdCount(v int64) *ModifyTargetGroupInput {
s.UnhealthyThresholdCount = &v
return s
}
type ModifyTargetGroupOutput struct {
_ struct{} `type:"structure"`
// Information about the modified 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()
}
// SetTargetGroups sets the TargetGroups field's value.
func (s *ModifyTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *ModifyTargetGroupOutput {
s.TargetGroups = v
return s
}
// Information about a redirect action.
//
// A URI consists of the following components: protocol://hostname:port/path?query.
// You must modify at least one of the following components to avoid a redirect
// loop: protocol, hostname, port, or path. Any components that you do not modify
// retain their original values.
//
// You can reuse URI components using the following reserved keywords:
//
// * #{protocol}
//
// * #{host}
//
// * #{port}
//
// * #{path} (the leading "/" is removed)
//
// * #{query}
//
// For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}",
// or the query to "#{query}&value=xyz".
type RedirectActionConfig struct {
_ struct{} `type:"structure"`
// The hostname. This component is not percent-encoded. The hostname can contain
// #{host}.
Host *string `min:"1" type:"string"`
// The absolute path, starting with the leading "/". This component is not percent-encoded.
// The path can contain #{host}, #{path}, and #{port}.
Path *string `min:"1" type:"string"`
// The port. You can specify a value from 1 to 65535 or #{port}.
Port *string `type:"string"`
// The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect
// HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS
// to HTTP.
Protocol *string `type:"string"`
// The query parameters, URL-encoded when necessary, but not percent-encoded.
// Do not include the leading "?", as it is automatically added. You can specify
// any of the reserved keywords.
Query *string `type:"string"`
// The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary
// (HTTP 302).
//
// StatusCode is a required field
StatusCode *string `type:"string" required:"true" enum:"RedirectActionStatusCodeEnum"`
}
// String returns the string representation
func (s RedirectActionConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RedirectActionConfig) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RedirectActionConfig) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RedirectActionConfig"}
if s.Host != nil && len(*s.Host) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Host", 1))
}
if s.Path != nil && len(*s.Path) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Path", 1))
}
if s.StatusCode == nil {
invalidParams.Add(request.NewErrParamRequired("StatusCode"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetHost sets the Host field's value.
func (s *RedirectActionConfig) SetHost(v string) *RedirectActionConfig {
s.Host = &v
return s
}
// SetPath sets the Path field's value.
func (s *RedirectActionConfig) SetPath(v string) *RedirectActionConfig {
s.Path = &v
return s
}
// SetPort sets the Port field's value.
func (s *RedirectActionConfig) SetPort(v string) *RedirectActionConfig {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *RedirectActionConfig) SetProtocol(v string) *RedirectActionConfig {
s.Protocol = &v
return s
}
// SetQuery sets the Query field's value.
func (s *RedirectActionConfig) SetQuery(v string) *RedirectActionConfig {
s.Query = &v
return s
}
// SetStatusCode sets the StatusCode field's value.
func (s *RedirectActionConfig) SetStatusCode(v string) *RedirectActionConfig {
s.StatusCode = &v
return s
}
type RegisterTargetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the target group.
//
// TargetGroupArn is a required field
TargetGroupArn *string `type:"string" required:"true"`
// The targets.
//
// To register a target by instance ID, specify the instance ID. To register
// a target by IP address, specify the IP address. To register a Lambda function,
// specify the ARN of the Lambda function.
//
// Targets is a required field
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
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *RegisterTargetsInput) SetTargetGroupArn(v string) *RegisterTargetsInput {
s.TargetGroupArn = &v
return s
}
// SetTargets sets the Targets field's value.
func (s *RegisterTargetsInput) SetTargets(v []*TargetDescription) *RegisterTargetsInput {
s.Targets = v
return s
}
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()
}
type RemoveListenerCertificatesInput struct {
_ struct{} `type:"structure"`
// The certificate to remove. You can specify one certificate per call. Set
// CertificateArn to the certificate ARN but do not set IsDefault.
//
// Certificates is a required field
Certificates []*Certificate `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the listener.
//
// ListenerArn is a required field
ListenerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s RemoveListenerCertificatesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RemoveListenerCertificatesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RemoveListenerCertificatesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RemoveListenerCertificatesInput"}
if s.Certificates == nil {
invalidParams.Add(request.NewErrParamRequired("Certificates"))
}
if s.ListenerArn == nil {
invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetCertificates sets the Certificates field's value.
func (s *RemoveListenerCertificatesInput) SetCertificates(v []*Certificate) *RemoveListenerCertificatesInput {
s.Certificates = v
return s
}
// SetListenerArn sets the ListenerArn field's value.
func (s *RemoveListenerCertificatesInput) SetListenerArn(v string) *RemoveListenerCertificatesInput {
s.ListenerArn = &v
return s
}
type RemoveListenerCertificatesOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s RemoveListenerCertificatesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RemoveListenerCertificatesOutput) GoString() string {
return s.String()
}
type RemoveTagsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the resource.
//
// ResourceArns is a required field
ResourceArns []*string `type:"list" required:"true"`
// The tag keys for the tags to remove.
//
// TagKeys is a required field
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
}
// SetResourceArns sets the ResourceArns field's value.
func (s *RemoveTagsInput) SetResourceArns(v []*string) *RemoveTagsInput {
s.ResourceArns = v
return s
}
// SetTagKeys sets the TagKeys field's value.
func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
s.TagKeys = v
return s
}
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()
}
// SetActions sets the Actions field's value.
func (s *Rule) SetActions(v []*Action) *Rule {
s.Actions = v
return s
}
// SetConditions sets the Conditions field's value.
func (s *Rule) SetConditions(v []*RuleCondition) *Rule {
s.Conditions = v
return s
}
// SetIsDefault sets the IsDefault field's value.
func (s *Rule) SetIsDefault(v bool) *Rule {
s.IsDefault = &v
return s
}
// SetPriority sets the Priority field's value.
func (s *Rule) SetPriority(v string) *Rule {
s.Priority = &v
return s
}
// SetRuleArn sets the RuleArn field's value.
func (s *Rule) SetRuleArn(v string) *Rule {
s.RuleArn = &v
return s
}
// Information about a condition for a rule.
type RuleCondition struct {
_ struct{} `type:"structure"`
// The name of the field. The possible values are host-header and path-pattern.
Field *string `type:"string"`
// The condition value.
//
// If the field name is host-header, you can specify a single host name (for
// example, my.example.com). A host name is case insensitive, can be up to 128
// characters in length, and can contain any of the following characters. You
// can include up to three wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * - .
//
// * * (matches 0 or more characters)
//
// * ? (matches exactly 1 character)
//
// If the field name is path-pattern, you can specify a single path pattern
// (for example, /img/*). A path pattern is case-sensitive, can be up to 128
// characters in length, and can contain any of the following characters. You
// can include up to three wildcard characters.
//
// * A-Z, a-z, 0-9
//
// * _ - . $ / ~ " ' @ : +
//
// * & (using &)
//
// * * (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()
}
// SetField sets the Field field's value.
func (s *RuleCondition) SetField(v string) *RuleCondition {
s.Field = &v
return s
}
// SetValues sets the Values field's value.
func (s *RuleCondition) SetValues(v []*string) *RuleCondition {
s.Values = v
return s
}
// 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
}
// SetPriority sets the Priority field's value.
func (s *RulePriorityPair) SetPriority(v int64) *RulePriorityPair {
s.Priority = &v
return s
}
// SetRuleArn sets the RuleArn field's value.
func (s *RulePriorityPair) SetRuleArn(v string) *RulePriorityPair {
s.RuleArn = &v
return s
}
type SetIpAddressTypeInput struct {
_ struct{} `type:"structure"`
// The IP address type. The possible values are ipv4 (for IPv4 addresses) and
// dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use
// ipv4.
//
// IpAddressType is a required field
IpAddressType *string `type:"string" required:"true" enum:"IpAddressType"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
LoadBalancerArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s SetIpAddressTypeInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetIpAddressTypeInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetIpAddressTypeInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
if s.IpAddressType == nil {
invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
}
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIpAddressType sets the IpAddressType field's value.
func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
s.IpAddressType = &v
return s
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *SetIpAddressTypeInput) SetLoadBalancerArn(v string) *SetIpAddressTypeInput {
s.LoadBalancerArn = &v
return s
}
type SetIpAddressTypeOutput struct {
_ struct{} `type:"structure"`
// The IP address type.
IpAddressType *string `type:"string" enum:"IpAddressType"`
}
// String returns the string representation
func (s SetIpAddressTypeOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SetIpAddressTypeOutput) GoString() string {
return s.String()
}
// SetIpAddressType sets the IpAddressType field's value.
func (s *SetIpAddressTypeOutput) SetIpAddressType(v string) *SetIpAddressTypeOutput {
s.IpAddressType = &v
return s
}
type SetRulePrioritiesInput struct {
_ struct{} `type:"structure"`
// The rule priorities.
//
// RulePriorities is a required field
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
}
// SetRulePriorities sets the RulePriorities field's value.
func (s *SetRulePrioritiesInput) SetRulePriorities(v []*RulePriorityPair) *SetRulePrioritiesInput {
s.RulePriorities = v
return s
}
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()
}
// SetRules sets the Rules field's value.
func (s *SetRulePrioritiesOutput) SetRules(v []*Rule) *SetRulePrioritiesOutput {
s.Rules = v
return s
}
type SetSecurityGroupsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
LoadBalancerArn *string `type:"string" required:"true"`
// The IDs of the security groups.
//
// SecurityGroups is a required field
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
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *SetSecurityGroupsInput) SetLoadBalancerArn(v string) *SetSecurityGroupsInput {
s.LoadBalancerArn = &v
return s
}
// SetSecurityGroups sets the SecurityGroups field's value.
func (s *SetSecurityGroupsInput) SetSecurityGroups(v []*string) *SetSecurityGroupsInput {
s.SecurityGroups = v
return s
}
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()
}
// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *SetSecurityGroupsOutput) SetSecurityGroupIds(v []*string) *SetSecurityGroupsOutput {
s.SecurityGroupIds = v
return s
}
type SetSubnetsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the load balancer.
//
// LoadBalancerArn is a required field
LoadBalancerArn *string `type:"string" required:"true"`
// The IDs of the public subnets. You must specify subnets from at least two
// Availability Zones. You can specify only one subnet per Availability Zone.
// You must specify either subnets or subnet mappings.
//
// You cannot specify Elastic IP addresses for your subnets.
SubnetMappings []*SubnetMapping `type:"list"`
// The IDs of the public subnets. You must specify subnets from at least two
// Availability Zones. You can specify only one subnet per Availability Zone.
// You must specify either subnets or subnet mappings.
Subnets []*string `type:"list"`
}
// 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 invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetLoadBalancerArn sets the LoadBalancerArn field's value.
func (s *SetSubnetsInput) SetLoadBalancerArn(v string) *SetSubnetsInput {
s.LoadBalancerArn = &v
return s
}
// SetSubnetMappings sets the SubnetMappings field's value.
func (s *SetSubnetsInput) SetSubnetMappings(v []*SubnetMapping) *SetSubnetsInput {
s.SubnetMappings = v
return s
}
// SetSubnets sets the Subnets field's value.
func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput {
s.Subnets = v
return s
}
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()
}
// SetAvailabilityZones sets the AvailabilityZones field's value.
func (s *SetSubnetsOutput) SetAvailabilityZones(v []*AvailabilityZone) *SetSubnetsOutput {
s.AvailabilityZones = v
return s
}
// 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()
}
// SetCiphers sets the Ciphers field's value.
func (s *SslPolicy) SetCiphers(v []*Cipher) *SslPolicy {
s.Ciphers = v
return s
}
// SetName sets the Name field's value.
func (s *SslPolicy) SetName(v string) *SslPolicy {
s.Name = &v
return s
}
// SetSslProtocols sets the SslProtocols field's value.
func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy {
s.SslProtocols = v
return s
}
// Information about a subnet mapping.
type SubnetMapping struct {
_ struct{} `type:"structure"`
// [Network Load Balancers] The allocation ID of the Elastic IP address.
AllocationId *string `type:"string"`
// The ID of the subnet.
SubnetId *string `type:"string"`
}
// String returns the string representation
func (s SubnetMapping) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s SubnetMapping) GoString() string {
return s.String()
}
// SetAllocationId sets the AllocationId field's value.
func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping {
s.AllocationId = &v
return s
}
// SetSubnetId sets the SubnetId field's value.
func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping {
s.SubnetId = &v
return s
}
// Information about a tag.
type Tag struct {
_ struct{} `type:"structure"`
// The key of the tag.
//
// Key is a required field
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
}
// SetKey sets the Key field's value.
func (s *Tag) SetKey(v string) *Tag {
s.Key = &v
return s
}
// SetValue sets the Value field's value.
func (s *Tag) SetValue(v string) *Tag {
s.Value = &v
return s
}
// 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()
}
// SetResourceArn sets the ResourceArn field's value.
func (s *TagDescription) SetResourceArn(v string) *TagDescription {
s.ResourceArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *TagDescription) SetTags(v []*Tag) *TagDescription {
s.Tags = v
return s
}
// Information about a target.
type TargetDescription struct {
_ struct{} `type:"structure"`
// An Availability Zone or all. This determines whether the target receives
// traffic from the load balancer nodes in the specified Availability Zone or
// from all enabled Availability Zones for the load balancer.
//
// This parameter is not supported if the target type of the target group is
// instance.
//
// If the target type is ip and the IP address is in a subnet of the VPC for
// the target group, the Availability Zone is automatically detected and this
// parameter is optional. If the IP address is outside the VPC, this parameter
// is required.
//
// With an Application Load Balancer, if the target type is ip and the IP address
// is outside the VPC for the target group, the only supported value is all.
//
// If the target type is lambda, this parameter is optional and the only supported
// value is all.
AvailabilityZone *string `type:"string"`
// The ID of the target. If the target type of the target group is instance,
// specify an instance ID. If the target type is ip, specify an IP address.
// If the target type is lambda, specify the ARN of the Lambda function.
//
// Id is a required field
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
}
// SetAvailabilityZone sets the AvailabilityZone field's value.
func (s *TargetDescription) SetAvailabilityZone(v string) *TargetDescription {
s.AvailabilityZone = &v
return s
}
// SetId sets the Id field's value.
func (s *TargetDescription) SetId(v string) *TargetDescription {
s.Id = &v
return s
}
// SetPort sets the Port field's value.
func (s *TargetDescription) SetPort(v int64) *TargetDescription {
s.Port = &v
return s
}
// Information about a target group.
type TargetGroup struct {
_ struct{} `type:"structure"`
// Indicates whether health checks are enabled.
HealthCheckEnabled *bool `type:"boolean"`
// 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 type of target that you must specify when registering targets with this
// target group. The possible values are instance (targets are specified by
// instance ID) or ip (targets are specified by IP address).
TargetType *string `type:"string" enum:"TargetTypeEnum"`
// 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()
}
// SetHealthCheckEnabled sets the HealthCheckEnabled field's value.
func (s *TargetGroup) SetHealthCheckEnabled(v bool) *TargetGroup {
s.HealthCheckEnabled = &v
return s
}
// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
func (s *TargetGroup) SetHealthCheckIntervalSeconds(v int64) *TargetGroup {
s.HealthCheckIntervalSeconds = &v
return s
}
// SetHealthCheckPath sets the HealthCheckPath field's value.
func (s *TargetGroup) SetHealthCheckPath(v string) *TargetGroup {
s.HealthCheckPath = &v
return s
}
// SetHealthCheckPort sets the HealthCheckPort field's value.
func (s *TargetGroup) SetHealthCheckPort(v string) *TargetGroup {
s.HealthCheckPort = &v
return s
}
// SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
func (s *TargetGroup) SetHealthCheckProtocol(v string) *TargetGroup {
s.HealthCheckProtocol = &v
return s
}
// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value.
func (s *TargetGroup) SetHealthCheckTimeoutSeconds(v int64) *TargetGroup {
s.HealthCheckTimeoutSeconds = &v
return s
}
// SetHealthyThresholdCount sets the HealthyThresholdCount field's value.
func (s *TargetGroup) SetHealthyThresholdCount(v int64) *TargetGroup {
s.HealthyThresholdCount = &v
return s
}
// SetLoadBalancerArns sets the LoadBalancerArns field's value.
func (s *TargetGroup) SetLoadBalancerArns(v []*string) *TargetGroup {
s.LoadBalancerArns = v
return s
}
// SetMatcher sets the Matcher field's value.
func (s *TargetGroup) SetMatcher(v *Matcher) *TargetGroup {
s.Matcher = v
return s
}
// SetPort sets the Port field's value.
func (s *TargetGroup) SetPort(v int64) *TargetGroup {
s.Port = &v
return s
}
// SetProtocol sets the Protocol field's value.
func (s *TargetGroup) SetProtocol(v string) *TargetGroup {
s.Protocol = &v
return s
}
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *TargetGroup) SetTargetGroupArn(v string) *TargetGroup {
s.TargetGroupArn = &v
return s
}
// SetTargetGroupName sets the TargetGroupName field's value.
func (s *TargetGroup) SetTargetGroupName(v string) *TargetGroup {
s.TargetGroupName = &v
return s
}
// SetTargetType sets the TargetType field's value.
func (s *TargetGroup) SetTargetType(v string) *TargetGroup {
s.TargetType = &v
return s
}
// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value.
func (s *TargetGroup) SetUnhealthyThresholdCount(v int64) *TargetGroup {
s.UnhealthyThresholdCount = &v
return s
}
// SetVpcId sets the VpcId field's value.
func (s *TargetGroup) SetVpcId(v string) *TargetGroup {
s.VpcId = &v
return s
}
// Information about a target group attribute.
type TargetGroupAttribute struct {
_ struct{} `type:"structure"`
// The name of the attribute.
//
// The following attribute is supported by both Application Load Balancers and
// Network Load Balancers:
//
// * deregistration_delay.timeout_seconds - The amount of time, in seconds,
// 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. If the target is a Lambda function, this attribute
// is not supported.
//
// The following attributes are supported by Application Load Balancers if the
// target is not a Lambda function:
//
// * slow_start.duration_seconds - The time period, in seconds, during which
// a newly registered target receives a linearly increasing share of the
// traffic to the target group. After this time period ends, the target receives
// its full share of traffic. The range is 30-900 seconds (15 minutes). Slow
// start mode is disabled by default.
//
// * stickiness.enabled - Indicates whether sticky sessions are enabled.
// The value is true or false. The default is false.
//
// * 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).
//
// The following attribute is supported only if the target is a Lambda function.
//
// * lambda.multi_value_headers.enabled - Indicates whether the request and
// response headers exchanged between the load balancer and the Lambda function
// include arrays of values or strings. The value is true or false. The default
// is false. If the value is false and the request contains a duplicate header
// field name or query parameter key, the load balancer uses the last value
// sent by the client.
//
// The following attribute is supported only by Network Load Balancers:
//
// * proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version
// 2 is enabled. The value is true or false. The default is false.
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()
}
// SetKey sets the Key field's value.
func (s *TargetGroupAttribute) SetKey(v string) *TargetGroupAttribute {
s.Key = &v
return s
}
// SetValue sets the Value field's value.
func (s *TargetGroupAttribute) SetValue(v string) *TargetGroupAttribute {
s.Value = &v
return s
}
// 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.IpUnusable - The target IP address is reserved for use by a 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.
//
// If the target state is unavailable, the reason code can be the following
// value:
//
// * Target.HealthCheckDisabled - Health checks are disabled for the target
// group.
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()
}
// SetDescription sets the Description field's value.
func (s *TargetHealth) SetDescription(v string) *TargetHealth {
s.Description = &v
return s
}
// SetReason sets the Reason field's value.
func (s *TargetHealth) SetReason(v string) *TargetHealth {
s.Reason = &v
return s
}
// SetState sets the State field's value.
func (s *TargetHealth) SetState(v string) *TargetHealth {
s.State = &v
return s
}
// 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()
}
// SetHealthCheckPort sets the HealthCheckPort field's value.
func (s *TargetHealthDescription) SetHealthCheckPort(v string) *TargetHealthDescription {
s.HealthCheckPort = &v
return s
}
// SetTarget sets the Target field's value.
func (s *TargetHealthDescription) SetTarget(v *TargetDescription) *TargetHealthDescription {
s.Target = v
return s
}
// SetTargetHealth sets the TargetHealth field's value.
func (s *TargetHealthDescription) SetTargetHealth(v *TargetHealth) *TargetHealthDescription {
s.TargetHealth = v
return s
}
const (
// ActionTypeEnumForward is a ActionTypeEnum enum value
ActionTypeEnumForward = "forward"
// ActionTypeEnumAuthenticateOidc is a ActionTypeEnum enum value
ActionTypeEnumAuthenticateOidc = "authenticate-oidc"
// ActionTypeEnumAuthenticateCognito is a ActionTypeEnum enum value
ActionTypeEnumAuthenticateCognito = "authenticate-cognito"
// ActionTypeEnumRedirect is a ActionTypeEnum enum value
ActionTypeEnumRedirect = "redirect"
// ActionTypeEnumFixedResponse is a ActionTypeEnum enum value
ActionTypeEnumFixedResponse = "fixed-response"
)
const (
// AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
// AuthenticateCognitoActionConditionalBehaviorEnumAllow is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
AuthenticateCognitoActionConditionalBehaviorEnumAllow = "allow"
// AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
)
const (
// AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
// AuthenticateOidcActionConditionalBehaviorEnumAllow is a AuthenticateOidcActionConditionalBehaviorEnum enum value
AuthenticateOidcActionConditionalBehaviorEnumAllow = "allow"
// AuthenticateOidcActionConditionalBehaviorEnumAuthenticate is a AuthenticateOidcActionConditionalBehaviorEnum enum value
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
)
const (
// IpAddressTypeIpv4 is a IpAddressType enum value
IpAddressTypeIpv4 = "ipv4"
// IpAddressTypeDualstack is a IpAddressType enum value
IpAddressTypeDualstack = "dualstack"
)
const (
// LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
// LoadBalancerSchemeEnumInternal is a LoadBalancerSchemeEnum enum value
LoadBalancerSchemeEnumInternal = "internal"
)
const (
// LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
LoadBalancerStateEnumActive = "active"
// LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value
LoadBalancerStateEnumProvisioning = "provisioning"
// LoadBalancerStateEnumActiveImpaired is a LoadBalancerStateEnum enum value
LoadBalancerStateEnumActiveImpaired = "active_impaired"
// LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value
LoadBalancerStateEnumFailed = "failed"
)
const (
// LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
LoadBalancerTypeEnumApplication = "application"
// LoadBalancerTypeEnumNetwork is a LoadBalancerTypeEnum enum value
LoadBalancerTypeEnumNetwork = "network"
)
const (
// ProtocolEnumHttp is a ProtocolEnum enum value
ProtocolEnumHttp = "HTTP"
// ProtocolEnumHttps is a ProtocolEnum enum value
ProtocolEnumHttps = "HTTPS"
// ProtocolEnumTcp is a ProtocolEnum enum value
ProtocolEnumTcp = "TCP"
// ProtocolEnumTls is a ProtocolEnum enum value
ProtocolEnumTls = "TLS"
)
const (
// RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
// RedirectActionStatusCodeEnumHttp302 is a RedirectActionStatusCodeEnum enum value
RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
)
const (
// TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
// TargetHealthReasonEnumElbInitialHealthChecking is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking"
// TargetHealthReasonEnumTargetResponseCodeMismatch is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch"
// TargetHealthReasonEnumTargetTimeout is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetTimeout = "Target.Timeout"
// TargetHealthReasonEnumTargetFailedHealthChecks is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks"
// TargetHealthReasonEnumTargetNotRegistered is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered"
// TargetHealthReasonEnumTargetNotInUse is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse"
// TargetHealthReasonEnumTargetDeregistrationInProgress is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress"
// TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState"
// TargetHealthReasonEnumTargetIpUnusable is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetIpUnusable = "Target.IpUnusable"
// TargetHealthReasonEnumTargetHealthCheckDisabled is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumTargetHealthCheckDisabled = "Target.HealthCheckDisabled"
// TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value
TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
)
const (
// TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
TargetHealthStateEnumInitial = "initial"
// TargetHealthStateEnumHealthy is a TargetHealthStateEnum enum value
TargetHealthStateEnumHealthy = "healthy"
// TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value
TargetHealthStateEnumUnhealthy = "unhealthy"
// TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value
TargetHealthStateEnumUnused = "unused"
// TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value
TargetHealthStateEnumDraining = "draining"
// TargetHealthStateEnumUnavailable is a TargetHealthStateEnum enum value
TargetHealthStateEnumUnavailable = "unavailable"
)
const (
// TargetTypeEnumInstance is a TargetTypeEnum enum value
TargetTypeEnumInstance = "instance"
// TargetTypeEnumIp is a TargetTypeEnum enum value
TargetTypeEnumIp = "ip"
// TargetTypeEnumLambda is a TargetTypeEnum enum value
TargetTypeEnumLambda = "lambda"
)