1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package elasticloadbalancingv2
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Modifies the health checks used when evaluating the health state of the targets
// in the specified target group. If the protocol of the target group is TCP, TLS,
// UDP, or TCP_UDP, you can't modify the health check protocol, interval, timeout,
// or success codes.
func (c *Client) ModifyTargetGroup(ctx context.Context, params *ModifyTargetGroupInput, optFns ...func(*Options)) (*ModifyTargetGroupOutput, error) {
if params == nil {
params = &ModifyTargetGroupInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ModifyTargetGroup", params, optFns, c.addOperationModifyTargetGroupMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ModifyTargetGroupOutput)
out.ResultMetadata = metadata
return out, nil
}
type ModifyTargetGroupInput struct {
// The Amazon Resource Name (ARN) of the target group.
//
// This member is required.
TargetGroupArn *string
// Indicates whether health checks are enabled.
HealthCheckEnabled *bool
// The approximate amount of time, in seconds, between health checks of an
// individual target. For TCP health checks, the supported values are 10 or 30
// seconds.
HealthCheckIntervalSeconds *int32
// [HTTP/HTTPS health checks] The destination for health checks on the targets.
// [HTTP1 or HTTP2 protocol version] The ping path. The default is /. [GRPC
// protocol version] The path of a custom health check method with the format
// /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.
HealthCheckPath *string
// The port the load balancer uses when performing health checks on targets.
HealthCheckPort *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
// and Gateway Load Balancers, the default is TCP. The TCP protocol is not
// supported for health checks if the protocol of the target group is HTTP or
// HTTPS. It is supported for health checks only if the protocol of the target
// group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols
// are not supported for health checks.
HealthCheckProtocol types.ProtocolEnum
// [HTTP/HTTPS health checks] The amount of time, in seconds, during which no
// response means a failed health check.
HealthCheckTimeoutSeconds *int32
// The number of consecutive health checks successes required before considering an
// unhealthy target healthy.
HealthyThresholdCount *int32
// [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a
// successful response from a target.
Matcher *types.Matcher
// The number of consecutive health check failures required before considering the
// target unhealthy. For target groups with a protocol of TCP or TLS, this value
// must be the same as the healthy threshold count.
UnhealthyThresholdCount *int32
noSmithyDocumentSerde
}
type ModifyTargetGroupOutput struct {
// Information about the modified target group.
TargetGroups []types.TargetGroup
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationModifyTargetGroupMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsquery_serializeOpModifyTargetGroup{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsquery_deserializeOpModifyTargetGroup{}, middleware.After)
if err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = addHTTPSignerV4Middleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpModifyTargetGroupValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opModifyTargetGroup(options.Region), middleware.Before); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opModifyTargetGroup(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "elasticloadbalancing",
OperationName: "ModifyTargetGroup",
}
}
|