1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package elbv2 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/query" 14) 15 16const opAddListenerCertificates = "AddListenerCertificates" 17 18// AddListenerCertificatesRequest generates a "aws/request.Request" representing the 19// client's request for the AddListenerCertificates operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AddListenerCertificates for more information on using the AddListenerCertificates 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AddListenerCertificatesRequest method. 34// req, resp := client.AddListenerCertificatesRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates 42func (c *ELBV2) AddListenerCertificatesRequest(input *AddListenerCertificatesInput) (req *request.Request, output *AddListenerCertificatesOutput) { 43 op := &request.Operation{ 44 Name: opAddListenerCertificates, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AddListenerCertificatesInput{} 51 } 52 53 output = &AddListenerCertificatesOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AddListenerCertificates API operation for Elastic Load Balancing. 59// 60// Adds the specified SSL server certificate to the certificate list for the 61// specified HTTPS or TLS listener. 62// 63// If the certificate in already in the certificate list, the call is successful 64// but the certificate is not added again. 65// 66// For more information, see HTTPS listeners (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) 67// in the Application Load Balancers Guide or TLS listeners (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) 68// in the Network Load Balancers Guide. 69// 70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 71// with awserr.Error's Code and Message methods to get detailed information about 72// the error. 73// 74// See the AWS API reference guide for Elastic Load Balancing's 75// API operation AddListenerCertificates for usage and error information. 76// 77// Returned Error Codes: 78// * ErrCodeListenerNotFoundException "ListenerNotFound" 79// The specified listener does not exist. 80// 81// * ErrCodeTooManyCertificatesException "TooManyCertificates" 82// You've reached the limit on the number of certificates per load balancer. 83// 84// * ErrCodeCertificateNotFoundException "CertificateNotFound" 85// The specified certificate does not exist. 86// 87// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificates 88func (c *ELBV2) AddListenerCertificates(input *AddListenerCertificatesInput) (*AddListenerCertificatesOutput, error) { 89 req, out := c.AddListenerCertificatesRequest(input) 90 return out, req.Send() 91} 92 93// AddListenerCertificatesWithContext is the same as AddListenerCertificates with the addition of 94// the ability to pass a context and additional request options. 95// 96// See AddListenerCertificates for details on how to use this API operation. 97// 98// The context must be non-nil and will be used for request cancellation. If 99// the context is nil a panic will occur. In the future the SDK may create 100// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 101// for more information on using Contexts. 102func (c *ELBV2) AddListenerCertificatesWithContext(ctx aws.Context, input *AddListenerCertificatesInput, opts ...request.Option) (*AddListenerCertificatesOutput, error) { 103 req, out := c.AddListenerCertificatesRequest(input) 104 req.SetContext(ctx) 105 req.ApplyOptions(opts...) 106 return out, req.Send() 107} 108 109const opAddTags = "AddTags" 110 111// AddTagsRequest generates a "aws/request.Request" representing the 112// client's request for the AddTags operation. The "output" return 113// value will be populated with the request's response once the request completes 114// successfully. 115// 116// Use "Send" method on the returned Request to send the API call to the service. 117// the "output" return value is not valid until after Send returns without error. 118// 119// See AddTags for more information on using the AddTags 120// API call, and error handling. 121// 122// This method is useful when you want to inject custom logic or configuration 123// into the SDK's request lifecycle. Such as custom headers, or retry logic. 124// 125// 126// // Example sending a request using the AddTagsRequest method. 127// req, resp := client.AddTagsRequest(params) 128// 129// err := req.Send() 130// if err == nil { // resp is now filled 131// fmt.Println(resp) 132// } 133// 134// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags 135func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { 136 op := &request.Operation{ 137 Name: opAddTags, 138 HTTPMethod: "POST", 139 HTTPPath: "/", 140 } 141 142 if input == nil { 143 input = &AddTagsInput{} 144 } 145 146 output = &AddTagsOutput{} 147 req = c.newRequest(op, input, output) 148 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 149 return 150} 151 152// AddTags API operation for Elastic Load Balancing. 153// 154// Adds the specified tags to the specified Elastic Load Balancing resource. 155// You can tag your Application Load Balancers, Network Load Balancers, Gateway 156// Load Balancers, target groups, listeners, and rules. 157// 158// Each tag consists of a key and an optional value. If a resource already has 159// a tag with the same key, AddTags updates its value. 160// 161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 162// with awserr.Error's Code and Message methods to get detailed information about 163// the error. 164// 165// See the AWS API reference guide for Elastic Load Balancing's 166// API operation AddTags for usage and error information. 167// 168// Returned Error Codes: 169// * ErrCodeDuplicateTagKeysException "DuplicateTagKeys" 170// A tag key was specified more than once. 171// 172// * ErrCodeTooManyTagsException "TooManyTags" 173// You've reached the limit on the number of tags per load balancer. 174// 175// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 176// The specified load balancer does not exist. 177// 178// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 179// The specified target group does not exist. 180// 181// * ErrCodeListenerNotFoundException "ListenerNotFound" 182// The specified listener does not exist. 183// 184// * ErrCodeRuleNotFoundException "RuleNotFound" 185// The specified rule does not exist. 186// 187// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTags 188func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { 189 req, out := c.AddTagsRequest(input) 190 return out, req.Send() 191} 192 193// AddTagsWithContext is the same as AddTags with the addition of 194// the ability to pass a context and additional request options. 195// 196// See AddTags for details on how to use this API operation. 197// 198// The context must be non-nil and will be used for request cancellation. If 199// the context is nil a panic will occur. In the future the SDK may create 200// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 201// for more information on using Contexts. 202func (c *ELBV2) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) { 203 req, out := c.AddTagsRequest(input) 204 req.SetContext(ctx) 205 req.ApplyOptions(opts...) 206 return out, req.Send() 207} 208 209const opCreateListener = "CreateListener" 210 211// CreateListenerRequest generates a "aws/request.Request" representing the 212// client's request for the CreateListener operation. The "output" return 213// value will be populated with the request's response once the request completes 214// successfully. 215// 216// Use "Send" method on the returned Request to send the API call to the service. 217// the "output" return value is not valid until after Send returns without error. 218// 219// See CreateListener for more information on using the CreateListener 220// API call, and error handling. 221// 222// This method is useful when you want to inject custom logic or configuration 223// into the SDK's request lifecycle. Such as custom headers, or retry logic. 224// 225// 226// // Example sending a request using the CreateListenerRequest method. 227// req, resp := client.CreateListenerRequest(params) 228// 229// err := req.Send() 230// if err == nil { // resp is now filled 231// fmt.Println(resp) 232// } 233// 234// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener 235func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) { 236 op := &request.Operation{ 237 Name: opCreateListener, 238 HTTPMethod: "POST", 239 HTTPPath: "/", 240 } 241 242 if input == nil { 243 input = &CreateListenerInput{} 244 } 245 246 output = &CreateListenerOutput{} 247 req = c.newRequest(op, input, output) 248 return 249} 250 251// CreateListener API operation for Elastic Load Balancing. 252// 253// Creates a listener for the specified Application Load Balancer, Network Load 254// Balancer, or Gateway Load Balancer. 255// 256// For more information, see the following: 257// 258// * Listeners for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) 259// 260// * Listeners for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) 261// 262// * Listeners for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-listeners.html) 263// 264// This operation is idempotent, which means that it completes at most one time. 265// If you attempt to create multiple listeners with the same settings, each 266// call succeeds. 267// 268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 269// with awserr.Error's Code and Message methods to get detailed information about 270// the error. 271// 272// See the AWS API reference guide for Elastic Load Balancing's 273// API operation CreateListener for usage and error information. 274// 275// Returned Error Codes: 276// * ErrCodeDuplicateListenerException "DuplicateListener" 277// A listener with the specified port already exists. 278// 279// * ErrCodeTooManyListenersException "TooManyListeners" 280// You've reached the limit on the number of listeners per load balancer. 281// 282// * ErrCodeTooManyCertificatesException "TooManyCertificates" 283// You've reached the limit on the number of certificates per load balancer. 284// 285// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 286// The specified load balancer does not exist. 287// 288// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 289// The specified target group does not exist. 290// 291// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" 292// You've reached the limit on the number of load balancers per target group. 293// 294// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 295// The requested configuration is not valid. 296// 297// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" 298// The specified configuration is not valid with this protocol. 299// 300// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound" 301// The specified SSL policy does not exist. 302// 303// * ErrCodeCertificateNotFoundException "CertificateNotFound" 304// The specified certificate does not exist. 305// 306// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 307// The specified protocol is not supported. 308// 309// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" 310// You've reached the limit on the number of times a target can be registered 311// with a load balancer. 312// 313// * ErrCodeTooManyTargetsException "TooManyTargets" 314// You've reached the limit on the number of targets. 315// 316// * ErrCodeTooManyActionsException "TooManyActions" 317// You've reached the limit on the number of actions per rule. 318// 319// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction" 320// The requested action is not valid. 321// 322// * ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException "TooManyUniqueTargetGroupsPerLoadBalancer" 323// You've reached the limit on the number of unique target groups per load balancer 324// across all listeners. If a target group is used by multiple actions for a 325// load balancer, it is counted as only one use. 326// 327// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" 328// The specified ALPN policy is not supported. 329// 330// * ErrCodeTooManyTagsException "TooManyTags" 331// You've reached the limit on the number of tags per load balancer. 332// 333// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener 334func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { 335 req, out := c.CreateListenerRequest(input) 336 return out, req.Send() 337} 338 339// CreateListenerWithContext is the same as CreateListener with the addition of 340// the ability to pass a context and additional request options. 341// 342// See CreateListener for details on how to use this API operation. 343// 344// The context must be non-nil and will be used for request cancellation. If 345// the context is nil a panic will occur. In the future the SDK may create 346// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 347// for more information on using Contexts. 348func (c *ELBV2) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) { 349 req, out := c.CreateListenerRequest(input) 350 req.SetContext(ctx) 351 req.ApplyOptions(opts...) 352 return out, req.Send() 353} 354 355const opCreateLoadBalancer = "CreateLoadBalancer" 356 357// CreateLoadBalancerRequest generates a "aws/request.Request" representing the 358// client's request for the CreateLoadBalancer operation. The "output" return 359// value will be populated with the request's response once the request completes 360// successfully. 361// 362// Use "Send" method on the returned Request to send the API call to the service. 363// the "output" return value is not valid until after Send returns without error. 364// 365// See CreateLoadBalancer for more information on using the CreateLoadBalancer 366// API call, and error handling. 367// 368// This method is useful when you want to inject custom logic or configuration 369// into the SDK's request lifecycle. Such as custom headers, or retry logic. 370// 371// 372// // Example sending a request using the CreateLoadBalancerRequest method. 373// req, resp := client.CreateLoadBalancerRequest(params) 374// 375// err := req.Send() 376// if err == nil { // resp is now filled 377// fmt.Println(resp) 378// } 379// 380// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer 381func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) { 382 op := &request.Operation{ 383 Name: opCreateLoadBalancer, 384 HTTPMethod: "POST", 385 HTTPPath: "/", 386 } 387 388 if input == nil { 389 input = &CreateLoadBalancerInput{} 390 } 391 392 output = &CreateLoadBalancerOutput{} 393 req = c.newRequest(op, input, output) 394 return 395} 396 397// CreateLoadBalancer API operation for Elastic Load Balancing. 398// 399// Creates an Application Load Balancer, Network Load Balancer, or Gateway Load 400// Balancer. 401// 402// For more information, see the following: 403// 404// * Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) 405// 406// * Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) 407// 408// * Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html) 409// 410// This operation is idempotent, which means that it completes at most one time. 411// If you attempt to create multiple load balancers with the same settings, 412// each call succeeds. 413// 414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 415// with awserr.Error's Code and Message methods to get detailed information about 416// the error. 417// 418// See the AWS API reference guide for Elastic Load Balancing's 419// API operation CreateLoadBalancer for usage and error information. 420// 421// Returned Error Codes: 422// * ErrCodeDuplicateLoadBalancerNameException "DuplicateLoadBalancerName" 423// A load balancer with the specified name already exists. 424// 425// * ErrCodeTooManyLoadBalancersException "TooManyLoadBalancers" 426// You've reached the limit on the number of load balancers for your Amazon 427// Web Services account. 428// 429// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 430// The requested configuration is not valid. 431// 432// * ErrCodeSubnetNotFoundException "SubnetNotFound" 433// The specified subnet does not exist. 434// 435// * ErrCodeInvalidSubnetException "InvalidSubnet" 436// The specified subnet is out of available addresses. 437// 438// * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup" 439// The specified security group does not exist. 440// 441// * ErrCodeInvalidSchemeException "InvalidScheme" 442// The requested scheme is not valid. 443// 444// * ErrCodeTooManyTagsException "TooManyTags" 445// You've reached the limit on the number of tags per load balancer. 446// 447// * ErrCodeDuplicateTagKeysException "DuplicateTagKeys" 448// A tag key was specified more than once. 449// 450// * ErrCodeResourceInUseException "ResourceInUse" 451// A specified resource is in use. 452// 453// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound" 454// The specified allocation ID does not exist. 455// 456// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported" 457// The specified Availability Zone is not supported. 458// 459// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 460// This operation is not allowed. 461// 462// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer 463func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { 464 req, out := c.CreateLoadBalancerRequest(input) 465 return out, req.Send() 466} 467 468// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of 469// the ability to pass a context and additional request options. 470// 471// See CreateLoadBalancer for details on how to use this API operation. 472// 473// The context must be non-nil and will be used for request cancellation. If 474// the context is nil a panic will occur. In the future the SDK may create 475// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 476// for more information on using Contexts. 477func (c *ELBV2) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) { 478 req, out := c.CreateLoadBalancerRequest(input) 479 req.SetContext(ctx) 480 req.ApplyOptions(opts...) 481 return out, req.Send() 482} 483 484const opCreateRule = "CreateRule" 485 486// CreateRuleRequest generates a "aws/request.Request" representing the 487// client's request for the CreateRule operation. The "output" return 488// value will be populated with the request's response once the request completes 489// successfully. 490// 491// Use "Send" method on the returned Request to send the API call to the service. 492// the "output" return value is not valid until after Send returns without error. 493// 494// See CreateRule for more information on using the CreateRule 495// API call, and error handling. 496// 497// This method is useful when you want to inject custom logic or configuration 498// into the SDK's request lifecycle. Such as custom headers, or retry logic. 499// 500// 501// // Example sending a request using the CreateRuleRequest method. 502// req, resp := client.CreateRuleRequest(params) 503// 504// err := req.Send() 505// if err == nil { // resp is now filled 506// fmt.Println(resp) 507// } 508// 509// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule 510func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) { 511 op := &request.Operation{ 512 Name: opCreateRule, 513 HTTPMethod: "POST", 514 HTTPPath: "/", 515 } 516 517 if input == nil { 518 input = &CreateRuleInput{} 519 } 520 521 output = &CreateRuleOutput{} 522 req = c.newRequest(op, input, output) 523 return 524} 525 526// CreateRule API operation for Elastic Load Balancing. 527// 528// Creates a rule for the specified listener. The listener must be associated 529// with an Application Load Balancer. 530// 531// Each rule consists of a priority, one or more actions, and one or more conditions. 532// Rules are evaluated in priority order, from the lowest value to the highest 533// value. When the conditions for a rule are met, its actions are performed. 534// If the conditions for no rules are met, the actions for the default rule 535// are performed. For more information, see Listener rules (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) 536// in the Application Load Balancers Guide. 537// 538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 539// with awserr.Error's Code and Message methods to get detailed information about 540// the error. 541// 542// See the AWS API reference guide for Elastic Load Balancing's 543// API operation CreateRule for usage and error information. 544// 545// Returned Error Codes: 546// * ErrCodePriorityInUseException "PriorityInUse" 547// The specified priority is in use. 548// 549// * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups" 550// You've reached the limit on the number of target groups for your Amazon Web 551// Services account. 552// 553// * ErrCodeTooManyRulesException "TooManyRules" 554// You've reached the limit on the number of rules per load balancer. 555// 556// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" 557// You've reached the limit on the number of load balancers per target group. 558// 559// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" 560// The specified configuration is not valid with this protocol. 561// 562// * ErrCodeListenerNotFoundException "ListenerNotFound" 563// The specified listener does not exist. 564// 565// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 566// The specified target group does not exist. 567// 568// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 569// The requested configuration is not valid. 570// 571// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" 572// You've reached the limit on the number of times a target can be registered 573// with a load balancer. 574// 575// * ErrCodeTooManyTargetsException "TooManyTargets" 576// You've reached the limit on the number of targets. 577// 578// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 579// The specified protocol is not supported. 580// 581// * ErrCodeTooManyActionsException "TooManyActions" 582// You've reached the limit on the number of actions per rule. 583// 584// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction" 585// The requested action is not valid. 586// 587// * ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException "TooManyUniqueTargetGroupsPerLoadBalancer" 588// You've reached the limit on the number of unique target groups per load balancer 589// across all listeners. If a target group is used by multiple actions for a 590// load balancer, it is counted as only one use. 591// 592// * ErrCodeTooManyTagsException "TooManyTags" 593// You've reached the limit on the number of tags per load balancer. 594// 595// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule 596func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { 597 req, out := c.CreateRuleRequest(input) 598 return out, req.Send() 599} 600 601// CreateRuleWithContext is the same as CreateRule with the addition of 602// the ability to pass a context and additional request options. 603// 604// See CreateRule for details on how to use this API operation. 605// 606// The context must be non-nil and will be used for request cancellation. If 607// the context is nil a panic will occur. In the future the SDK may create 608// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 609// for more information on using Contexts. 610func (c *ELBV2) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) { 611 req, out := c.CreateRuleRequest(input) 612 req.SetContext(ctx) 613 req.ApplyOptions(opts...) 614 return out, req.Send() 615} 616 617const opCreateTargetGroup = "CreateTargetGroup" 618 619// CreateTargetGroupRequest generates a "aws/request.Request" representing the 620// client's request for the CreateTargetGroup operation. The "output" return 621// value will be populated with the request's response once the request completes 622// successfully. 623// 624// Use "Send" method on the returned Request to send the API call to the service. 625// the "output" return value is not valid until after Send returns without error. 626// 627// See CreateTargetGroup for more information on using the CreateTargetGroup 628// API call, and error handling. 629// 630// This method is useful when you want to inject custom logic or configuration 631// into the SDK's request lifecycle. Such as custom headers, or retry logic. 632// 633// 634// // Example sending a request using the CreateTargetGroupRequest method. 635// req, resp := client.CreateTargetGroupRequest(params) 636// 637// err := req.Send() 638// if err == nil { // resp is now filled 639// fmt.Println(resp) 640// } 641// 642// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup 643func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) { 644 op := &request.Operation{ 645 Name: opCreateTargetGroup, 646 HTTPMethod: "POST", 647 HTTPPath: "/", 648 } 649 650 if input == nil { 651 input = &CreateTargetGroupInput{} 652 } 653 654 output = &CreateTargetGroupOutput{} 655 req = c.newRequest(op, input, output) 656 return 657} 658 659// CreateTargetGroup API operation for Elastic Load Balancing. 660// 661// Creates a target group. 662// 663// For more information, see the following: 664// 665// * Target groups for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) 666// 667// * Target groups for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) 668// 669// * Target groups for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html) 670// 671// This operation is idempotent, which means that it completes at most one time. 672// If you attempt to create multiple target groups with the same settings, each 673// call succeeds. 674// 675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 676// with awserr.Error's Code and Message methods to get detailed information about 677// the error. 678// 679// See the AWS API reference guide for Elastic Load Balancing's 680// API operation CreateTargetGroup for usage and error information. 681// 682// Returned Error Codes: 683// * ErrCodeDuplicateTargetGroupNameException "DuplicateTargetGroupName" 684// A target group with the specified name already exists. 685// 686// * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups" 687// You've reached the limit on the number of target groups for your Amazon Web 688// Services account. 689// 690// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 691// The requested configuration is not valid. 692// 693// * ErrCodeTooManyTagsException "TooManyTags" 694// You've reached the limit on the number of tags per load balancer. 695// 696// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup 697func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) { 698 req, out := c.CreateTargetGroupRequest(input) 699 return out, req.Send() 700} 701 702// CreateTargetGroupWithContext is the same as CreateTargetGroup with the addition of 703// the ability to pass a context and additional request options. 704// 705// See CreateTargetGroup for details on how to use this API operation. 706// 707// The context must be non-nil and will be used for request cancellation. If 708// the context is nil a panic will occur. In the future the SDK may create 709// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 710// for more information on using Contexts. 711func (c *ELBV2) CreateTargetGroupWithContext(ctx aws.Context, input *CreateTargetGroupInput, opts ...request.Option) (*CreateTargetGroupOutput, error) { 712 req, out := c.CreateTargetGroupRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716} 717 718const opDeleteListener = "DeleteListener" 719 720// DeleteListenerRequest generates a "aws/request.Request" representing the 721// client's request for the DeleteListener operation. The "output" return 722// value will be populated with the request's response once the request completes 723// successfully. 724// 725// Use "Send" method on the returned Request to send the API call to the service. 726// the "output" return value is not valid until after Send returns without error. 727// 728// See DeleteListener for more information on using the DeleteListener 729// API call, and error handling. 730// 731// This method is useful when you want to inject custom logic or configuration 732// into the SDK's request lifecycle. Such as custom headers, or retry logic. 733// 734// 735// // Example sending a request using the DeleteListenerRequest method. 736// req, resp := client.DeleteListenerRequest(params) 737// 738// err := req.Send() 739// if err == nil { // resp is now filled 740// fmt.Println(resp) 741// } 742// 743// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener 744func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) { 745 op := &request.Operation{ 746 Name: opDeleteListener, 747 HTTPMethod: "POST", 748 HTTPPath: "/", 749 } 750 751 if input == nil { 752 input = &DeleteListenerInput{} 753 } 754 755 output = &DeleteListenerOutput{} 756 req = c.newRequest(op, input, output) 757 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 758 return 759} 760 761// DeleteListener API operation for Elastic Load Balancing. 762// 763// Deletes the specified listener. 764// 765// Alternatively, your listener is deleted when you delete the load balancer 766// to which it is attached. 767// 768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 769// with awserr.Error's Code and Message methods to get detailed information about 770// the error. 771// 772// See the AWS API reference guide for Elastic Load Balancing's 773// API operation DeleteListener for usage and error information. 774// 775// Returned Error Codes: 776// * ErrCodeListenerNotFoundException "ListenerNotFound" 777// The specified listener does not exist. 778// 779// * ErrCodeResourceInUseException "ResourceInUse" 780// A specified resource is in use. 781// 782// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteListener 783func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) { 784 req, out := c.DeleteListenerRequest(input) 785 return out, req.Send() 786} 787 788// DeleteListenerWithContext is the same as DeleteListener with the addition of 789// the ability to pass a context and additional request options. 790// 791// See DeleteListener for details on how to use this API operation. 792// 793// The context must be non-nil and will be used for request cancellation. If 794// the context is nil a panic will occur. In the future the SDK may create 795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 796// for more information on using Contexts. 797func (c *ELBV2) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) { 798 req, out := c.DeleteListenerRequest(input) 799 req.SetContext(ctx) 800 req.ApplyOptions(opts...) 801 return out, req.Send() 802} 803 804const opDeleteLoadBalancer = "DeleteLoadBalancer" 805 806// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the 807// client's request for the DeleteLoadBalancer operation. The "output" return 808// value will be populated with the request's response once the request completes 809// successfully. 810// 811// Use "Send" method on the returned Request to send the API call to the service. 812// the "output" return value is not valid until after Send returns without error. 813// 814// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer 815// API call, and error handling. 816// 817// This method is useful when you want to inject custom logic or configuration 818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 819// 820// 821// // Example sending a request using the DeleteLoadBalancerRequest method. 822// req, resp := client.DeleteLoadBalancerRequest(params) 823// 824// err := req.Send() 825// if err == nil { // resp is now filled 826// fmt.Println(resp) 827// } 828// 829// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer 830func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) { 831 op := &request.Operation{ 832 Name: opDeleteLoadBalancer, 833 HTTPMethod: "POST", 834 HTTPPath: "/", 835 } 836 837 if input == nil { 838 input = &DeleteLoadBalancerInput{} 839 } 840 841 output = &DeleteLoadBalancerOutput{} 842 req = c.newRequest(op, input, output) 843 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 844 return 845} 846 847// DeleteLoadBalancer API operation for Elastic Load Balancing. 848// 849// Deletes the specified Application Load Balancer, Network Load Balancer, or 850// Gateway Load Balancer. Deleting a load balancer also deletes its listeners. 851// 852// You can't delete a load balancer if deletion protection is enabled. If the 853// load balancer does not exist or has already been deleted, the call succeeds. 854// 855// Deleting a load balancer does not affect its registered targets. For example, 856// your EC2 instances continue to run and are still registered to their target 857// groups. If you no longer need these EC2 instances, you can stop or terminate 858// them. 859// 860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 861// with awserr.Error's Code and Message methods to get detailed information about 862// the error. 863// 864// See the AWS API reference guide for Elastic Load Balancing's 865// API operation DeleteLoadBalancer for usage and error information. 866// 867// Returned Error Codes: 868// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 869// The specified load balancer does not exist. 870// 871// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 872// This operation is not allowed. 873// 874// * ErrCodeResourceInUseException "ResourceInUse" 875// A specified resource is in use. 876// 877// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteLoadBalancer 878func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) { 879 req, out := c.DeleteLoadBalancerRequest(input) 880 return out, req.Send() 881} 882 883// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of 884// the ability to pass a context and additional request options. 885// 886// See DeleteLoadBalancer for details on how to use this API operation. 887// 888// The context must be non-nil and will be used for request cancellation. If 889// the context is nil a panic will occur. In the future the SDK may create 890// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 891// for more information on using Contexts. 892func (c *ELBV2) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) { 893 req, out := c.DeleteLoadBalancerRequest(input) 894 req.SetContext(ctx) 895 req.ApplyOptions(opts...) 896 return out, req.Send() 897} 898 899const opDeleteRule = "DeleteRule" 900 901// DeleteRuleRequest generates a "aws/request.Request" representing the 902// client's request for the DeleteRule operation. The "output" return 903// value will be populated with the request's response once the request completes 904// successfully. 905// 906// Use "Send" method on the returned Request to send the API call to the service. 907// the "output" return value is not valid until after Send returns without error. 908// 909// See DeleteRule for more information on using the DeleteRule 910// API call, and error handling. 911// 912// This method is useful when you want to inject custom logic or configuration 913// into the SDK's request lifecycle. Such as custom headers, or retry logic. 914// 915// 916// // Example sending a request using the DeleteRuleRequest method. 917// req, resp := client.DeleteRuleRequest(params) 918// 919// err := req.Send() 920// if err == nil { // resp is now filled 921// fmt.Println(resp) 922// } 923// 924// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule 925func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) { 926 op := &request.Operation{ 927 Name: opDeleteRule, 928 HTTPMethod: "POST", 929 HTTPPath: "/", 930 } 931 932 if input == nil { 933 input = &DeleteRuleInput{} 934 } 935 936 output = &DeleteRuleOutput{} 937 req = c.newRequest(op, input, output) 938 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 939 return 940} 941 942// DeleteRule API operation for Elastic Load Balancing. 943// 944// Deletes the specified rule. 945// 946// You can't delete the default rule. 947// 948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 949// with awserr.Error's Code and Message methods to get detailed information about 950// the error. 951// 952// See the AWS API reference guide for Elastic Load Balancing's 953// API operation DeleteRule for usage and error information. 954// 955// Returned Error Codes: 956// * ErrCodeRuleNotFoundException "RuleNotFound" 957// The specified rule does not exist. 958// 959// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 960// This operation is not allowed. 961// 962// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteRule 963func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { 964 req, out := c.DeleteRuleRequest(input) 965 return out, req.Send() 966} 967 968// DeleteRuleWithContext is the same as DeleteRule with the addition of 969// the ability to pass a context and additional request options. 970// 971// See DeleteRule for details on how to use this API operation. 972// 973// The context must be non-nil and will be used for request cancellation. If 974// the context is nil a panic will occur. In the future the SDK may create 975// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 976// for more information on using Contexts. 977func (c *ELBV2) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) { 978 req, out := c.DeleteRuleRequest(input) 979 req.SetContext(ctx) 980 req.ApplyOptions(opts...) 981 return out, req.Send() 982} 983 984const opDeleteTargetGroup = "DeleteTargetGroup" 985 986// DeleteTargetGroupRequest generates a "aws/request.Request" representing the 987// client's request for the DeleteTargetGroup operation. The "output" return 988// value will be populated with the request's response once the request completes 989// successfully. 990// 991// Use "Send" method on the returned Request to send the API call to the service. 992// the "output" return value is not valid until after Send returns without error. 993// 994// See DeleteTargetGroup for more information on using the DeleteTargetGroup 995// API call, and error handling. 996// 997// This method is useful when you want to inject custom logic or configuration 998// into the SDK's request lifecycle. Such as custom headers, or retry logic. 999// 1000// 1001// // Example sending a request using the DeleteTargetGroupRequest method. 1002// req, resp := client.DeleteTargetGroupRequest(params) 1003// 1004// err := req.Send() 1005// if err == nil { // resp is now filled 1006// fmt.Println(resp) 1007// } 1008// 1009// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup 1010func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) { 1011 op := &request.Operation{ 1012 Name: opDeleteTargetGroup, 1013 HTTPMethod: "POST", 1014 HTTPPath: "/", 1015 } 1016 1017 if input == nil { 1018 input = &DeleteTargetGroupInput{} 1019 } 1020 1021 output = &DeleteTargetGroupOutput{} 1022 req = c.newRequest(op, input, output) 1023 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1024 return 1025} 1026 1027// DeleteTargetGroup API operation for Elastic Load Balancing. 1028// 1029// Deletes the specified target group. 1030// 1031// You can delete a target group if it is not referenced by any actions. Deleting 1032// a target group also deletes any associated health checks. Deleting a target 1033// group does not affect its registered targets. For example, any EC2 instances 1034// continue to run until you stop or terminate them. 1035// 1036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1037// with awserr.Error's Code and Message methods to get detailed information about 1038// the error. 1039// 1040// See the AWS API reference guide for Elastic Load Balancing's 1041// API operation DeleteTargetGroup for usage and error information. 1042// 1043// Returned Error Codes: 1044// * ErrCodeResourceInUseException "ResourceInUse" 1045// A specified resource is in use. 1046// 1047// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeleteTargetGroup 1048func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) { 1049 req, out := c.DeleteTargetGroupRequest(input) 1050 return out, req.Send() 1051} 1052 1053// DeleteTargetGroupWithContext is the same as DeleteTargetGroup with the addition of 1054// the ability to pass a context and additional request options. 1055// 1056// See DeleteTargetGroup for details on how to use this API operation. 1057// 1058// The context must be non-nil and will be used for request cancellation. If 1059// the context is nil a panic will occur. In the future the SDK may create 1060// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1061// for more information on using Contexts. 1062func (c *ELBV2) DeleteTargetGroupWithContext(ctx aws.Context, input *DeleteTargetGroupInput, opts ...request.Option) (*DeleteTargetGroupOutput, error) { 1063 req, out := c.DeleteTargetGroupRequest(input) 1064 req.SetContext(ctx) 1065 req.ApplyOptions(opts...) 1066 return out, req.Send() 1067} 1068 1069const opDeregisterTargets = "DeregisterTargets" 1070 1071// DeregisterTargetsRequest generates a "aws/request.Request" representing the 1072// client's request for the DeregisterTargets operation. The "output" return 1073// value will be populated with the request's response once the request completes 1074// successfully. 1075// 1076// Use "Send" method on the returned Request to send the API call to the service. 1077// the "output" return value is not valid until after Send returns without error. 1078// 1079// See DeregisterTargets for more information on using the DeregisterTargets 1080// API call, and error handling. 1081// 1082// This method is useful when you want to inject custom logic or configuration 1083// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1084// 1085// 1086// // Example sending a request using the DeregisterTargetsRequest method. 1087// req, resp := client.DeregisterTargetsRequest(params) 1088// 1089// err := req.Send() 1090// if err == nil { // resp is now filled 1091// fmt.Println(resp) 1092// } 1093// 1094// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets 1095func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) { 1096 op := &request.Operation{ 1097 Name: opDeregisterTargets, 1098 HTTPMethod: "POST", 1099 HTTPPath: "/", 1100 } 1101 1102 if input == nil { 1103 input = &DeregisterTargetsInput{} 1104 } 1105 1106 output = &DeregisterTargetsOutput{} 1107 req = c.newRequest(op, input, output) 1108 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1109 return 1110} 1111 1112// DeregisterTargets API operation for Elastic Load Balancing. 1113// 1114// Deregisters the specified targets from the specified target group. After 1115// the targets are deregistered, they no longer receive traffic from the load 1116// balancer. 1117// 1118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1119// with awserr.Error's Code and Message methods to get detailed information about 1120// the error. 1121// 1122// See the AWS API reference guide for Elastic Load Balancing's 1123// API operation DeregisterTargets for usage and error information. 1124// 1125// Returned Error Codes: 1126// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 1127// The specified target group does not exist. 1128// 1129// * ErrCodeInvalidTargetException "InvalidTarget" 1130// The specified target does not exist, is not in the same VPC as the target 1131// group, or has an unsupported instance type. 1132// 1133// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets 1134func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) { 1135 req, out := c.DeregisterTargetsRequest(input) 1136 return out, req.Send() 1137} 1138 1139// DeregisterTargetsWithContext is the same as DeregisterTargets with the addition of 1140// the ability to pass a context and additional request options. 1141// 1142// See DeregisterTargets for details on how to use this API operation. 1143// 1144// The context must be non-nil and will be used for request cancellation. If 1145// the context is nil a panic will occur. In the future the SDK may create 1146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1147// for more information on using Contexts. 1148func (c *ELBV2) DeregisterTargetsWithContext(ctx aws.Context, input *DeregisterTargetsInput, opts ...request.Option) (*DeregisterTargetsOutput, error) { 1149 req, out := c.DeregisterTargetsRequest(input) 1150 req.SetContext(ctx) 1151 req.ApplyOptions(opts...) 1152 return out, req.Send() 1153} 1154 1155const opDescribeAccountLimits = "DescribeAccountLimits" 1156 1157// DescribeAccountLimitsRequest generates a "aws/request.Request" representing the 1158// client's request for the DescribeAccountLimits operation. The "output" return 1159// value will be populated with the request's response once the request completes 1160// successfully. 1161// 1162// Use "Send" method on the returned Request to send the API call to the service. 1163// the "output" return value is not valid until after Send returns without error. 1164// 1165// See DescribeAccountLimits for more information on using the DescribeAccountLimits 1166// API call, and error handling. 1167// 1168// This method is useful when you want to inject custom logic or configuration 1169// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1170// 1171// 1172// // Example sending a request using the DescribeAccountLimitsRequest method. 1173// req, resp := client.DescribeAccountLimitsRequest(params) 1174// 1175// err := req.Send() 1176// if err == nil { // resp is now filled 1177// fmt.Println(resp) 1178// } 1179// 1180// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits 1181func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) { 1182 op := &request.Operation{ 1183 Name: opDescribeAccountLimits, 1184 HTTPMethod: "POST", 1185 HTTPPath: "/", 1186 } 1187 1188 if input == nil { 1189 input = &DescribeAccountLimitsInput{} 1190 } 1191 1192 output = &DescribeAccountLimitsOutput{} 1193 req = c.newRequest(op, input, output) 1194 return 1195} 1196 1197// DescribeAccountLimits API operation for Elastic Load Balancing. 1198// 1199// Describes the current Elastic Load Balancing resource limits for your Amazon 1200// Web Services account. 1201// 1202// For more information, see the following: 1203// 1204// * Quotas for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) 1205// 1206// * Quotas for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) 1207// 1208// * Quotas for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html) 1209// 1210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1211// with awserr.Error's Code and Message methods to get detailed information about 1212// the error. 1213// 1214// See the AWS API reference guide for Elastic Load Balancing's 1215// API operation DescribeAccountLimits for usage and error information. 1216// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimits 1217func (c *ELBV2) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) { 1218 req, out := c.DescribeAccountLimitsRequest(input) 1219 return out, req.Send() 1220} 1221 1222// DescribeAccountLimitsWithContext is the same as DescribeAccountLimits with the addition of 1223// the ability to pass a context and additional request options. 1224// 1225// See DescribeAccountLimits for details on how to use this API operation. 1226// 1227// The context must be non-nil and will be used for request cancellation. If 1228// the context is nil a panic will occur. In the future the SDK may create 1229// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1230// for more information on using Contexts. 1231func (c *ELBV2) DescribeAccountLimitsWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, opts ...request.Option) (*DescribeAccountLimitsOutput, error) { 1232 req, out := c.DescribeAccountLimitsRequest(input) 1233 req.SetContext(ctx) 1234 req.ApplyOptions(opts...) 1235 return out, req.Send() 1236} 1237 1238const opDescribeListenerCertificates = "DescribeListenerCertificates" 1239 1240// DescribeListenerCertificatesRequest generates a "aws/request.Request" representing the 1241// client's request for the DescribeListenerCertificates operation. The "output" return 1242// value will be populated with the request's response once the request completes 1243// successfully. 1244// 1245// Use "Send" method on the returned Request to send the API call to the service. 1246// the "output" return value is not valid until after Send returns without error. 1247// 1248// See DescribeListenerCertificates for more information on using the DescribeListenerCertificates 1249// API call, and error handling. 1250// 1251// This method is useful when you want to inject custom logic or configuration 1252// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1253// 1254// 1255// // Example sending a request using the DescribeListenerCertificatesRequest method. 1256// req, resp := client.DescribeListenerCertificatesRequest(params) 1257// 1258// err := req.Send() 1259// if err == nil { // resp is now filled 1260// fmt.Println(resp) 1261// } 1262// 1263// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates 1264func (c *ELBV2) DescribeListenerCertificatesRequest(input *DescribeListenerCertificatesInput) (req *request.Request, output *DescribeListenerCertificatesOutput) { 1265 op := &request.Operation{ 1266 Name: opDescribeListenerCertificates, 1267 HTTPMethod: "POST", 1268 HTTPPath: "/", 1269 } 1270 1271 if input == nil { 1272 input = &DescribeListenerCertificatesInput{} 1273 } 1274 1275 output = &DescribeListenerCertificatesOutput{} 1276 req = c.newRequest(op, input, output) 1277 return 1278} 1279 1280// DescribeListenerCertificates API operation for Elastic Load Balancing. 1281// 1282// Describes the default certificate and the certificate list for the specified 1283// HTTPS or TLS listener. 1284// 1285// If the default certificate is also in the certificate list, it appears twice 1286// in the results (once with IsDefault set to true and once with IsDefault set 1287// to false). 1288// 1289// For more information, see SSL certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates) 1290// in the Application Load Balancers Guide or Server certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-listener-certificate) 1291// in the Network Load Balancers Guide. 1292// 1293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1294// with awserr.Error's Code and Message methods to get detailed information about 1295// the error. 1296// 1297// See the AWS API reference guide for Elastic Load Balancing's 1298// API operation DescribeListenerCertificates for usage and error information. 1299// 1300// Returned Error Codes: 1301// * ErrCodeListenerNotFoundException "ListenerNotFound" 1302// The specified listener does not exist. 1303// 1304// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificates 1305func (c *ELBV2) DescribeListenerCertificates(input *DescribeListenerCertificatesInput) (*DescribeListenerCertificatesOutput, error) { 1306 req, out := c.DescribeListenerCertificatesRequest(input) 1307 return out, req.Send() 1308} 1309 1310// DescribeListenerCertificatesWithContext is the same as DescribeListenerCertificates with the addition of 1311// the ability to pass a context and additional request options. 1312// 1313// See DescribeListenerCertificates for details on how to use this API operation. 1314// 1315// The context must be non-nil and will be used for request cancellation. If 1316// the context is nil a panic will occur. In the future the SDK may create 1317// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1318// for more information on using Contexts. 1319func (c *ELBV2) DescribeListenerCertificatesWithContext(ctx aws.Context, input *DescribeListenerCertificatesInput, opts ...request.Option) (*DescribeListenerCertificatesOutput, error) { 1320 req, out := c.DescribeListenerCertificatesRequest(input) 1321 req.SetContext(ctx) 1322 req.ApplyOptions(opts...) 1323 return out, req.Send() 1324} 1325 1326const opDescribeListeners = "DescribeListeners" 1327 1328// DescribeListenersRequest generates a "aws/request.Request" representing the 1329// client's request for the DescribeListeners operation. The "output" return 1330// value will be populated with the request's response once the request completes 1331// successfully. 1332// 1333// Use "Send" method on the returned Request to send the API call to the service. 1334// the "output" return value is not valid until after Send returns without error. 1335// 1336// See DescribeListeners for more information on using the DescribeListeners 1337// API call, and error handling. 1338// 1339// This method is useful when you want to inject custom logic or configuration 1340// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1341// 1342// 1343// // Example sending a request using the DescribeListenersRequest method. 1344// req, resp := client.DescribeListenersRequest(params) 1345// 1346// err := req.Send() 1347// if err == nil { // resp is now filled 1348// fmt.Println(resp) 1349// } 1350// 1351// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners 1352func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *request.Request, output *DescribeListenersOutput) { 1353 op := &request.Operation{ 1354 Name: opDescribeListeners, 1355 HTTPMethod: "POST", 1356 HTTPPath: "/", 1357 Paginator: &request.Paginator{ 1358 InputTokens: []string{"Marker"}, 1359 OutputTokens: []string{"NextMarker"}, 1360 LimitToken: "", 1361 TruncationToken: "", 1362 }, 1363 } 1364 1365 if input == nil { 1366 input = &DescribeListenersInput{} 1367 } 1368 1369 output = &DescribeListenersOutput{} 1370 req = c.newRequest(op, input, output) 1371 return 1372} 1373 1374// DescribeListeners API operation for Elastic Load Balancing. 1375// 1376// Describes the specified listeners or the listeners for the specified Application 1377// Load Balancer, Network Load Balancer, or Gateway Load Balancer. You must 1378// specify either a load balancer or one or more listeners. 1379// 1380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1381// with awserr.Error's Code and Message methods to get detailed information about 1382// the error. 1383// 1384// See the AWS API reference guide for Elastic Load Balancing's 1385// API operation DescribeListeners for usage and error information. 1386// 1387// Returned Error Codes: 1388// * ErrCodeListenerNotFoundException "ListenerNotFound" 1389// The specified listener does not exist. 1390// 1391// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 1392// The specified load balancer does not exist. 1393// 1394// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 1395// The specified protocol is not supported. 1396// 1397// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners 1398func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) { 1399 req, out := c.DescribeListenersRequest(input) 1400 return out, req.Send() 1401} 1402 1403// DescribeListenersWithContext is the same as DescribeListeners with the addition of 1404// the ability to pass a context and additional request options. 1405// 1406// See DescribeListeners for details on how to use this API operation. 1407// 1408// The context must be non-nil and will be used for request cancellation. If 1409// the context is nil a panic will occur. In the future the SDK may create 1410// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1411// for more information on using Contexts. 1412func (c *ELBV2) DescribeListenersWithContext(ctx aws.Context, input *DescribeListenersInput, opts ...request.Option) (*DescribeListenersOutput, error) { 1413 req, out := c.DescribeListenersRequest(input) 1414 req.SetContext(ctx) 1415 req.ApplyOptions(opts...) 1416 return out, req.Send() 1417} 1418 1419// DescribeListenersPages iterates over the pages of a DescribeListeners operation, 1420// calling the "fn" function with the response data for each page. To stop 1421// iterating, return false from the fn function. 1422// 1423// See DescribeListeners method for more information on how to use this operation. 1424// 1425// Note: This operation can generate multiple requests to a service. 1426// 1427// // Example iterating over at most 3 pages of a DescribeListeners operation. 1428// pageNum := 0 1429// err := client.DescribeListenersPages(params, 1430// func(page *elbv2.DescribeListenersOutput, lastPage bool) bool { 1431// pageNum++ 1432// fmt.Println(page) 1433// return pageNum <= 3 1434// }) 1435// 1436func (c *ELBV2) DescribeListenersPages(input *DescribeListenersInput, fn func(*DescribeListenersOutput, bool) bool) error { 1437 return c.DescribeListenersPagesWithContext(aws.BackgroundContext(), input, fn) 1438} 1439 1440// DescribeListenersPagesWithContext same as DescribeListenersPages except 1441// it takes a Context and allows setting request options on the pages. 1442// 1443// The context must be non-nil and will be used for request cancellation. If 1444// the context is nil a panic will occur. In the future the SDK may create 1445// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1446// for more information on using Contexts. 1447func (c *ELBV2) DescribeListenersPagesWithContext(ctx aws.Context, input *DescribeListenersInput, fn func(*DescribeListenersOutput, bool) bool, opts ...request.Option) error { 1448 p := request.Pagination{ 1449 NewRequest: func() (*request.Request, error) { 1450 var inCpy *DescribeListenersInput 1451 if input != nil { 1452 tmp := *input 1453 inCpy = &tmp 1454 } 1455 req, _ := c.DescribeListenersRequest(inCpy) 1456 req.SetContext(ctx) 1457 req.ApplyOptions(opts...) 1458 return req, nil 1459 }, 1460 } 1461 1462 for p.Next() { 1463 if !fn(p.Page().(*DescribeListenersOutput), !p.HasNextPage()) { 1464 break 1465 } 1466 } 1467 1468 return p.Err() 1469} 1470 1471const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes" 1472 1473// DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the 1474// client's request for the DescribeLoadBalancerAttributes operation. The "output" return 1475// value will be populated with the request's response once the request completes 1476// successfully. 1477// 1478// Use "Send" method on the returned Request to send the API call to the service. 1479// the "output" return value is not valid until after Send returns without error. 1480// 1481// See DescribeLoadBalancerAttributes for more information on using the DescribeLoadBalancerAttributes 1482// API call, and error handling. 1483// 1484// This method is useful when you want to inject custom logic or configuration 1485// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1486// 1487// 1488// // Example sending a request using the DescribeLoadBalancerAttributesRequest method. 1489// req, resp := client.DescribeLoadBalancerAttributesRequest(params) 1490// 1491// err := req.Send() 1492// if err == nil { // resp is now filled 1493// fmt.Println(resp) 1494// } 1495// 1496// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes 1497func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) { 1498 op := &request.Operation{ 1499 Name: opDescribeLoadBalancerAttributes, 1500 HTTPMethod: "POST", 1501 HTTPPath: "/", 1502 } 1503 1504 if input == nil { 1505 input = &DescribeLoadBalancerAttributesInput{} 1506 } 1507 1508 output = &DescribeLoadBalancerAttributesOutput{} 1509 req = c.newRequest(op, input, output) 1510 return 1511} 1512 1513// DescribeLoadBalancerAttributes API operation for Elastic Load Balancing. 1514// 1515// Describes the attributes for the specified Application Load Balancer, Network 1516// Load Balancer, or Gateway Load Balancer. 1517// 1518// For more information, see the following: 1519// 1520// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes) 1521// in the Application Load Balancers Guide 1522// 1523// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes) 1524// in the Network Load Balancers Guide 1525// 1526// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#load-balancer-attributes) 1527// in the Gateway Load Balancers Guide 1528// 1529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1530// with awserr.Error's Code and Message methods to get detailed information about 1531// the error. 1532// 1533// See the AWS API reference guide for Elastic Load Balancing's 1534// API operation DescribeLoadBalancerAttributes for usage and error information. 1535// 1536// Returned Error Codes: 1537// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 1538// The specified load balancer does not exist. 1539// 1540// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancerAttributes 1541func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) { 1542 req, out := c.DescribeLoadBalancerAttributesRequest(input) 1543 return out, req.Send() 1544} 1545 1546// DescribeLoadBalancerAttributesWithContext is the same as DescribeLoadBalancerAttributes with the addition of 1547// the ability to pass a context and additional request options. 1548// 1549// See DescribeLoadBalancerAttributes for details on how to use this API operation. 1550// 1551// The context must be non-nil and will be used for request cancellation. If 1552// the context is nil a panic will occur. In the future the SDK may create 1553// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1554// for more information on using Contexts. 1555func (c *ELBV2) DescribeLoadBalancerAttributesWithContext(ctx aws.Context, input *DescribeLoadBalancerAttributesInput, opts ...request.Option) (*DescribeLoadBalancerAttributesOutput, error) { 1556 req, out := c.DescribeLoadBalancerAttributesRequest(input) 1557 req.SetContext(ctx) 1558 req.ApplyOptions(opts...) 1559 return out, req.Send() 1560} 1561 1562const opDescribeLoadBalancers = "DescribeLoadBalancers" 1563 1564// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the 1565// client's request for the DescribeLoadBalancers operation. The "output" return 1566// value will be populated with the request's response once the request completes 1567// successfully. 1568// 1569// Use "Send" method on the returned Request to send the API call to the service. 1570// the "output" return value is not valid until after Send returns without error. 1571// 1572// See DescribeLoadBalancers for more information on using the DescribeLoadBalancers 1573// API call, and error handling. 1574// 1575// This method is useful when you want to inject custom logic or configuration 1576// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1577// 1578// 1579// // Example sending a request using the DescribeLoadBalancersRequest method. 1580// req, resp := client.DescribeLoadBalancersRequest(params) 1581// 1582// err := req.Send() 1583// if err == nil { // resp is now filled 1584// fmt.Println(resp) 1585// } 1586// 1587// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers 1588func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) { 1589 op := &request.Operation{ 1590 Name: opDescribeLoadBalancers, 1591 HTTPMethod: "POST", 1592 HTTPPath: "/", 1593 Paginator: &request.Paginator{ 1594 InputTokens: []string{"Marker"}, 1595 OutputTokens: []string{"NextMarker"}, 1596 LimitToken: "", 1597 TruncationToken: "", 1598 }, 1599 } 1600 1601 if input == nil { 1602 input = &DescribeLoadBalancersInput{} 1603 } 1604 1605 output = &DescribeLoadBalancersOutput{} 1606 req = c.newRequest(op, input, output) 1607 return 1608} 1609 1610// DescribeLoadBalancers API operation for Elastic Load Balancing. 1611// 1612// Describes the specified load balancers or all of your load balancers. 1613// 1614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1615// with awserr.Error's Code and Message methods to get detailed information about 1616// the error. 1617// 1618// See the AWS API reference guide for Elastic Load Balancing's 1619// API operation DescribeLoadBalancers for usage and error information. 1620// 1621// Returned Error Codes: 1622// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 1623// The specified load balancer does not exist. 1624// 1625// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers 1626func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) { 1627 req, out := c.DescribeLoadBalancersRequest(input) 1628 return out, req.Send() 1629} 1630 1631// DescribeLoadBalancersWithContext is the same as DescribeLoadBalancers with the addition of 1632// the ability to pass a context and additional request options. 1633// 1634// See DescribeLoadBalancers for details on how to use this API operation. 1635// 1636// The context must be non-nil and will be used for request cancellation. If 1637// the context is nil a panic will occur. In the future the SDK may create 1638// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1639// for more information on using Contexts. 1640func (c *ELBV2) DescribeLoadBalancersWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, opts ...request.Option) (*DescribeLoadBalancersOutput, error) { 1641 req, out := c.DescribeLoadBalancersRequest(input) 1642 req.SetContext(ctx) 1643 req.ApplyOptions(opts...) 1644 return out, req.Send() 1645} 1646 1647// DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation, 1648// calling the "fn" function with the response data for each page. To stop 1649// iterating, return false from the fn function. 1650// 1651// See DescribeLoadBalancers method for more information on how to use this operation. 1652// 1653// Note: This operation can generate multiple requests to a service. 1654// 1655// // Example iterating over at most 3 pages of a DescribeLoadBalancers operation. 1656// pageNum := 0 1657// err := client.DescribeLoadBalancersPages(params, 1658// func(page *elbv2.DescribeLoadBalancersOutput, lastPage bool) bool { 1659// pageNum++ 1660// fmt.Println(page) 1661// return pageNum <= 3 1662// }) 1663// 1664func (c *ELBV2) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(*DescribeLoadBalancersOutput, bool) bool) error { 1665 return c.DescribeLoadBalancersPagesWithContext(aws.BackgroundContext(), input, fn) 1666} 1667 1668// DescribeLoadBalancersPagesWithContext same as DescribeLoadBalancersPages except 1669// it takes a Context and allows setting request options on the pages. 1670// 1671// The context must be non-nil and will be used for request cancellation. If 1672// the context is nil a panic will occur. In the future the SDK may create 1673// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1674// for more information on using Contexts. 1675func (c *ELBV2) DescribeLoadBalancersPagesWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, fn func(*DescribeLoadBalancersOutput, bool) bool, opts ...request.Option) error { 1676 p := request.Pagination{ 1677 NewRequest: func() (*request.Request, error) { 1678 var inCpy *DescribeLoadBalancersInput 1679 if input != nil { 1680 tmp := *input 1681 inCpy = &tmp 1682 } 1683 req, _ := c.DescribeLoadBalancersRequest(inCpy) 1684 req.SetContext(ctx) 1685 req.ApplyOptions(opts...) 1686 return req, nil 1687 }, 1688 } 1689 1690 for p.Next() { 1691 if !fn(p.Page().(*DescribeLoadBalancersOutput), !p.HasNextPage()) { 1692 break 1693 } 1694 } 1695 1696 return p.Err() 1697} 1698 1699const opDescribeRules = "DescribeRules" 1700 1701// DescribeRulesRequest generates a "aws/request.Request" representing the 1702// client's request for the DescribeRules operation. The "output" return 1703// value will be populated with the request's response once the request completes 1704// successfully. 1705// 1706// Use "Send" method on the returned Request to send the API call to the service. 1707// the "output" return value is not valid until after Send returns without error. 1708// 1709// See DescribeRules for more information on using the DescribeRules 1710// API call, and error handling. 1711// 1712// This method is useful when you want to inject custom logic or configuration 1713// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1714// 1715// 1716// // Example sending a request using the DescribeRulesRequest method. 1717// req, resp := client.DescribeRulesRequest(params) 1718// 1719// err := req.Send() 1720// if err == nil { // resp is now filled 1721// fmt.Println(resp) 1722// } 1723// 1724// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules 1725func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) { 1726 op := &request.Operation{ 1727 Name: opDescribeRules, 1728 HTTPMethod: "POST", 1729 HTTPPath: "/", 1730 } 1731 1732 if input == nil { 1733 input = &DescribeRulesInput{} 1734 } 1735 1736 output = &DescribeRulesOutput{} 1737 req = c.newRequest(op, input, output) 1738 return 1739} 1740 1741// DescribeRules API operation for Elastic Load Balancing. 1742// 1743// Describes the specified rules or the rules for the specified listener. You 1744// must specify either a listener or one or more rules. 1745// 1746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1747// with awserr.Error's Code and Message methods to get detailed information about 1748// the error. 1749// 1750// See the AWS API reference guide for Elastic Load Balancing's 1751// API operation DescribeRules for usage and error information. 1752// 1753// Returned Error Codes: 1754// * ErrCodeListenerNotFoundException "ListenerNotFound" 1755// The specified listener does not exist. 1756// 1757// * ErrCodeRuleNotFoundException "RuleNotFound" 1758// The specified rule does not exist. 1759// 1760// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 1761// The specified protocol is not supported. 1762// 1763// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRules 1764func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) { 1765 req, out := c.DescribeRulesRequest(input) 1766 return out, req.Send() 1767} 1768 1769// DescribeRulesWithContext is the same as DescribeRules with the addition of 1770// the ability to pass a context and additional request options. 1771// 1772// See DescribeRules for details on how to use this API operation. 1773// 1774// The context must be non-nil and will be used for request cancellation. If 1775// the context is nil a panic will occur. In the future the SDK may create 1776// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1777// for more information on using Contexts. 1778func (c *ELBV2) DescribeRulesWithContext(ctx aws.Context, input *DescribeRulesInput, opts ...request.Option) (*DescribeRulesOutput, error) { 1779 req, out := c.DescribeRulesRequest(input) 1780 req.SetContext(ctx) 1781 req.ApplyOptions(opts...) 1782 return out, req.Send() 1783} 1784 1785const opDescribeSSLPolicies = "DescribeSSLPolicies" 1786 1787// DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the 1788// client's request for the DescribeSSLPolicies operation. The "output" return 1789// value will be populated with the request's response once the request completes 1790// successfully. 1791// 1792// Use "Send" method on the returned Request to send the API call to the service. 1793// the "output" return value is not valid until after Send returns without error. 1794// 1795// See DescribeSSLPolicies for more information on using the DescribeSSLPolicies 1796// API call, and error handling. 1797// 1798// This method is useful when you want to inject custom logic or configuration 1799// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1800// 1801// 1802// // Example sending a request using the DescribeSSLPoliciesRequest method. 1803// req, resp := client.DescribeSSLPoliciesRequest(params) 1804// 1805// err := req.Send() 1806// if err == nil { // resp is now filled 1807// fmt.Println(resp) 1808// } 1809// 1810// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies 1811func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) { 1812 op := &request.Operation{ 1813 Name: opDescribeSSLPolicies, 1814 HTTPMethod: "POST", 1815 HTTPPath: "/", 1816 } 1817 1818 if input == nil { 1819 input = &DescribeSSLPoliciesInput{} 1820 } 1821 1822 output = &DescribeSSLPoliciesOutput{} 1823 req = c.newRequest(op, input, output) 1824 return 1825} 1826 1827// DescribeSSLPolicies API operation for Elastic Load Balancing. 1828// 1829// Describes the specified policies or all policies used for SSL negotiation. 1830// 1831// For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) 1832// in the Application Load Balancers Guide or Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) 1833// in the Network Load Balancers Guide. 1834// 1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1836// with awserr.Error's Code and Message methods to get detailed information about 1837// the error. 1838// 1839// See the AWS API reference guide for Elastic Load Balancing's 1840// API operation DescribeSSLPolicies for usage and error information. 1841// 1842// Returned Error Codes: 1843// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound" 1844// The specified SSL policy does not exist. 1845// 1846// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies 1847func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) { 1848 req, out := c.DescribeSSLPoliciesRequest(input) 1849 return out, req.Send() 1850} 1851 1852// DescribeSSLPoliciesWithContext is the same as DescribeSSLPolicies with the addition of 1853// the ability to pass a context and additional request options. 1854// 1855// See DescribeSSLPolicies for details on how to use this API operation. 1856// 1857// The context must be non-nil and will be used for request cancellation. If 1858// the context is nil a panic will occur. In the future the SDK may create 1859// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1860// for more information on using Contexts. 1861func (c *ELBV2) DescribeSSLPoliciesWithContext(ctx aws.Context, input *DescribeSSLPoliciesInput, opts ...request.Option) (*DescribeSSLPoliciesOutput, error) { 1862 req, out := c.DescribeSSLPoliciesRequest(input) 1863 req.SetContext(ctx) 1864 req.ApplyOptions(opts...) 1865 return out, req.Send() 1866} 1867 1868const opDescribeTags = "DescribeTags" 1869 1870// DescribeTagsRequest generates a "aws/request.Request" representing the 1871// client's request for the DescribeTags operation. The "output" return 1872// value will be populated with the request's response once the request completes 1873// successfully. 1874// 1875// Use "Send" method on the returned Request to send the API call to the service. 1876// the "output" return value is not valid until after Send returns without error. 1877// 1878// See DescribeTags for more information on using the DescribeTags 1879// API call, and error handling. 1880// 1881// This method is useful when you want to inject custom logic or configuration 1882// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1883// 1884// 1885// // Example sending a request using the DescribeTagsRequest method. 1886// req, resp := client.DescribeTagsRequest(params) 1887// 1888// err := req.Send() 1889// if err == nil { // resp is now filled 1890// fmt.Println(resp) 1891// } 1892// 1893// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags 1894func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { 1895 op := &request.Operation{ 1896 Name: opDescribeTags, 1897 HTTPMethod: "POST", 1898 HTTPPath: "/", 1899 } 1900 1901 if input == nil { 1902 input = &DescribeTagsInput{} 1903 } 1904 1905 output = &DescribeTagsOutput{} 1906 req = c.newRequest(op, input, output) 1907 return 1908} 1909 1910// DescribeTags API operation for Elastic Load Balancing. 1911// 1912// Describes the tags for the specified Elastic Load Balancing resources. You 1913// can describe the tags for one or more Application Load Balancers, Network 1914// Load Balancers, Gateway Load Balancers, target groups, listeners, or rules. 1915// 1916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1917// with awserr.Error's Code and Message methods to get detailed information about 1918// the error. 1919// 1920// See the AWS API reference guide for Elastic Load Balancing's 1921// API operation DescribeTags for usage and error information. 1922// 1923// Returned Error Codes: 1924// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 1925// The specified load balancer does not exist. 1926// 1927// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 1928// The specified target group does not exist. 1929// 1930// * ErrCodeListenerNotFoundException "ListenerNotFound" 1931// The specified listener does not exist. 1932// 1933// * ErrCodeRuleNotFoundException "RuleNotFound" 1934// The specified rule does not exist. 1935// 1936// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTags 1937func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { 1938 req, out := c.DescribeTagsRequest(input) 1939 return out, req.Send() 1940} 1941 1942// DescribeTagsWithContext is the same as DescribeTags with the addition of 1943// the ability to pass a context and additional request options. 1944// 1945// See DescribeTags for details on how to use this API operation. 1946// 1947// The context must be non-nil and will be used for request cancellation. If 1948// the context is nil a panic will occur. In the future the SDK may create 1949// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1950// for more information on using Contexts. 1951func (c *ELBV2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) { 1952 req, out := c.DescribeTagsRequest(input) 1953 req.SetContext(ctx) 1954 req.ApplyOptions(opts...) 1955 return out, req.Send() 1956} 1957 1958const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes" 1959 1960// DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the 1961// client's request for the DescribeTargetGroupAttributes operation. The "output" return 1962// value will be populated with the request's response once the request completes 1963// successfully. 1964// 1965// Use "Send" method on the returned Request to send the API call to the service. 1966// the "output" return value is not valid until after Send returns without error. 1967// 1968// See DescribeTargetGroupAttributes for more information on using the DescribeTargetGroupAttributes 1969// API call, and error handling. 1970// 1971// This method is useful when you want to inject custom logic or configuration 1972// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1973// 1974// 1975// // Example sending a request using the DescribeTargetGroupAttributesRequest method. 1976// req, resp := client.DescribeTargetGroupAttributesRequest(params) 1977// 1978// err := req.Send() 1979// if err == nil { // resp is now filled 1980// fmt.Println(resp) 1981// } 1982// 1983// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes 1984func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) { 1985 op := &request.Operation{ 1986 Name: opDescribeTargetGroupAttributes, 1987 HTTPMethod: "POST", 1988 HTTPPath: "/", 1989 } 1990 1991 if input == nil { 1992 input = &DescribeTargetGroupAttributesInput{} 1993 } 1994 1995 output = &DescribeTargetGroupAttributesOutput{} 1996 req = c.newRequest(op, input, output) 1997 return 1998} 1999 2000// DescribeTargetGroupAttributes API operation for Elastic Load Balancing. 2001// 2002// Describes the attributes for the specified target group. 2003// 2004// For more information, see the following: 2005// 2006// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes) 2007// in the Application Load Balancers Guide 2008// 2009// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes) 2010// in the Network Load Balancers Guide 2011// 2012// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes) 2013// in the Gateway Load Balancers Guide 2014// 2015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2016// with awserr.Error's Code and Message methods to get detailed information about 2017// the error. 2018// 2019// See the AWS API reference guide for Elastic Load Balancing's 2020// API operation DescribeTargetGroupAttributes for usage and error information. 2021// 2022// Returned Error Codes: 2023// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2024// The specified target group does not exist. 2025// 2026// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupAttributes 2027func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) { 2028 req, out := c.DescribeTargetGroupAttributesRequest(input) 2029 return out, req.Send() 2030} 2031 2032// DescribeTargetGroupAttributesWithContext is the same as DescribeTargetGroupAttributes with the addition of 2033// the ability to pass a context and additional request options. 2034// 2035// See DescribeTargetGroupAttributes for details on how to use this API operation. 2036// 2037// The context must be non-nil and will be used for request cancellation. If 2038// the context is nil a panic will occur. In the future the SDK may create 2039// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2040// for more information on using Contexts. 2041func (c *ELBV2) DescribeTargetGroupAttributesWithContext(ctx aws.Context, input *DescribeTargetGroupAttributesInput, opts ...request.Option) (*DescribeTargetGroupAttributesOutput, error) { 2042 req, out := c.DescribeTargetGroupAttributesRequest(input) 2043 req.SetContext(ctx) 2044 req.ApplyOptions(opts...) 2045 return out, req.Send() 2046} 2047 2048const opDescribeTargetGroups = "DescribeTargetGroups" 2049 2050// DescribeTargetGroupsRequest generates a "aws/request.Request" representing the 2051// client's request for the DescribeTargetGroups operation. The "output" return 2052// value will be populated with the request's response once the request completes 2053// successfully. 2054// 2055// Use "Send" method on the returned Request to send the API call to the service. 2056// the "output" return value is not valid until after Send returns without error. 2057// 2058// See DescribeTargetGroups for more information on using the DescribeTargetGroups 2059// API call, and error handling. 2060// 2061// This method is useful when you want to inject custom logic or configuration 2062// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2063// 2064// 2065// // Example sending a request using the DescribeTargetGroupsRequest method. 2066// req, resp := client.DescribeTargetGroupsRequest(params) 2067// 2068// err := req.Send() 2069// if err == nil { // resp is now filled 2070// fmt.Println(resp) 2071// } 2072// 2073// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups 2074func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (req *request.Request, output *DescribeTargetGroupsOutput) { 2075 op := &request.Operation{ 2076 Name: opDescribeTargetGroups, 2077 HTTPMethod: "POST", 2078 HTTPPath: "/", 2079 Paginator: &request.Paginator{ 2080 InputTokens: []string{"Marker"}, 2081 OutputTokens: []string{"NextMarker"}, 2082 LimitToken: "", 2083 TruncationToken: "", 2084 }, 2085 } 2086 2087 if input == nil { 2088 input = &DescribeTargetGroupsInput{} 2089 } 2090 2091 output = &DescribeTargetGroupsOutput{} 2092 req = c.newRequest(op, input, output) 2093 return 2094} 2095 2096// DescribeTargetGroups API operation for Elastic Load Balancing. 2097// 2098// Describes the specified target groups or all of your target groups. By default, 2099// all target groups are described. Alternatively, you can specify one of the 2100// following to filter the results: the ARN of the load balancer, the names 2101// of one or more target groups, or the ARNs of one or more target groups. 2102// 2103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2104// with awserr.Error's Code and Message methods to get detailed information about 2105// the error. 2106// 2107// See the AWS API reference guide for Elastic Load Balancing's 2108// API operation DescribeTargetGroups for usage and error information. 2109// 2110// Returned Error Codes: 2111// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 2112// The specified load balancer does not exist. 2113// 2114// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2115// The specified target group does not exist. 2116// 2117// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups 2118func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) { 2119 req, out := c.DescribeTargetGroupsRequest(input) 2120 return out, req.Send() 2121} 2122 2123// DescribeTargetGroupsWithContext is the same as DescribeTargetGroups with the addition of 2124// the ability to pass a context and additional request options. 2125// 2126// See DescribeTargetGroups for details on how to use this API operation. 2127// 2128// The context must be non-nil and will be used for request cancellation. If 2129// the context is nil a panic will occur. In the future the SDK may create 2130// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2131// for more information on using Contexts. 2132func (c *ELBV2) DescribeTargetGroupsWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, opts ...request.Option) (*DescribeTargetGroupsOutput, error) { 2133 req, out := c.DescribeTargetGroupsRequest(input) 2134 req.SetContext(ctx) 2135 req.ApplyOptions(opts...) 2136 return out, req.Send() 2137} 2138 2139// DescribeTargetGroupsPages iterates over the pages of a DescribeTargetGroups operation, 2140// calling the "fn" function with the response data for each page. To stop 2141// iterating, return false from the fn function. 2142// 2143// See DescribeTargetGroups method for more information on how to use this operation. 2144// 2145// Note: This operation can generate multiple requests to a service. 2146// 2147// // Example iterating over at most 3 pages of a DescribeTargetGroups operation. 2148// pageNum := 0 2149// err := client.DescribeTargetGroupsPages(params, 2150// func(page *elbv2.DescribeTargetGroupsOutput, lastPage bool) bool { 2151// pageNum++ 2152// fmt.Println(page) 2153// return pageNum <= 3 2154// }) 2155// 2156func (c *ELBV2) DescribeTargetGroupsPages(input *DescribeTargetGroupsInput, fn func(*DescribeTargetGroupsOutput, bool) bool) error { 2157 return c.DescribeTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2158} 2159 2160// DescribeTargetGroupsPagesWithContext same as DescribeTargetGroupsPages except 2161// it takes a Context and allows setting request options on the pages. 2162// 2163// The context must be non-nil and will be used for request cancellation. If 2164// the context is nil a panic will occur. In the future the SDK may create 2165// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2166// for more information on using Contexts. 2167func (c *ELBV2) DescribeTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeTargetGroupsInput, fn func(*DescribeTargetGroupsOutput, bool) bool, opts ...request.Option) error { 2168 p := request.Pagination{ 2169 NewRequest: func() (*request.Request, error) { 2170 var inCpy *DescribeTargetGroupsInput 2171 if input != nil { 2172 tmp := *input 2173 inCpy = &tmp 2174 } 2175 req, _ := c.DescribeTargetGroupsRequest(inCpy) 2176 req.SetContext(ctx) 2177 req.ApplyOptions(opts...) 2178 return req, nil 2179 }, 2180 } 2181 2182 for p.Next() { 2183 if !fn(p.Page().(*DescribeTargetGroupsOutput), !p.HasNextPage()) { 2184 break 2185 } 2186 } 2187 2188 return p.Err() 2189} 2190 2191const opDescribeTargetHealth = "DescribeTargetHealth" 2192 2193// DescribeTargetHealthRequest generates a "aws/request.Request" representing the 2194// client's request for the DescribeTargetHealth operation. The "output" return 2195// value will be populated with the request's response once the request completes 2196// successfully. 2197// 2198// Use "Send" method on the returned Request to send the API call to the service. 2199// the "output" return value is not valid until after Send returns without error. 2200// 2201// See DescribeTargetHealth for more information on using the DescribeTargetHealth 2202// API call, and error handling. 2203// 2204// This method is useful when you want to inject custom logic or configuration 2205// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2206// 2207// 2208// // Example sending a request using the DescribeTargetHealthRequest method. 2209// req, resp := client.DescribeTargetHealthRequest(params) 2210// 2211// err := req.Send() 2212// if err == nil { // resp is now filled 2213// fmt.Println(resp) 2214// } 2215// 2216// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth 2217func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) { 2218 op := &request.Operation{ 2219 Name: opDescribeTargetHealth, 2220 HTTPMethod: "POST", 2221 HTTPPath: "/", 2222 } 2223 2224 if input == nil { 2225 input = &DescribeTargetHealthInput{} 2226 } 2227 2228 output = &DescribeTargetHealthOutput{} 2229 req = c.newRequest(op, input, output) 2230 return 2231} 2232 2233// DescribeTargetHealth API operation for Elastic Load Balancing. 2234// 2235// Describes the health of the specified targets or all of your targets. 2236// 2237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2238// with awserr.Error's Code and Message methods to get detailed information about 2239// the error. 2240// 2241// See the AWS API reference guide for Elastic Load Balancing's 2242// API operation DescribeTargetHealth for usage and error information. 2243// 2244// Returned Error Codes: 2245// * ErrCodeInvalidTargetException "InvalidTarget" 2246// The specified target does not exist, is not in the same VPC as the target 2247// group, or has an unsupported instance type. 2248// 2249// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2250// The specified target group does not exist. 2251// 2252// * ErrCodeHealthUnavailableException "HealthUnavailable" 2253// The health of the specified targets could not be retrieved due to an internal 2254// error. 2255// 2256// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth 2257func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) { 2258 req, out := c.DescribeTargetHealthRequest(input) 2259 return out, req.Send() 2260} 2261 2262// DescribeTargetHealthWithContext is the same as DescribeTargetHealth with the addition of 2263// the ability to pass a context and additional request options. 2264// 2265// See DescribeTargetHealth for details on how to use this API operation. 2266// 2267// The context must be non-nil and will be used for request cancellation. If 2268// the context is nil a panic will occur. In the future the SDK may create 2269// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2270// for more information on using Contexts. 2271func (c *ELBV2) DescribeTargetHealthWithContext(ctx aws.Context, input *DescribeTargetHealthInput, opts ...request.Option) (*DescribeTargetHealthOutput, error) { 2272 req, out := c.DescribeTargetHealthRequest(input) 2273 req.SetContext(ctx) 2274 req.ApplyOptions(opts...) 2275 return out, req.Send() 2276} 2277 2278const opModifyListener = "ModifyListener" 2279 2280// ModifyListenerRequest generates a "aws/request.Request" representing the 2281// client's request for the ModifyListener operation. The "output" return 2282// value will be populated with the request's response once the request completes 2283// successfully. 2284// 2285// Use "Send" method on the returned Request to send the API call to the service. 2286// the "output" return value is not valid until after Send returns without error. 2287// 2288// See ModifyListener for more information on using the ModifyListener 2289// API call, and error handling. 2290// 2291// This method is useful when you want to inject custom logic or configuration 2292// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2293// 2294// 2295// // Example sending a request using the ModifyListenerRequest method. 2296// req, resp := client.ModifyListenerRequest(params) 2297// 2298// err := req.Send() 2299// if err == nil { // resp is now filled 2300// fmt.Println(resp) 2301// } 2302// 2303// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener 2304func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) { 2305 op := &request.Operation{ 2306 Name: opModifyListener, 2307 HTTPMethod: "POST", 2308 HTTPPath: "/", 2309 } 2310 2311 if input == nil { 2312 input = &ModifyListenerInput{} 2313 } 2314 2315 output = &ModifyListenerOutput{} 2316 req = c.newRequest(op, input, output) 2317 return 2318} 2319 2320// ModifyListener API operation for Elastic Load Balancing. 2321// 2322// Replaces the specified properties of the specified listener. Any properties 2323// that you do not specify remain unchanged. 2324// 2325// Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the 2326// security policy and default certificate properties. If you change the protocol 2327// from HTTP to HTTPS, or from TCP to TLS, you must add the security policy 2328// and default certificate properties. 2329// 2330// To add an item to a list, remove an item from a list, or update an item in 2331// a list, you must provide the entire list. For example, to add an action, 2332// specify a list with the current actions plus the new action. 2333// 2334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2335// with awserr.Error's Code and Message methods to get detailed information about 2336// the error. 2337// 2338// See the AWS API reference guide for Elastic Load Balancing's 2339// API operation ModifyListener for usage and error information. 2340// 2341// Returned Error Codes: 2342// * ErrCodeDuplicateListenerException "DuplicateListener" 2343// A listener with the specified port already exists. 2344// 2345// * ErrCodeTooManyListenersException "TooManyListeners" 2346// You've reached the limit on the number of listeners per load balancer. 2347// 2348// * ErrCodeTooManyCertificatesException "TooManyCertificates" 2349// You've reached the limit on the number of certificates per load balancer. 2350// 2351// * ErrCodeListenerNotFoundException "ListenerNotFound" 2352// The specified listener does not exist. 2353// 2354// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2355// The specified target group does not exist. 2356// 2357// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" 2358// You've reached the limit on the number of load balancers per target group. 2359// 2360// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" 2361// The specified configuration is not valid with this protocol. 2362// 2363// * ErrCodeSSLPolicyNotFoundException "SSLPolicyNotFound" 2364// The specified SSL policy does not exist. 2365// 2366// * ErrCodeCertificateNotFoundException "CertificateNotFound" 2367// The specified certificate does not exist. 2368// 2369// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 2370// The requested configuration is not valid. 2371// 2372// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 2373// The specified protocol is not supported. 2374// 2375// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" 2376// You've reached the limit on the number of times a target can be registered 2377// with a load balancer. 2378// 2379// * ErrCodeTooManyTargetsException "TooManyTargets" 2380// You've reached the limit on the number of targets. 2381// 2382// * ErrCodeTooManyActionsException "TooManyActions" 2383// You've reached the limit on the number of actions per rule. 2384// 2385// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction" 2386// The requested action is not valid. 2387// 2388// * ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException "TooManyUniqueTargetGroupsPerLoadBalancer" 2389// You've reached the limit on the number of unique target groups per load balancer 2390// across all listeners. If a target group is used by multiple actions for a 2391// load balancer, it is counted as only one use. 2392// 2393// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" 2394// The specified ALPN policy is not supported. 2395// 2396// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener 2397func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) { 2398 req, out := c.ModifyListenerRequest(input) 2399 return out, req.Send() 2400} 2401 2402// ModifyListenerWithContext is the same as ModifyListener with the addition of 2403// the ability to pass a context and additional request options. 2404// 2405// See ModifyListener for details on how to use this API operation. 2406// 2407// The context must be non-nil and will be used for request cancellation. If 2408// the context is nil a panic will occur. In the future the SDK may create 2409// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2410// for more information on using Contexts. 2411func (c *ELBV2) ModifyListenerWithContext(ctx aws.Context, input *ModifyListenerInput, opts ...request.Option) (*ModifyListenerOutput, error) { 2412 req, out := c.ModifyListenerRequest(input) 2413 req.SetContext(ctx) 2414 req.ApplyOptions(opts...) 2415 return out, req.Send() 2416} 2417 2418const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes" 2419 2420// ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the 2421// client's request for the ModifyLoadBalancerAttributes operation. The "output" return 2422// value will be populated with the request's response once the request completes 2423// successfully. 2424// 2425// Use "Send" method on the returned Request to send the API call to the service. 2426// the "output" return value is not valid until after Send returns without error. 2427// 2428// See ModifyLoadBalancerAttributes for more information on using the ModifyLoadBalancerAttributes 2429// API call, and error handling. 2430// 2431// This method is useful when you want to inject custom logic or configuration 2432// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2433// 2434// 2435// // Example sending a request using the ModifyLoadBalancerAttributesRequest method. 2436// req, resp := client.ModifyLoadBalancerAttributesRequest(params) 2437// 2438// err := req.Send() 2439// if err == nil { // resp is now filled 2440// fmt.Println(resp) 2441// } 2442// 2443// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes 2444func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) { 2445 op := &request.Operation{ 2446 Name: opModifyLoadBalancerAttributes, 2447 HTTPMethod: "POST", 2448 HTTPPath: "/", 2449 } 2450 2451 if input == nil { 2452 input = &ModifyLoadBalancerAttributesInput{} 2453 } 2454 2455 output = &ModifyLoadBalancerAttributesOutput{} 2456 req = c.newRequest(op, input, output) 2457 return 2458} 2459 2460// ModifyLoadBalancerAttributes API operation for Elastic Load Balancing. 2461// 2462// Modifies the specified attributes of the specified Application Load Balancer, 2463// Network Load Balancer, or Gateway Load Balancer. 2464// 2465// If any of the specified attributes can't be modified as requested, the call 2466// fails. Any existing attributes that you do not modify retain their current 2467// values. 2468// 2469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2470// with awserr.Error's Code and Message methods to get detailed information about 2471// the error. 2472// 2473// See the AWS API reference guide for Elastic Load Balancing's 2474// API operation ModifyLoadBalancerAttributes for usage and error information. 2475// 2476// Returned Error Codes: 2477// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 2478// The specified load balancer does not exist. 2479// 2480// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 2481// The requested configuration is not valid. 2482// 2483// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyLoadBalancerAttributes 2484func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) { 2485 req, out := c.ModifyLoadBalancerAttributesRequest(input) 2486 return out, req.Send() 2487} 2488 2489// ModifyLoadBalancerAttributesWithContext is the same as ModifyLoadBalancerAttributes with the addition of 2490// the ability to pass a context and additional request options. 2491// 2492// See ModifyLoadBalancerAttributes for details on how to use this API operation. 2493// 2494// The context must be non-nil and will be used for request cancellation. If 2495// the context is nil a panic will occur. In the future the SDK may create 2496// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2497// for more information on using Contexts. 2498func (c *ELBV2) ModifyLoadBalancerAttributesWithContext(ctx aws.Context, input *ModifyLoadBalancerAttributesInput, opts ...request.Option) (*ModifyLoadBalancerAttributesOutput, error) { 2499 req, out := c.ModifyLoadBalancerAttributesRequest(input) 2500 req.SetContext(ctx) 2501 req.ApplyOptions(opts...) 2502 return out, req.Send() 2503} 2504 2505const opModifyRule = "ModifyRule" 2506 2507// ModifyRuleRequest generates a "aws/request.Request" representing the 2508// client's request for the ModifyRule operation. The "output" return 2509// value will be populated with the request's response once the request completes 2510// successfully. 2511// 2512// Use "Send" method on the returned Request to send the API call to the service. 2513// the "output" return value is not valid until after Send returns without error. 2514// 2515// See ModifyRule for more information on using the ModifyRule 2516// API call, and error handling. 2517// 2518// This method is useful when you want to inject custom logic or configuration 2519// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2520// 2521// 2522// // Example sending a request using the ModifyRuleRequest method. 2523// req, resp := client.ModifyRuleRequest(params) 2524// 2525// err := req.Send() 2526// if err == nil { // resp is now filled 2527// fmt.Println(resp) 2528// } 2529// 2530// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule 2531func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) { 2532 op := &request.Operation{ 2533 Name: opModifyRule, 2534 HTTPMethod: "POST", 2535 HTTPPath: "/", 2536 } 2537 2538 if input == nil { 2539 input = &ModifyRuleInput{} 2540 } 2541 2542 output = &ModifyRuleOutput{} 2543 req = c.newRequest(op, input, output) 2544 return 2545} 2546 2547// ModifyRule API operation for Elastic Load Balancing. 2548// 2549// Replaces the specified properties of the specified rule. Any properties that 2550// you do not specify are unchanged. 2551// 2552// To add an item to a list, remove an item from a list, or update an item in 2553// a list, you must provide the entire list. For example, to add an action, 2554// specify a list with the current actions plus the new action. 2555// 2556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2557// with awserr.Error's Code and Message methods to get detailed information about 2558// the error. 2559// 2560// See the AWS API reference guide for Elastic Load Balancing's 2561// API operation ModifyRule for usage and error information. 2562// 2563// Returned Error Codes: 2564// * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" 2565// You've reached the limit on the number of load balancers per target group. 2566// 2567// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" 2568// The specified configuration is not valid with this protocol. 2569// 2570// * ErrCodeRuleNotFoundException "RuleNotFound" 2571// The specified rule does not exist. 2572// 2573// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 2574// This operation is not allowed. 2575// 2576// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" 2577// You've reached the limit on the number of times a target can be registered 2578// with a load balancer. 2579// 2580// * ErrCodeTooManyTargetsException "TooManyTargets" 2581// You've reached the limit on the number of targets. 2582// 2583// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2584// The specified target group does not exist. 2585// 2586// * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" 2587// The specified protocol is not supported. 2588// 2589// * ErrCodeTooManyActionsException "TooManyActions" 2590// You've reached the limit on the number of actions per rule. 2591// 2592// * ErrCodeInvalidLoadBalancerActionException "InvalidLoadBalancerAction" 2593// The requested action is not valid. 2594// 2595// * ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException "TooManyUniqueTargetGroupsPerLoadBalancer" 2596// You've reached the limit on the number of unique target groups per load balancer 2597// across all listeners. If a target group is used by multiple actions for a 2598// load balancer, it is counted as only one use. 2599// 2600// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule 2601func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) { 2602 req, out := c.ModifyRuleRequest(input) 2603 return out, req.Send() 2604} 2605 2606// ModifyRuleWithContext is the same as ModifyRule with the addition of 2607// the ability to pass a context and additional request options. 2608// 2609// See ModifyRule for details on how to use this API operation. 2610// 2611// The context must be non-nil and will be used for request cancellation. If 2612// the context is nil a panic will occur. In the future the SDK may create 2613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2614// for more information on using Contexts. 2615func (c *ELBV2) ModifyRuleWithContext(ctx aws.Context, input *ModifyRuleInput, opts ...request.Option) (*ModifyRuleOutput, error) { 2616 req, out := c.ModifyRuleRequest(input) 2617 req.SetContext(ctx) 2618 req.ApplyOptions(opts...) 2619 return out, req.Send() 2620} 2621 2622const opModifyTargetGroup = "ModifyTargetGroup" 2623 2624// ModifyTargetGroupRequest generates a "aws/request.Request" representing the 2625// client's request for the ModifyTargetGroup operation. The "output" return 2626// value will be populated with the request's response once the request completes 2627// successfully. 2628// 2629// Use "Send" method on the returned Request to send the API call to the service. 2630// the "output" return value is not valid until after Send returns without error. 2631// 2632// See ModifyTargetGroup for more information on using the ModifyTargetGroup 2633// API call, and error handling. 2634// 2635// This method is useful when you want to inject custom logic or configuration 2636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2637// 2638// 2639// // Example sending a request using the ModifyTargetGroupRequest method. 2640// req, resp := client.ModifyTargetGroupRequest(params) 2641// 2642// err := req.Send() 2643// if err == nil { // resp is now filled 2644// fmt.Println(resp) 2645// } 2646// 2647// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup 2648func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) { 2649 op := &request.Operation{ 2650 Name: opModifyTargetGroup, 2651 HTTPMethod: "POST", 2652 HTTPPath: "/", 2653 } 2654 2655 if input == nil { 2656 input = &ModifyTargetGroupInput{} 2657 } 2658 2659 output = &ModifyTargetGroupOutput{} 2660 req = c.newRequest(op, input, output) 2661 return 2662} 2663 2664// ModifyTargetGroup API operation for Elastic Load Balancing. 2665// 2666// Modifies the health checks used when evaluating the health state of the targets 2667// in the specified target group. 2668// 2669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2670// with awserr.Error's Code and Message methods to get detailed information about 2671// the error. 2672// 2673// See the AWS API reference guide for Elastic Load Balancing's 2674// API operation ModifyTargetGroup for usage and error information. 2675// 2676// Returned Error Codes: 2677// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2678// The specified target group does not exist. 2679// 2680// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 2681// The requested configuration is not valid. 2682// 2683// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup 2684func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) { 2685 req, out := c.ModifyTargetGroupRequest(input) 2686 return out, req.Send() 2687} 2688 2689// ModifyTargetGroupWithContext is the same as ModifyTargetGroup with the addition of 2690// the ability to pass a context and additional request options. 2691// 2692// See ModifyTargetGroup for details on how to use this API operation. 2693// 2694// The context must be non-nil and will be used for request cancellation. If 2695// the context is nil a panic will occur. In the future the SDK may create 2696// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2697// for more information on using Contexts. 2698func (c *ELBV2) ModifyTargetGroupWithContext(ctx aws.Context, input *ModifyTargetGroupInput, opts ...request.Option) (*ModifyTargetGroupOutput, error) { 2699 req, out := c.ModifyTargetGroupRequest(input) 2700 req.SetContext(ctx) 2701 req.ApplyOptions(opts...) 2702 return out, req.Send() 2703} 2704 2705const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes" 2706 2707// ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the 2708// client's request for the ModifyTargetGroupAttributes operation. The "output" return 2709// value will be populated with the request's response once the request completes 2710// successfully. 2711// 2712// Use "Send" method on the returned Request to send the API call to the service. 2713// the "output" return value is not valid until after Send returns without error. 2714// 2715// See ModifyTargetGroupAttributes for more information on using the ModifyTargetGroupAttributes 2716// API call, and error handling. 2717// 2718// This method is useful when you want to inject custom logic or configuration 2719// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2720// 2721// 2722// // Example sending a request using the ModifyTargetGroupAttributesRequest method. 2723// req, resp := client.ModifyTargetGroupAttributesRequest(params) 2724// 2725// err := req.Send() 2726// if err == nil { // resp is now filled 2727// fmt.Println(resp) 2728// } 2729// 2730// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes 2731func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) { 2732 op := &request.Operation{ 2733 Name: opModifyTargetGroupAttributes, 2734 HTTPMethod: "POST", 2735 HTTPPath: "/", 2736 } 2737 2738 if input == nil { 2739 input = &ModifyTargetGroupAttributesInput{} 2740 } 2741 2742 output = &ModifyTargetGroupAttributesOutput{} 2743 req = c.newRequest(op, input, output) 2744 return 2745} 2746 2747// ModifyTargetGroupAttributes API operation for Elastic Load Balancing. 2748// 2749// Modifies the specified attributes of the specified target group. 2750// 2751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2752// with awserr.Error's Code and Message methods to get detailed information about 2753// the error. 2754// 2755// See the AWS API reference guide for Elastic Load Balancing's 2756// API operation ModifyTargetGroupAttributes for usage and error information. 2757// 2758// Returned Error Codes: 2759// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2760// The specified target group does not exist. 2761// 2762// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 2763// The requested configuration is not valid. 2764// 2765// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes 2766func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) { 2767 req, out := c.ModifyTargetGroupAttributesRequest(input) 2768 return out, req.Send() 2769} 2770 2771// ModifyTargetGroupAttributesWithContext is the same as ModifyTargetGroupAttributes with the addition of 2772// the ability to pass a context and additional request options. 2773// 2774// See ModifyTargetGroupAttributes for details on how to use this API operation. 2775// 2776// The context must be non-nil and will be used for request cancellation. If 2777// the context is nil a panic will occur. In the future the SDK may create 2778// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2779// for more information on using Contexts. 2780func (c *ELBV2) ModifyTargetGroupAttributesWithContext(ctx aws.Context, input *ModifyTargetGroupAttributesInput, opts ...request.Option) (*ModifyTargetGroupAttributesOutput, error) { 2781 req, out := c.ModifyTargetGroupAttributesRequest(input) 2782 req.SetContext(ctx) 2783 req.ApplyOptions(opts...) 2784 return out, req.Send() 2785} 2786 2787const opRegisterTargets = "RegisterTargets" 2788 2789// RegisterTargetsRequest generates a "aws/request.Request" representing the 2790// client's request for the RegisterTargets operation. The "output" return 2791// value will be populated with the request's response once the request completes 2792// successfully. 2793// 2794// Use "Send" method on the returned Request to send the API call to the service. 2795// the "output" return value is not valid until after Send returns without error. 2796// 2797// See RegisterTargets for more information on using the RegisterTargets 2798// API call, and error handling. 2799// 2800// This method is useful when you want to inject custom logic or configuration 2801// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2802// 2803// 2804// // Example sending a request using the RegisterTargetsRequest method. 2805// req, resp := client.RegisterTargetsRequest(params) 2806// 2807// err := req.Send() 2808// if err == nil { // resp is now filled 2809// fmt.Println(resp) 2810// } 2811// 2812// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets 2813func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) { 2814 op := &request.Operation{ 2815 Name: opRegisterTargets, 2816 HTTPMethod: "POST", 2817 HTTPPath: "/", 2818 } 2819 2820 if input == nil { 2821 input = &RegisterTargetsInput{} 2822 } 2823 2824 output = &RegisterTargetsOutput{} 2825 req = c.newRequest(op, input, output) 2826 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2827 return 2828} 2829 2830// RegisterTargets API operation for Elastic Load Balancing. 2831// 2832// Registers the specified targets with the specified target group. 2833// 2834// If the target is an EC2 instance, it must be in the running state when you 2835// register it. 2836// 2837// By default, the load balancer routes requests to registered targets using 2838// the protocol and port for the target group. Alternatively, you can override 2839// the port for a target when you register it. You can register each EC2 instance 2840// or IP address with the same target group multiple times using different ports. 2841// 2842// With a Network Load Balancer, you cannot register instances by instance ID 2843// if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, 2844// G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these 2845// types by IP address. 2846// 2847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2848// with awserr.Error's Code and Message methods to get detailed information about 2849// the error. 2850// 2851// See the AWS API reference guide for Elastic Load Balancing's 2852// API operation RegisterTargets for usage and error information. 2853// 2854// Returned Error Codes: 2855// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 2856// The specified target group does not exist. 2857// 2858// * ErrCodeTooManyTargetsException "TooManyTargets" 2859// You've reached the limit on the number of targets. 2860// 2861// * ErrCodeInvalidTargetException "InvalidTarget" 2862// The specified target does not exist, is not in the same VPC as the target 2863// group, or has an unsupported instance type. 2864// 2865// * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" 2866// You've reached the limit on the number of times a target can be registered 2867// with a load balancer. 2868// 2869// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargets 2870func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) { 2871 req, out := c.RegisterTargetsRequest(input) 2872 return out, req.Send() 2873} 2874 2875// RegisterTargetsWithContext is the same as RegisterTargets with the addition of 2876// the ability to pass a context and additional request options. 2877// 2878// See RegisterTargets for details on how to use this API operation. 2879// 2880// The context must be non-nil and will be used for request cancellation. If 2881// the context is nil a panic will occur. In the future the SDK may create 2882// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2883// for more information on using Contexts. 2884func (c *ELBV2) RegisterTargetsWithContext(ctx aws.Context, input *RegisterTargetsInput, opts ...request.Option) (*RegisterTargetsOutput, error) { 2885 req, out := c.RegisterTargetsRequest(input) 2886 req.SetContext(ctx) 2887 req.ApplyOptions(opts...) 2888 return out, req.Send() 2889} 2890 2891const opRemoveListenerCertificates = "RemoveListenerCertificates" 2892 2893// RemoveListenerCertificatesRequest generates a "aws/request.Request" representing the 2894// client's request for the RemoveListenerCertificates operation. The "output" return 2895// value will be populated with the request's response once the request completes 2896// successfully. 2897// 2898// Use "Send" method on the returned Request to send the API call to the service. 2899// the "output" return value is not valid until after Send returns without error. 2900// 2901// See RemoveListenerCertificates for more information on using the RemoveListenerCertificates 2902// API call, and error handling. 2903// 2904// This method is useful when you want to inject custom logic or configuration 2905// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2906// 2907// 2908// // Example sending a request using the RemoveListenerCertificatesRequest method. 2909// req, resp := client.RemoveListenerCertificatesRequest(params) 2910// 2911// err := req.Send() 2912// if err == nil { // resp is now filled 2913// fmt.Println(resp) 2914// } 2915// 2916// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates 2917func (c *ELBV2) RemoveListenerCertificatesRequest(input *RemoveListenerCertificatesInput) (req *request.Request, output *RemoveListenerCertificatesOutput) { 2918 op := &request.Operation{ 2919 Name: opRemoveListenerCertificates, 2920 HTTPMethod: "POST", 2921 HTTPPath: "/", 2922 } 2923 2924 if input == nil { 2925 input = &RemoveListenerCertificatesInput{} 2926 } 2927 2928 output = &RemoveListenerCertificatesOutput{} 2929 req = c.newRequest(op, input, output) 2930 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2931 return 2932} 2933 2934// RemoveListenerCertificates API operation for Elastic Load Balancing. 2935// 2936// Removes the specified certificate from the certificate list for the specified 2937// HTTPS or TLS listener. 2938// 2939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2940// with awserr.Error's Code and Message methods to get detailed information about 2941// the error. 2942// 2943// See the AWS API reference guide for Elastic Load Balancing's 2944// API operation RemoveListenerCertificates for usage and error information. 2945// 2946// Returned Error Codes: 2947// * ErrCodeListenerNotFoundException "ListenerNotFound" 2948// The specified listener does not exist. 2949// 2950// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 2951// This operation is not allowed. 2952// 2953// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificates 2954func (c *ELBV2) RemoveListenerCertificates(input *RemoveListenerCertificatesInput) (*RemoveListenerCertificatesOutput, error) { 2955 req, out := c.RemoveListenerCertificatesRequest(input) 2956 return out, req.Send() 2957} 2958 2959// RemoveListenerCertificatesWithContext is the same as RemoveListenerCertificates with the addition of 2960// the ability to pass a context and additional request options. 2961// 2962// See RemoveListenerCertificates for details on how to use this API operation. 2963// 2964// The context must be non-nil and will be used for request cancellation. If 2965// the context is nil a panic will occur. In the future the SDK may create 2966// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2967// for more information on using Contexts. 2968func (c *ELBV2) RemoveListenerCertificatesWithContext(ctx aws.Context, input *RemoveListenerCertificatesInput, opts ...request.Option) (*RemoveListenerCertificatesOutput, error) { 2969 req, out := c.RemoveListenerCertificatesRequest(input) 2970 req.SetContext(ctx) 2971 req.ApplyOptions(opts...) 2972 return out, req.Send() 2973} 2974 2975const opRemoveTags = "RemoveTags" 2976 2977// RemoveTagsRequest generates a "aws/request.Request" representing the 2978// client's request for the RemoveTags operation. The "output" return 2979// value will be populated with the request's response once the request completes 2980// successfully. 2981// 2982// Use "Send" method on the returned Request to send the API call to the service. 2983// the "output" return value is not valid until after Send returns without error. 2984// 2985// See RemoveTags for more information on using the RemoveTags 2986// API call, and error handling. 2987// 2988// This method is useful when you want to inject custom logic or configuration 2989// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2990// 2991// 2992// // Example sending a request using the RemoveTagsRequest method. 2993// req, resp := client.RemoveTagsRequest(params) 2994// 2995// err := req.Send() 2996// if err == nil { // resp is now filled 2997// fmt.Println(resp) 2998// } 2999// 3000// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags 3001func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { 3002 op := &request.Operation{ 3003 Name: opRemoveTags, 3004 HTTPMethod: "POST", 3005 HTTPPath: "/", 3006 } 3007 3008 if input == nil { 3009 input = &RemoveTagsInput{} 3010 } 3011 3012 output = &RemoveTagsOutput{} 3013 req = c.newRequest(op, input, output) 3014 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3015 return 3016} 3017 3018// RemoveTags API operation for Elastic Load Balancing. 3019// 3020// Removes the specified tags from the specified Elastic Load Balancing resources. 3021// You can remove the tags for one or more Application Load Balancers, Network 3022// Load Balancers, Gateway Load Balancers, target groups, listeners, or rules. 3023// 3024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3025// with awserr.Error's Code and Message methods to get detailed information about 3026// the error. 3027// 3028// See the AWS API reference guide for Elastic Load Balancing's 3029// API operation RemoveTags for usage and error information. 3030// 3031// Returned Error Codes: 3032// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 3033// The specified load balancer does not exist. 3034// 3035// * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" 3036// The specified target group does not exist. 3037// 3038// * ErrCodeListenerNotFoundException "ListenerNotFound" 3039// The specified listener does not exist. 3040// 3041// * ErrCodeRuleNotFoundException "RuleNotFound" 3042// The specified rule does not exist. 3043// 3044// * ErrCodeTooManyTagsException "TooManyTags" 3045// You've reached the limit on the number of tags per load balancer. 3046// 3047// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveTags 3048func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { 3049 req, out := c.RemoveTagsRequest(input) 3050 return out, req.Send() 3051} 3052 3053// RemoveTagsWithContext is the same as RemoveTags with the addition of 3054// the ability to pass a context and additional request options. 3055// 3056// See RemoveTags for details on how to use this API operation. 3057// 3058// The context must be non-nil and will be used for request cancellation. If 3059// the context is nil a panic will occur. In the future the SDK may create 3060// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3061// for more information on using Contexts. 3062func (c *ELBV2) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { 3063 req, out := c.RemoveTagsRequest(input) 3064 req.SetContext(ctx) 3065 req.ApplyOptions(opts...) 3066 return out, req.Send() 3067} 3068 3069const opSetIpAddressType = "SetIpAddressType" 3070 3071// SetIpAddressTypeRequest generates a "aws/request.Request" representing the 3072// client's request for the SetIpAddressType operation. The "output" return 3073// value will be populated with the request's response once the request completes 3074// successfully. 3075// 3076// Use "Send" method on the returned Request to send the API call to the service. 3077// the "output" return value is not valid until after Send returns without error. 3078// 3079// See SetIpAddressType for more information on using the SetIpAddressType 3080// API call, and error handling. 3081// 3082// This method is useful when you want to inject custom logic or configuration 3083// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3084// 3085// 3086// // Example sending a request using the SetIpAddressTypeRequest method. 3087// req, resp := client.SetIpAddressTypeRequest(params) 3088// 3089// err := req.Send() 3090// if err == nil { // resp is now filled 3091// fmt.Println(resp) 3092// } 3093// 3094// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType 3095func (c *ELBV2) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) { 3096 op := &request.Operation{ 3097 Name: opSetIpAddressType, 3098 HTTPMethod: "POST", 3099 HTTPPath: "/", 3100 } 3101 3102 if input == nil { 3103 input = &SetIpAddressTypeInput{} 3104 } 3105 3106 output = &SetIpAddressTypeOutput{} 3107 req = c.newRequest(op, input, output) 3108 return 3109} 3110 3111// SetIpAddressType API operation for Elastic Load Balancing. 3112// 3113// Sets the type of IP addresses used by the subnets of the specified Application 3114// Load Balancer or Network Load Balancer. 3115// 3116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3117// with awserr.Error's Code and Message methods to get detailed information about 3118// the error. 3119// 3120// See the AWS API reference guide for Elastic Load Balancing's 3121// API operation SetIpAddressType for usage and error information. 3122// 3123// Returned Error Codes: 3124// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 3125// The specified load balancer does not exist. 3126// 3127// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 3128// The requested configuration is not valid. 3129// 3130// * ErrCodeInvalidSubnetException "InvalidSubnet" 3131// The specified subnet is out of available addresses. 3132// 3133// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressType 3134func (c *ELBV2) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) { 3135 req, out := c.SetIpAddressTypeRequest(input) 3136 return out, req.Send() 3137} 3138 3139// SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of 3140// the ability to pass a context and additional request options. 3141// 3142// See SetIpAddressType for details on how to use this API operation. 3143// 3144// The context must be non-nil and will be used for request cancellation. If 3145// the context is nil a panic will occur. In the future the SDK may create 3146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3147// for more information on using Contexts. 3148func (c *ELBV2) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) { 3149 req, out := c.SetIpAddressTypeRequest(input) 3150 req.SetContext(ctx) 3151 req.ApplyOptions(opts...) 3152 return out, req.Send() 3153} 3154 3155const opSetRulePriorities = "SetRulePriorities" 3156 3157// SetRulePrioritiesRequest generates a "aws/request.Request" representing the 3158// client's request for the SetRulePriorities operation. The "output" return 3159// value will be populated with the request's response once the request completes 3160// successfully. 3161// 3162// Use "Send" method on the returned Request to send the API call to the service. 3163// the "output" return value is not valid until after Send returns without error. 3164// 3165// See SetRulePriorities for more information on using the SetRulePriorities 3166// API call, and error handling. 3167// 3168// This method is useful when you want to inject custom logic or configuration 3169// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3170// 3171// 3172// // Example sending a request using the SetRulePrioritiesRequest method. 3173// req, resp := client.SetRulePrioritiesRequest(params) 3174// 3175// err := req.Send() 3176// if err == nil { // resp is now filled 3177// fmt.Println(resp) 3178// } 3179// 3180// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities 3181func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) { 3182 op := &request.Operation{ 3183 Name: opSetRulePriorities, 3184 HTTPMethod: "POST", 3185 HTTPPath: "/", 3186 } 3187 3188 if input == nil { 3189 input = &SetRulePrioritiesInput{} 3190 } 3191 3192 output = &SetRulePrioritiesOutput{} 3193 req = c.newRequest(op, input, output) 3194 return 3195} 3196 3197// SetRulePriorities API operation for Elastic Load Balancing. 3198// 3199// Sets the priorities of the specified rules. 3200// 3201// You can reorder the rules as long as there are no priority conflicts in the 3202// new order. Any existing rules that you do not specify retain their current 3203// priority. 3204// 3205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3206// with awserr.Error's Code and Message methods to get detailed information about 3207// the error. 3208// 3209// See the AWS API reference guide for Elastic Load Balancing's 3210// API operation SetRulePriorities for usage and error information. 3211// 3212// Returned Error Codes: 3213// * ErrCodeRuleNotFoundException "RuleNotFound" 3214// The specified rule does not exist. 3215// 3216// * ErrCodePriorityInUseException "PriorityInUse" 3217// The specified priority is in use. 3218// 3219// * ErrCodeOperationNotPermittedException "OperationNotPermitted" 3220// This operation is not allowed. 3221// 3222// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities 3223func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) { 3224 req, out := c.SetRulePrioritiesRequest(input) 3225 return out, req.Send() 3226} 3227 3228// SetRulePrioritiesWithContext is the same as SetRulePriorities with the addition of 3229// the ability to pass a context and additional request options. 3230// 3231// See SetRulePriorities for details on how to use this API operation. 3232// 3233// The context must be non-nil and will be used for request cancellation. If 3234// the context is nil a panic will occur. In the future the SDK may create 3235// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3236// for more information on using Contexts. 3237func (c *ELBV2) SetRulePrioritiesWithContext(ctx aws.Context, input *SetRulePrioritiesInput, opts ...request.Option) (*SetRulePrioritiesOutput, error) { 3238 req, out := c.SetRulePrioritiesRequest(input) 3239 req.SetContext(ctx) 3240 req.ApplyOptions(opts...) 3241 return out, req.Send() 3242} 3243 3244const opSetSecurityGroups = "SetSecurityGroups" 3245 3246// SetSecurityGroupsRequest generates a "aws/request.Request" representing the 3247// client's request for the SetSecurityGroups operation. The "output" return 3248// value will be populated with the request's response once the request completes 3249// successfully. 3250// 3251// Use "Send" method on the returned Request to send the API call to the service. 3252// the "output" return value is not valid until after Send returns without error. 3253// 3254// See SetSecurityGroups for more information on using the SetSecurityGroups 3255// API call, and error handling. 3256// 3257// This method is useful when you want to inject custom logic or configuration 3258// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3259// 3260// 3261// // Example sending a request using the SetSecurityGroupsRequest method. 3262// req, resp := client.SetSecurityGroupsRequest(params) 3263// 3264// err := req.Send() 3265// if err == nil { // resp is now filled 3266// fmt.Println(resp) 3267// } 3268// 3269// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups 3270func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) { 3271 op := &request.Operation{ 3272 Name: opSetSecurityGroups, 3273 HTTPMethod: "POST", 3274 HTTPPath: "/", 3275 } 3276 3277 if input == nil { 3278 input = &SetSecurityGroupsInput{} 3279 } 3280 3281 output = &SetSecurityGroupsOutput{} 3282 req = c.newRequest(op, input, output) 3283 return 3284} 3285 3286// SetSecurityGroups API operation for Elastic Load Balancing. 3287// 3288// Associates the specified security groups with the specified Application Load 3289// Balancer. The specified security groups override the previously associated 3290// security groups. 3291// 3292// You can't specify a security group for a Network Load Balancer or Gateway 3293// Load Balancer. 3294// 3295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3296// with awserr.Error's Code and Message methods to get detailed information about 3297// the error. 3298// 3299// See the AWS API reference guide for Elastic Load Balancing's 3300// API operation SetSecurityGroups for usage and error information. 3301// 3302// Returned Error Codes: 3303// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 3304// The specified load balancer does not exist. 3305// 3306// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 3307// The requested configuration is not valid. 3308// 3309// * ErrCodeInvalidSecurityGroupException "InvalidSecurityGroup" 3310// The specified security group does not exist. 3311// 3312// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups 3313func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) { 3314 req, out := c.SetSecurityGroupsRequest(input) 3315 return out, req.Send() 3316} 3317 3318// SetSecurityGroupsWithContext is the same as SetSecurityGroups with the addition of 3319// the ability to pass a context and additional request options. 3320// 3321// See SetSecurityGroups for details on how to use this API operation. 3322// 3323// The context must be non-nil and will be used for request cancellation. If 3324// the context is nil a panic will occur. In the future the SDK may create 3325// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3326// for more information on using Contexts. 3327func (c *ELBV2) SetSecurityGroupsWithContext(ctx aws.Context, input *SetSecurityGroupsInput, opts ...request.Option) (*SetSecurityGroupsOutput, error) { 3328 req, out := c.SetSecurityGroupsRequest(input) 3329 req.SetContext(ctx) 3330 req.ApplyOptions(opts...) 3331 return out, req.Send() 3332} 3333 3334const opSetSubnets = "SetSubnets" 3335 3336// SetSubnetsRequest generates a "aws/request.Request" representing the 3337// client's request for the SetSubnets operation. The "output" return 3338// value will be populated with the request's response once the request completes 3339// successfully. 3340// 3341// Use "Send" method on the returned Request to send the API call to the service. 3342// the "output" return value is not valid until after Send returns without error. 3343// 3344// See SetSubnets for more information on using the SetSubnets 3345// API call, and error handling. 3346// 3347// This method is useful when you want to inject custom logic or configuration 3348// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3349// 3350// 3351// // Example sending a request using the SetSubnetsRequest method. 3352// req, resp := client.SetSubnetsRequest(params) 3353// 3354// err := req.Send() 3355// if err == nil { // resp is now filled 3356// fmt.Println(resp) 3357// } 3358// 3359// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets 3360func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) { 3361 op := &request.Operation{ 3362 Name: opSetSubnets, 3363 HTTPMethod: "POST", 3364 HTTPPath: "/", 3365 } 3366 3367 if input == nil { 3368 input = &SetSubnetsInput{} 3369 } 3370 3371 output = &SetSubnetsOutput{} 3372 req = c.newRequest(op, input, output) 3373 return 3374} 3375 3376// SetSubnets API operation for Elastic Load Balancing. 3377// 3378// Enables the Availability Zones for the specified public subnets for the specified 3379// Application Load Balancer or Network Load Balancer. The specified subnets 3380// replace the previously enabled subnets. 3381// 3382// When you specify subnets for a Network Load Balancer, you must include all 3383// subnets that were enabled previously, with their existing configurations, 3384// plus any additional subnets. 3385// 3386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3387// with awserr.Error's Code and Message methods to get detailed information about 3388// the error. 3389// 3390// See the AWS API reference guide for Elastic Load Balancing's 3391// API operation SetSubnets for usage and error information. 3392// 3393// Returned Error Codes: 3394// * ErrCodeLoadBalancerNotFoundException "LoadBalancerNotFound" 3395// The specified load balancer does not exist. 3396// 3397// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" 3398// The requested configuration is not valid. 3399// 3400// * ErrCodeSubnetNotFoundException "SubnetNotFound" 3401// The specified subnet does not exist. 3402// 3403// * ErrCodeInvalidSubnetException "InvalidSubnet" 3404// The specified subnet is out of available addresses. 3405// 3406// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound" 3407// The specified allocation ID does not exist. 3408// 3409// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported" 3410// The specified Availability Zone is not supported. 3411// 3412// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets 3413func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) { 3414 req, out := c.SetSubnetsRequest(input) 3415 return out, req.Send() 3416} 3417 3418// SetSubnetsWithContext is the same as SetSubnets with the addition of 3419// the ability to pass a context and additional request options. 3420// 3421// See SetSubnets for details on how to use this API operation. 3422// 3423// The context must be non-nil and will be used for request cancellation. If 3424// the context is nil a panic will occur. In the future the SDK may create 3425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3426// for more information on using Contexts. 3427func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, opts ...request.Option) (*SetSubnetsOutput, error) { 3428 req, out := c.SetSubnetsRequest(input) 3429 req.SetContext(ctx) 3430 req.ApplyOptions(opts...) 3431 return out, req.Send() 3432} 3433 3434// Information about an action. 3435// 3436// Each rule must include exactly one of the following types of actions: forward, 3437// fixed-response, or redirect, and it must be the last action to be performed. 3438type Action struct { 3439 _ struct{} `type:"structure"` 3440 3441 // [HTTPS listeners] Information for using Amazon Cognito to authenticate users. 3442 // Specify only when Type is authenticate-cognito. 3443 AuthenticateCognitoConfig *AuthenticateCognitoActionConfig `type:"structure"` 3444 3445 // [HTTPS listeners] Information about an identity provider that is compliant 3446 // with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc. 3447 AuthenticateOidcConfig *AuthenticateOidcActionConfig `type:"structure"` 3448 3449 // [Application Load Balancer] Information for creating an action that returns 3450 // a custom HTTP response. Specify only when Type is fixed-response. 3451 FixedResponseConfig *FixedResponseActionConfig `type:"structure"` 3452 3453 // Information for creating an action that distributes requests among one or 3454 // more target groups. For Network Load Balancers, you can specify a single 3455 // target group. Specify only when Type is forward. If you specify both ForwardConfig 3456 // and TargetGroupArn, you can specify only one target group using ForwardConfig 3457 // and it must be the same target group specified in TargetGroupArn. 3458 ForwardConfig *ForwardActionConfig `type:"structure"` 3459 3460 // The order for the action. This value is required for rules with multiple 3461 // actions. The action with the lowest value for order is performed first. 3462 Order *int64 `min:"1" type:"integer"` 3463 3464 // [Application Load Balancer] Information for creating a redirect action. Specify 3465 // only when Type is redirect. 3466 RedirectConfig *RedirectActionConfig `type:"structure"` 3467 3468 // The Amazon Resource Name (ARN) of the target group. Specify only when Type 3469 // is forward and you want to route to a single target group. To route to one 3470 // or more target groups, use ForwardConfig instead. 3471 TargetGroupArn *string `type:"string"` 3472 3473 // The type of action. 3474 // 3475 // Type is a required field 3476 Type *string `type:"string" required:"true" enum:"ActionTypeEnum"` 3477} 3478 3479// String returns the string representation. 3480// 3481// API parameter values that are decorated as "sensitive" in the API will not 3482// be included in the string output. The member name will be present, but the 3483// value will be replaced with "sensitive". 3484func (s Action) String() string { 3485 return awsutil.Prettify(s) 3486} 3487 3488// GoString returns the string representation. 3489// 3490// API parameter values that are decorated as "sensitive" in the API will not 3491// be included in the string output. The member name will be present, but the 3492// value will be replaced with "sensitive". 3493func (s Action) GoString() string { 3494 return s.String() 3495} 3496 3497// Validate inspects the fields of the type to determine if they are valid. 3498func (s *Action) Validate() error { 3499 invalidParams := request.ErrInvalidParams{Context: "Action"} 3500 if s.Order != nil && *s.Order < 1 { 3501 invalidParams.Add(request.NewErrParamMinValue("Order", 1)) 3502 } 3503 if s.Type == nil { 3504 invalidParams.Add(request.NewErrParamRequired("Type")) 3505 } 3506 if s.AuthenticateCognitoConfig != nil { 3507 if err := s.AuthenticateCognitoConfig.Validate(); err != nil { 3508 invalidParams.AddNested("AuthenticateCognitoConfig", err.(request.ErrInvalidParams)) 3509 } 3510 } 3511 if s.AuthenticateOidcConfig != nil { 3512 if err := s.AuthenticateOidcConfig.Validate(); err != nil { 3513 invalidParams.AddNested("AuthenticateOidcConfig", err.(request.ErrInvalidParams)) 3514 } 3515 } 3516 if s.FixedResponseConfig != nil { 3517 if err := s.FixedResponseConfig.Validate(); err != nil { 3518 invalidParams.AddNested("FixedResponseConfig", err.(request.ErrInvalidParams)) 3519 } 3520 } 3521 if s.RedirectConfig != nil { 3522 if err := s.RedirectConfig.Validate(); err != nil { 3523 invalidParams.AddNested("RedirectConfig", err.(request.ErrInvalidParams)) 3524 } 3525 } 3526 3527 if invalidParams.Len() > 0 { 3528 return invalidParams 3529 } 3530 return nil 3531} 3532 3533// SetAuthenticateCognitoConfig sets the AuthenticateCognitoConfig field's value. 3534func (s *Action) SetAuthenticateCognitoConfig(v *AuthenticateCognitoActionConfig) *Action { 3535 s.AuthenticateCognitoConfig = v 3536 return s 3537} 3538 3539// SetAuthenticateOidcConfig sets the AuthenticateOidcConfig field's value. 3540func (s *Action) SetAuthenticateOidcConfig(v *AuthenticateOidcActionConfig) *Action { 3541 s.AuthenticateOidcConfig = v 3542 return s 3543} 3544 3545// SetFixedResponseConfig sets the FixedResponseConfig field's value. 3546func (s *Action) SetFixedResponseConfig(v *FixedResponseActionConfig) *Action { 3547 s.FixedResponseConfig = v 3548 return s 3549} 3550 3551// SetForwardConfig sets the ForwardConfig field's value. 3552func (s *Action) SetForwardConfig(v *ForwardActionConfig) *Action { 3553 s.ForwardConfig = v 3554 return s 3555} 3556 3557// SetOrder sets the Order field's value. 3558func (s *Action) SetOrder(v int64) *Action { 3559 s.Order = &v 3560 return s 3561} 3562 3563// SetRedirectConfig sets the RedirectConfig field's value. 3564func (s *Action) SetRedirectConfig(v *RedirectActionConfig) *Action { 3565 s.RedirectConfig = v 3566 return s 3567} 3568 3569// SetTargetGroupArn sets the TargetGroupArn field's value. 3570func (s *Action) SetTargetGroupArn(v string) *Action { 3571 s.TargetGroupArn = &v 3572 return s 3573} 3574 3575// SetType sets the Type field's value. 3576func (s *Action) SetType(v string) *Action { 3577 s.Type = &v 3578 return s 3579} 3580 3581type AddListenerCertificatesInput struct { 3582 _ struct{} `type:"structure"` 3583 3584 // The certificate to add. You can specify one certificate per call. Set CertificateArn 3585 // to the certificate ARN but do not set IsDefault. 3586 // 3587 // Certificates is a required field 3588 Certificates []*Certificate `type:"list" required:"true"` 3589 3590 // The Amazon Resource Name (ARN) of the listener. 3591 // 3592 // ListenerArn is a required field 3593 ListenerArn *string `type:"string" required:"true"` 3594} 3595 3596// String returns the string representation. 3597// 3598// API parameter values that are decorated as "sensitive" in the API will not 3599// be included in the string output. The member name will be present, but the 3600// value will be replaced with "sensitive". 3601func (s AddListenerCertificatesInput) String() string { 3602 return awsutil.Prettify(s) 3603} 3604 3605// GoString returns the string representation. 3606// 3607// API parameter values that are decorated as "sensitive" in the API will not 3608// be included in the string output. The member name will be present, but the 3609// value will be replaced with "sensitive". 3610func (s AddListenerCertificatesInput) GoString() string { 3611 return s.String() 3612} 3613 3614// Validate inspects the fields of the type to determine if they are valid. 3615func (s *AddListenerCertificatesInput) Validate() error { 3616 invalidParams := request.ErrInvalidParams{Context: "AddListenerCertificatesInput"} 3617 if s.Certificates == nil { 3618 invalidParams.Add(request.NewErrParamRequired("Certificates")) 3619 } 3620 if s.ListenerArn == nil { 3621 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 3622 } 3623 3624 if invalidParams.Len() > 0 { 3625 return invalidParams 3626 } 3627 return nil 3628} 3629 3630// SetCertificates sets the Certificates field's value. 3631func (s *AddListenerCertificatesInput) SetCertificates(v []*Certificate) *AddListenerCertificatesInput { 3632 s.Certificates = v 3633 return s 3634} 3635 3636// SetListenerArn sets the ListenerArn field's value. 3637func (s *AddListenerCertificatesInput) SetListenerArn(v string) *AddListenerCertificatesInput { 3638 s.ListenerArn = &v 3639 return s 3640} 3641 3642type AddListenerCertificatesOutput struct { 3643 _ struct{} `type:"structure"` 3644 3645 // Information about the certificates in the certificate list. 3646 Certificates []*Certificate `type:"list"` 3647} 3648 3649// String returns the string representation. 3650// 3651// API parameter values that are decorated as "sensitive" in the API will not 3652// be included in the string output. The member name will be present, but the 3653// value will be replaced with "sensitive". 3654func (s AddListenerCertificatesOutput) String() string { 3655 return awsutil.Prettify(s) 3656} 3657 3658// GoString returns the string representation. 3659// 3660// API parameter values that are decorated as "sensitive" in the API will not 3661// be included in the string output. The member name will be present, but the 3662// value will be replaced with "sensitive". 3663func (s AddListenerCertificatesOutput) GoString() string { 3664 return s.String() 3665} 3666 3667// SetCertificates sets the Certificates field's value. 3668func (s *AddListenerCertificatesOutput) SetCertificates(v []*Certificate) *AddListenerCertificatesOutput { 3669 s.Certificates = v 3670 return s 3671} 3672 3673type AddTagsInput struct { 3674 _ struct{} `type:"structure"` 3675 3676 // The Amazon Resource Name (ARN) of the resource. 3677 // 3678 // ResourceArns is a required field 3679 ResourceArns []*string `type:"list" required:"true"` 3680 3681 // The tags. 3682 // 3683 // Tags is a required field 3684 Tags []*Tag `min:"1" type:"list" required:"true"` 3685} 3686 3687// String returns the string representation. 3688// 3689// API parameter values that are decorated as "sensitive" in the API will not 3690// be included in the string output. The member name will be present, but the 3691// value will be replaced with "sensitive". 3692func (s AddTagsInput) String() string { 3693 return awsutil.Prettify(s) 3694} 3695 3696// GoString returns the string representation. 3697// 3698// API parameter values that are decorated as "sensitive" in the API will not 3699// be included in the string output. The member name will be present, but the 3700// value will be replaced with "sensitive". 3701func (s AddTagsInput) GoString() string { 3702 return s.String() 3703} 3704 3705// Validate inspects the fields of the type to determine if they are valid. 3706func (s *AddTagsInput) Validate() error { 3707 invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} 3708 if s.ResourceArns == nil { 3709 invalidParams.Add(request.NewErrParamRequired("ResourceArns")) 3710 } 3711 if s.Tags == nil { 3712 invalidParams.Add(request.NewErrParamRequired("Tags")) 3713 } 3714 if s.Tags != nil && len(s.Tags) < 1 { 3715 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3716 } 3717 if s.Tags != nil { 3718 for i, v := range s.Tags { 3719 if v == nil { 3720 continue 3721 } 3722 if err := v.Validate(); err != nil { 3723 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3724 } 3725 } 3726 } 3727 3728 if invalidParams.Len() > 0 { 3729 return invalidParams 3730 } 3731 return nil 3732} 3733 3734// SetResourceArns sets the ResourceArns field's value. 3735func (s *AddTagsInput) SetResourceArns(v []*string) *AddTagsInput { 3736 s.ResourceArns = v 3737 return s 3738} 3739 3740// SetTags sets the Tags field's value. 3741func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { 3742 s.Tags = v 3743 return s 3744} 3745 3746type AddTagsOutput struct { 3747 _ struct{} `type:"structure"` 3748} 3749 3750// String returns the string representation. 3751// 3752// API parameter values that are decorated as "sensitive" in the API will not 3753// be included in the string output. The member name will be present, but the 3754// value will be replaced with "sensitive". 3755func (s AddTagsOutput) String() string { 3756 return awsutil.Prettify(s) 3757} 3758 3759// GoString returns the string representation. 3760// 3761// API parameter values that are decorated as "sensitive" in the API will not 3762// be included in the string output. The member name will be present, but the 3763// value will be replaced with "sensitive". 3764func (s AddTagsOutput) GoString() string { 3765 return s.String() 3766} 3767 3768// Request parameters to use when integrating with Amazon Cognito to authenticate 3769// users. 3770type AuthenticateCognitoActionConfig struct { 3771 _ struct{} `type:"structure"` 3772 3773 // The query parameters (up to 10) to include in the redirect request to the 3774 // authorization endpoint. 3775 AuthenticationRequestExtraParams map[string]*string `type:"map"` 3776 3777 // The behavior if the user is not authenticated. The following are possible 3778 // values: 3779 // 3780 // * deny - Return an HTTP 401 Unauthorized error. 3781 // 3782 // * allow - Allow the request to be forwarded to the target. 3783 // 3784 // * authenticate - Redirect the request to the IdP authorization endpoint. 3785 // This is the default value. 3786 OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateCognitoActionConditionalBehaviorEnum"` 3787 3788 // The set of user claims to be requested from the IdP. The default is openid. 3789 // 3790 // To verify which scope values your IdP supports and how to separate multiple 3791 // values, see the documentation for your IdP. 3792 Scope *string `type:"string"` 3793 3794 // The name of the cookie used to maintain session information. The default 3795 // is AWSELBAuthSessionCookie. 3796 SessionCookieName *string `type:"string"` 3797 3798 // The maximum duration of the authentication session, in seconds. The default 3799 // is 604800 seconds (7 days). 3800 SessionTimeout *int64 `type:"long"` 3801 3802 // The Amazon Resource Name (ARN) of the Amazon Cognito user pool. 3803 // 3804 // UserPoolArn is a required field 3805 UserPoolArn *string `type:"string" required:"true"` 3806 3807 // The ID of the Amazon Cognito user pool client. 3808 // 3809 // UserPoolClientId is a required field 3810 UserPoolClientId *string `type:"string" required:"true"` 3811 3812 // The domain prefix or fully-qualified domain name of the Amazon Cognito user 3813 // pool. 3814 // 3815 // UserPoolDomain is a required field 3816 UserPoolDomain *string `type:"string" required:"true"` 3817} 3818 3819// String returns the string representation. 3820// 3821// API parameter values that are decorated as "sensitive" in the API will not 3822// be included in the string output. The member name will be present, but the 3823// value will be replaced with "sensitive". 3824func (s AuthenticateCognitoActionConfig) String() string { 3825 return awsutil.Prettify(s) 3826} 3827 3828// GoString returns the string representation. 3829// 3830// API parameter values that are decorated as "sensitive" in the API will not 3831// be included in the string output. The member name will be present, but the 3832// value will be replaced with "sensitive". 3833func (s AuthenticateCognitoActionConfig) GoString() string { 3834 return s.String() 3835} 3836 3837// Validate inspects the fields of the type to determine if they are valid. 3838func (s *AuthenticateCognitoActionConfig) Validate() error { 3839 invalidParams := request.ErrInvalidParams{Context: "AuthenticateCognitoActionConfig"} 3840 if s.UserPoolArn == nil { 3841 invalidParams.Add(request.NewErrParamRequired("UserPoolArn")) 3842 } 3843 if s.UserPoolClientId == nil { 3844 invalidParams.Add(request.NewErrParamRequired("UserPoolClientId")) 3845 } 3846 if s.UserPoolDomain == nil { 3847 invalidParams.Add(request.NewErrParamRequired("UserPoolDomain")) 3848 } 3849 3850 if invalidParams.Len() > 0 { 3851 return invalidParams 3852 } 3853 return nil 3854} 3855 3856// SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value. 3857func (s *AuthenticateCognitoActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateCognitoActionConfig { 3858 s.AuthenticationRequestExtraParams = v 3859 return s 3860} 3861 3862// SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value. 3863func (s *AuthenticateCognitoActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateCognitoActionConfig { 3864 s.OnUnauthenticatedRequest = &v 3865 return s 3866} 3867 3868// SetScope sets the Scope field's value. 3869func (s *AuthenticateCognitoActionConfig) SetScope(v string) *AuthenticateCognitoActionConfig { 3870 s.Scope = &v 3871 return s 3872} 3873 3874// SetSessionCookieName sets the SessionCookieName field's value. 3875func (s *AuthenticateCognitoActionConfig) SetSessionCookieName(v string) *AuthenticateCognitoActionConfig { 3876 s.SessionCookieName = &v 3877 return s 3878} 3879 3880// SetSessionTimeout sets the SessionTimeout field's value. 3881func (s *AuthenticateCognitoActionConfig) SetSessionTimeout(v int64) *AuthenticateCognitoActionConfig { 3882 s.SessionTimeout = &v 3883 return s 3884} 3885 3886// SetUserPoolArn sets the UserPoolArn field's value. 3887func (s *AuthenticateCognitoActionConfig) SetUserPoolArn(v string) *AuthenticateCognitoActionConfig { 3888 s.UserPoolArn = &v 3889 return s 3890} 3891 3892// SetUserPoolClientId sets the UserPoolClientId field's value. 3893func (s *AuthenticateCognitoActionConfig) SetUserPoolClientId(v string) *AuthenticateCognitoActionConfig { 3894 s.UserPoolClientId = &v 3895 return s 3896} 3897 3898// SetUserPoolDomain sets the UserPoolDomain field's value. 3899func (s *AuthenticateCognitoActionConfig) SetUserPoolDomain(v string) *AuthenticateCognitoActionConfig { 3900 s.UserPoolDomain = &v 3901 return s 3902} 3903 3904// Request parameters when using an identity provider (IdP) that is compliant 3905// with OpenID Connect (OIDC) to authenticate users. 3906type AuthenticateOidcActionConfig struct { 3907 _ struct{} `type:"structure"` 3908 3909 // The query parameters (up to 10) to include in the redirect request to the 3910 // authorization endpoint. 3911 AuthenticationRequestExtraParams map[string]*string `type:"map"` 3912 3913 // The authorization endpoint of the IdP. This must be a full URL, including 3914 // the HTTPS protocol, the domain, and the path. 3915 // 3916 // AuthorizationEndpoint is a required field 3917 AuthorizationEndpoint *string `type:"string" required:"true"` 3918 3919 // The OAuth 2.0 client identifier. 3920 // 3921 // ClientId is a required field 3922 ClientId *string `type:"string" required:"true"` 3923 3924 // The OAuth 2.0 client secret. This parameter is required if you are creating 3925 // a rule. If you are modifying a rule, you can omit this parameter if you set 3926 // UseExistingClientSecret to true. 3927 ClientSecret *string `type:"string"` 3928 3929 // The OIDC issuer identifier of the IdP. This must be a full URL, including 3930 // the HTTPS protocol, the domain, and the path. 3931 // 3932 // Issuer is a required field 3933 Issuer *string `type:"string" required:"true"` 3934 3935 // The behavior if the user is not authenticated. The following are possible 3936 // values: 3937 // 3938 // * deny - Return an HTTP 401 Unauthorized error. 3939 // 3940 // * allow - Allow the request to be forwarded to the target. 3941 // 3942 // * authenticate - Redirect the request to the IdP authorization endpoint. 3943 // This is the default value. 3944 OnUnauthenticatedRequest *string `type:"string" enum:"AuthenticateOidcActionConditionalBehaviorEnum"` 3945 3946 // The set of user claims to be requested from the IdP. The default is openid. 3947 // 3948 // To verify which scope values your IdP supports and how to separate multiple 3949 // values, see the documentation for your IdP. 3950 Scope *string `type:"string"` 3951 3952 // The name of the cookie used to maintain session information. The default 3953 // is AWSELBAuthSessionCookie. 3954 SessionCookieName *string `type:"string"` 3955 3956 // The maximum duration of the authentication session, in seconds. The default 3957 // is 604800 seconds (7 days). 3958 SessionTimeout *int64 `type:"long"` 3959 3960 // The token endpoint of the IdP. This must be a full URL, including the HTTPS 3961 // protocol, the domain, and the path. 3962 // 3963 // TokenEndpoint is a required field 3964 TokenEndpoint *string `type:"string" required:"true"` 3965 3966 // Indicates whether to use the existing client secret when modifying a rule. 3967 // If you are creating a rule, you can omit this parameter or set it to false. 3968 UseExistingClientSecret *bool `type:"boolean"` 3969 3970 // The user info endpoint of the IdP. This must be a full URL, including the 3971 // HTTPS protocol, the domain, and the path. 3972 // 3973 // UserInfoEndpoint is a required field 3974 UserInfoEndpoint *string `type:"string" required:"true"` 3975} 3976 3977// String returns the string representation. 3978// 3979// API parameter values that are decorated as "sensitive" in the API will not 3980// be included in the string output. The member name will be present, but the 3981// value will be replaced with "sensitive". 3982func (s AuthenticateOidcActionConfig) String() string { 3983 return awsutil.Prettify(s) 3984} 3985 3986// GoString returns the string representation. 3987// 3988// API parameter values that are decorated as "sensitive" in the API will not 3989// be included in the string output. The member name will be present, but the 3990// value will be replaced with "sensitive". 3991func (s AuthenticateOidcActionConfig) GoString() string { 3992 return s.String() 3993} 3994 3995// Validate inspects the fields of the type to determine if they are valid. 3996func (s *AuthenticateOidcActionConfig) Validate() error { 3997 invalidParams := request.ErrInvalidParams{Context: "AuthenticateOidcActionConfig"} 3998 if s.AuthorizationEndpoint == nil { 3999 invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint")) 4000 } 4001 if s.ClientId == nil { 4002 invalidParams.Add(request.NewErrParamRequired("ClientId")) 4003 } 4004 if s.Issuer == nil { 4005 invalidParams.Add(request.NewErrParamRequired("Issuer")) 4006 } 4007 if s.TokenEndpoint == nil { 4008 invalidParams.Add(request.NewErrParamRequired("TokenEndpoint")) 4009 } 4010 if s.UserInfoEndpoint == nil { 4011 invalidParams.Add(request.NewErrParamRequired("UserInfoEndpoint")) 4012 } 4013 4014 if invalidParams.Len() > 0 { 4015 return invalidParams 4016 } 4017 return nil 4018} 4019 4020// SetAuthenticationRequestExtraParams sets the AuthenticationRequestExtraParams field's value. 4021func (s *AuthenticateOidcActionConfig) SetAuthenticationRequestExtraParams(v map[string]*string) *AuthenticateOidcActionConfig { 4022 s.AuthenticationRequestExtraParams = v 4023 return s 4024} 4025 4026// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value. 4027func (s *AuthenticateOidcActionConfig) SetAuthorizationEndpoint(v string) *AuthenticateOidcActionConfig { 4028 s.AuthorizationEndpoint = &v 4029 return s 4030} 4031 4032// SetClientId sets the ClientId field's value. 4033func (s *AuthenticateOidcActionConfig) SetClientId(v string) *AuthenticateOidcActionConfig { 4034 s.ClientId = &v 4035 return s 4036} 4037 4038// SetClientSecret sets the ClientSecret field's value. 4039func (s *AuthenticateOidcActionConfig) SetClientSecret(v string) *AuthenticateOidcActionConfig { 4040 s.ClientSecret = &v 4041 return s 4042} 4043 4044// SetIssuer sets the Issuer field's value. 4045func (s *AuthenticateOidcActionConfig) SetIssuer(v string) *AuthenticateOidcActionConfig { 4046 s.Issuer = &v 4047 return s 4048} 4049 4050// SetOnUnauthenticatedRequest sets the OnUnauthenticatedRequest field's value. 4051func (s *AuthenticateOidcActionConfig) SetOnUnauthenticatedRequest(v string) *AuthenticateOidcActionConfig { 4052 s.OnUnauthenticatedRequest = &v 4053 return s 4054} 4055 4056// SetScope sets the Scope field's value. 4057func (s *AuthenticateOidcActionConfig) SetScope(v string) *AuthenticateOidcActionConfig { 4058 s.Scope = &v 4059 return s 4060} 4061 4062// SetSessionCookieName sets the SessionCookieName field's value. 4063func (s *AuthenticateOidcActionConfig) SetSessionCookieName(v string) *AuthenticateOidcActionConfig { 4064 s.SessionCookieName = &v 4065 return s 4066} 4067 4068// SetSessionTimeout sets the SessionTimeout field's value. 4069func (s *AuthenticateOidcActionConfig) SetSessionTimeout(v int64) *AuthenticateOidcActionConfig { 4070 s.SessionTimeout = &v 4071 return s 4072} 4073 4074// SetTokenEndpoint sets the TokenEndpoint field's value. 4075func (s *AuthenticateOidcActionConfig) SetTokenEndpoint(v string) *AuthenticateOidcActionConfig { 4076 s.TokenEndpoint = &v 4077 return s 4078} 4079 4080// SetUseExistingClientSecret sets the UseExistingClientSecret field's value. 4081func (s *AuthenticateOidcActionConfig) SetUseExistingClientSecret(v bool) *AuthenticateOidcActionConfig { 4082 s.UseExistingClientSecret = &v 4083 return s 4084} 4085 4086// SetUserInfoEndpoint sets the UserInfoEndpoint field's value. 4087func (s *AuthenticateOidcActionConfig) SetUserInfoEndpoint(v string) *AuthenticateOidcActionConfig { 4088 s.UserInfoEndpoint = &v 4089 return s 4090} 4091 4092// Information about an Availability Zone. 4093type AvailabilityZone struct { 4094 _ struct{} `type:"structure"` 4095 4096 // [Network Load Balancers] If you need static IP addresses for your load balancer, 4097 // you can specify one Elastic IP address per Availability Zone when you create 4098 // an internal-facing load balancer. For internal load balancers, you can specify 4099 // a private IP address from the IPv4 range of the subnet. 4100 LoadBalancerAddresses []*LoadBalancerAddress `type:"list"` 4101 4102 // [Application Load Balancers on Outposts] The ID of the Outpost. 4103 OutpostId *string `type:"string"` 4104 4105 // The ID of the subnet. You can specify one subnet per Availability Zone. 4106 SubnetId *string `type:"string"` 4107 4108 // The name of the Availability Zone. 4109 ZoneName *string `type:"string"` 4110} 4111 4112// String returns the string representation. 4113// 4114// API parameter values that are decorated as "sensitive" in the API will not 4115// be included in the string output. The member name will be present, but the 4116// value will be replaced with "sensitive". 4117func (s AvailabilityZone) String() string { 4118 return awsutil.Prettify(s) 4119} 4120 4121// GoString returns the string representation. 4122// 4123// API parameter values that are decorated as "sensitive" in the API will not 4124// be included in the string output. The member name will be present, but the 4125// value will be replaced with "sensitive". 4126func (s AvailabilityZone) GoString() string { 4127 return s.String() 4128} 4129 4130// SetLoadBalancerAddresses sets the LoadBalancerAddresses field's value. 4131func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *AvailabilityZone { 4132 s.LoadBalancerAddresses = v 4133 return s 4134} 4135 4136// SetOutpostId sets the OutpostId field's value. 4137func (s *AvailabilityZone) SetOutpostId(v string) *AvailabilityZone { 4138 s.OutpostId = &v 4139 return s 4140} 4141 4142// SetSubnetId sets the SubnetId field's value. 4143func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone { 4144 s.SubnetId = &v 4145 return s 4146} 4147 4148// SetZoneName sets the ZoneName field's value. 4149func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { 4150 s.ZoneName = &v 4151 return s 4152} 4153 4154// Information about an SSL server certificate. 4155type Certificate struct { 4156 _ struct{} `type:"structure"` 4157 4158 // The Amazon Resource Name (ARN) of the certificate. 4159 CertificateArn *string `type:"string"` 4160 4161 // Indicates whether the certificate is the default certificate. Do not set 4162 // this value when specifying a certificate as an input. This value is not included 4163 // in the output when describing a listener, but is included when describing 4164 // listener certificates. 4165 IsDefault *bool `type:"boolean"` 4166} 4167 4168// String returns the string representation. 4169// 4170// API parameter values that are decorated as "sensitive" in the API will not 4171// be included in the string output. The member name will be present, but the 4172// value will be replaced with "sensitive". 4173func (s Certificate) String() string { 4174 return awsutil.Prettify(s) 4175} 4176 4177// GoString returns the string representation. 4178// 4179// API parameter values that are decorated as "sensitive" in the API will not 4180// be included in the string output. The member name will be present, but the 4181// value will be replaced with "sensitive". 4182func (s Certificate) GoString() string { 4183 return s.String() 4184} 4185 4186// SetCertificateArn sets the CertificateArn field's value. 4187func (s *Certificate) SetCertificateArn(v string) *Certificate { 4188 s.CertificateArn = &v 4189 return s 4190} 4191 4192// SetIsDefault sets the IsDefault field's value. 4193func (s *Certificate) SetIsDefault(v bool) *Certificate { 4194 s.IsDefault = &v 4195 return s 4196} 4197 4198// Information about a cipher used in a policy. 4199type Cipher struct { 4200 _ struct{} `type:"structure"` 4201 4202 // The name of the cipher. 4203 Name *string `type:"string"` 4204 4205 // The priority of the cipher. 4206 Priority *int64 `type:"integer"` 4207} 4208 4209// String returns the string representation. 4210// 4211// API parameter values that are decorated as "sensitive" in the API will not 4212// be included in the string output. The member name will be present, but the 4213// value will be replaced with "sensitive". 4214func (s Cipher) String() string { 4215 return awsutil.Prettify(s) 4216} 4217 4218// GoString returns the string representation. 4219// 4220// API parameter values that are decorated as "sensitive" in the API will not 4221// be included in the string output. The member name will be present, but the 4222// value will be replaced with "sensitive". 4223func (s Cipher) GoString() string { 4224 return s.String() 4225} 4226 4227// SetName sets the Name field's value. 4228func (s *Cipher) SetName(v string) *Cipher { 4229 s.Name = &v 4230 return s 4231} 4232 4233// SetPriority sets the Priority field's value. 4234func (s *Cipher) SetPriority(v int64) *Cipher { 4235 s.Priority = &v 4236 return s 4237} 4238 4239type CreateListenerInput struct { 4240 _ struct{} `type:"structure"` 4241 4242 // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) 4243 // policy. You can specify one policy name. The following are the possible values: 4244 // 4245 // * HTTP1Only 4246 // 4247 // * HTTP2Only 4248 // 4249 // * HTTP2Optional 4250 // 4251 // * HTTP2Preferred 4252 // 4253 // * None 4254 // 4255 // For more information, see ALPN policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) 4256 // in the Network Load Balancers Guide. 4257 AlpnPolicy []*string `type:"list"` 4258 4259 // [HTTPS and TLS listeners] The default certificate for the listener. You must 4260 // provide exactly one certificate. Set CertificateArn to the certificate ARN 4261 // but do not set IsDefault. 4262 Certificates []*Certificate `type:"list"` 4263 4264 // The actions for the default rule. 4265 // 4266 // DefaultActions is a required field 4267 DefaultActions []*Action `type:"list" required:"true"` 4268 4269 // The Amazon Resource Name (ARN) of the load balancer. 4270 // 4271 // LoadBalancerArn is a required field 4272 LoadBalancerArn *string `type:"string" required:"true"` 4273 4274 // The port on which the load balancer is listening. You cannot specify a port 4275 // for a Gateway Load Balancer. 4276 Port *int64 `min:"1" type:"integer"` 4277 4278 // The protocol for connections from clients to the load balancer. For Application 4279 // Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load 4280 // Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t 4281 // specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot 4282 // specify a protocol for a Gateway Load Balancer. 4283 Protocol *string `type:"string" enum:"ProtocolEnum"` 4284 4285 // [HTTPS and TLS listeners] The security policy that defines which protocols 4286 // and ciphers are supported. 4287 // 4288 // For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) 4289 // in the Application Load Balancers Guide and Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) 4290 // in the Network Load Balancers Guide. 4291 SslPolicy *string `type:"string"` 4292 4293 // The tags to assign to the listener. 4294 Tags []*Tag `min:"1" type:"list"` 4295} 4296 4297// String returns the string representation. 4298// 4299// API parameter values that are decorated as "sensitive" in the API will not 4300// be included in the string output. The member name will be present, but the 4301// value will be replaced with "sensitive". 4302func (s CreateListenerInput) String() string { 4303 return awsutil.Prettify(s) 4304} 4305 4306// GoString returns the string representation. 4307// 4308// API parameter values that are decorated as "sensitive" in the API will not 4309// be included in the string output. The member name will be present, but the 4310// value will be replaced with "sensitive". 4311func (s CreateListenerInput) GoString() string { 4312 return s.String() 4313} 4314 4315// Validate inspects the fields of the type to determine if they are valid. 4316func (s *CreateListenerInput) Validate() error { 4317 invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"} 4318 if s.DefaultActions == nil { 4319 invalidParams.Add(request.NewErrParamRequired("DefaultActions")) 4320 } 4321 if s.LoadBalancerArn == nil { 4322 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 4323 } 4324 if s.Port != nil && *s.Port < 1 { 4325 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 4326 } 4327 if s.Tags != nil && len(s.Tags) < 1 { 4328 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4329 } 4330 if s.DefaultActions != nil { 4331 for i, v := range s.DefaultActions { 4332 if v == nil { 4333 continue 4334 } 4335 if err := v.Validate(); err != nil { 4336 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams)) 4337 } 4338 } 4339 } 4340 if s.Tags != nil { 4341 for i, v := range s.Tags { 4342 if v == nil { 4343 continue 4344 } 4345 if err := v.Validate(); err != nil { 4346 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4347 } 4348 } 4349 } 4350 4351 if invalidParams.Len() > 0 { 4352 return invalidParams 4353 } 4354 return nil 4355} 4356 4357// SetAlpnPolicy sets the AlpnPolicy field's value. 4358func (s *CreateListenerInput) SetAlpnPolicy(v []*string) *CreateListenerInput { 4359 s.AlpnPolicy = v 4360 return s 4361} 4362 4363// SetCertificates sets the Certificates field's value. 4364func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput { 4365 s.Certificates = v 4366 return s 4367} 4368 4369// SetDefaultActions sets the DefaultActions field's value. 4370func (s *CreateListenerInput) SetDefaultActions(v []*Action) *CreateListenerInput { 4371 s.DefaultActions = v 4372 return s 4373} 4374 4375// SetLoadBalancerArn sets the LoadBalancerArn field's value. 4376func (s *CreateListenerInput) SetLoadBalancerArn(v string) *CreateListenerInput { 4377 s.LoadBalancerArn = &v 4378 return s 4379} 4380 4381// SetPort sets the Port field's value. 4382func (s *CreateListenerInput) SetPort(v int64) *CreateListenerInput { 4383 s.Port = &v 4384 return s 4385} 4386 4387// SetProtocol sets the Protocol field's value. 4388func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput { 4389 s.Protocol = &v 4390 return s 4391} 4392 4393// SetSslPolicy sets the SslPolicy field's value. 4394func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput { 4395 s.SslPolicy = &v 4396 return s 4397} 4398 4399// SetTags sets the Tags field's value. 4400func (s *CreateListenerInput) SetTags(v []*Tag) *CreateListenerInput { 4401 s.Tags = v 4402 return s 4403} 4404 4405type CreateListenerOutput struct { 4406 _ struct{} `type:"structure"` 4407 4408 // Information about the listener. 4409 Listeners []*Listener `type:"list"` 4410} 4411 4412// String returns the string representation. 4413// 4414// API parameter values that are decorated as "sensitive" in the API will not 4415// be included in the string output. The member name will be present, but the 4416// value will be replaced with "sensitive". 4417func (s CreateListenerOutput) String() string { 4418 return awsutil.Prettify(s) 4419} 4420 4421// GoString returns the string representation. 4422// 4423// API parameter values that are decorated as "sensitive" in the API will not 4424// be included in the string output. The member name will be present, but the 4425// value will be replaced with "sensitive". 4426func (s CreateListenerOutput) GoString() string { 4427 return s.String() 4428} 4429 4430// SetListeners sets the Listeners field's value. 4431func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput { 4432 s.Listeners = v 4433 return s 4434} 4435 4436type CreateLoadBalancerInput struct { 4437 _ struct{} `type:"structure"` 4438 4439 // [Application Load Balancers on Outposts] The ID of the customer-owned address 4440 // pool (CoIP pool). 4441 CustomerOwnedIpv4Pool *string `type:"string"` 4442 4443 // The type of IP addresses used by the subnets for your load balancer. The 4444 // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and 4445 // IPv6 addresses). Internal load balancers must use ipv4. 4446 IpAddressType *string `type:"string" enum:"IpAddressType"` 4447 4448 // The name of the load balancer. 4449 // 4450 // This name must be unique per region per account, can have a maximum of 32 4451 // characters, must contain only alphanumeric characters or hyphens, must not 4452 // begin or end with a hyphen, and must not begin with "internal-". 4453 // 4454 // Name is a required field 4455 Name *string `type:"string" required:"true"` 4456 4457 // The nodes of an Internet-facing load balancer have public IP addresses. The 4458 // DNS name of an Internet-facing load balancer is publicly resolvable to the 4459 // public IP addresses of the nodes. Therefore, Internet-facing load balancers 4460 // can route requests from clients over the internet. 4461 // 4462 // The nodes of an internal load balancer have only private IP addresses. The 4463 // DNS name of an internal load balancer is publicly resolvable to the private 4464 // IP addresses of the nodes. Therefore, internal load balancers can route requests 4465 // only from clients with access to the VPC for the load balancer. 4466 // 4467 // The default is an Internet-facing load balancer. 4468 // 4469 // You cannot specify a scheme for a Gateway Load Balancer. 4470 Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"` 4471 4472 // [Application Load Balancers] The IDs of the security groups for the load 4473 // balancer. 4474 SecurityGroups []*string `type:"list"` 4475 4476 // The IDs of the public subnets. You can specify only one subnet per Availability 4477 // Zone. You must specify either subnets or subnet mappings. 4478 // 4479 // [Application Load Balancers] You must specify subnets from at least two Availability 4480 // Zones. You cannot specify Elastic IP addresses for your subnets. 4481 // 4482 // [Application Load Balancers on Outposts] You must specify one Outpost subnet. 4483 // 4484 // [Application Load Balancers on Local Zones] You can specify subnets from 4485 // one or more Local Zones. 4486 // 4487 // [Network Load Balancers] You can specify subnets from one or more Availability 4488 // Zones. You can specify one Elastic IP address per subnet if you need static 4489 // IP addresses for your internet-facing load balancer. For internal load balancers, 4490 // you can specify one private IP address per subnet from the IPv4 range of 4491 // the subnet. For internet-facing load balancer, you can specify one IPv6 address 4492 // per subnet. 4493 // 4494 // [Gateway Load Balancers] You can specify subnets from one or more Availability 4495 // Zones. You cannot specify Elastic IP addresses for your subnets. 4496 SubnetMappings []*SubnetMapping `type:"list"` 4497 4498 // The IDs of the public subnets. You can specify only one subnet per Availability 4499 // Zone. You must specify either subnets or subnet mappings. 4500 // 4501 // [Application Load Balancers] You must specify subnets from at least two Availability 4502 // Zones. 4503 // 4504 // [Application Load Balancers on Outposts] You must specify one Outpost subnet. 4505 // 4506 // [Application Load Balancers on Local Zones] You can specify subnets from 4507 // one or more Local Zones. 4508 // 4509 // [Network Load Balancers] You can specify subnets from one or more Availability 4510 // Zones. 4511 // 4512 // [Gateway Load Balancers] You can specify subnets from one or more Availability 4513 // Zones. 4514 Subnets []*string `type:"list"` 4515 4516 // The tags to assign to the load balancer. 4517 Tags []*Tag `min:"1" type:"list"` 4518 4519 // The type of load balancer. The default is application. 4520 Type *string `type:"string" enum:"LoadBalancerTypeEnum"` 4521} 4522 4523// String returns the string representation. 4524// 4525// API parameter values that are decorated as "sensitive" in the API will not 4526// be included in the string output. The member name will be present, but the 4527// value will be replaced with "sensitive". 4528func (s CreateLoadBalancerInput) String() string { 4529 return awsutil.Prettify(s) 4530} 4531 4532// GoString returns the string representation. 4533// 4534// API parameter values that are decorated as "sensitive" in the API will not 4535// be included in the string output. The member name will be present, but the 4536// value will be replaced with "sensitive". 4537func (s CreateLoadBalancerInput) GoString() string { 4538 return s.String() 4539} 4540 4541// Validate inspects the fields of the type to determine if they are valid. 4542func (s *CreateLoadBalancerInput) Validate() error { 4543 invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} 4544 if s.Name == nil { 4545 invalidParams.Add(request.NewErrParamRequired("Name")) 4546 } 4547 if s.Tags != nil && len(s.Tags) < 1 { 4548 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4549 } 4550 if s.Tags != nil { 4551 for i, v := range s.Tags { 4552 if v == nil { 4553 continue 4554 } 4555 if err := v.Validate(); err != nil { 4556 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4557 } 4558 } 4559 } 4560 4561 if invalidParams.Len() > 0 { 4562 return invalidParams 4563 } 4564 return nil 4565} 4566 4567// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value. 4568func (s *CreateLoadBalancerInput) SetCustomerOwnedIpv4Pool(v string) *CreateLoadBalancerInput { 4569 s.CustomerOwnedIpv4Pool = &v 4570 return s 4571} 4572 4573// SetIpAddressType sets the IpAddressType field's value. 4574func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput { 4575 s.IpAddressType = &v 4576 return s 4577} 4578 4579// SetName sets the Name field's value. 4580func (s *CreateLoadBalancerInput) SetName(v string) *CreateLoadBalancerInput { 4581 s.Name = &v 4582 return s 4583} 4584 4585// SetScheme sets the Scheme field's value. 4586func (s *CreateLoadBalancerInput) SetScheme(v string) *CreateLoadBalancerInput { 4587 s.Scheme = &v 4588 return s 4589} 4590 4591// SetSecurityGroups sets the SecurityGroups field's value. 4592func (s *CreateLoadBalancerInput) SetSecurityGroups(v []*string) *CreateLoadBalancerInput { 4593 s.SecurityGroups = v 4594 return s 4595} 4596 4597// SetSubnetMappings sets the SubnetMappings field's value. 4598func (s *CreateLoadBalancerInput) SetSubnetMappings(v []*SubnetMapping) *CreateLoadBalancerInput { 4599 s.SubnetMappings = v 4600 return s 4601} 4602 4603// SetSubnets sets the Subnets field's value. 4604func (s *CreateLoadBalancerInput) SetSubnets(v []*string) *CreateLoadBalancerInput { 4605 s.Subnets = v 4606 return s 4607} 4608 4609// SetTags sets the Tags field's value. 4610func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { 4611 s.Tags = v 4612 return s 4613} 4614 4615// SetType sets the Type field's value. 4616func (s *CreateLoadBalancerInput) SetType(v string) *CreateLoadBalancerInput { 4617 s.Type = &v 4618 return s 4619} 4620 4621type CreateLoadBalancerOutput struct { 4622 _ struct{} `type:"structure"` 4623 4624 // Information about the load balancer. 4625 LoadBalancers []*LoadBalancer `type:"list"` 4626} 4627 4628// String returns the string representation. 4629// 4630// API parameter values that are decorated as "sensitive" in the API will not 4631// be included in the string output. The member name will be present, but the 4632// value will be replaced with "sensitive". 4633func (s CreateLoadBalancerOutput) String() string { 4634 return awsutil.Prettify(s) 4635} 4636 4637// GoString returns the string representation. 4638// 4639// API parameter values that are decorated as "sensitive" in the API will not 4640// be included in the string output. The member name will be present, but the 4641// value will be replaced with "sensitive". 4642func (s CreateLoadBalancerOutput) GoString() string { 4643 return s.String() 4644} 4645 4646// SetLoadBalancers sets the LoadBalancers field's value. 4647func (s *CreateLoadBalancerOutput) SetLoadBalancers(v []*LoadBalancer) *CreateLoadBalancerOutput { 4648 s.LoadBalancers = v 4649 return s 4650} 4651 4652type CreateRuleInput struct { 4653 _ struct{} `type:"structure"` 4654 4655 // The actions. 4656 // 4657 // Actions is a required field 4658 Actions []*Action `type:"list" required:"true"` 4659 4660 // The conditions. 4661 // 4662 // Conditions is a required field 4663 Conditions []*RuleCondition `type:"list" required:"true"` 4664 4665 // The Amazon Resource Name (ARN) of the listener. 4666 // 4667 // ListenerArn is a required field 4668 ListenerArn *string `type:"string" required:"true"` 4669 4670 // The rule priority. A listener can't have multiple rules with the same priority. 4671 // 4672 // Priority is a required field 4673 Priority *int64 `min:"1" type:"integer" required:"true"` 4674 4675 // The tags to assign to the rule. 4676 Tags []*Tag `min:"1" type:"list"` 4677} 4678 4679// String returns the string representation. 4680// 4681// API parameter values that are decorated as "sensitive" in the API will not 4682// be included in the string output. The member name will be present, but the 4683// value will be replaced with "sensitive". 4684func (s CreateRuleInput) String() string { 4685 return awsutil.Prettify(s) 4686} 4687 4688// GoString returns the string representation. 4689// 4690// API parameter values that are decorated as "sensitive" in the API will not 4691// be included in the string output. The member name will be present, but the 4692// value will be replaced with "sensitive". 4693func (s CreateRuleInput) GoString() string { 4694 return s.String() 4695} 4696 4697// Validate inspects the fields of the type to determine if they are valid. 4698func (s *CreateRuleInput) Validate() error { 4699 invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"} 4700 if s.Actions == nil { 4701 invalidParams.Add(request.NewErrParamRequired("Actions")) 4702 } 4703 if s.Conditions == nil { 4704 invalidParams.Add(request.NewErrParamRequired("Conditions")) 4705 } 4706 if s.ListenerArn == nil { 4707 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 4708 } 4709 if s.Priority == nil { 4710 invalidParams.Add(request.NewErrParamRequired("Priority")) 4711 } 4712 if s.Priority != nil && *s.Priority < 1 { 4713 invalidParams.Add(request.NewErrParamMinValue("Priority", 1)) 4714 } 4715 if s.Tags != nil && len(s.Tags) < 1 { 4716 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4717 } 4718 if s.Actions != nil { 4719 for i, v := range s.Actions { 4720 if v == nil { 4721 continue 4722 } 4723 if err := v.Validate(); err != nil { 4724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) 4725 } 4726 } 4727 } 4728 if s.Tags != nil { 4729 for i, v := range s.Tags { 4730 if v == nil { 4731 continue 4732 } 4733 if err := v.Validate(); err != nil { 4734 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4735 } 4736 } 4737 } 4738 4739 if invalidParams.Len() > 0 { 4740 return invalidParams 4741 } 4742 return nil 4743} 4744 4745// SetActions sets the Actions field's value. 4746func (s *CreateRuleInput) SetActions(v []*Action) *CreateRuleInput { 4747 s.Actions = v 4748 return s 4749} 4750 4751// SetConditions sets the Conditions field's value. 4752func (s *CreateRuleInput) SetConditions(v []*RuleCondition) *CreateRuleInput { 4753 s.Conditions = v 4754 return s 4755} 4756 4757// SetListenerArn sets the ListenerArn field's value. 4758func (s *CreateRuleInput) SetListenerArn(v string) *CreateRuleInput { 4759 s.ListenerArn = &v 4760 return s 4761} 4762 4763// SetPriority sets the Priority field's value. 4764func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput { 4765 s.Priority = &v 4766 return s 4767} 4768 4769// SetTags sets the Tags field's value. 4770func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput { 4771 s.Tags = v 4772 return s 4773} 4774 4775type CreateRuleOutput struct { 4776 _ struct{} `type:"structure"` 4777 4778 // Information about the rule. 4779 Rules []*Rule `type:"list"` 4780} 4781 4782// String returns the string representation. 4783// 4784// API parameter values that are decorated as "sensitive" in the API will not 4785// be included in the string output. The member name will be present, but the 4786// value will be replaced with "sensitive". 4787func (s CreateRuleOutput) String() string { 4788 return awsutil.Prettify(s) 4789} 4790 4791// GoString returns the string representation. 4792// 4793// API parameter values that are decorated as "sensitive" in the API will not 4794// be included in the string output. The member name will be present, but the 4795// value will be replaced with "sensitive". 4796func (s CreateRuleOutput) GoString() string { 4797 return s.String() 4798} 4799 4800// SetRules sets the Rules field's value. 4801func (s *CreateRuleOutput) SetRules(v []*Rule) *CreateRuleOutput { 4802 s.Rules = v 4803 return s 4804} 4805 4806type CreateTargetGroupInput struct { 4807 _ struct{} `type:"structure"` 4808 4809 // Indicates whether health checks are enabled. If the target type is lambda, 4810 // health checks are disabled by default but can be enabled. If the target type 4811 // is instance, ip, or alb, health checks are always enabled and cannot be disabled. 4812 HealthCheckEnabled *bool `type:"boolean"` 4813 4814 // The approximate amount of time, in seconds, between health checks of an individual 4815 // target. If the target group protocol is TCP, TLS, UDP, or TCP_UDP, the supported 4816 // values are 10 and 30 seconds. If the target group protocol is HTTP or HTTPS, 4817 // the default is 30 seconds. If the target group protocol is GENEVE, the default 4818 // is 10 seconds. If the target type is lambda, the default is 35 seconds. 4819 HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` 4820 4821 // [HTTP/HTTPS health checks] The destination for health checks on the targets. 4822 // 4823 // [HTTP1 or HTTP2 protocol version] The ping path. The default is /. 4824 // 4825 // [GRPC protocol version] The path of a custom health check method with the 4826 // format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck. 4827 HealthCheckPath *string `min:"1" type:"string"` 4828 4829 // The port the load balancer uses when performing health checks on targets. 4830 // If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is 4831 // traffic-port, which is the port on which each target receives traffic from 4832 // the load balancer. If the protocol is GENEVE, the default is port 80. 4833 HealthCheckPort *string `type:"string"` 4834 4835 // The protocol the load balancer uses when performing health checks on targets. 4836 // For Application Load Balancers, the default is HTTP. For Network Load Balancers 4837 // and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported 4838 // for health checks if the protocol of the target group is HTTP or HTTPS. The 4839 // GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks. 4840 HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` 4841 4842 // The amount of time, in seconds, during which no response from a target means 4843 // a failed health check. For target groups with a protocol of HTTP, HTTPS, 4844 // or GENEVE, the default is 5 seconds. For target groups with a protocol of 4845 // TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds 4846 // for TCP and HTTPS health checks. If the target type is lambda, the default 4847 // is 30 seconds. 4848 HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` 4849 4850 // The number of consecutive health checks successes required before considering 4851 // an unhealthy target healthy. For target groups with a protocol of HTTP or 4852 // HTTPS, the default is 5. For target groups with a protocol of TCP, TLS, or 4853 // GENEVE, the default is 3. If the target type is lambda, the default is 5. 4854 HealthyThresholdCount *int64 `min:"2" type:"integer"` 4855 4856 // The type of IP address used for this target group. The possible values are 4857 // ipv4 and ipv6. This is an optional parameter. If not specified, the IP address 4858 // type defaults to ipv4. 4859 IpAddressType *string `type:"string" enum:"TargetGroupIpAddressTypeEnum"` 4860 4861 // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for 4862 // a successful response from a target. 4863 Matcher *Matcher `type:"structure"` 4864 4865 // The name of the target group. 4866 // 4867 // This name must be unique per region per account, can have a maximum of 32 4868 // characters, must contain only alphanumeric characters or hyphens, and must 4869 // not begin or end with a hyphen. 4870 // 4871 // Name is a required field 4872 Name *string `type:"string" required:"true"` 4873 4874 // The port on which the targets receive traffic. This port is used unless you 4875 // specify a port override when registering the target. If the target is a Lambda 4876 // function, this parameter does not apply. If the protocol is GENEVE, the supported 4877 // port is 6081. 4878 Port *int64 `min:"1" type:"integer"` 4879 4880 // The protocol to use for routing traffic to the targets. For Application Load 4881 // Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, 4882 // the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, 4883 // the supported protocol is GENEVE. A TCP_UDP listener must be associated with 4884 // a TCP_UDP target group. If the target is a Lambda function, this parameter 4885 // does not apply. 4886 Protocol *string `type:"string" enum:"ProtocolEnum"` 4887 4888 // [HTTP/HTTPS protocol] The protocol version. Specify GRPC to send requests 4889 // to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. 4890 // The default is HTTP1, which sends requests to targets using HTTP/1.1. 4891 ProtocolVersion *string `type:"string"` 4892 4893 // The tags to assign to the target group. 4894 Tags []*Tag `min:"1" type:"list"` 4895 4896 // The type of target that you must specify when registering targets with this 4897 // target group. You can't specify targets for a target group using more than 4898 // one target type. 4899 // 4900 // * instance - Register targets by instance ID. This is the default value. 4901 // 4902 // * ip - Register targets by IP address. You can specify IP addresses from 4903 // the subnets of the virtual private cloud (VPC) for the target group, the 4904 // RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the 4905 // RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP 4906 // addresses. 4907 // 4908 // * lambda - Register a single Lambda function as a target. 4909 // 4910 // * alb - Register a single Application Load Balancer as a target. 4911 TargetType *string `type:"string" enum:"TargetTypeEnum"` 4912 4913 // The number of consecutive health check failures required before considering 4914 // a target unhealthy. If the target group protocol is HTTP or HTTPS, the default 4915 // is 2. If the target group protocol is TCP or TLS, this value must be the 4916 // same as the healthy threshold count. If the target group protocol is GENEVE, 4917 // the default is 3. If the target type is lambda, the default is 2. 4918 UnhealthyThresholdCount *int64 `min:"2" type:"integer"` 4919 4920 // The identifier of the virtual private cloud (VPC). If the target is a Lambda 4921 // function, this parameter does not apply. Otherwise, this parameter is required. 4922 VpcId *string `type:"string"` 4923} 4924 4925// String returns the string representation. 4926// 4927// API parameter values that are decorated as "sensitive" in the API will not 4928// be included in the string output. The member name will be present, but the 4929// value will be replaced with "sensitive". 4930func (s CreateTargetGroupInput) String() string { 4931 return awsutil.Prettify(s) 4932} 4933 4934// GoString returns the string representation. 4935// 4936// API parameter values that are decorated as "sensitive" in the API will not 4937// be included in the string output. The member name will be present, but the 4938// value will be replaced with "sensitive". 4939func (s CreateTargetGroupInput) GoString() string { 4940 return s.String() 4941} 4942 4943// Validate inspects the fields of the type to determine if they are valid. 4944func (s *CreateTargetGroupInput) Validate() error { 4945 invalidParams := request.ErrInvalidParams{Context: "CreateTargetGroupInput"} 4946 if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 { 4947 invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5)) 4948 } 4949 if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 { 4950 invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1)) 4951 } 4952 if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 { 4953 invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2)) 4954 } 4955 if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 { 4956 invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2)) 4957 } 4958 if s.Name == nil { 4959 invalidParams.Add(request.NewErrParamRequired("Name")) 4960 } 4961 if s.Port != nil && *s.Port < 1 { 4962 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 4963 } 4964 if s.Tags != nil && len(s.Tags) < 1 { 4965 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4966 } 4967 if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 { 4968 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2)) 4969 } 4970 if s.Tags != nil { 4971 for i, v := range s.Tags { 4972 if v == nil { 4973 continue 4974 } 4975 if err := v.Validate(); err != nil { 4976 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4977 } 4978 } 4979 } 4980 4981 if invalidParams.Len() > 0 { 4982 return invalidParams 4983 } 4984 return nil 4985} 4986 4987// SetHealthCheckEnabled sets the HealthCheckEnabled field's value. 4988func (s *CreateTargetGroupInput) SetHealthCheckEnabled(v bool) *CreateTargetGroupInput { 4989 s.HealthCheckEnabled = &v 4990 return s 4991} 4992 4993// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. 4994func (s *CreateTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateTargetGroupInput { 4995 s.HealthCheckIntervalSeconds = &v 4996 return s 4997} 4998 4999// SetHealthCheckPath sets the HealthCheckPath field's value. 5000func (s *CreateTargetGroupInput) SetHealthCheckPath(v string) *CreateTargetGroupInput { 5001 s.HealthCheckPath = &v 5002 return s 5003} 5004 5005// SetHealthCheckPort sets the HealthCheckPort field's value. 5006func (s *CreateTargetGroupInput) SetHealthCheckPort(v string) *CreateTargetGroupInput { 5007 s.HealthCheckPort = &v 5008 return s 5009} 5010 5011// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. 5012func (s *CreateTargetGroupInput) SetHealthCheckProtocol(v string) *CreateTargetGroupInput { 5013 s.HealthCheckProtocol = &v 5014 return s 5015} 5016 5017// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value. 5018func (s *CreateTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *CreateTargetGroupInput { 5019 s.HealthCheckTimeoutSeconds = &v 5020 return s 5021} 5022 5023// SetHealthyThresholdCount sets the HealthyThresholdCount field's value. 5024func (s *CreateTargetGroupInput) SetHealthyThresholdCount(v int64) *CreateTargetGroupInput { 5025 s.HealthyThresholdCount = &v 5026 return s 5027} 5028 5029// SetIpAddressType sets the IpAddressType field's value. 5030func (s *CreateTargetGroupInput) SetIpAddressType(v string) *CreateTargetGroupInput { 5031 s.IpAddressType = &v 5032 return s 5033} 5034 5035// SetMatcher sets the Matcher field's value. 5036func (s *CreateTargetGroupInput) SetMatcher(v *Matcher) *CreateTargetGroupInput { 5037 s.Matcher = v 5038 return s 5039} 5040 5041// SetName sets the Name field's value. 5042func (s *CreateTargetGroupInput) SetName(v string) *CreateTargetGroupInput { 5043 s.Name = &v 5044 return s 5045} 5046 5047// SetPort sets the Port field's value. 5048func (s *CreateTargetGroupInput) SetPort(v int64) *CreateTargetGroupInput { 5049 s.Port = &v 5050 return s 5051} 5052 5053// SetProtocol sets the Protocol field's value. 5054func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput { 5055 s.Protocol = &v 5056 return s 5057} 5058 5059// SetProtocolVersion sets the ProtocolVersion field's value. 5060func (s *CreateTargetGroupInput) SetProtocolVersion(v string) *CreateTargetGroupInput { 5061 s.ProtocolVersion = &v 5062 return s 5063} 5064 5065// SetTags sets the Tags field's value. 5066func (s *CreateTargetGroupInput) SetTags(v []*Tag) *CreateTargetGroupInput { 5067 s.Tags = v 5068 return s 5069} 5070 5071// SetTargetType sets the TargetType field's value. 5072func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput { 5073 s.TargetType = &v 5074 return s 5075} 5076 5077// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value. 5078func (s *CreateTargetGroupInput) SetUnhealthyThresholdCount(v int64) *CreateTargetGroupInput { 5079 s.UnhealthyThresholdCount = &v 5080 return s 5081} 5082 5083// SetVpcId sets the VpcId field's value. 5084func (s *CreateTargetGroupInput) SetVpcId(v string) *CreateTargetGroupInput { 5085 s.VpcId = &v 5086 return s 5087} 5088 5089type CreateTargetGroupOutput struct { 5090 _ struct{} `type:"structure"` 5091 5092 // Information about the target group. 5093 TargetGroups []*TargetGroup `type:"list"` 5094} 5095 5096// String returns the string representation. 5097// 5098// API parameter values that are decorated as "sensitive" in the API will not 5099// be included in the string output. The member name will be present, but the 5100// value will be replaced with "sensitive". 5101func (s CreateTargetGroupOutput) String() string { 5102 return awsutil.Prettify(s) 5103} 5104 5105// GoString returns the string representation. 5106// 5107// API parameter values that are decorated as "sensitive" in the API will not 5108// be included in the string output. The member name will be present, but the 5109// value will be replaced with "sensitive". 5110func (s CreateTargetGroupOutput) GoString() string { 5111 return s.String() 5112} 5113 5114// SetTargetGroups sets the TargetGroups field's value. 5115func (s *CreateTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *CreateTargetGroupOutput { 5116 s.TargetGroups = v 5117 return s 5118} 5119 5120type DeleteListenerInput struct { 5121 _ struct{} `type:"structure"` 5122 5123 // The Amazon Resource Name (ARN) of the listener. 5124 // 5125 // ListenerArn is a required field 5126 ListenerArn *string `type:"string" required:"true"` 5127} 5128 5129// String returns the string representation. 5130// 5131// API parameter values that are decorated as "sensitive" in the API will not 5132// be included in the string output. The member name will be present, but the 5133// value will be replaced with "sensitive". 5134func (s DeleteListenerInput) String() string { 5135 return awsutil.Prettify(s) 5136} 5137 5138// GoString returns the string representation. 5139// 5140// API parameter values that are decorated as "sensitive" in the API will not 5141// be included in the string output. The member name will be present, but the 5142// value will be replaced with "sensitive". 5143func (s DeleteListenerInput) GoString() string { 5144 return s.String() 5145} 5146 5147// Validate inspects the fields of the type to determine if they are valid. 5148func (s *DeleteListenerInput) Validate() error { 5149 invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"} 5150 if s.ListenerArn == nil { 5151 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 5152 } 5153 5154 if invalidParams.Len() > 0 { 5155 return invalidParams 5156 } 5157 return nil 5158} 5159 5160// SetListenerArn sets the ListenerArn field's value. 5161func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput { 5162 s.ListenerArn = &v 5163 return s 5164} 5165 5166type DeleteListenerOutput struct { 5167 _ struct{} `type:"structure"` 5168} 5169 5170// String returns the string representation. 5171// 5172// API parameter values that are decorated as "sensitive" in the API will not 5173// be included in the string output. The member name will be present, but the 5174// value will be replaced with "sensitive". 5175func (s DeleteListenerOutput) String() string { 5176 return awsutil.Prettify(s) 5177} 5178 5179// GoString returns the string representation. 5180// 5181// API parameter values that are decorated as "sensitive" in the API will not 5182// be included in the string output. The member name will be present, but the 5183// value will be replaced with "sensitive". 5184func (s DeleteListenerOutput) GoString() string { 5185 return s.String() 5186} 5187 5188type DeleteLoadBalancerInput struct { 5189 _ struct{} `type:"structure"` 5190 5191 // The Amazon Resource Name (ARN) of the load balancer. 5192 // 5193 // LoadBalancerArn is a required field 5194 LoadBalancerArn *string `type:"string" required:"true"` 5195} 5196 5197// String returns the string representation. 5198// 5199// API parameter values that are decorated as "sensitive" in the API will not 5200// be included in the string output. The member name will be present, but the 5201// value will be replaced with "sensitive". 5202func (s DeleteLoadBalancerInput) String() string { 5203 return awsutil.Prettify(s) 5204} 5205 5206// GoString returns the string representation. 5207// 5208// API parameter values that are decorated as "sensitive" in the API will not 5209// be included in the string output. The member name will be present, but the 5210// value will be replaced with "sensitive". 5211func (s DeleteLoadBalancerInput) GoString() string { 5212 return s.String() 5213} 5214 5215// Validate inspects the fields of the type to determine if they are valid. 5216func (s *DeleteLoadBalancerInput) Validate() error { 5217 invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} 5218 if s.LoadBalancerArn == nil { 5219 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 5220 } 5221 5222 if invalidParams.Len() > 0 { 5223 return invalidParams 5224 } 5225 return nil 5226} 5227 5228// SetLoadBalancerArn sets the LoadBalancerArn field's value. 5229func (s *DeleteLoadBalancerInput) SetLoadBalancerArn(v string) *DeleteLoadBalancerInput { 5230 s.LoadBalancerArn = &v 5231 return s 5232} 5233 5234type DeleteLoadBalancerOutput struct { 5235 _ struct{} `type:"structure"` 5236} 5237 5238// String returns the string representation. 5239// 5240// API parameter values that are decorated as "sensitive" in the API will not 5241// be included in the string output. The member name will be present, but the 5242// value will be replaced with "sensitive". 5243func (s DeleteLoadBalancerOutput) String() string { 5244 return awsutil.Prettify(s) 5245} 5246 5247// GoString returns the string representation. 5248// 5249// API parameter values that are decorated as "sensitive" in the API will not 5250// be included in the string output. The member name will be present, but the 5251// value will be replaced with "sensitive". 5252func (s DeleteLoadBalancerOutput) GoString() string { 5253 return s.String() 5254} 5255 5256type DeleteRuleInput struct { 5257 _ struct{} `type:"structure"` 5258 5259 // The Amazon Resource Name (ARN) of the rule. 5260 // 5261 // RuleArn is a required field 5262 RuleArn *string `type:"string" required:"true"` 5263} 5264 5265// String returns the string representation. 5266// 5267// API parameter values that are decorated as "sensitive" in the API will not 5268// be included in the string output. The member name will be present, but the 5269// value will be replaced with "sensitive". 5270func (s DeleteRuleInput) String() string { 5271 return awsutil.Prettify(s) 5272} 5273 5274// GoString returns the string representation. 5275// 5276// API parameter values that are decorated as "sensitive" in the API will not 5277// be included in the string output. The member name will be present, but the 5278// value will be replaced with "sensitive". 5279func (s DeleteRuleInput) GoString() string { 5280 return s.String() 5281} 5282 5283// Validate inspects the fields of the type to determine if they are valid. 5284func (s *DeleteRuleInput) Validate() error { 5285 invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"} 5286 if s.RuleArn == nil { 5287 invalidParams.Add(request.NewErrParamRequired("RuleArn")) 5288 } 5289 5290 if invalidParams.Len() > 0 { 5291 return invalidParams 5292 } 5293 return nil 5294} 5295 5296// SetRuleArn sets the RuleArn field's value. 5297func (s *DeleteRuleInput) SetRuleArn(v string) *DeleteRuleInput { 5298 s.RuleArn = &v 5299 return s 5300} 5301 5302type DeleteRuleOutput struct { 5303 _ struct{} `type:"structure"` 5304} 5305 5306// String returns the string representation. 5307// 5308// API parameter values that are decorated as "sensitive" in the API will not 5309// be included in the string output. The member name will be present, but the 5310// value will be replaced with "sensitive". 5311func (s DeleteRuleOutput) String() string { 5312 return awsutil.Prettify(s) 5313} 5314 5315// GoString returns the string representation. 5316// 5317// API parameter values that are decorated as "sensitive" in the API will not 5318// be included in the string output. The member name will be present, but the 5319// value will be replaced with "sensitive". 5320func (s DeleteRuleOutput) GoString() string { 5321 return s.String() 5322} 5323 5324type DeleteTargetGroupInput struct { 5325 _ struct{} `type:"structure"` 5326 5327 // The Amazon Resource Name (ARN) of the target group. 5328 // 5329 // TargetGroupArn is a required field 5330 TargetGroupArn *string `type:"string" required:"true"` 5331} 5332 5333// String returns the string representation. 5334// 5335// API parameter values that are decorated as "sensitive" in the API will not 5336// be included in the string output. The member name will be present, but the 5337// value will be replaced with "sensitive". 5338func (s DeleteTargetGroupInput) String() string { 5339 return awsutil.Prettify(s) 5340} 5341 5342// GoString returns the string representation. 5343// 5344// API parameter values that are decorated as "sensitive" in the API will not 5345// be included in the string output. The member name will be present, but the 5346// value will be replaced with "sensitive". 5347func (s DeleteTargetGroupInput) GoString() string { 5348 return s.String() 5349} 5350 5351// Validate inspects the fields of the type to determine if they are valid. 5352func (s *DeleteTargetGroupInput) Validate() error { 5353 invalidParams := request.ErrInvalidParams{Context: "DeleteTargetGroupInput"} 5354 if s.TargetGroupArn == nil { 5355 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 5356 } 5357 5358 if invalidParams.Len() > 0 { 5359 return invalidParams 5360 } 5361 return nil 5362} 5363 5364// SetTargetGroupArn sets the TargetGroupArn field's value. 5365func (s *DeleteTargetGroupInput) SetTargetGroupArn(v string) *DeleteTargetGroupInput { 5366 s.TargetGroupArn = &v 5367 return s 5368} 5369 5370type DeleteTargetGroupOutput struct { 5371 _ struct{} `type:"structure"` 5372} 5373 5374// String returns the string representation. 5375// 5376// API parameter values that are decorated as "sensitive" in the API will not 5377// be included in the string output. The member name will be present, but the 5378// value will be replaced with "sensitive". 5379func (s DeleteTargetGroupOutput) String() string { 5380 return awsutil.Prettify(s) 5381} 5382 5383// GoString returns the string representation. 5384// 5385// API parameter values that are decorated as "sensitive" in the API will not 5386// be included in the string output. The member name will be present, but the 5387// value will be replaced with "sensitive". 5388func (s DeleteTargetGroupOutput) GoString() string { 5389 return s.String() 5390} 5391 5392type DeregisterTargetsInput struct { 5393 _ struct{} `type:"structure"` 5394 5395 // The Amazon Resource Name (ARN) of the target group. 5396 // 5397 // TargetGroupArn is a required field 5398 TargetGroupArn *string `type:"string" required:"true"` 5399 5400 // The targets. If you specified a port override when you registered a target, 5401 // you must specify both the target ID and the port when you deregister it. 5402 // 5403 // Targets is a required field 5404 Targets []*TargetDescription `type:"list" required:"true"` 5405} 5406 5407// String returns the string representation. 5408// 5409// API parameter values that are decorated as "sensitive" in the API will not 5410// be included in the string output. The member name will be present, but the 5411// value will be replaced with "sensitive". 5412func (s DeregisterTargetsInput) String() string { 5413 return awsutil.Prettify(s) 5414} 5415 5416// GoString returns the string representation. 5417// 5418// API parameter values that are decorated as "sensitive" in the API will not 5419// be included in the string output. The member name will be present, but the 5420// value will be replaced with "sensitive". 5421func (s DeregisterTargetsInput) GoString() string { 5422 return s.String() 5423} 5424 5425// Validate inspects the fields of the type to determine if they are valid. 5426func (s *DeregisterTargetsInput) Validate() error { 5427 invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetsInput"} 5428 if s.TargetGroupArn == nil { 5429 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 5430 } 5431 if s.Targets == nil { 5432 invalidParams.Add(request.NewErrParamRequired("Targets")) 5433 } 5434 if s.Targets != nil { 5435 for i, v := range s.Targets { 5436 if v == nil { 5437 continue 5438 } 5439 if err := v.Validate(); err != nil { 5440 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 5441 } 5442 } 5443 } 5444 5445 if invalidParams.Len() > 0 { 5446 return invalidParams 5447 } 5448 return nil 5449} 5450 5451// SetTargetGroupArn sets the TargetGroupArn field's value. 5452func (s *DeregisterTargetsInput) SetTargetGroupArn(v string) *DeregisterTargetsInput { 5453 s.TargetGroupArn = &v 5454 return s 5455} 5456 5457// SetTargets sets the Targets field's value. 5458func (s *DeregisterTargetsInput) SetTargets(v []*TargetDescription) *DeregisterTargetsInput { 5459 s.Targets = v 5460 return s 5461} 5462 5463type DeregisterTargetsOutput struct { 5464 _ struct{} `type:"structure"` 5465} 5466 5467// String returns the string representation. 5468// 5469// API parameter values that are decorated as "sensitive" in the API will not 5470// be included in the string output. The member name will be present, but the 5471// value will be replaced with "sensitive". 5472func (s DeregisterTargetsOutput) String() string { 5473 return awsutil.Prettify(s) 5474} 5475 5476// GoString returns the string representation. 5477// 5478// API parameter values that are decorated as "sensitive" in the API will not 5479// be included in the string output. The member name will be present, but the 5480// value will be replaced with "sensitive". 5481func (s DeregisterTargetsOutput) GoString() string { 5482 return s.String() 5483} 5484 5485type DescribeAccountLimitsInput struct { 5486 _ struct{} `type:"structure"` 5487 5488 // The marker for the next set of results. (You received this marker from a 5489 // previous call.) 5490 Marker *string `type:"string"` 5491 5492 // The maximum number of results to return with this call. 5493 PageSize *int64 `min:"1" type:"integer"` 5494} 5495 5496// String returns the string representation. 5497// 5498// API parameter values that are decorated as "sensitive" in the API will not 5499// be included in the string output. The member name will be present, but the 5500// value will be replaced with "sensitive". 5501func (s DescribeAccountLimitsInput) String() string { 5502 return awsutil.Prettify(s) 5503} 5504 5505// GoString returns the string representation. 5506// 5507// API parameter values that are decorated as "sensitive" in the API will not 5508// be included in the string output. The member name will be present, but the 5509// value will be replaced with "sensitive". 5510func (s DescribeAccountLimitsInput) GoString() string { 5511 return s.String() 5512} 5513 5514// Validate inspects the fields of the type to determine if they are valid. 5515func (s *DescribeAccountLimitsInput) Validate() error { 5516 invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"} 5517 if s.PageSize != nil && *s.PageSize < 1 { 5518 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 5519 } 5520 5521 if invalidParams.Len() > 0 { 5522 return invalidParams 5523 } 5524 return nil 5525} 5526 5527// SetMarker sets the Marker field's value. 5528func (s *DescribeAccountLimitsInput) SetMarker(v string) *DescribeAccountLimitsInput { 5529 s.Marker = &v 5530 return s 5531} 5532 5533// SetPageSize sets the PageSize field's value. 5534func (s *DescribeAccountLimitsInput) SetPageSize(v int64) *DescribeAccountLimitsInput { 5535 s.PageSize = &v 5536 return s 5537} 5538 5539type DescribeAccountLimitsOutput struct { 5540 _ struct{} `type:"structure"` 5541 5542 // Information about the limits. 5543 Limits []*Limit `type:"list"` 5544 5545 // If there are additional results, this is the marker for the next set of results. 5546 // Otherwise, this is null. 5547 NextMarker *string `type:"string"` 5548} 5549 5550// String returns the string representation. 5551// 5552// API parameter values that are decorated as "sensitive" in the API will not 5553// be included in the string output. The member name will be present, but the 5554// value will be replaced with "sensitive". 5555func (s DescribeAccountLimitsOutput) String() string { 5556 return awsutil.Prettify(s) 5557} 5558 5559// GoString returns the string representation. 5560// 5561// API parameter values that are decorated as "sensitive" in the API will not 5562// be included in the string output. The member name will be present, but the 5563// value will be replaced with "sensitive". 5564func (s DescribeAccountLimitsOutput) GoString() string { 5565 return s.String() 5566} 5567 5568// SetLimits sets the Limits field's value. 5569func (s *DescribeAccountLimitsOutput) SetLimits(v []*Limit) *DescribeAccountLimitsOutput { 5570 s.Limits = v 5571 return s 5572} 5573 5574// SetNextMarker sets the NextMarker field's value. 5575func (s *DescribeAccountLimitsOutput) SetNextMarker(v string) *DescribeAccountLimitsOutput { 5576 s.NextMarker = &v 5577 return s 5578} 5579 5580type DescribeListenerCertificatesInput struct { 5581 _ struct{} `type:"structure"` 5582 5583 // The Amazon Resource Names (ARN) of the listener. 5584 // 5585 // ListenerArn is a required field 5586 ListenerArn *string `type:"string" required:"true"` 5587 5588 // The marker for the next set of results. (You received this marker from a 5589 // previous call.) 5590 Marker *string `type:"string"` 5591 5592 // The maximum number of results to return with this call. 5593 PageSize *int64 `min:"1" type:"integer"` 5594} 5595 5596// String returns the string representation. 5597// 5598// API parameter values that are decorated as "sensitive" in the API will not 5599// be included in the string output. The member name will be present, but the 5600// value will be replaced with "sensitive". 5601func (s DescribeListenerCertificatesInput) String() string { 5602 return awsutil.Prettify(s) 5603} 5604 5605// GoString returns the string representation. 5606// 5607// API parameter values that are decorated as "sensitive" in the API will not 5608// be included in the string output. The member name will be present, but the 5609// value will be replaced with "sensitive". 5610func (s DescribeListenerCertificatesInput) GoString() string { 5611 return s.String() 5612} 5613 5614// Validate inspects the fields of the type to determine if they are valid. 5615func (s *DescribeListenerCertificatesInput) Validate() error { 5616 invalidParams := request.ErrInvalidParams{Context: "DescribeListenerCertificatesInput"} 5617 if s.ListenerArn == nil { 5618 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 5619 } 5620 if s.PageSize != nil && *s.PageSize < 1 { 5621 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 5622 } 5623 5624 if invalidParams.Len() > 0 { 5625 return invalidParams 5626 } 5627 return nil 5628} 5629 5630// SetListenerArn sets the ListenerArn field's value. 5631func (s *DescribeListenerCertificatesInput) SetListenerArn(v string) *DescribeListenerCertificatesInput { 5632 s.ListenerArn = &v 5633 return s 5634} 5635 5636// SetMarker sets the Marker field's value. 5637func (s *DescribeListenerCertificatesInput) SetMarker(v string) *DescribeListenerCertificatesInput { 5638 s.Marker = &v 5639 return s 5640} 5641 5642// SetPageSize sets the PageSize field's value. 5643func (s *DescribeListenerCertificatesInput) SetPageSize(v int64) *DescribeListenerCertificatesInput { 5644 s.PageSize = &v 5645 return s 5646} 5647 5648type DescribeListenerCertificatesOutput struct { 5649 _ struct{} `type:"structure"` 5650 5651 // Information about the certificates. 5652 Certificates []*Certificate `type:"list"` 5653 5654 // If there are additional results, this is the marker for the next set of results. 5655 // Otherwise, this is null. 5656 NextMarker *string `type:"string"` 5657} 5658 5659// String returns the string representation. 5660// 5661// API parameter values that are decorated as "sensitive" in the API will not 5662// be included in the string output. The member name will be present, but the 5663// value will be replaced with "sensitive". 5664func (s DescribeListenerCertificatesOutput) String() string { 5665 return awsutil.Prettify(s) 5666} 5667 5668// GoString returns the string representation. 5669// 5670// API parameter values that are decorated as "sensitive" in the API will not 5671// be included in the string output. The member name will be present, but the 5672// value will be replaced with "sensitive". 5673func (s DescribeListenerCertificatesOutput) GoString() string { 5674 return s.String() 5675} 5676 5677// SetCertificates sets the Certificates field's value. 5678func (s *DescribeListenerCertificatesOutput) SetCertificates(v []*Certificate) *DescribeListenerCertificatesOutput { 5679 s.Certificates = v 5680 return s 5681} 5682 5683// SetNextMarker sets the NextMarker field's value. 5684func (s *DescribeListenerCertificatesOutput) SetNextMarker(v string) *DescribeListenerCertificatesOutput { 5685 s.NextMarker = &v 5686 return s 5687} 5688 5689type DescribeListenersInput struct { 5690 _ struct{} `type:"structure"` 5691 5692 // The Amazon Resource Names (ARN) of the listeners. 5693 ListenerArns []*string `type:"list"` 5694 5695 // The Amazon Resource Name (ARN) of the load balancer. 5696 LoadBalancerArn *string `type:"string"` 5697 5698 // The marker for the next set of results. (You received this marker from a 5699 // previous call.) 5700 Marker *string `type:"string"` 5701 5702 // The maximum number of results to return with this call. 5703 PageSize *int64 `min:"1" type:"integer"` 5704} 5705 5706// String returns the string representation. 5707// 5708// API parameter values that are decorated as "sensitive" in the API will not 5709// be included in the string output. The member name will be present, but the 5710// value will be replaced with "sensitive". 5711func (s DescribeListenersInput) String() string { 5712 return awsutil.Prettify(s) 5713} 5714 5715// GoString returns the string representation. 5716// 5717// API parameter values that are decorated as "sensitive" in the API will not 5718// be included in the string output. The member name will be present, but the 5719// value will be replaced with "sensitive". 5720func (s DescribeListenersInput) GoString() string { 5721 return s.String() 5722} 5723 5724// Validate inspects the fields of the type to determine if they are valid. 5725func (s *DescribeListenersInput) Validate() error { 5726 invalidParams := request.ErrInvalidParams{Context: "DescribeListenersInput"} 5727 if s.PageSize != nil && *s.PageSize < 1 { 5728 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 5729 } 5730 5731 if invalidParams.Len() > 0 { 5732 return invalidParams 5733 } 5734 return nil 5735} 5736 5737// SetListenerArns sets the ListenerArns field's value. 5738func (s *DescribeListenersInput) SetListenerArns(v []*string) *DescribeListenersInput { 5739 s.ListenerArns = v 5740 return s 5741} 5742 5743// SetLoadBalancerArn sets the LoadBalancerArn field's value. 5744func (s *DescribeListenersInput) SetLoadBalancerArn(v string) *DescribeListenersInput { 5745 s.LoadBalancerArn = &v 5746 return s 5747} 5748 5749// SetMarker sets the Marker field's value. 5750func (s *DescribeListenersInput) SetMarker(v string) *DescribeListenersInput { 5751 s.Marker = &v 5752 return s 5753} 5754 5755// SetPageSize sets the PageSize field's value. 5756func (s *DescribeListenersInput) SetPageSize(v int64) *DescribeListenersInput { 5757 s.PageSize = &v 5758 return s 5759} 5760 5761type DescribeListenersOutput struct { 5762 _ struct{} `type:"structure"` 5763 5764 // Information about the listeners. 5765 Listeners []*Listener `type:"list"` 5766 5767 // If there are additional results, this is the marker for the next set of results. 5768 // Otherwise, this is null. 5769 NextMarker *string `type:"string"` 5770} 5771 5772// String returns the string representation. 5773// 5774// API parameter values that are decorated as "sensitive" in the API will not 5775// be included in the string output. The member name will be present, but the 5776// value will be replaced with "sensitive". 5777func (s DescribeListenersOutput) String() string { 5778 return awsutil.Prettify(s) 5779} 5780 5781// GoString returns the string representation. 5782// 5783// API parameter values that are decorated as "sensitive" in the API will not 5784// be included in the string output. The member name will be present, but the 5785// value will be replaced with "sensitive". 5786func (s DescribeListenersOutput) GoString() string { 5787 return s.String() 5788} 5789 5790// SetListeners sets the Listeners field's value. 5791func (s *DescribeListenersOutput) SetListeners(v []*Listener) *DescribeListenersOutput { 5792 s.Listeners = v 5793 return s 5794} 5795 5796// SetNextMarker sets the NextMarker field's value. 5797func (s *DescribeListenersOutput) SetNextMarker(v string) *DescribeListenersOutput { 5798 s.NextMarker = &v 5799 return s 5800} 5801 5802type DescribeLoadBalancerAttributesInput struct { 5803 _ struct{} `type:"structure"` 5804 5805 // The Amazon Resource Name (ARN) of the load balancer. 5806 // 5807 // LoadBalancerArn is a required field 5808 LoadBalancerArn *string `type:"string" required:"true"` 5809} 5810 5811// String returns the string representation. 5812// 5813// API parameter values that are decorated as "sensitive" in the API will not 5814// be included in the string output. The member name will be present, but the 5815// value will be replaced with "sensitive". 5816func (s DescribeLoadBalancerAttributesInput) String() string { 5817 return awsutil.Prettify(s) 5818} 5819 5820// GoString returns the string representation. 5821// 5822// API parameter values that are decorated as "sensitive" in the API will not 5823// be included in the string output. The member name will be present, but the 5824// value will be replaced with "sensitive". 5825func (s DescribeLoadBalancerAttributesInput) GoString() string { 5826 return s.String() 5827} 5828 5829// Validate inspects the fields of the type to determine if they are valid. 5830func (s *DescribeLoadBalancerAttributesInput) Validate() error { 5831 invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerAttributesInput"} 5832 if s.LoadBalancerArn == nil { 5833 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 5834 } 5835 5836 if invalidParams.Len() > 0 { 5837 return invalidParams 5838 } 5839 return nil 5840} 5841 5842// SetLoadBalancerArn sets the LoadBalancerArn field's value. 5843func (s *DescribeLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *DescribeLoadBalancerAttributesInput { 5844 s.LoadBalancerArn = &v 5845 return s 5846} 5847 5848type DescribeLoadBalancerAttributesOutput struct { 5849 _ struct{} `type:"structure"` 5850 5851 // Information about the load balancer attributes. 5852 Attributes []*LoadBalancerAttribute `type:"list"` 5853} 5854 5855// String returns the string representation. 5856// 5857// API parameter values that are decorated as "sensitive" in the API will not 5858// be included in the string output. The member name will be present, but the 5859// value will be replaced with "sensitive". 5860func (s DescribeLoadBalancerAttributesOutput) String() string { 5861 return awsutil.Prettify(s) 5862} 5863 5864// GoString returns the string representation. 5865// 5866// API parameter values that are decorated as "sensitive" in the API will not 5867// be included in the string output. The member name will be present, but the 5868// value will be replaced with "sensitive". 5869func (s DescribeLoadBalancerAttributesOutput) GoString() string { 5870 return s.String() 5871} 5872 5873// SetAttributes sets the Attributes field's value. 5874func (s *DescribeLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *DescribeLoadBalancerAttributesOutput { 5875 s.Attributes = v 5876 return s 5877} 5878 5879type DescribeLoadBalancersInput struct { 5880 _ struct{} `type:"structure"` 5881 5882 // The Amazon Resource Names (ARN) of the load balancers. You can specify up 5883 // to 20 load balancers in a single call. 5884 LoadBalancerArns []*string `type:"list"` 5885 5886 // The marker for the next set of results. (You received this marker from a 5887 // previous call.) 5888 Marker *string `type:"string"` 5889 5890 // The names of the load balancers. 5891 Names []*string `type:"list"` 5892 5893 // The maximum number of results to return with this call. 5894 PageSize *int64 `min:"1" type:"integer"` 5895} 5896 5897// String returns the string representation. 5898// 5899// API parameter values that are decorated as "sensitive" in the API will not 5900// be included in the string output. The member name will be present, but the 5901// value will be replaced with "sensitive". 5902func (s DescribeLoadBalancersInput) String() string { 5903 return awsutil.Prettify(s) 5904} 5905 5906// GoString returns the string representation. 5907// 5908// API parameter values that are decorated as "sensitive" in the API will not 5909// be included in the string output. The member name will be present, but the 5910// value will be replaced with "sensitive". 5911func (s DescribeLoadBalancersInput) GoString() string { 5912 return s.String() 5913} 5914 5915// Validate inspects the fields of the type to determine if they are valid. 5916func (s *DescribeLoadBalancersInput) Validate() error { 5917 invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"} 5918 if s.PageSize != nil && *s.PageSize < 1 { 5919 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 5920 } 5921 5922 if invalidParams.Len() > 0 { 5923 return invalidParams 5924 } 5925 return nil 5926} 5927 5928// SetLoadBalancerArns sets the LoadBalancerArns field's value. 5929func (s *DescribeLoadBalancersInput) SetLoadBalancerArns(v []*string) *DescribeLoadBalancersInput { 5930 s.LoadBalancerArns = v 5931 return s 5932} 5933 5934// SetMarker sets the Marker field's value. 5935func (s *DescribeLoadBalancersInput) SetMarker(v string) *DescribeLoadBalancersInput { 5936 s.Marker = &v 5937 return s 5938} 5939 5940// SetNames sets the Names field's value. 5941func (s *DescribeLoadBalancersInput) SetNames(v []*string) *DescribeLoadBalancersInput { 5942 s.Names = v 5943 return s 5944} 5945 5946// SetPageSize sets the PageSize field's value. 5947func (s *DescribeLoadBalancersInput) SetPageSize(v int64) *DescribeLoadBalancersInput { 5948 s.PageSize = &v 5949 return s 5950} 5951 5952type DescribeLoadBalancersOutput struct { 5953 _ struct{} `type:"structure"` 5954 5955 // Information about the load balancers. 5956 LoadBalancers []*LoadBalancer `type:"list"` 5957 5958 // If there are additional results, this is the marker for the next set of results. 5959 // Otherwise, this is null. 5960 NextMarker *string `type:"string"` 5961} 5962 5963// String returns the string representation. 5964// 5965// API parameter values that are decorated as "sensitive" in the API will not 5966// be included in the string output. The member name will be present, but the 5967// value will be replaced with "sensitive". 5968func (s DescribeLoadBalancersOutput) String() string { 5969 return awsutil.Prettify(s) 5970} 5971 5972// GoString returns the string representation. 5973// 5974// API parameter values that are decorated as "sensitive" in the API will not 5975// be included in the string output. The member name will be present, but the 5976// value will be replaced with "sensitive". 5977func (s DescribeLoadBalancersOutput) GoString() string { 5978 return s.String() 5979} 5980 5981// SetLoadBalancers sets the LoadBalancers field's value. 5982func (s *DescribeLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *DescribeLoadBalancersOutput { 5983 s.LoadBalancers = v 5984 return s 5985} 5986 5987// SetNextMarker sets the NextMarker field's value. 5988func (s *DescribeLoadBalancersOutput) SetNextMarker(v string) *DescribeLoadBalancersOutput { 5989 s.NextMarker = &v 5990 return s 5991} 5992 5993type DescribeRulesInput struct { 5994 _ struct{} `type:"structure"` 5995 5996 // The Amazon Resource Name (ARN) of the listener. 5997 ListenerArn *string `type:"string"` 5998 5999 // The marker for the next set of results. (You received this marker from a 6000 // previous call.) 6001 Marker *string `type:"string"` 6002 6003 // The maximum number of results to return with this call. 6004 PageSize *int64 `min:"1" type:"integer"` 6005 6006 // The Amazon Resource Names (ARN) of the rules. 6007 RuleArns []*string `type:"list"` 6008} 6009 6010// String returns the string representation. 6011// 6012// API parameter values that are decorated as "sensitive" in the API will not 6013// be included in the string output. The member name will be present, but the 6014// value will be replaced with "sensitive". 6015func (s DescribeRulesInput) String() string { 6016 return awsutil.Prettify(s) 6017} 6018 6019// GoString returns the string representation. 6020// 6021// API parameter values that are decorated as "sensitive" in the API will not 6022// be included in the string output. The member name will be present, but the 6023// value will be replaced with "sensitive". 6024func (s DescribeRulesInput) GoString() string { 6025 return s.String() 6026} 6027 6028// Validate inspects the fields of the type to determine if they are valid. 6029func (s *DescribeRulesInput) Validate() error { 6030 invalidParams := request.ErrInvalidParams{Context: "DescribeRulesInput"} 6031 if s.PageSize != nil && *s.PageSize < 1 { 6032 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 6033 } 6034 6035 if invalidParams.Len() > 0 { 6036 return invalidParams 6037 } 6038 return nil 6039} 6040 6041// SetListenerArn sets the ListenerArn field's value. 6042func (s *DescribeRulesInput) SetListenerArn(v string) *DescribeRulesInput { 6043 s.ListenerArn = &v 6044 return s 6045} 6046 6047// SetMarker sets the Marker field's value. 6048func (s *DescribeRulesInput) SetMarker(v string) *DescribeRulesInput { 6049 s.Marker = &v 6050 return s 6051} 6052 6053// SetPageSize sets the PageSize field's value. 6054func (s *DescribeRulesInput) SetPageSize(v int64) *DescribeRulesInput { 6055 s.PageSize = &v 6056 return s 6057} 6058 6059// SetRuleArns sets the RuleArns field's value. 6060func (s *DescribeRulesInput) SetRuleArns(v []*string) *DescribeRulesInput { 6061 s.RuleArns = v 6062 return s 6063} 6064 6065type DescribeRulesOutput struct { 6066 _ struct{} `type:"structure"` 6067 6068 // If there are additional results, this is the marker for the next set of results. 6069 // Otherwise, this is null. 6070 NextMarker *string `type:"string"` 6071 6072 // Information about the rules. 6073 Rules []*Rule `type:"list"` 6074} 6075 6076// String returns the string representation. 6077// 6078// API parameter values that are decorated as "sensitive" in the API will not 6079// be included in the string output. The member name will be present, but the 6080// value will be replaced with "sensitive". 6081func (s DescribeRulesOutput) String() string { 6082 return awsutil.Prettify(s) 6083} 6084 6085// GoString returns the string representation. 6086// 6087// API parameter values that are decorated as "sensitive" in the API will not 6088// be included in the string output. The member name will be present, but the 6089// value will be replaced with "sensitive". 6090func (s DescribeRulesOutput) GoString() string { 6091 return s.String() 6092} 6093 6094// SetNextMarker sets the NextMarker field's value. 6095func (s *DescribeRulesOutput) SetNextMarker(v string) *DescribeRulesOutput { 6096 s.NextMarker = &v 6097 return s 6098} 6099 6100// SetRules sets the Rules field's value. 6101func (s *DescribeRulesOutput) SetRules(v []*Rule) *DescribeRulesOutput { 6102 s.Rules = v 6103 return s 6104} 6105 6106type DescribeSSLPoliciesInput struct { 6107 _ struct{} `type:"structure"` 6108 6109 // The type of load balancer. The default lists the SSL policies for all load 6110 // balancers. 6111 LoadBalancerType *string `type:"string" enum:"LoadBalancerTypeEnum"` 6112 6113 // The marker for the next set of results. (You received this marker from a 6114 // previous call.) 6115 Marker *string `type:"string"` 6116 6117 // The names of the policies. 6118 Names []*string `type:"list"` 6119 6120 // The maximum number of results to return with this call. 6121 PageSize *int64 `min:"1" type:"integer"` 6122} 6123 6124// String returns the string representation. 6125// 6126// API parameter values that are decorated as "sensitive" in the API will not 6127// be included in the string output. The member name will be present, but the 6128// value will be replaced with "sensitive". 6129func (s DescribeSSLPoliciesInput) String() string { 6130 return awsutil.Prettify(s) 6131} 6132 6133// GoString returns the string representation. 6134// 6135// API parameter values that are decorated as "sensitive" in the API will not 6136// be included in the string output. The member name will be present, but the 6137// value will be replaced with "sensitive". 6138func (s DescribeSSLPoliciesInput) GoString() string { 6139 return s.String() 6140} 6141 6142// Validate inspects the fields of the type to determine if they are valid. 6143func (s *DescribeSSLPoliciesInput) Validate() error { 6144 invalidParams := request.ErrInvalidParams{Context: "DescribeSSLPoliciesInput"} 6145 if s.PageSize != nil && *s.PageSize < 1 { 6146 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 6147 } 6148 6149 if invalidParams.Len() > 0 { 6150 return invalidParams 6151 } 6152 return nil 6153} 6154 6155// SetLoadBalancerType sets the LoadBalancerType field's value. 6156func (s *DescribeSSLPoliciesInput) SetLoadBalancerType(v string) *DescribeSSLPoliciesInput { 6157 s.LoadBalancerType = &v 6158 return s 6159} 6160 6161// SetMarker sets the Marker field's value. 6162func (s *DescribeSSLPoliciesInput) SetMarker(v string) *DescribeSSLPoliciesInput { 6163 s.Marker = &v 6164 return s 6165} 6166 6167// SetNames sets the Names field's value. 6168func (s *DescribeSSLPoliciesInput) SetNames(v []*string) *DescribeSSLPoliciesInput { 6169 s.Names = v 6170 return s 6171} 6172 6173// SetPageSize sets the PageSize field's value. 6174func (s *DescribeSSLPoliciesInput) SetPageSize(v int64) *DescribeSSLPoliciesInput { 6175 s.PageSize = &v 6176 return s 6177} 6178 6179type DescribeSSLPoliciesOutput struct { 6180 _ struct{} `type:"structure"` 6181 6182 // If there are additional results, this is the marker for the next set of results. 6183 // Otherwise, this is null. 6184 NextMarker *string `type:"string"` 6185 6186 // Information about the security policies. 6187 SslPolicies []*SslPolicy `type:"list"` 6188} 6189 6190// String returns the string representation. 6191// 6192// API parameter values that are decorated as "sensitive" in the API will not 6193// be included in the string output. The member name will be present, but the 6194// value will be replaced with "sensitive". 6195func (s DescribeSSLPoliciesOutput) String() string { 6196 return awsutil.Prettify(s) 6197} 6198 6199// GoString returns the string representation. 6200// 6201// API parameter values that are decorated as "sensitive" in the API will not 6202// be included in the string output. The member name will be present, but the 6203// value will be replaced with "sensitive". 6204func (s DescribeSSLPoliciesOutput) GoString() string { 6205 return s.String() 6206} 6207 6208// SetNextMarker sets the NextMarker field's value. 6209func (s *DescribeSSLPoliciesOutput) SetNextMarker(v string) *DescribeSSLPoliciesOutput { 6210 s.NextMarker = &v 6211 return s 6212} 6213 6214// SetSslPolicies sets the SslPolicies field's value. 6215func (s *DescribeSSLPoliciesOutput) SetSslPolicies(v []*SslPolicy) *DescribeSSLPoliciesOutput { 6216 s.SslPolicies = v 6217 return s 6218} 6219 6220type DescribeTagsInput struct { 6221 _ struct{} `type:"structure"` 6222 6223 // The Amazon Resource Names (ARN) of the resources. You can specify up to 20 6224 // resources in a single call. 6225 // 6226 // ResourceArns is a required field 6227 ResourceArns []*string `type:"list" required:"true"` 6228} 6229 6230// String returns the string representation. 6231// 6232// API parameter values that are decorated as "sensitive" in the API will not 6233// be included in the string output. The member name will be present, but the 6234// value will be replaced with "sensitive". 6235func (s DescribeTagsInput) String() string { 6236 return awsutil.Prettify(s) 6237} 6238 6239// GoString returns the string representation. 6240// 6241// API parameter values that are decorated as "sensitive" in the API will not 6242// be included in the string output. The member name will be present, but the 6243// value will be replaced with "sensitive". 6244func (s DescribeTagsInput) GoString() string { 6245 return s.String() 6246} 6247 6248// Validate inspects the fields of the type to determine if they are valid. 6249func (s *DescribeTagsInput) Validate() error { 6250 invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"} 6251 if s.ResourceArns == nil { 6252 invalidParams.Add(request.NewErrParamRequired("ResourceArns")) 6253 } 6254 6255 if invalidParams.Len() > 0 { 6256 return invalidParams 6257 } 6258 return nil 6259} 6260 6261// SetResourceArns sets the ResourceArns field's value. 6262func (s *DescribeTagsInput) SetResourceArns(v []*string) *DescribeTagsInput { 6263 s.ResourceArns = v 6264 return s 6265} 6266 6267type DescribeTagsOutput struct { 6268 _ struct{} `type:"structure"` 6269 6270 // Information about the tags. 6271 TagDescriptions []*TagDescription `type:"list"` 6272} 6273 6274// String returns the string representation. 6275// 6276// API parameter values that are decorated as "sensitive" in the API will not 6277// be included in the string output. The member name will be present, but the 6278// value will be replaced with "sensitive". 6279func (s DescribeTagsOutput) String() string { 6280 return awsutil.Prettify(s) 6281} 6282 6283// GoString returns the string representation. 6284// 6285// API parameter values that are decorated as "sensitive" in the API will not 6286// be included in the string output. The member name will be present, but the 6287// value will be replaced with "sensitive". 6288func (s DescribeTagsOutput) GoString() string { 6289 return s.String() 6290} 6291 6292// SetTagDescriptions sets the TagDescriptions field's value. 6293func (s *DescribeTagsOutput) SetTagDescriptions(v []*TagDescription) *DescribeTagsOutput { 6294 s.TagDescriptions = v 6295 return s 6296} 6297 6298type DescribeTargetGroupAttributesInput struct { 6299 _ struct{} `type:"structure"` 6300 6301 // The Amazon Resource Name (ARN) of the target group. 6302 // 6303 // TargetGroupArn is a required field 6304 TargetGroupArn *string `type:"string" required:"true"` 6305} 6306 6307// String returns the string representation. 6308// 6309// API parameter values that are decorated as "sensitive" in the API will not 6310// be included in the string output. The member name will be present, but the 6311// value will be replaced with "sensitive". 6312func (s DescribeTargetGroupAttributesInput) String() string { 6313 return awsutil.Prettify(s) 6314} 6315 6316// GoString returns the string representation. 6317// 6318// API parameter values that are decorated as "sensitive" in the API will not 6319// be included in the string output. The member name will be present, but the 6320// value will be replaced with "sensitive". 6321func (s DescribeTargetGroupAttributesInput) GoString() string { 6322 return s.String() 6323} 6324 6325// Validate inspects the fields of the type to determine if they are valid. 6326func (s *DescribeTargetGroupAttributesInput) Validate() error { 6327 invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupAttributesInput"} 6328 if s.TargetGroupArn == nil { 6329 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 6330 } 6331 6332 if invalidParams.Len() > 0 { 6333 return invalidParams 6334 } 6335 return nil 6336} 6337 6338// SetTargetGroupArn sets the TargetGroupArn field's value. 6339func (s *DescribeTargetGroupAttributesInput) SetTargetGroupArn(v string) *DescribeTargetGroupAttributesInput { 6340 s.TargetGroupArn = &v 6341 return s 6342} 6343 6344type DescribeTargetGroupAttributesOutput struct { 6345 _ struct{} `type:"structure"` 6346 6347 // Information about the target group attributes 6348 Attributes []*TargetGroupAttribute `type:"list"` 6349} 6350 6351// String returns the string representation. 6352// 6353// API parameter values that are decorated as "sensitive" in the API will not 6354// be included in the string output. The member name will be present, but the 6355// value will be replaced with "sensitive". 6356func (s DescribeTargetGroupAttributesOutput) String() string { 6357 return awsutil.Prettify(s) 6358} 6359 6360// GoString returns the string representation. 6361// 6362// API parameter values that are decorated as "sensitive" in the API will not 6363// be included in the string output. The member name will be present, but the 6364// value will be replaced with "sensitive". 6365func (s DescribeTargetGroupAttributesOutput) GoString() string { 6366 return s.String() 6367} 6368 6369// SetAttributes sets the Attributes field's value. 6370func (s *DescribeTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *DescribeTargetGroupAttributesOutput { 6371 s.Attributes = v 6372 return s 6373} 6374 6375type DescribeTargetGroupsInput struct { 6376 _ struct{} `type:"structure"` 6377 6378 // The Amazon Resource Name (ARN) of the load balancer. 6379 LoadBalancerArn *string `type:"string"` 6380 6381 // The marker for the next set of results. (You received this marker from a 6382 // previous call.) 6383 Marker *string `type:"string"` 6384 6385 // The names of the target groups. 6386 Names []*string `type:"list"` 6387 6388 // The maximum number of results to return with this call. 6389 PageSize *int64 `min:"1" type:"integer"` 6390 6391 // The Amazon Resource Names (ARN) of the target groups. 6392 TargetGroupArns []*string `type:"list"` 6393} 6394 6395// String returns the string representation. 6396// 6397// API parameter values that are decorated as "sensitive" in the API will not 6398// be included in the string output. The member name will be present, but the 6399// value will be replaced with "sensitive". 6400func (s DescribeTargetGroupsInput) String() string { 6401 return awsutil.Prettify(s) 6402} 6403 6404// GoString returns the string representation. 6405// 6406// API parameter values that are decorated as "sensitive" in the API will not 6407// be included in the string output. The member name will be present, but the 6408// value will be replaced with "sensitive". 6409func (s DescribeTargetGroupsInput) GoString() string { 6410 return s.String() 6411} 6412 6413// Validate inspects the fields of the type to determine if they are valid. 6414func (s *DescribeTargetGroupsInput) Validate() error { 6415 invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupsInput"} 6416 if s.PageSize != nil && *s.PageSize < 1 { 6417 invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) 6418 } 6419 6420 if invalidParams.Len() > 0 { 6421 return invalidParams 6422 } 6423 return nil 6424} 6425 6426// SetLoadBalancerArn sets the LoadBalancerArn field's value. 6427func (s *DescribeTargetGroupsInput) SetLoadBalancerArn(v string) *DescribeTargetGroupsInput { 6428 s.LoadBalancerArn = &v 6429 return s 6430} 6431 6432// SetMarker sets the Marker field's value. 6433func (s *DescribeTargetGroupsInput) SetMarker(v string) *DescribeTargetGroupsInput { 6434 s.Marker = &v 6435 return s 6436} 6437 6438// SetNames sets the Names field's value. 6439func (s *DescribeTargetGroupsInput) SetNames(v []*string) *DescribeTargetGroupsInput { 6440 s.Names = v 6441 return s 6442} 6443 6444// SetPageSize sets the PageSize field's value. 6445func (s *DescribeTargetGroupsInput) SetPageSize(v int64) *DescribeTargetGroupsInput { 6446 s.PageSize = &v 6447 return s 6448} 6449 6450// SetTargetGroupArns sets the TargetGroupArns field's value. 6451func (s *DescribeTargetGroupsInput) SetTargetGroupArns(v []*string) *DescribeTargetGroupsInput { 6452 s.TargetGroupArns = v 6453 return s 6454} 6455 6456type DescribeTargetGroupsOutput struct { 6457 _ struct{} `type:"structure"` 6458 6459 // If there are additional results, this is the marker for the next set of results. 6460 // Otherwise, this is null. 6461 NextMarker *string `type:"string"` 6462 6463 // Information about the target groups. 6464 TargetGroups []*TargetGroup `type:"list"` 6465} 6466 6467// String returns the string representation. 6468// 6469// API parameter values that are decorated as "sensitive" in the API will not 6470// be included in the string output. The member name will be present, but the 6471// value will be replaced with "sensitive". 6472func (s DescribeTargetGroupsOutput) String() string { 6473 return awsutil.Prettify(s) 6474} 6475 6476// GoString returns the string representation. 6477// 6478// API parameter values that are decorated as "sensitive" in the API will not 6479// be included in the string output. The member name will be present, but the 6480// value will be replaced with "sensitive". 6481func (s DescribeTargetGroupsOutput) GoString() string { 6482 return s.String() 6483} 6484 6485// SetNextMarker sets the NextMarker field's value. 6486func (s *DescribeTargetGroupsOutput) SetNextMarker(v string) *DescribeTargetGroupsOutput { 6487 s.NextMarker = &v 6488 return s 6489} 6490 6491// SetTargetGroups sets the TargetGroups field's value. 6492func (s *DescribeTargetGroupsOutput) SetTargetGroups(v []*TargetGroup) *DescribeTargetGroupsOutput { 6493 s.TargetGroups = v 6494 return s 6495} 6496 6497type DescribeTargetHealthInput struct { 6498 _ struct{} `type:"structure"` 6499 6500 // The Amazon Resource Name (ARN) of the target group. 6501 // 6502 // TargetGroupArn is a required field 6503 TargetGroupArn *string `type:"string" required:"true"` 6504 6505 // The targets. 6506 Targets []*TargetDescription `type:"list"` 6507} 6508 6509// String returns the string representation. 6510// 6511// API parameter values that are decorated as "sensitive" in the API will not 6512// be included in the string output. The member name will be present, but the 6513// value will be replaced with "sensitive". 6514func (s DescribeTargetHealthInput) String() string { 6515 return awsutil.Prettify(s) 6516} 6517 6518// GoString returns the string representation. 6519// 6520// API parameter values that are decorated as "sensitive" in the API will not 6521// be included in the string output. The member name will be present, but the 6522// value will be replaced with "sensitive". 6523func (s DescribeTargetHealthInput) GoString() string { 6524 return s.String() 6525} 6526 6527// Validate inspects the fields of the type to determine if they are valid. 6528func (s *DescribeTargetHealthInput) Validate() error { 6529 invalidParams := request.ErrInvalidParams{Context: "DescribeTargetHealthInput"} 6530 if s.TargetGroupArn == nil { 6531 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 6532 } 6533 if s.Targets != nil { 6534 for i, v := range s.Targets { 6535 if v == nil { 6536 continue 6537 } 6538 if err := v.Validate(); err != nil { 6539 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 6540 } 6541 } 6542 } 6543 6544 if invalidParams.Len() > 0 { 6545 return invalidParams 6546 } 6547 return nil 6548} 6549 6550// SetTargetGroupArn sets the TargetGroupArn field's value. 6551func (s *DescribeTargetHealthInput) SetTargetGroupArn(v string) *DescribeTargetHealthInput { 6552 s.TargetGroupArn = &v 6553 return s 6554} 6555 6556// SetTargets sets the Targets field's value. 6557func (s *DescribeTargetHealthInput) SetTargets(v []*TargetDescription) *DescribeTargetHealthInput { 6558 s.Targets = v 6559 return s 6560} 6561 6562type DescribeTargetHealthOutput struct { 6563 _ struct{} `type:"structure"` 6564 6565 // Information about the health of the targets. 6566 TargetHealthDescriptions []*TargetHealthDescription `type:"list"` 6567} 6568 6569// String returns the string representation. 6570// 6571// API parameter values that are decorated as "sensitive" in the API will not 6572// be included in the string output. The member name will be present, but the 6573// value will be replaced with "sensitive". 6574func (s DescribeTargetHealthOutput) String() string { 6575 return awsutil.Prettify(s) 6576} 6577 6578// GoString returns the string representation. 6579// 6580// API parameter values that are decorated as "sensitive" in the API will not 6581// be included in the string output. The member name will be present, but the 6582// value will be replaced with "sensitive". 6583func (s DescribeTargetHealthOutput) GoString() string { 6584 return s.String() 6585} 6586 6587// SetTargetHealthDescriptions sets the TargetHealthDescriptions field's value. 6588func (s *DescribeTargetHealthOutput) SetTargetHealthDescriptions(v []*TargetHealthDescription) *DescribeTargetHealthOutput { 6589 s.TargetHealthDescriptions = v 6590 return s 6591} 6592 6593// Information about an action that returns a custom HTTP response. 6594type FixedResponseActionConfig struct { 6595 _ struct{} `type:"structure"` 6596 6597 // The content type. 6598 // 6599 // Valid Values: text/plain | text/css | text/html | application/javascript 6600 // | application/json 6601 ContentType *string `type:"string"` 6602 6603 // The message. 6604 MessageBody *string `type:"string"` 6605 6606 // The HTTP response code (2XX, 4XX, or 5XX). 6607 // 6608 // StatusCode is a required field 6609 StatusCode *string `type:"string" required:"true"` 6610} 6611 6612// String returns the string representation. 6613// 6614// API parameter values that are decorated as "sensitive" in the API will not 6615// be included in the string output. The member name will be present, but the 6616// value will be replaced with "sensitive". 6617func (s FixedResponseActionConfig) String() string { 6618 return awsutil.Prettify(s) 6619} 6620 6621// GoString returns the string representation. 6622// 6623// API parameter values that are decorated as "sensitive" in the API will not 6624// be included in the string output. The member name will be present, but the 6625// value will be replaced with "sensitive". 6626func (s FixedResponseActionConfig) GoString() string { 6627 return s.String() 6628} 6629 6630// Validate inspects the fields of the type to determine if they are valid. 6631func (s *FixedResponseActionConfig) Validate() error { 6632 invalidParams := request.ErrInvalidParams{Context: "FixedResponseActionConfig"} 6633 if s.StatusCode == nil { 6634 invalidParams.Add(request.NewErrParamRequired("StatusCode")) 6635 } 6636 6637 if invalidParams.Len() > 0 { 6638 return invalidParams 6639 } 6640 return nil 6641} 6642 6643// SetContentType sets the ContentType field's value. 6644func (s *FixedResponseActionConfig) SetContentType(v string) *FixedResponseActionConfig { 6645 s.ContentType = &v 6646 return s 6647} 6648 6649// SetMessageBody sets the MessageBody field's value. 6650func (s *FixedResponseActionConfig) SetMessageBody(v string) *FixedResponseActionConfig { 6651 s.MessageBody = &v 6652 return s 6653} 6654 6655// SetStatusCode sets the StatusCode field's value. 6656func (s *FixedResponseActionConfig) SetStatusCode(v string) *FixedResponseActionConfig { 6657 s.StatusCode = &v 6658 return s 6659} 6660 6661// Information about a forward action. 6662type ForwardActionConfig struct { 6663 _ struct{} `type:"structure"` 6664 6665 // The target group stickiness for the rule. 6666 TargetGroupStickinessConfig *TargetGroupStickinessConfig `type:"structure"` 6667 6668 // One or more target groups. For Network Load Balancers, you can specify a 6669 // single target group. 6670 TargetGroups []*TargetGroupTuple `type:"list"` 6671} 6672 6673// String returns the string representation. 6674// 6675// API parameter values that are decorated as "sensitive" in the API will not 6676// be included in the string output. The member name will be present, but the 6677// value will be replaced with "sensitive". 6678func (s ForwardActionConfig) String() string { 6679 return awsutil.Prettify(s) 6680} 6681 6682// GoString returns the string representation. 6683// 6684// API parameter values that are decorated as "sensitive" in the API will not 6685// be included in the string output. The member name will be present, but the 6686// value will be replaced with "sensitive". 6687func (s ForwardActionConfig) GoString() string { 6688 return s.String() 6689} 6690 6691// SetTargetGroupStickinessConfig sets the TargetGroupStickinessConfig field's value. 6692func (s *ForwardActionConfig) SetTargetGroupStickinessConfig(v *TargetGroupStickinessConfig) *ForwardActionConfig { 6693 s.TargetGroupStickinessConfig = v 6694 return s 6695} 6696 6697// SetTargetGroups sets the TargetGroups field's value. 6698func (s *ForwardActionConfig) SetTargetGroups(v []*TargetGroupTuple) *ForwardActionConfig { 6699 s.TargetGroups = v 6700 return s 6701} 6702 6703// Information about a host header condition. 6704type HostHeaderConditionConfig struct { 6705 _ struct{} `type:"structure"` 6706 6707 // One or more host names. The maximum size of each name is 128 characters. 6708 // The comparison is case insensitive. The following wildcard characters are 6709 // supported: * (matches 0 or more characters) and ? (matches exactly 1 character). 6710 // 6711 // If you specify multiple strings, the condition is satisfied if one of the 6712 // strings matches the host name. 6713 Values []*string `type:"list"` 6714} 6715 6716// String returns the string representation. 6717// 6718// API parameter values that are decorated as "sensitive" in the API will not 6719// be included in the string output. The member name will be present, but the 6720// value will be replaced with "sensitive". 6721func (s HostHeaderConditionConfig) String() string { 6722 return awsutil.Prettify(s) 6723} 6724 6725// GoString returns the string representation. 6726// 6727// API parameter values that are decorated as "sensitive" in the API will not 6728// be included in the string output. The member name will be present, but the 6729// value will be replaced with "sensitive". 6730func (s HostHeaderConditionConfig) GoString() string { 6731 return s.String() 6732} 6733 6734// SetValues sets the Values field's value. 6735func (s *HostHeaderConditionConfig) SetValues(v []*string) *HostHeaderConditionConfig { 6736 s.Values = v 6737 return s 6738} 6739 6740// Information about an HTTP header condition. 6741// 6742// There is a set of standard HTTP header fields. You can also define custom 6743// HTTP header fields. 6744type HttpHeaderConditionConfig struct { 6745 _ struct{} `type:"structure"` 6746 6747 // The name of the HTTP header field. The maximum size is 40 characters. The 6748 // header name is case insensitive. The allowed characters are specified by 6749 // RFC 7230. Wildcards are not supported. 6750 // 6751 // You can't use an HTTP header condition to specify the host header. Use HostHeaderConditionConfig 6752 // to specify a host header condition. 6753 HttpHeaderName *string `type:"string"` 6754 6755 // One or more strings to compare against the value of the HTTP header. The 6756 // maximum size of each string is 128 characters. The comparison strings are 6757 // case insensitive. The following wildcard characters are supported: * (matches 6758 // 0 or more characters) and ? (matches exactly 1 character). 6759 // 6760 // If the same header appears multiple times in the request, we search them 6761 // in order until a match is found. 6762 // 6763 // If you specify multiple strings, the condition is satisfied if one of the 6764 // strings matches the value of the HTTP header. To require that all of the 6765 // strings are a match, create one condition per string. 6766 Values []*string `type:"list"` 6767} 6768 6769// String returns the string representation. 6770// 6771// API parameter values that are decorated as "sensitive" in the API will not 6772// be included in the string output. The member name will be present, but the 6773// value will be replaced with "sensitive". 6774func (s HttpHeaderConditionConfig) String() string { 6775 return awsutil.Prettify(s) 6776} 6777 6778// GoString returns the string representation. 6779// 6780// API parameter values that are decorated as "sensitive" in the API will not 6781// be included in the string output. The member name will be present, but the 6782// value will be replaced with "sensitive". 6783func (s HttpHeaderConditionConfig) GoString() string { 6784 return s.String() 6785} 6786 6787// SetHttpHeaderName sets the HttpHeaderName field's value. 6788func (s *HttpHeaderConditionConfig) SetHttpHeaderName(v string) *HttpHeaderConditionConfig { 6789 s.HttpHeaderName = &v 6790 return s 6791} 6792 6793// SetValues sets the Values field's value. 6794func (s *HttpHeaderConditionConfig) SetValues(v []*string) *HttpHeaderConditionConfig { 6795 s.Values = v 6796 return s 6797} 6798 6799// Information about an HTTP method condition. 6800// 6801// HTTP defines a set of request methods, also referred to as HTTP verbs. For 6802// more information, see the HTTP Method Registry (https://www.iana.org/assignments/http-methods/http-methods.xhtml). 6803// You can also define custom HTTP methods. 6804type HttpRequestMethodConditionConfig struct { 6805 _ struct{} `type:"structure"` 6806 6807 // The name of the request method. The maximum size is 40 characters. The allowed 6808 // characters are A-Z, hyphen (-), and underscore (_). The comparison is case 6809 // sensitive. Wildcards are not supported; therefore, the method name must be 6810 // an exact match. 6811 // 6812 // If you specify multiple strings, the condition is satisfied if one of the 6813 // strings matches the HTTP request method. We recommend that you route GET 6814 // and HEAD requests in the same way, because the response to a HEAD request 6815 // may be cached. 6816 Values []*string `type:"list"` 6817} 6818 6819// String returns the string representation. 6820// 6821// API parameter values that are decorated as "sensitive" in the API will not 6822// be included in the string output. The member name will be present, but the 6823// value will be replaced with "sensitive". 6824func (s HttpRequestMethodConditionConfig) String() string { 6825 return awsutil.Prettify(s) 6826} 6827 6828// GoString returns the string representation. 6829// 6830// API parameter values that are decorated as "sensitive" in the API will not 6831// be included in the string output. The member name will be present, but the 6832// value will be replaced with "sensitive". 6833func (s HttpRequestMethodConditionConfig) GoString() string { 6834 return s.String() 6835} 6836 6837// SetValues sets the Values field's value. 6838func (s *HttpRequestMethodConditionConfig) SetValues(v []*string) *HttpRequestMethodConditionConfig { 6839 s.Values = v 6840 return s 6841} 6842 6843// Information about an Elastic Load Balancing resource limit for your Amazon 6844// Web Services account. 6845type Limit struct { 6846 _ struct{} `type:"structure"` 6847 6848 // The maximum value of the limit. 6849 Max *string `type:"string"` 6850 6851 // The name of the limit. The possible values are: 6852 // 6853 // * application-load-balancers 6854 // 6855 // * condition-values-per-alb-rule 6856 // 6857 // * condition-wildcards-per-alb-rule 6858 // 6859 // * gateway-load-balancers 6860 // 6861 // * gateway-load-balancers-per-vpc 6862 // 6863 // * geneve-target-groups 6864 // 6865 // * listeners-per-application-load-balancer 6866 // 6867 // * listeners-per-network-load-balancer 6868 // 6869 // * network-load-balancers 6870 // 6871 // * rules-per-application-load-balancer 6872 // 6873 // * target-groups 6874 // 6875 // * target-groups-per-action-on-application-load-balancer 6876 // 6877 // * target-groups-per-action-on-network-load-balancer 6878 // 6879 // * target-groups-per-application-load-balancer 6880 // 6881 // * targets-per-application-load-balancer 6882 // 6883 // * targets-per-availability-zone-per-gateway-load-balancer 6884 // 6885 // * targets-per-availability-zone-per-network-load-balancer 6886 // 6887 // * targets-per-network-load-balancer 6888 Name *string `type:"string"` 6889} 6890 6891// String returns the string representation. 6892// 6893// API parameter values that are decorated as "sensitive" in the API will not 6894// be included in the string output. The member name will be present, but the 6895// value will be replaced with "sensitive". 6896func (s Limit) String() string { 6897 return awsutil.Prettify(s) 6898} 6899 6900// GoString returns the string representation. 6901// 6902// API parameter values that are decorated as "sensitive" in the API will not 6903// be included in the string output. The member name will be present, but the 6904// value will be replaced with "sensitive". 6905func (s Limit) GoString() string { 6906 return s.String() 6907} 6908 6909// SetMax sets the Max field's value. 6910func (s *Limit) SetMax(v string) *Limit { 6911 s.Max = &v 6912 return s 6913} 6914 6915// SetName sets the Name field's value. 6916func (s *Limit) SetName(v string) *Limit { 6917 s.Name = &v 6918 return s 6919} 6920 6921// Information about a listener. 6922type Listener struct { 6923 _ struct{} `type:"structure"` 6924 6925 // [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) 6926 // policy. 6927 AlpnPolicy []*string `type:"list"` 6928 6929 // [HTTPS or TLS listener] The default certificate for the listener. 6930 Certificates []*Certificate `type:"list"` 6931 6932 // The default actions for the listener. 6933 DefaultActions []*Action `type:"list"` 6934 6935 // The Amazon Resource Name (ARN) of the listener. 6936 ListenerArn *string `type:"string"` 6937 6938 // The Amazon Resource Name (ARN) of the load balancer. 6939 LoadBalancerArn *string `type:"string"` 6940 6941 // The port on which the load balancer is listening. 6942 Port *int64 `min:"1" type:"integer"` 6943 6944 // The protocol for connections from clients to the load balancer. 6945 Protocol *string `type:"string" enum:"ProtocolEnum"` 6946 6947 // [HTTPS or TLS listener] The security policy that defines which protocols 6948 // and ciphers are supported. 6949 SslPolicy *string `type:"string"` 6950} 6951 6952// String returns the string representation. 6953// 6954// API parameter values that are decorated as "sensitive" in the API will not 6955// be included in the string output. The member name will be present, but the 6956// value will be replaced with "sensitive". 6957func (s Listener) String() string { 6958 return awsutil.Prettify(s) 6959} 6960 6961// GoString returns the string representation. 6962// 6963// API parameter values that are decorated as "sensitive" in the API will not 6964// be included in the string output. The member name will be present, but the 6965// value will be replaced with "sensitive". 6966func (s Listener) GoString() string { 6967 return s.String() 6968} 6969 6970// SetAlpnPolicy sets the AlpnPolicy field's value. 6971func (s *Listener) SetAlpnPolicy(v []*string) *Listener { 6972 s.AlpnPolicy = v 6973 return s 6974} 6975 6976// SetCertificates sets the Certificates field's value. 6977func (s *Listener) SetCertificates(v []*Certificate) *Listener { 6978 s.Certificates = v 6979 return s 6980} 6981 6982// SetDefaultActions sets the DefaultActions field's value. 6983func (s *Listener) SetDefaultActions(v []*Action) *Listener { 6984 s.DefaultActions = v 6985 return s 6986} 6987 6988// SetListenerArn sets the ListenerArn field's value. 6989func (s *Listener) SetListenerArn(v string) *Listener { 6990 s.ListenerArn = &v 6991 return s 6992} 6993 6994// SetLoadBalancerArn sets the LoadBalancerArn field's value. 6995func (s *Listener) SetLoadBalancerArn(v string) *Listener { 6996 s.LoadBalancerArn = &v 6997 return s 6998} 6999 7000// SetPort sets the Port field's value. 7001func (s *Listener) SetPort(v int64) *Listener { 7002 s.Port = &v 7003 return s 7004} 7005 7006// SetProtocol sets the Protocol field's value. 7007func (s *Listener) SetProtocol(v string) *Listener { 7008 s.Protocol = &v 7009 return s 7010} 7011 7012// SetSslPolicy sets the SslPolicy field's value. 7013func (s *Listener) SetSslPolicy(v string) *Listener { 7014 s.SslPolicy = &v 7015 return s 7016} 7017 7018// Information about a load balancer. 7019type LoadBalancer struct { 7020 _ struct{} `type:"structure"` 7021 7022 // The subnets for the load balancer. 7023 AvailabilityZones []*AvailabilityZone `type:"list"` 7024 7025 // The ID of the Amazon Route 53 hosted zone associated with the load balancer. 7026 CanonicalHostedZoneId *string `type:"string"` 7027 7028 // The date and time the load balancer was created. 7029 CreatedTime *time.Time `type:"timestamp"` 7030 7031 // [Application Load Balancers on Outposts] The ID of the customer-owned address 7032 // pool. 7033 CustomerOwnedIpv4Pool *string `type:"string"` 7034 7035 // The public DNS name of the load balancer. 7036 DNSName *string `type:"string"` 7037 7038 // The type of IP addresses used by the subnets for your load balancer. The 7039 // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and 7040 // IPv6 addresses). 7041 IpAddressType *string `type:"string" enum:"IpAddressType"` 7042 7043 // The Amazon Resource Name (ARN) of the load balancer. 7044 LoadBalancerArn *string `type:"string"` 7045 7046 // The name of the load balancer. 7047 LoadBalancerName *string `type:"string"` 7048 7049 // The nodes of an Internet-facing load balancer have public IP addresses. The 7050 // DNS name of an Internet-facing load balancer is publicly resolvable to the 7051 // public IP addresses of the nodes. Therefore, Internet-facing load balancers 7052 // can route requests from clients over the internet. 7053 // 7054 // The nodes of an internal load balancer have only private IP addresses. The 7055 // DNS name of an internal load balancer is publicly resolvable to the private 7056 // IP addresses of the nodes. Therefore, internal load balancers can route requests 7057 // only from clients with access to the VPC for the load balancer. 7058 Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"` 7059 7060 // The IDs of the security groups for the load balancer. 7061 SecurityGroups []*string `type:"list"` 7062 7063 // The state of the load balancer. 7064 State *LoadBalancerState `type:"structure"` 7065 7066 // The type of load balancer. 7067 Type *string `type:"string" enum:"LoadBalancerTypeEnum"` 7068 7069 // The ID of the VPC for the load balancer. 7070 VpcId *string `type:"string"` 7071} 7072 7073// String returns the string representation. 7074// 7075// API parameter values that are decorated as "sensitive" in the API will not 7076// be included in the string output. The member name will be present, but the 7077// value will be replaced with "sensitive". 7078func (s LoadBalancer) String() string { 7079 return awsutil.Prettify(s) 7080} 7081 7082// GoString returns the string representation. 7083// 7084// API parameter values that are decorated as "sensitive" in the API will not 7085// be included in the string output. The member name will be present, but the 7086// value will be replaced with "sensitive". 7087func (s LoadBalancer) GoString() string { 7088 return s.String() 7089} 7090 7091// SetAvailabilityZones sets the AvailabilityZones field's value. 7092func (s *LoadBalancer) SetAvailabilityZones(v []*AvailabilityZone) *LoadBalancer { 7093 s.AvailabilityZones = v 7094 return s 7095} 7096 7097// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value. 7098func (s *LoadBalancer) SetCanonicalHostedZoneId(v string) *LoadBalancer { 7099 s.CanonicalHostedZoneId = &v 7100 return s 7101} 7102 7103// SetCreatedTime sets the CreatedTime field's value. 7104func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer { 7105 s.CreatedTime = &v 7106 return s 7107} 7108 7109// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value. 7110func (s *LoadBalancer) SetCustomerOwnedIpv4Pool(v string) *LoadBalancer { 7111 s.CustomerOwnedIpv4Pool = &v 7112 return s 7113} 7114 7115// SetDNSName sets the DNSName field's value. 7116func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer { 7117 s.DNSName = &v 7118 return s 7119} 7120 7121// SetIpAddressType sets the IpAddressType field's value. 7122func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer { 7123 s.IpAddressType = &v 7124 return s 7125} 7126 7127// SetLoadBalancerArn sets the LoadBalancerArn field's value. 7128func (s *LoadBalancer) SetLoadBalancerArn(v string) *LoadBalancer { 7129 s.LoadBalancerArn = &v 7130 return s 7131} 7132 7133// SetLoadBalancerName sets the LoadBalancerName field's value. 7134func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 7135 s.LoadBalancerName = &v 7136 return s 7137} 7138 7139// SetScheme sets the Scheme field's value. 7140func (s *LoadBalancer) SetScheme(v string) *LoadBalancer { 7141 s.Scheme = &v 7142 return s 7143} 7144 7145// SetSecurityGroups sets the SecurityGroups field's value. 7146func (s *LoadBalancer) SetSecurityGroups(v []*string) *LoadBalancer { 7147 s.SecurityGroups = v 7148 return s 7149} 7150 7151// SetState sets the State field's value. 7152func (s *LoadBalancer) SetState(v *LoadBalancerState) *LoadBalancer { 7153 s.State = v 7154 return s 7155} 7156 7157// SetType sets the Type field's value. 7158func (s *LoadBalancer) SetType(v string) *LoadBalancer { 7159 s.Type = &v 7160 return s 7161} 7162 7163// SetVpcId sets the VpcId field's value. 7164func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer { 7165 s.VpcId = &v 7166 return s 7167} 7168 7169// Information about a static IP address for a load balancer. 7170type LoadBalancerAddress struct { 7171 _ struct{} `type:"structure"` 7172 7173 // [Network Load Balancers] The allocation ID of the Elastic IP address for 7174 // an internal-facing load balancer. 7175 AllocationId *string `type:"string"` 7176 7177 // [Network Load Balancers] The IPv6 address. 7178 IPv6Address *string `type:"string"` 7179 7180 // The static IP address. 7181 IpAddress *string `type:"string"` 7182 7183 // [Network Load Balancers] The private IPv4 address for an internal load balancer. 7184 PrivateIPv4Address *string `type:"string"` 7185} 7186 7187// String returns the string representation. 7188// 7189// API parameter values that are decorated as "sensitive" in the API will not 7190// be included in the string output. The member name will be present, but the 7191// value will be replaced with "sensitive". 7192func (s LoadBalancerAddress) String() string { 7193 return awsutil.Prettify(s) 7194} 7195 7196// GoString returns the string representation. 7197// 7198// API parameter values that are decorated as "sensitive" in the API will not 7199// be included in the string output. The member name will be present, but the 7200// value will be replaced with "sensitive". 7201func (s LoadBalancerAddress) GoString() string { 7202 return s.String() 7203} 7204 7205// SetAllocationId sets the AllocationId field's value. 7206func (s *LoadBalancerAddress) SetAllocationId(v string) *LoadBalancerAddress { 7207 s.AllocationId = &v 7208 return s 7209} 7210 7211// SetIPv6Address sets the IPv6Address field's value. 7212func (s *LoadBalancerAddress) SetIPv6Address(v string) *LoadBalancerAddress { 7213 s.IPv6Address = &v 7214 return s 7215} 7216 7217// SetIpAddress sets the IpAddress field's value. 7218func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress { 7219 s.IpAddress = &v 7220 return s 7221} 7222 7223// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. 7224func (s *LoadBalancerAddress) SetPrivateIPv4Address(v string) *LoadBalancerAddress { 7225 s.PrivateIPv4Address = &v 7226 return s 7227} 7228 7229// Information about a load balancer attribute. 7230type LoadBalancerAttribute struct { 7231 _ struct{} `type:"structure"` 7232 7233 // The name of the attribute. 7234 // 7235 // The following attribute is supported by all load balancers: 7236 // 7237 // * deletion_protection.enabled - Indicates whether deletion protection 7238 // is enabled. The value is true or false. The default is false. 7239 // 7240 // The following attributes are supported by both Application Load Balancers 7241 // and Network Load Balancers: 7242 // 7243 // * access_logs.s3.enabled - Indicates whether access logs are enabled. 7244 // The value is true or false. The default is false. 7245 // 7246 // * access_logs.s3.bucket - The name of the S3 bucket for the access logs. 7247 // This attribute is required if access logs are enabled. The bucket must 7248 // exist in the same region as the load balancer and have a bucket policy 7249 // that grants Elastic Load Balancing permissions to write to the bucket. 7250 // 7251 // * access_logs.s3.prefix - The prefix for the location in the S3 bucket 7252 // for the access logs. 7253 // 7254 // The following attributes are supported by only Application Load Balancers: 7255 // 7256 // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The 7257 // valid range is 1-4000 seconds. The default is 60 seconds. 7258 // 7259 // * routing.http.desync_mitigation_mode - Determines how the load balancer 7260 // handles requests that might pose a security risk to your application. 7261 // The possible values are monitor, defensive, and strictest. The default 7262 // is defensive. 7263 // 7264 // * routing.http.drop_invalid_header_fields.enabled - Indicates whether 7265 // HTTP headers with invalid header fields are removed by the load balancer 7266 // (true) or routed to targets (false). The default is false. 7267 // 7268 // * routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates 7269 // whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), 7270 // which contain information about the negotiated TLS version and cipher 7271 // suite, are added to the client request before sending it to the target. 7272 // The x-amzn-tls-version header has information about the TLS protocol version 7273 // negotiated with the client, and the x-amzn-tls-cipher-suite header has 7274 // information about the cipher suite negotiated with the client. Both headers 7275 // are in OpenSSL format. The possible values for the attribute are true 7276 // and false. The default is false. 7277 // 7278 // * routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For 7279 // header should preserve the source port that the client used to connect 7280 // to the load balancer. The possible values are true and false. The default 7281 // is false. 7282 // 7283 // * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible 7284 // values are true and false. The default is true. Elastic Load Balancing 7285 // requires that message header names contain only alphanumeric characters 7286 // and hyphens. 7287 // 7288 // * waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load 7289 // balancer to route requests to targets if it is unable to forward the request 7290 // to Amazon Web Services WAF. The possible values are true and false. The 7291 // default is false. 7292 // 7293 // The following attribute is supported by Network Load Balancers and Gateway 7294 // Load Balancers: 7295 // 7296 // * load_balancing.cross_zone.enabled - Indicates whether cross-zone load 7297 // balancing is enabled. The possible values are true and false. The default 7298 // is false. 7299 Key *string `type:"string"` 7300 7301 // The value of the attribute. 7302 Value *string `type:"string"` 7303} 7304 7305// String returns the string representation. 7306// 7307// API parameter values that are decorated as "sensitive" in the API will not 7308// be included in the string output. The member name will be present, but the 7309// value will be replaced with "sensitive". 7310func (s LoadBalancerAttribute) String() string { 7311 return awsutil.Prettify(s) 7312} 7313 7314// GoString returns the string representation. 7315// 7316// API parameter values that are decorated as "sensitive" in the API will not 7317// be included in the string output. The member name will be present, but the 7318// value will be replaced with "sensitive". 7319func (s LoadBalancerAttribute) GoString() string { 7320 return s.String() 7321} 7322 7323// SetKey sets the Key field's value. 7324func (s *LoadBalancerAttribute) SetKey(v string) *LoadBalancerAttribute { 7325 s.Key = &v 7326 return s 7327} 7328 7329// SetValue sets the Value field's value. 7330func (s *LoadBalancerAttribute) SetValue(v string) *LoadBalancerAttribute { 7331 s.Value = &v 7332 return s 7333} 7334 7335// Information about the state of the load balancer. 7336type LoadBalancerState struct { 7337 _ struct{} `type:"structure"` 7338 7339 // The state code. The initial state of the load balancer is provisioning. After 7340 // the load balancer is fully set up and ready to route traffic, its state is 7341 // active. If load balancer is routing traffic but does not have the resources 7342 // it needs to scale, its state isactive_impaired. If the load balancer could 7343 // not be set up, its state is failed. 7344 Code *string `type:"string" enum:"LoadBalancerStateEnum"` 7345 7346 // A description of the state. 7347 Reason *string `type:"string"` 7348} 7349 7350// String returns the string representation. 7351// 7352// API parameter values that are decorated as "sensitive" in the API will not 7353// be included in the string output. The member name will be present, but the 7354// value will be replaced with "sensitive". 7355func (s LoadBalancerState) String() string { 7356 return awsutil.Prettify(s) 7357} 7358 7359// GoString returns the string representation. 7360// 7361// API parameter values that are decorated as "sensitive" in the API will not 7362// be included in the string output. The member name will be present, but the 7363// value will be replaced with "sensitive". 7364func (s LoadBalancerState) GoString() string { 7365 return s.String() 7366} 7367 7368// SetCode sets the Code field's value. 7369func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState { 7370 s.Code = &v 7371 return s 7372} 7373 7374// SetReason sets the Reason field's value. 7375func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState { 7376 s.Reason = &v 7377 return s 7378} 7379 7380// The codes to use when checking for a successful response from a target. If 7381// the protocol version is gRPC, these are gRPC codes. Otherwise, these are 7382// HTTP codes. 7383type Matcher struct { 7384 _ struct{} `type:"structure"` 7385 7386 // You can specify values between 0 and 99. You can specify multiple values 7387 // (for example, "0,1") or a range of values (for example, "0-5"). The default 7388 // value is 12. 7389 GrpcCode *string `type:"string"` 7390 7391 // For Application Load Balancers, you can specify values between 200 and 499, 7392 // and the default value is 200. You can specify multiple values (for example, 7393 // "200,202") or a range of values (for example, "200-299"). 7394 // 7395 // For Network Load Balancers and Gateway Load Balancers, this must be "200–399". 7396 // 7397 // Note that when using shorthand syntax, some values such as commas need to 7398 // be escaped. 7399 HttpCode *string `type:"string"` 7400} 7401 7402// String returns the string representation. 7403// 7404// API parameter values that are decorated as "sensitive" in the API will not 7405// be included in the string output. The member name will be present, but the 7406// value will be replaced with "sensitive". 7407func (s Matcher) String() string { 7408 return awsutil.Prettify(s) 7409} 7410 7411// GoString returns the string representation. 7412// 7413// API parameter values that are decorated as "sensitive" in the API will not 7414// be included in the string output. The member name will be present, but the 7415// value will be replaced with "sensitive". 7416func (s Matcher) GoString() string { 7417 return s.String() 7418} 7419 7420// SetGrpcCode sets the GrpcCode field's value. 7421func (s *Matcher) SetGrpcCode(v string) *Matcher { 7422 s.GrpcCode = &v 7423 return s 7424} 7425 7426// SetHttpCode sets the HttpCode field's value. 7427func (s *Matcher) SetHttpCode(v string) *Matcher { 7428 s.HttpCode = &v 7429 return s 7430} 7431 7432type ModifyListenerInput struct { 7433 _ struct{} `type:"structure"` 7434 7435 // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) 7436 // policy. You can specify one policy name. The following are the possible values: 7437 // 7438 // * HTTP1Only 7439 // 7440 // * HTTP2Only 7441 // 7442 // * HTTP2Optional 7443 // 7444 // * HTTP2Preferred 7445 // 7446 // * None 7447 // 7448 // For more information, see ALPN policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) 7449 // in the Network Load Balancers Guide. 7450 AlpnPolicy []*string `type:"list"` 7451 7452 // [HTTPS and TLS listeners] The default certificate for the listener. You must 7453 // provide exactly one certificate. Set CertificateArn to the certificate ARN 7454 // but do not set IsDefault. 7455 Certificates []*Certificate `type:"list"` 7456 7457 // The actions for the default rule. 7458 DefaultActions []*Action `type:"list"` 7459 7460 // The Amazon Resource Name (ARN) of the listener. 7461 // 7462 // ListenerArn is a required field 7463 ListenerArn *string `type:"string" required:"true"` 7464 7465 // The port for connections from clients to the load balancer. You cannot specify 7466 // a port for a Gateway Load Balancer. 7467 Port *int64 `min:"1" type:"integer"` 7468 7469 // The protocol for connections from clients to the load balancer. Application 7470 // Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers 7471 // support the TCP, TLS, UDP, and TCP_UDP protocols. You can’t change the 7472 // protocol to UDP or TCP_UDP if dual-stack mode is enabled. You cannot specify 7473 // a protocol for a Gateway Load Balancer. 7474 Protocol *string `type:"string" enum:"ProtocolEnum"` 7475 7476 // [HTTPS and TLS listeners] The security policy that defines which protocols 7477 // and ciphers are supported. 7478 // 7479 // For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) 7480 // in the Application Load Balancers Guide or Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) 7481 // in the Network Load Balancers Guide. 7482 SslPolicy *string `type:"string"` 7483} 7484 7485// String returns the string representation. 7486// 7487// API parameter values that are decorated as "sensitive" in the API will not 7488// be included in the string output. The member name will be present, but the 7489// value will be replaced with "sensitive". 7490func (s ModifyListenerInput) String() string { 7491 return awsutil.Prettify(s) 7492} 7493 7494// GoString returns the string representation. 7495// 7496// API parameter values that are decorated as "sensitive" in the API will not 7497// be included in the string output. The member name will be present, but the 7498// value will be replaced with "sensitive". 7499func (s ModifyListenerInput) GoString() string { 7500 return s.String() 7501} 7502 7503// Validate inspects the fields of the type to determine if they are valid. 7504func (s *ModifyListenerInput) Validate() error { 7505 invalidParams := request.ErrInvalidParams{Context: "ModifyListenerInput"} 7506 if s.ListenerArn == nil { 7507 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 7508 } 7509 if s.Port != nil && *s.Port < 1 { 7510 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 7511 } 7512 if s.DefaultActions != nil { 7513 for i, v := range s.DefaultActions { 7514 if v == nil { 7515 continue 7516 } 7517 if err := v.Validate(); err != nil { 7518 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams)) 7519 } 7520 } 7521 } 7522 7523 if invalidParams.Len() > 0 { 7524 return invalidParams 7525 } 7526 return nil 7527} 7528 7529// SetAlpnPolicy sets the AlpnPolicy field's value. 7530func (s *ModifyListenerInput) SetAlpnPolicy(v []*string) *ModifyListenerInput { 7531 s.AlpnPolicy = v 7532 return s 7533} 7534 7535// SetCertificates sets the Certificates field's value. 7536func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput { 7537 s.Certificates = v 7538 return s 7539} 7540 7541// SetDefaultActions sets the DefaultActions field's value. 7542func (s *ModifyListenerInput) SetDefaultActions(v []*Action) *ModifyListenerInput { 7543 s.DefaultActions = v 7544 return s 7545} 7546 7547// SetListenerArn sets the ListenerArn field's value. 7548func (s *ModifyListenerInput) SetListenerArn(v string) *ModifyListenerInput { 7549 s.ListenerArn = &v 7550 return s 7551} 7552 7553// SetPort sets the Port field's value. 7554func (s *ModifyListenerInput) SetPort(v int64) *ModifyListenerInput { 7555 s.Port = &v 7556 return s 7557} 7558 7559// SetProtocol sets the Protocol field's value. 7560func (s *ModifyListenerInput) SetProtocol(v string) *ModifyListenerInput { 7561 s.Protocol = &v 7562 return s 7563} 7564 7565// SetSslPolicy sets the SslPolicy field's value. 7566func (s *ModifyListenerInput) SetSslPolicy(v string) *ModifyListenerInput { 7567 s.SslPolicy = &v 7568 return s 7569} 7570 7571type ModifyListenerOutput struct { 7572 _ struct{} `type:"structure"` 7573 7574 // Information about the modified listener. 7575 Listeners []*Listener `type:"list"` 7576} 7577 7578// String returns the string representation. 7579// 7580// API parameter values that are decorated as "sensitive" in the API will not 7581// be included in the string output. The member name will be present, but the 7582// value will be replaced with "sensitive". 7583func (s ModifyListenerOutput) String() string { 7584 return awsutil.Prettify(s) 7585} 7586 7587// GoString returns the string representation. 7588// 7589// API parameter values that are decorated as "sensitive" in the API will not 7590// be included in the string output. The member name will be present, but the 7591// value will be replaced with "sensitive". 7592func (s ModifyListenerOutput) GoString() string { 7593 return s.String() 7594} 7595 7596// SetListeners sets the Listeners field's value. 7597func (s *ModifyListenerOutput) SetListeners(v []*Listener) *ModifyListenerOutput { 7598 s.Listeners = v 7599 return s 7600} 7601 7602type ModifyLoadBalancerAttributesInput struct { 7603 _ struct{} `type:"structure"` 7604 7605 // The load balancer attributes. 7606 // 7607 // Attributes is a required field 7608 Attributes []*LoadBalancerAttribute `type:"list" required:"true"` 7609 7610 // The Amazon Resource Name (ARN) of the load balancer. 7611 // 7612 // LoadBalancerArn is a required field 7613 LoadBalancerArn *string `type:"string" required:"true"` 7614} 7615 7616// String returns the string representation. 7617// 7618// API parameter values that are decorated as "sensitive" in the API will not 7619// be included in the string output. The member name will be present, but the 7620// value will be replaced with "sensitive". 7621func (s ModifyLoadBalancerAttributesInput) String() string { 7622 return awsutil.Prettify(s) 7623} 7624 7625// GoString returns the string representation. 7626// 7627// API parameter values that are decorated as "sensitive" in the API will not 7628// be included in the string output. The member name will be present, but the 7629// value will be replaced with "sensitive". 7630func (s ModifyLoadBalancerAttributesInput) GoString() string { 7631 return s.String() 7632} 7633 7634// Validate inspects the fields of the type to determine if they are valid. 7635func (s *ModifyLoadBalancerAttributesInput) Validate() error { 7636 invalidParams := request.ErrInvalidParams{Context: "ModifyLoadBalancerAttributesInput"} 7637 if s.Attributes == nil { 7638 invalidParams.Add(request.NewErrParamRequired("Attributes")) 7639 } 7640 if s.LoadBalancerArn == nil { 7641 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 7642 } 7643 7644 if invalidParams.Len() > 0 { 7645 return invalidParams 7646 } 7647 return nil 7648} 7649 7650// SetAttributes sets the Attributes field's value. 7651func (s *ModifyLoadBalancerAttributesInput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesInput { 7652 s.Attributes = v 7653 return s 7654} 7655 7656// SetLoadBalancerArn sets the LoadBalancerArn field's value. 7657func (s *ModifyLoadBalancerAttributesInput) SetLoadBalancerArn(v string) *ModifyLoadBalancerAttributesInput { 7658 s.LoadBalancerArn = &v 7659 return s 7660} 7661 7662type ModifyLoadBalancerAttributesOutput struct { 7663 _ struct{} `type:"structure"` 7664 7665 // Information about the load balancer attributes. 7666 Attributes []*LoadBalancerAttribute `type:"list"` 7667} 7668 7669// String returns the string representation. 7670// 7671// API parameter values that are decorated as "sensitive" in the API will not 7672// be included in the string output. The member name will be present, but the 7673// value will be replaced with "sensitive". 7674func (s ModifyLoadBalancerAttributesOutput) String() string { 7675 return awsutil.Prettify(s) 7676} 7677 7678// GoString returns the string representation. 7679// 7680// API parameter values that are decorated as "sensitive" in the API will not 7681// be included in the string output. The member name will be present, but the 7682// value will be replaced with "sensitive". 7683func (s ModifyLoadBalancerAttributesOutput) GoString() string { 7684 return s.String() 7685} 7686 7687// SetAttributes sets the Attributes field's value. 7688func (s *ModifyLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttribute) *ModifyLoadBalancerAttributesOutput { 7689 s.Attributes = v 7690 return s 7691} 7692 7693type ModifyRuleInput struct { 7694 _ struct{} `type:"structure"` 7695 7696 // The actions. 7697 Actions []*Action `type:"list"` 7698 7699 // The conditions. 7700 Conditions []*RuleCondition `type:"list"` 7701 7702 // The Amazon Resource Name (ARN) of the rule. 7703 // 7704 // RuleArn is a required field 7705 RuleArn *string `type:"string" required:"true"` 7706} 7707 7708// String returns the string representation. 7709// 7710// API parameter values that are decorated as "sensitive" in the API will not 7711// be included in the string output. The member name will be present, but the 7712// value will be replaced with "sensitive". 7713func (s ModifyRuleInput) String() string { 7714 return awsutil.Prettify(s) 7715} 7716 7717// GoString returns the string representation. 7718// 7719// API parameter values that are decorated as "sensitive" in the API will not 7720// be included in the string output. The member name will be present, but the 7721// value will be replaced with "sensitive". 7722func (s ModifyRuleInput) GoString() string { 7723 return s.String() 7724} 7725 7726// Validate inspects the fields of the type to determine if they are valid. 7727func (s *ModifyRuleInput) Validate() error { 7728 invalidParams := request.ErrInvalidParams{Context: "ModifyRuleInput"} 7729 if s.RuleArn == nil { 7730 invalidParams.Add(request.NewErrParamRequired("RuleArn")) 7731 } 7732 if s.Actions != nil { 7733 for i, v := range s.Actions { 7734 if v == nil { 7735 continue 7736 } 7737 if err := v.Validate(); err != nil { 7738 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) 7739 } 7740 } 7741 } 7742 7743 if invalidParams.Len() > 0 { 7744 return invalidParams 7745 } 7746 return nil 7747} 7748 7749// SetActions sets the Actions field's value. 7750func (s *ModifyRuleInput) SetActions(v []*Action) *ModifyRuleInput { 7751 s.Actions = v 7752 return s 7753} 7754 7755// SetConditions sets the Conditions field's value. 7756func (s *ModifyRuleInput) SetConditions(v []*RuleCondition) *ModifyRuleInput { 7757 s.Conditions = v 7758 return s 7759} 7760 7761// SetRuleArn sets the RuleArn field's value. 7762func (s *ModifyRuleInput) SetRuleArn(v string) *ModifyRuleInput { 7763 s.RuleArn = &v 7764 return s 7765} 7766 7767type ModifyRuleOutput struct { 7768 _ struct{} `type:"structure"` 7769 7770 // Information about the modified rule. 7771 Rules []*Rule `type:"list"` 7772} 7773 7774// String returns the string representation. 7775// 7776// API parameter values that are decorated as "sensitive" in the API will not 7777// be included in the string output. The member name will be present, but the 7778// value will be replaced with "sensitive". 7779func (s ModifyRuleOutput) String() string { 7780 return awsutil.Prettify(s) 7781} 7782 7783// GoString returns the string representation. 7784// 7785// API parameter values that are decorated as "sensitive" in the API will not 7786// be included in the string output. The member name will be present, but the 7787// value will be replaced with "sensitive". 7788func (s ModifyRuleOutput) GoString() string { 7789 return s.String() 7790} 7791 7792// SetRules sets the Rules field's value. 7793func (s *ModifyRuleOutput) SetRules(v []*Rule) *ModifyRuleOutput { 7794 s.Rules = v 7795 return s 7796} 7797 7798type ModifyTargetGroupAttributesInput struct { 7799 _ struct{} `type:"structure"` 7800 7801 // The attributes. 7802 // 7803 // Attributes is a required field 7804 Attributes []*TargetGroupAttribute `type:"list" required:"true"` 7805 7806 // The Amazon Resource Name (ARN) of the target group. 7807 // 7808 // TargetGroupArn is a required field 7809 TargetGroupArn *string `type:"string" required:"true"` 7810} 7811 7812// String returns the string representation. 7813// 7814// API parameter values that are decorated as "sensitive" in the API will not 7815// be included in the string output. The member name will be present, but the 7816// value will be replaced with "sensitive". 7817func (s ModifyTargetGroupAttributesInput) String() string { 7818 return awsutil.Prettify(s) 7819} 7820 7821// GoString returns the string representation. 7822// 7823// API parameter values that are decorated as "sensitive" in the API will not 7824// be included in the string output. The member name will be present, but the 7825// value will be replaced with "sensitive". 7826func (s ModifyTargetGroupAttributesInput) GoString() string { 7827 return s.String() 7828} 7829 7830// Validate inspects the fields of the type to determine if they are valid. 7831func (s *ModifyTargetGroupAttributesInput) Validate() error { 7832 invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupAttributesInput"} 7833 if s.Attributes == nil { 7834 invalidParams.Add(request.NewErrParamRequired("Attributes")) 7835 } 7836 if s.TargetGroupArn == nil { 7837 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 7838 } 7839 7840 if invalidParams.Len() > 0 { 7841 return invalidParams 7842 } 7843 return nil 7844} 7845 7846// SetAttributes sets the Attributes field's value. 7847func (s *ModifyTargetGroupAttributesInput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesInput { 7848 s.Attributes = v 7849 return s 7850} 7851 7852// SetTargetGroupArn sets the TargetGroupArn field's value. 7853func (s *ModifyTargetGroupAttributesInput) SetTargetGroupArn(v string) *ModifyTargetGroupAttributesInput { 7854 s.TargetGroupArn = &v 7855 return s 7856} 7857 7858type ModifyTargetGroupAttributesOutput struct { 7859 _ struct{} `type:"structure"` 7860 7861 // Information about the attributes. 7862 Attributes []*TargetGroupAttribute `type:"list"` 7863} 7864 7865// String returns the string representation. 7866// 7867// API parameter values that are decorated as "sensitive" in the API will not 7868// be included in the string output. The member name will be present, but the 7869// value will be replaced with "sensitive". 7870func (s ModifyTargetGroupAttributesOutput) String() string { 7871 return awsutil.Prettify(s) 7872} 7873 7874// GoString returns the string representation. 7875// 7876// API parameter values that are decorated as "sensitive" in the API will not 7877// be included in the string output. The member name will be present, but the 7878// value will be replaced with "sensitive". 7879func (s ModifyTargetGroupAttributesOutput) GoString() string { 7880 return s.String() 7881} 7882 7883// SetAttributes sets the Attributes field's value. 7884func (s *ModifyTargetGroupAttributesOutput) SetAttributes(v []*TargetGroupAttribute) *ModifyTargetGroupAttributesOutput { 7885 s.Attributes = v 7886 return s 7887} 7888 7889type ModifyTargetGroupInput struct { 7890 _ struct{} `type:"structure"` 7891 7892 // Indicates whether health checks are enabled. 7893 HealthCheckEnabled *bool `type:"boolean"` 7894 7895 // The approximate amount of time, in seconds, between health checks of an individual 7896 // target. For TCP health checks, the supported values are 10 or 30 seconds. 7897 // 7898 // With Network Load Balancers, you can't modify this setting. 7899 HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` 7900 7901 // [HTTP/HTTPS health checks] The destination for health checks on the targets. 7902 // 7903 // [HTTP1 or HTTP2 protocol version] The ping path. The default is /. 7904 // 7905 // [GRPC protocol version] The path of a custom health check method with the 7906 // format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck. 7907 HealthCheckPath *string `min:"1" type:"string"` 7908 7909 // The port the load balancer uses when performing health checks on targets. 7910 HealthCheckPort *string `type:"string"` 7911 7912 // The protocol the load balancer uses when performing health checks on targets. 7913 // For Application Load Balancers, the default is HTTP. For Network Load Balancers 7914 // and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported 7915 // for health checks if the protocol of the target group is HTTP or HTTPS. It 7916 // is supported for health checks only if the protocol of the target group is 7917 // TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are 7918 // not supported for health checks. 7919 // 7920 // With Network Load Balancers, you can't modify this setting. 7921 HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` 7922 7923 // [HTTP/HTTPS health checks] The amount of time, in seconds, during which no 7924 // response means a failed health check. 7925 // 7926 // With Network Load Balancers, you can't modify this setting. 7927 HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` 7928 7929 // The number of consecutive health checks successes required before considering 7930 // an unhealthy target healthy. 7931 HealthyThresholdCount *int64 `min:"2" type:"integer"` 7932 7933 // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for 7934 // a successful response from a target. 7935 // 7936 // With Network Load Balancers, you can't modify this setting. 7937 Matcher *Matcher `type:"structure"` 7938 7939 // The Amazon Resource Name (ARN) of the target group. 7940 // 7941 // TargetGroupArn is a required field 7942 TargetGroupArn *string `type:"string" required:"true"` 7943 7944 // The number of consecutive health check failures required before considering 7945 // the target unhealthy. For target groups with a protocol of TCP or TLS, this 7946 // value must be the same as the healthy threshold count. 7947 UnhealthyThresholdCount *int64 `min:"2" type:"integer"` 7948} 7949 7950// String returns the string representation. 7951// 7952// API parameter values that are decorated as "sensitive" in the API will not 7953// be included in the string output. The member name will be present, but the 7954// value will be replaced with "sensitive". 7955func (s ModifyTargetGroupInput) String() string { 7956 return awsutil.Prettify(s) 7957} 7958 7959// GoString returns the string representation. 7960// 7961// API parameter values that are decorated as "sensitive" in the API will not 7962// be included in the string output. The member name will be present, but the 7963// value will be replaced with "sensitive". 7964func (s ModifyTargetGroupInput) GoString() string { 7965 return s.String() 7966} 7967 7968// Validate inspects the fields of the type to determine if they are valid. 7969func (s *ModifyTargetGroupInput) Validate() error { 7970 invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupInput"} 7971 if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 { 7972 invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5)) 7973 } 7974 if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 { 7975 invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1)) 7976 } 7977 if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 { 7978 invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2)) 7979 } 7980 if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 { 7981 invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2)) 7982 } 7983 if s.TargetGroupArn == nil { 7984 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 7985 } 7986 if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 { 7987 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2)) 7988 } 7989 7990 if invalidParams.Len() > 0 { 7991 return invalidParams 7992 } 7993 return nil 7994} 7995 7996// SetHealthCheckEnabled sets the HealthCheckEnabled field's value. 7997func (s *ModifyTargetGroupInput) SetHealthCheckEnabled(v bool) *ModifyTargetGroupInput { 7998 s.HealthCheckEnabled = &v 7999 return s 8000} 8001 8002// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. 8003func (s *ModifyTargetGroupInput) SetHealthCheckIntervalSeconds(v int64) *ModifyTargetGroupInput { 8004 s.HealthCheckIntervalSeconds = &v 8005 return s 8006} 8007 8008// SetHealthCheckPath sets the HealthCheckPath field's value. 8009func (s *ModifyTargetGroupInput) SetHealthCheckPath(v string) *ModifyTargetGroupInput { 8010 s.HealthCheckPath = &v 8011 return s 8012} 8013 8014// SetHealthCheckPort sets the HealthCheckPort field's value. 8015func (s *ModifyTargetGroupInput) SetHealthCheckPort(v string) *ModifyTargetGroupInput { 8016 s.HealthCheckPort = &v 8017 return s 8018} 8019 8020// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. 8021func (s *ModifyTargetGroupInput) SetHealthCheckProtocol(v string) *ModifyTargetGroupInput { 8022 s.HealthCheckProtocol = &v 8023 return s 8024} 8025 8026// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value. 8027func (s *ModifyTargetGroupInput) SetHealthCheckTimeoutSeconds(v int64) *ModifyTargetGroupInput { 8028 s.HealthCheckTimeoutSeconds = &v 8029 return s 8030} 8031 8032// SetHealthyThresholdCount sets the HealthyThresholdCount field's value. 8033func (s *ModifyTargetGroupInput) SetHealthyThresholdCount(v int64) *ModifyTargetGroupInput { 8034 s.HealthyThresholdCount = &v 8035 return s 8036} 8037 8038// SetMatcher sets the Matcher field's value. 8039func (s *ModifyTargetGroupInput) SetMatcher(v *Matcher) *ModifyTargetGroupInput { 8040 s.Matcher = v 8041 return s 8042} 8043 8044// SetTargetGroupArn sets the TargetGroupArn field's value. 8045func (s *ModifyTargetGroupInput) SetTargetGroupArn(v string) *ModifyTargetGroupInput { 8046 s.TargetGroupArn = &v 8047 return s 8048} 8049 8050// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value. 8051func (s *ModifyTargetGroupInput) SetUnhealthyThresholdCount(v int64) *ModifyTargetGroupInput { 8052 s.UnhealthyThresholdCount = &v 8053 return s 8054} 8055 8056type ModifyTargetGroupOutput struct { 8057 _ struct{} `type:"structure"` 8058 8059 // Information about the modified target group. 8060 TargetGroups []*TargetGroup `type:"list"` 8061} 8062 8063// String returns the string representation. 8064// 8065// API parameter values that are decorated as "sensitive" in the API will not 8066// be included in the string output. The member name will be present, but the 8067// value will be replaced with "sensitive". 8068func (s ModifyTargetGroupOutput) String() string { 8069 return awsutil.Prettify(s) 8070} 8071 8072// GoString returns the string representation. 8073// 8074// API parameter values that are decorated as "sensitive" in the API will not 8075// be included in the string output. The member name will be present, but the 8076// value will be replaced with "sensitive". 8077func (s ModifyTargetGroupOutput) GoString() string { 8078 return s.String() 8079} 8080 8081// SetTargetGroups sets the TargetGroups field's value. 8082func (s *ModifyTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *ModifyTargetGroupOutput { 8083 s.TargetGroups = v 8084 return s 8085} 8086 8087// Information about a path pattern condition. 8088type PathPatternConditionConfig struct { 8089 _ struct{} `type:"structure"` 8090 8091 // One or more path patterns to compare against the request URL. The maximum 8092 // size of each string is 128 characters. The comparison is case sensitive. 8093 // The following wildcard characters are supported: * (matches 0 or more characters) 8094 // and ? (matches exactly 1 character). 8095 // 8096 // If you specify multiple strings, the condition is satisfied if one of them 8097 // matches the request URL. The path pattern is compared only to the path of 8098 // the URL, not to its query string. To compare against the query string, use 8099 // QueryStringConditionConfig. 8100 Values []*string `type:"list"` 8101} 8102 8103// String returns the string representation. 8104// 8105// API parameter values that are decorated as "sensitive" in the API will not 8106// be included in the string output. The member name will be present, but the 8107// value will be replaced with "sensitive". 8108func (s PathPatternConditionConfig) String() string { 8109 return awsutil.Prettify(s) 8110} 8111 8112// GoString returns the string representation. 8113// 8114// API parameter values that are decorated as "sensitive" in the API will not 8115// be included in the string output. The member name will be present, but the 8116// value will be replaced with "sensitive". 8117func (s PathPatternConditionConfig) GoString() string { 8118 return s.String() 8119} 8120 8121// SetValues sets the Values field's value. 8122func (s *PathPatternConditionConfig) SetValues(v []*string) *PathPatternConditionConfig { 8123 s.Values = v 8124 return s 8125} 8126 8127// Information about a query string condition. 8128// 8129// The query string component of a URI starts after the first '?' character 8130// and is terminated by either a '#' character or the end of the URI. A typical 8131// query string contains key/value pairs separated by '&' characters. The allowed 8132// characters are specified by RFC 3986. Any character can be percentage encoded. 8133type QueryStringConditionConfig struct { 8134 _ struct{} `type:"structure"` 8135 8136 // One or more key/value pairs or values to find in the query string. The maximum 8137 // size of each string is 128 characters. The comparison is case insensitive. 8138 // The following wildcard characters are supported: * (matches 0 or more characters) 8139 // and ? (matches exactly 1 character). To search for a literal '*' or '?' character 8140 // in a query string, you must escape these characters in Values using a '\' 8141 // character. 8142 // 8143 // If you specify multiple key/value pairs or values, the condition is satisfied 8144 // if one of them is found in the query string. 8145 Values []*QueryStringKeyValuePair `type:"list"` 8146} 8147 8148// String returns the string representation. 8149// 8150// API parameter values that are decorated as "sensitive" in the API will not 8151// be included in the string output. The member name will be present, but the 8152// value will be replaced with "sensitive". 8153func (s QueryStringConditionConfig) String() string { 8154 return awsutil.Prettify(s) 8155} 8156 8157// GoString returns the string representation. 8158// 8159// API parameter values that are decorated as "sensitive" in the API will not 8160// be included in the string output. The member name will be present, but the 8161// value will be replaced with "sensitive". 8162func (s QueryStringConditionConfig) GoString() string { 8163 return s.String() 8164} 8165 8166// SetValues sets the Values field's value. 8167func (s *QueryStringConditionConfig) SetValues(v []*QueryStringKeyValuePair) *QueryStringConditionConfig { 8168 s.Values = v 8169 return s 8170} 8171 8172// Information about a key/value pair. 8173type QueryStringKeyValuePair struct { 8174 _ struct{} `type:"structure"` 8175 8176 // The key. You can omit the key. 8177 Key *string `type:"string"` 8178 8179 // The value. 8180 Value *string `type:"string"` 8181} 8182 8183// String returns the string representation. 8184// 8185// API parameter values that are decorated as "sensitive" in the API will not 8186// be included in the string output. The member name will be present, but the 8187// value will be replaced with "sensitive". 8188func (s QueryStringKeyValuePair) String() string { 8189 return awsutil.Prettify(s) 8190} 8191 8192// GoString returns the string representation. 8193// 8194// API parameter values that are decorated as "sensitive" in the API will not 8195// be included in the string output. The member name will be present, but the 8196// value will be replaced with "sensitive". 8197func (s QueryStringKeyValuePair) GoString() string { 8198 return s.String() 8199} 8200 8201// SetKey sets the Key field's value. 8202func (s *QueryStringKeyValuePair) SetKey(v string) *QueryStringKeyValuePair { 8203 s.Key = &v 8204 return s 8205} 8206 8207// SetValue sets the Value field's value. 8208func (s *QueryStringKeyValuePair) SetValue(v string) *QueryStringKeyValuePair { 8209 s.Value = &v 8210 return s 8211} 8212 8213// Information about a redirect action. 8214// 8215// A URI consists of the following components: protocol://hostname:port/path?query. 8216// You must modify at least one of the following components to avoid a redirect 8217// loop: protocol, hostname, port, or path. Any components that you do not modify 8218// retain their original values. 8219// 8220// You can reuse URI components using the following reserved keywords: 8221// 8222// * #{protocol} 8223// 8224// * #{host} 8225// 8226// * #{port} 8227// 8228// * #{path} (the leading "/" is removed) 8229// 8230// * #{query} 8231// 8232// For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}", 8233// or the query to "#{query}&value=xyz". 8234type RedirectActionConfig struct { 8235 _ struct{} `type:"structure"` 8236 8237 // The hostname. This component is not percent-encoded. The hostname can contain 8238 // #{host}. 8239 Host *string `min:"1" type:"string"` 8240 8241 // The absolute path, starting with the leading "/". This component is not percent-encoded. 8242 // The path can contain #{host}, #{path}, and #{port}. 8243 Path *string `min:"1" type:"string"` 8244 8245 // The port. You can specify a value from 1 to 65535 or #{port}. 8246 Port *string `type:"string"` 8247 8248 // The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect 8249 // HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS 8250 // to HTTP. 8251 Protocol *string `type:"string"` 8252 8253 // The query parameters, URL-encoded when necessary, but not percent-encoded. 8254 // Do not include the leading "?", as it is automatically added. You can specify 8255 // any of the reserved keywords. 8256 Query *string `type:"string"` 8257 8258 // The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary 8259 // (HTTP 302). 8260 // 8261 // StatusCode is a required field 8262 StatusCode *string `type:"string" required:"true" enum:"RedirectActionStatusCodeEnum"` 8263} 8264 8265// String returns the string representation. 8266// 8267// API parameter values that are decorated as "sensitive" in the API will not 8268// be included in the string output. The member name will be present, but the 8269// value will be replaced with "sensitive". 8270func (s RedirectActionConfig) String() string { 8271 return awsutil.Prettify(s) 8272} 8273 8274// GoString returns the string representation. 8275// 8276// API parameter values that are decorated as "sensitive" in the API will not 8277// be included in the string output. The member name will be present, but the 8278// value will be replaced with "sensitive". 8279func (s RedirectActionConfig) GoString() string { 8280 return s.String() 8281} 8282 8283// Validate inspects the fields of the type to determine if they are valid. 8284func (s *RedirectActionConfig) Validate() error { 8285 invalidParams := request.ErrInvalidParams{Context: "RedirectActionConfig"} 8286 if s.Host != nil && len(*s.Host) < 1 { 8287 invalidParams.Add(request.NewErrParamMinLen("Host", 1)) 8288 } 8289 if s.Path != nil && len(*s.Path) < 1 { 8290 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 8291 } 8292 if s.StatusCode == nil { 8293 invalidParams.Add(request.NewErrParamRequired("StatusCode")) 8294 } 8295 8296 if invalidParams.Len() > 0 { 8297 return invalidParams 8298 } 8299 return nil 8300} 8301 8302// SetHost sets the Host field's value. 8303func (s *RedirectActionConfig) SetHost(v string) *RedirectActionConfig { 8304 s.Host = &v 8305 return s 8306} 8307 8308// SetPath sets the Path field's value. 8309func (s *RedirectActionConfig) SetPath(v string) *RedirectActionConfig { 8310 s.Path = &v 8311 return s 8312} 8313 8314// SetPort sets the Port field's value. 8315func (s *RedirectActionConfig) SetPort(v string) *RedirectActionConfig { 8316 s.Port = &v 8317 return s 8318} 8319 8320// SetProtocol sets the Protocol field's value. 8321func (s *RedirectActionConfig) SetProtocol(v string) *RedirectActionConfig { 8322 s.Protocol = &v 8323 return s 8324} 8325 8326// SetQuery sets the Query field's value. 8327func (s *RedirectActionConfig) SetQuery(v string) *RedirectActionConfig { 8328 s.Query = &v 8329 return s 8330} 8331 8332// SetStatusCode sets the StatusCode field's value. 8333func (s *RedirectActionConfig) SetStatusCode(v string) *RedirectActionConfig { 8334 s.StatusCode = &v 8335 return s 8336} 8337 8338type RegisterTargetsInput struct { 8339 _ struct{} `type:"structure"` 8340 8341 // The Amazon Resource Name (ARN) of the target group. 8342 // 8343 // TargetGroupArn is a required field 8344 TargetGroupArn *string `type:"string" required:"true"` 8345 8346 // The targets. 8347 // 8348 // Targets is a required field 8349 Targets []*TargetDescription `type:"list" required:"true"` 8350} 8351 8352// String returns the string representation. 8353// 8354// API parameter values that are decorated as "sensitive" in the API will not 8355// be included in the string output. The member name will be present, but the 8356// value will be replaced with "sensitive". 8357func (s RegisterTargetsInput) String() string { 8358 return awsutil.Prettify(s) 8359} 8360 8361// GoString returns the string representation. 8362// 8363// API parameter values that are decorated as "sensitive" in the API will not 8364// be included in the string output. The member name will be present, but the 8365// value will be replaced with "sensitive". 8366func (s RegisterTargetsInput) GoString() string { 8367 return s.String() 8368} 8369 8370// Validate inspects the fields of the type to determine if they are valid. 8371func (s *RegisterTargetsInput) Validate() error { 8372 invalidParams := request.ErrInvalidParams{Context: "RegisterTargetsInput"} 8373 if s.TargetGroupArn == nil { 8374 invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) 8375 } 8376 if s.Targets == nil { 8377 invalidParams.Add(request.NewErrParamRequired("Targets")) 8378 } 8379 if s.Targets != nil { 8380 for i, v := range s.Targets { 8381 if v == nil { 8382 continue 8383 } 8384 if err := v.Validate(); err != nil { 8385 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 8386 } 8387 } 8388 } 8389 8390 if invalidParams.Len() > 0 { 8391 return invalidParams 8392 } 8393 return nil 8394} 8395 8396// SetTargetGroupArn sets the TargetGroupArn field's value. 8397func (s *RegisterTargetsInput) SetTargetGroupArn(v string) *RegisterTargetsInput { 8398 s.TargetGroupArn = &v 8399 return s 8400} 8401 8402// SetTargets sets the Targets field's value. 8403func (s *RegisterTargetsInput) SetTargets(v []*TargetDescription) *RegisterTargetsInput { 8404 s.Targets = v 8405 return s 8406} 8407 8408type RegisterTargetsOutput struct { 8409 _ struct{} `type:"structure"` 8410} 8411 8412// String returns the string representation. 8413// 8414// API parameter values that are decorated as "sensitive" in the API will not 8415// be included in the string output. The member name will be present, but the 8416// value will be replaced with "sensitive". 8417func (s RegisterTargetsOutput) String() string { 8418 return awsutil.Prettify(s) 8419} 8420 8421// GoString returns the string representation. 8422// 8423// API parameter values that are decorated as "sensitive" in the API will not 8424// be included in the string output. The member name will be present, but the 8425// value will be replaced with "sensitive". 8426func (s RegisterTargetsOutput) GoString() string { 8427 return s.String() 8428} 8429 8430type RemoveListenerCertificatesInput struct { 8431 _ struct{} `type:"structure"` 8432 8433 // The certificate to remove. You can specify one certificate per call. Set 8434 // CertificateArn to the certificate ARN but do not set IsDefault. 8435 // 8436 // Certificates is a required field 8437 Certificates []*Certificate `type:"list" required:"true"` 8438 8439 // The Amazon Resource Name (ARN) of the listener. 8440 // 8441 // ListenerArn is a required field 8442 ListenerArn *string `type:"string" required:"true"` 8443} 8444 8445// String returns the string representation. 8446// 8447// API parameter values that are decorated as "sensitive" in the API will not 8448// be included in the string output. The member name will be present, but the 8449// value will be replaced with "sensitive". 8450func (s RemoveListenerCertificatesInput) String() string { 8451 return awsutil.Prettify(s) 8452} 8453 8454// GoString returns the string representation. 8455// 8456// API parameter values that are decorated as "sensitive" in the API will not 8457// be included in the string output. The member name will be present, but the 8458// value will be replaced with "sensitive". 8459func (s RemoveListenerCertificatesInput) GoString() string { 8460 return s.String() 8461} 8462 8463// Validate inspects the fields of the type to determine if they are valid. 8464func (s *RemoveListenerCertificatesInput) Validate() error { 8465 invalidParams := request.ErrInvalidParams{Context: "RemoveListenerCertificatesInput"} 8466 if s.Certificates == nil { 8467 invalidParams.Add(request.NewErrParamRequired("Certificates")) 8468 } 8469 if s.ListenerArn == nil { 8470 invalidParams.Add(request.NewErrParamRequired("ListenerArn")) 8471 } 8472 8473 if invalidParams.Len() > 0 { 8474 return invalidParams 8475 } 8476 return nil 8477} 8478 8479// SetCertificates sets the Certificates field's value. 8480func (s *RemoveListenerCertificatesInput) SetCertificates(v []*Certificate) *RemoveListenerCertificatesInput { 8481 s.Certificates = v 8482 return s 8483} 8484 8485// SetListenerArn sets the ListenerArn field's value. 8486func (s *RemoveListenerCertificatesInput) SetListenerArn(v string) *RemoveListenerCertificatesInput { 8487 s.ListenerArn = &v 8488 return s 8489} 8490 8491type RemoveListenerCertificatesOutput struct { 8492 _ struct{} `type:"structure"` 8493} 8494 8495// String returns the string representation. 8496// 8497// API parameter values that are decorated as "sensitive" in the API will not 8498// be included in the string output. The member name will be present, but the 8499// value will be replaced with "sensitive". 8500func (s RemoveListenerCertificatesOutput) String() string { 8501 return awsutil.Prettify(s) 8502} 8503 8504// GoString returns the string representation. 8505// 8506// API parameter values that are decorated as "sensitive" in the API will not 8507// be included in the string output. The member name will be present, but the 8508// value will be replaced with "sensitive". 8509func (s RemoveListenerCertificatesOutput) GoString() string { 8510 return s.String() 8511} 8512 8513type RemoveTagsInput struct { 8514 _ struct{} `type:"structure"` 8515 8516 // The Amazon Resource Name (ARN) of the resource. 8517 // 8518 // ResourceArns is a required field 8519 ResourceArns []*string `type:"list" required:"true"` 8520 8521 // The tag keys for the tags to remove. 8522 // 8523 // TagKeys is a required field 8524 TagKeys []*string `type:"list" required:"true"` 8525} 8526 8527// String returns the string representation. 8528// 8529// API parameter values that are decorated as "sensitive" in the API will not 8530// be included in the string output. The member name will be present, but the 8531// value will be replaced with "sensitive". 8532func (s RemoveTagsInput) String() string { 8533 return awsutil.Prettify(s) 8534} 8535 8536// GoString returns the string representation. 8537// 8538// API parameter values that are decorated as "sensitive" in the API will not 8539// be included in the string output. The member name will be present, but the 8540// value will be replaced with "sensitive". 8541func (s RemoveTagsInput) GoString() string { 8542 return s.String() 8543} 8544 8545// Validate inspects the fields of the type to determine if they are valid. 8546func (s *RemoveTagsInput) Validate() error { 8547 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} 8548 if s.ResourceArns == nil { 8549 invalidParams.Add(request.NewErrParamRequired("ResourceArns")) 8550 } 8551 if s.TagKeys == nil { 8552 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 8553 } 8554 8555 if invalidParams.Len() > 0 { 8556 return invalidParams 8557 } 8558 return nil 8559} 8560 8561// SetResourceArns sets the ResourceArns field's value. 8562func (s *RemoveTagsInput) SetResourceArns(v []*string) *RemoveTagsInput { 8563 s.ResourceArns = v 8564 return s 8565} 8566 8567// SetTagKeys sets the TagKeys field's value. 8568func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { 8569 s.TagKeys = v 8570 return s 8571} 8572 8573type RemoveTagsOutput struct { 8574 _ struct{} `type:"structure"` 8575} 8576 8577// String returns the string representation. 8578// 8579// API parameter values that are decorated as "sensitive" in the API will not 8580// be included in the string output. The member name will be present, but the 8581// value will be replaced with "sensitive". 8582func (s RemoveTagsOutput) String() string { 8583 return awsutil.Prettify(s) 8584} 8585 8586// GoString returns the string representation. 8587// 8588// API parameter values that are decorated as "sensitive" in the API will not 8589// be included in the string output. The member name will be present, but the 8590// value will be replaced with "sensitive". 8591func (s RemoveTagsOutput) GoString() string { 8592 return s.String() 8593} 8594 8595// Information about a rule. 8596type Rule struct { 8597 _ struct{} `type:"structure"` 8598 8599 // The actions. Each rule must include exactly one of the following types of 8600 // actions: forward, redirect, or fixed-response, and it must be the last action 8601 // to be performed. 8602 Actions []*Action `type:"list"` 8603 8604 // The conditions. Each rule can include zero or one of the following conditions: 8605 // http-request-method, host-header, path-pattern, and source-ip, and zero or 8606 // more of the following conditions: http-header and query-string. 8607 Conditions []*RuleCondition `type:"list"` 8608 8609 // Indicates whether this is the default rule. 8610 IsDefault *bool `type:"boolean"` 8611 8612 // The priority. 8613 Priority *string `type:"string"` 8614 8615 // The Amazon Resource Name (ARN) of the rule. 8616 RuleArn *string `type:"string"` 8617} 8618 8619// String returns the string representation. 8620// 8621// API parameter values that are decorated as "sensitive" in the API will not 8622// be included in the string output. The member name will be present, but the 8623// value will be replaced with "sensitive". 8624func (s Rule) String() string { 8625 return awsutil.Prettify(s) 8626} 8627 8628// GoString returns the string representation. 8629// 8630// API parameter values that are decorated as "sensitive" in the API will not 8631// be included in the string output. The member name will be present, but the 8632// value will be replaced with "sensitive". 8633func (s Rule) GoString() string { 8634 return s.String() 8635} 8636 8637// SetActions sets the Actions field's value. 8638func (s *Rule) SetActions(v []*Action) *Rule { 8639 s.Actions = v 8640 return s 8641} 8642 8643// SetConditions sets the Conditions field's value. 8644func (s *Rule) SetConditions(v []*RuleCondition) *Rule { 8645 s.Conditions = v 8646 return s 8647} 8648 8649// SetIsDefault sets the IsDefault field's value. 8650func (s *Rule) SetIsDefault(v bool) *Rule { 8651 s.IsDefault = &v 8652 return s 8653} 8654 8655// SetPriority sets the Priority field's value. 8656func (s *Rule) SetPriority(v string) *Rule { 8657 s.Priority = &v 8658 return s 8659} 8660 8661// SetRuleArn sets the RuleArn field's value. 8662func (s *Rule) SetRuleArn(v string) *Rule { 8663 s.RuleArn = &v 8664 return s 8665} 8666 8667// Information about a condition for a rule. 8668// 8669// Each rule can optionally include up to one of each of the following conditions: 8670// http-request-method, host-header, path-pattern, and source-ip. Each rule 8671// can also optionally include one or more of each of the following conditions: 8672// http-header and query-string. 8673type RuleCondition struct { 8674 _ struct{} `type:"structure"` 8675 8676 // The field in the HTTP request. The following are the possible values: 8677 // 8678 // * http-header 8679 // 8680 // * http-request-method 8681 // 8682 // * host-header 8683 // 8684 // * path-pattern 8685 // 8686 // * query-string 8687 // 8688 // * source-ip 8689 Field *string `type:"string"` 8690 8691 // Information for a host header condition. Specify only when Field is host-header. 8692 HostHeaderConfig *HostHeaderConditionConfig `type:"structure"` 8693 8694 // Information for an HTTP header condition. Specify only when Field is http-header. 8695 HttpHeaderConfig *HttpHeaderConditionConfig `type:"structure"` 8696 8697 // Information for an HTTP method condition. Specify only when Field is http-request-method. 8698 HttpRequestMethodConfig *HttpRequestMethodConditionConfig `type:"structure"` 8699 8700 // Information for a path pattern condition. Specify only when Field is path-pattern. 8701 PathPatternConfig *PathPatternConditionConfig `type:"structure"` 8702 8703 // Information for a query string condition. Specify only when Field is query-string. 8704 QueryStringConfig *QueryStringConditionConfig `type:"structure"` 8705 8706 // Information for a source IP condition. Specify only when Field is source-ip. 8707 SourceIpConfig *SourceIpConditionConfig `type:"structure"` 8708 8709 // The condition value. Specify only when Field is host-header or path-pattern. 8710 // Alternatively, to specify multiple host names or multiple path patterns, 8711 // use HostHeaderConfig or PathPatternConfig. 8712 // 8713 // If Field is host-header and you are not using HostHeaderConfig, you can specify 8714 // a single host name (for example, my.example.com) in Values. A host name is 8715 // case insensitive, can be up to 128 characters in length, and can contain 8716 // any of the following characters. 8717 // 8718 // * A-Z, a-z, 0-9 8719 // 8720 // * - . 8721 // 8722 // * * (matches 0 or more characters) 8723 // 8724 // * ? (matches exactly 1 character) 8725 // 8726 // If Field is path-pattern and you are not using PathPatternConfig, you can 8727 // specify a single path pattern (for example, /img/*) in Values. A path pattern 8728 // is case-sensitive, can be up to 128 characters in length, and can contain 8729 // any of the following characters. 8730 // 8731 // * A-Z, a-z, 0-9 8732 // 8733 // * _ - . $ / ~ " ' @ : + 8734 // 8735 // * & (using &) 8736 // 8737 // * * (matches 0 or more characters) 8738 // 8739 // * ? (matches exactly 1 character) 8740 Values []*string `type:"list"` 8741} 8742 8743// String returns the string representation. 8744// 8745// API parameter values that are decorated as "sensitive" in the API will not 8746// be included in the string output. The member name will be present, but the 8747// value will be replaced with "sensitive". 8748func (s RuleCondition) String() string { 8749 return awsutil.Prettify(s) 8750} 8751 8752// GoString returns the string representation. 8753// 8754// API parameter values that are decorated as "sensitive" in the API will not 8755// be included in the string output. The member name will be present, but the 8756// value will be replaced with "sensitive". 8757func (s RuleCondition) GoString() string { 8758 return s.String() 8759} 8760 8761// SetField sets the Field field's value. 8762func (s *RuleCondition) SetField(v string) *RuleCondition { 8763 s.Field = &v 8764 return s 8765} 8766 8767// SetHostHeaderConfig sets the HostHeaderConfig field's value. 8768func (s *RuleCondition) SetHostHeaderConfig(v *HostHeaderConditionConfig) *RuleCondition { 8769 s.HostHeaderConfig = v 8770 return s 8771} 8772 8773// SetHttpHeaderConfig sets the HttpHeaderConfig field's value. 8774func (s *RuleCondition) SetHttpHeaderConfig(v *HttpHeaderConditionConfig) *RuleCondition { 8775 s.HttpHeaderConfig = v 8776 return s 8777} 8778 8779// SetHttpRequestMethodConfig sets the HttpRequestMethodConfig field's value. 8780func (s *RuleCondition) SetHttpRequestMethodConfig(v *HttpRequestMethodConditionConfig) *RuleCondition { 8781 s.HttpRequestMethodConfig = v 8782 return s 8783} 8784 8785// SetPathPatternConfig sets the PathPatternConfig field's value. 8786func (s *RuleCondition) SetPathPatternConfig(v *PathPatternConditionConfig) *RuleCondition { 8787 s.PathPatternConfig = v 8788 return s 8789} 8790 8791// SetQueryStringConfig sets the QueryStringConfig field's value. 8792func (s *RuleCondition) SetQueryStringConfig(v *QueryStringConditionConfig) *RuleCondition { 8793 s.QueryStringConfig = v 8794 return s 8795} 8796 8797// SetSourceIpConfig sets the SourceIpConfig field's value. 8798func (s *RuleCondition) SetSourceIpConfig(v *SourceIpConditionConfig) *RuleCondition { 8799 s.SourceIpConfig = v 8800 return s 8801} 8802 8803// SetValues sets the Values field's value. 8804func (s *RuleCondition) SetValues(v []*string) *RuleCondition { 8805 s.Values = v 8806 return s 8807} 8808 8809// Information about the priorities for the rules for a listener. 8810type RulePriorityPair struct { 8811 _ struct{} `type:"structure"` 8812 8813 // The rule priority. 8814 Priority *int64 `min:"1" type:"integer"` 8815 8816 // The Amazon Resource Name (ARN) of the rule. 8817 RuleArn *string `type:"string"` 8818} 8819 8820// String returns the string representation. 8821// 8822// API parameter values that are decorated as "sensitive" in the API will not 8823// be included in the string output. The member name will be present, but the 8824// value will be replaced with "sensitive". 8825func (s RulePriorityPair) String() string { 8826 return awsutil.Prettify(s) 8827} 8828 8829// GoString returns the string representation. 8830// 8831// API parameter values that are decorated as "sensitive" in the API will not 8832// be included in the string output. The member name will be present, but the 8833// value will be replaced with "sensitive". 8834func (s RulePriorityPair) GoString() string { 8835 return s.String() 8836} 8837 8838// Validate inspects the fields of the type to determine if they are valid. 8839func (s *RulePriorityPair) Validate() error { 8840 invalidParams := request.ErrInvalidParams{Context: "RulePriorityPair"} 8841 if s.Priority != nil && *s.Priority < 1 { 8842 invalidParams.Add(request.NewErrParamMinValue("Priority", 1)) 8843 } 8844 8845 if invalidParams.Len() > 0 { 8846 return invalidParams 8847 } 8848 return nil 8849} 8850 8851// SetPriority sets the Priority field's value. 8852func (s *RulePriorityPair) SetPriority(v int64) *RulePriorityPair { 8853 s.Priority = &v 8854 return s 8855} 8856 8857// SetRuleArn sets the RuleArn field's value. 8858func (s *RulePriorityPair) SetRuleArn(v string) *RulePriorityPair { 8859 s.RuleArn = &v 8860 return s 8861} 8862 8863type SetIpAddressTypeInput struct { 8864 _ struct{} `type:"structure"` 8865 8866 // The IP address type. The possible values are ipv4 (for IPv4 addresses) and 8867 // dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use 8868 // ipv4. You can’t specify dualstack for a load balancer with a UDP or TCP_UDP 8869 // listener. 8870 // 8871 // IpAddressType is a required field 8872 IpAddressType *string `type:"string" required:"true" enum:"IpAddressType"` 8873 8874 // The Amazon Resource Name (ARN) of the load balancer. 8875 // 8876 // LoadBalancerArn is a required field 8877 LoadBalancerArn *string `type:"string" required:"true"` 8878} 8879 8880// String returns the string representation. 8881// 8882// API parameter values that are decorated as "sensitive" in the API will not 8883// be included in the string output. The member name will be present, but the 8884// value will be replaced with "sensitive". 8885func (s SetIpAddressTypeInput) String() string { 8886 return awsutil.Prettify(s) 8887} 8888 8889// GoString returns the string representation. 8890// 8891// API parameter values that are decorated as "sensitive" in the API will not 8892// be included in the string output. The member name will be present, but the 8893// value will be replaced with "sensitive". 8894func (s SetIpAddressTypeInput) GoString() string { 8895 return s.String() 8896} 8897 8898// Validate inspects the fields of the type to determine if they are valid. 8899func (s *SetIpAddressTypeInput) Validate() error { 8900 invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"} 8901 if s.IpAddressType == nil { 8902 invalidParams.Add(request.NewErrParamRequired("IpAddressType")) 8903 } 8904 if s.LoadBalancerArn == nil { 8905 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 8906 } 8907 8908 if invalidParams.Len() > 0 { 8909 return invalidParams 8910 } 8911 return nil 8912} 8913 8914// SetIpAddressType sets the IpAddressType field's value. 8915func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput { 8916 s.IpAddressType = &v 8917 return s 8918} 8919 8920// SetLoadBalancerArn sets the LoadBalancerArn field's value. 8921func (s *SetIpAddressTypeInput) SetLoadBalancerArn(v string) *SetIpAddressTypeInput { 8922 s.LoadBalancerArn = &v 8923 return s 8924} 8925 8926type SetIpAddressTypeOutput struct { 8927 _ struct{} `type:"structure"` 8928 8929 // The IP address type. 8930 IpAddressType *string `type:"string" enum:"IpAddressType"` 8931} 8932 8933// String returns the string representation. 8934// 8935// API parameter values that are decorated as "sensitive" in the API will not 8936// be included in the string output. The member name will be present, but the 8937// value will be replaced with "sensitive". 8938func (s SetIpAddressTypeOutput) String() string { 8939 return awsutil.Prettify(s) 8940} 8941 8942// GoString returns the string representation. 8943// 8944// API parameter values that are decorated as "sensitive" in the API will not 8945// be included in the string output. The member name will be present, but the 8946// value will be replaced with "sensitive". 8947func (s SetIpAddressTypeOutput) GoString() string { 8948 return s.String() 8949} 8950 8951// SetIpAddressType sets the IpAddressType field's value. 8952func (s *SetIpAddressTypeOutput) SetIpAddressType(v string) *SetIpAddressTypeOutput { 8953 s.IpAddressType = &v 8954 return s 8955} 8956 8957type SetRulePrioritiesInput struct { 8958 _ struct{} `type:"structure"` 8959 8960 // The rule priorities. 8961 // 8962 // RulePriorities is a required field 8963 RulePriorities []*RulePriorityPair `type:"list" required:"true"` 8964} 8965 8966// String returns the string representation. 8967// 8968// API parameter values that are decorated as "sensitive" in the API will not 8969// be included in the string output. The member name will be present, but the 8970// value will be replaced with "sensitive". 8971func (s SetRulePrioritiesInput) String() string { 8972 return awsutil.Prettify(s) 8973} 8974 8975// GoString returns the string representation. 8976// 8977// API parameter values that are decorated as "sensitive" in the API will not 8978// be included in the string output. The member name will be present, but the 8979// value will be replaced with "sensitive". 8980func (s SetRulePrioritiesInput) GoString() string { 8981 return s.String() 8982} 8983 8984// Validate inspects the fields of the type to determine if they are valid. 8985func (s *SetRulePrioritiesInput) Validate() error { 8986 invalidParams := request.ErrInvalidParams{Context: "SetRulePrioritiesInput"} 8987 if s.RulePriorities == nil { 8988 invalidParams.Add(request.NewErrParamRequired("RulePriorities")) 8989 } 8990 if s.RulePriorities != nil { 8991 for i, v := range s.RulePriorities { 8992 if v == nil { 8993 continue 8994 } 8995 if err := v.Validate(); err != nil { 8996 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RulePriorities", i), err.(request.ErrInvalidParams)) 8997 } 8998 } 8999 } 9000 9001 if invalidParams.Len() > 0 { 9002 return invalidParams 9003 } 9004 return nil 9005} 9006 9007// SetRulePriorities sets the RulePriorities field's value. 9008func (s *SetRulePrioritiesInput) SetRulePriorities(v []*RulePriorityPair) *SetRulePrioritiesInput { 9009 s.RulePriorities = v 9010 return s 9011} 9012 9013type SetRulePrioritiesOutput struct { 9014 _ struct{} `type:"structure"` 9015 9016 // Information about the rules. 9017 Rules []*Rule `type:"list"` 9018} 9019 9020// String returns the string representation. 9021// 9022// API parameter values that are decorated as "sensitive" in the API will not 9023// be included in the string output. The member name will be present, but the 9024// value will be replaced with "sensitive". 9025func (s SetRulePrioritiesOutput) String() string { 9026 return awsutil.Prettify(s) 9027} 9028 9029// GoString returns the string representation. 9030// 9031// API parameter values that are decorated as "sensitive" in the API will not 9032// be included in the string output. The member name will be present, but the 9033// value will be replaced with "sensitive". 9034func (s SetRulePrioritiesOutput) GoString() string { 9035 return s.String() 9036} 9037 9038// SetRules sets the Rules field's value. 9039func (s *SetRulePrioritiesOutput) SetRules(v []*Rule) *SetRulePrioritiesOutput { 9040 s.Rules = v 9041 return s 9042} 9043 9044type SetSecurityGroupsInput struct { 9045 _ struct{} `type:"structure"` 9046 9047 // The Amazon Resource Name (ARN) of the load balancer. 9048 // 9049 // LoadBalancerArn is a required field 9050 LoadBalancerArn *string `type:"string" required:"true"` 9051 9052 // The IDs of the security groups. 9053 // 9054 // SecurityGroups is a required field 9055 SecurityGroups []*string `type:"list" required:"true"` 9056} 9057 9058// String returns the string representation. 9059// 9060// API parameter values that are decorated as "sensitive" in the API will not 9061// be included in the string output. The member name will be present, but the 9062// value will be replaced with "sensitive". 9063func (s SetSecurityGroupsInput) String() string { 9064 return awsutil.Prettify(s) 9065} 9066 9067// GoString returns the string representation. 9068// 9069// API parameter values that are decorated as "sensitive" in the API will not 9070// be included in the string output. The member name will be present, but the 9071// value will be replaced with "sensitive". 9072func (s SetSecurityGroupsInput) GoString() string { 9073 return s.String() 9074} 9075 9076// Validate inspects the fields of the type to determine if they are valid. 9077func (s *SetSecurityGroupsInput) Validate() error { 9078 invalidParams := request.ErrInvalidParams{Context: "SetSecurityGroupsInput"} 9079 if s.LoadBalancerArn == nil { 9080 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 9081 } 9082 if s.SecurityGroups == nil { 9083 invalidParams.Add(request.NewErrParamRequired("SecurityGroups")) 9084 } 9085 9086 if invalidParams.Len() > 0 { 9087 return invalidParams 9088 } 9089 return nil 9090} 9091 9092// SetLoadBalancerArn sets the LoadBalancerArn field's value. 9093func (s *SetSecurityGroupsInput) SetLoadBalancerArn(v string) *SetSecurityGroupsInput { 9094 s.LoadBalancerArn = &v 9095 return s 9096} 9097 9098// SetSecurityGroups sets the SecurityGroups field's value. 9099func (s *SetSecurityGroupsInput) SetSecurityGroups(v []*string) *SetSecurityGroupsInput { 9100 s.SecurityGroups = v 9101 return s 9102} 9103 9104type SetSecurityGroupsOutput struct { 9105 _ struct{} `type:"structure"` 9106 9107 // The IDs of the security groups associated with the load balancer. 9108 SecurityGroupIds []*string `type:"list"` 9109} 9110 9111// String returns the string representation. 9112// 9113// API parameter values that are decorated as "sensitive" in the API will not 9114// be included in the string output. The member name will be present, but the 9115// value will be replaced with "sensitive". 9116func (s SetSecurityGroupsOutput) String() string { 9117 return awsutil.Prettify(s) 9118} 9119 9120// GoString returns the string representation. 9121// 9122// API parameter values that are decorated as "sensitive" in the API will not 9123// be included in the string output. The member name will be present, but the 9124// value will be replaced with "sensitive". 9125func (s SetSecurityGroupsOutput) GoString() string { 9126 return s.String() 9127} 9128 9129// SetSecurityGroupIds sets the SecurityGroupIds field's value. 9130func (s *SetSecurityGroupsOutput) SetSecurityGroupIds(v []*string) *SetSecurityGroupsOutput { 9131 s.SecurityGroupIds = v 9132 return s 9133} 9134 9135type SetSubnetsInput struct { 9136 _ struct{} `type:"structure"` 9137 9138 // [Network Load Balancers] The type of IP addresses used by the subnets for 9139 // your load balancer. The possible values are ipv4 (for IPv4 addresses) and 9140 // dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for 9141 // a load balancer with a UDP or TCP_UDP listener. Internal load balancers must 9142 // use ipv4. 9143 IpAddressType *string `type:"string" enum:"IpAddressType"` 9144 9145 // The Amazon Resource Name (ARN) of the load balancer. 9146 // 9147 // LoadBalancerArn is a required field 9148 LoadBalancerArn *string `type:"string" required:"true"` 9149 9150 // The IDs of the public subnets. You can specify only one subnet per Availability 9151 // Zone. You must specify either subnets or subnet mappings. 9152 // 9153 // [Application Load Balancers] You must specify subnets from at least two Availability 9154 // Zones. You cannot specify Elastic IP addresses for your subnets. 9155 // 9156 // [Application Load Balancers on Outposts] You must specify one Outpost subnet. 9157 // 9158 // [Application Load Balancers on Local Zones] You can specify subnets from 9159 // one or more Local Zones. 9160 // 9161 // [Network Load Balancers] You can specify subnets from one or more Availability 9162 // Zones. You can specify one Elastic IP address per subnet if you need static 9163 // IP addresses for your internet-facing load balancer. For internal load balancers, 9164 // you can specify one private IP address per subnet from the IPv4 range of 9165 // the subnet. For internet-facing load balancer, you can specify one IPv6 address 9166 // per subnet. 9167 SubnetMappings []*SubnetMapping `type:"list"` 9168 9169 // The IDs of the public subnets. You can specify only one subnet per Availability 9170 // Zone. You must specify either subnets or subnet mappings. 9171 // 9172 // [Application Load Balancers] You must specify subnets from at least two Availability 9173 // Zones. 9174 // 9175 // [Application Load Balancers on Outposts] You must specify one Outpost subnet. 9176 // 9177 // [Application Load Balancers on Local Zones] You can specify subnets from 9178 // one or more Local Zones. 9179 // 9180 // [Network Load Balancers] You can specify subnets from one or more Availability 9181 // Zones. 9182 Subnets []*string `type:"list"` 9183} 9184 9185// String returns the string representation. 9186// 9187// API parameter values that are decorated as "sensitive" in the API will not 9188// be included in the string output. The member name will be present, but the 9189// value will be replaced with "sensitive". 9190func (s SetSubnetsInput) String() string { 9191 return awsutil.Prettify(s) 9192} 9193 9194// GoString returns the string representation. 9195// 9196// API parameter values that are decorated as "sensitive" in the API will not 9197// be included in the string output. The member name will be present, but the 9198// value will be replaced with "sensitive". 9199func (s SetSubnetsInput) GoString() string { 9200 return s.String() 9201} 9202 9203// Validate inspects the fields of the type to determine if they are valid. 9204func (s *SetSubnetsInput) Validate() error { 9205 invalidParams := request.ErrInvalidParams{Context: "SetSubnetsInput"} 9206 if s.LoadBalancerArn == nil { 9207 invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) 9208 } 9209 9210 if invalidParams.Len() > 0 { 9211 return invalidParams 9212 } 9213 return nil 9214} 9215 9216// SetIpAddressType sets the IpAddressType field's value. 9217func (s *SetSubnetsInput) SetIpAddressType(v string) *SetSubnetsInput { 9218 s.IpAddressType = &v 9219 return s 9220} 9221 9222// SetLoadBalancerArn sets the LoadBalancerArn field's value. 9223func (s *SetSubnetsInput) SetLoadBalancerArn(v string) *SetSubnetsInput { 9224 s.LoadBalancerArn = &v 9225 return s 9226} 9227 9228// SetSubnetMappings sets the SubnetMappings field's value. 9229func (s *SetSubnetsInput) SetSubnetMappings(v []*SubnetMapping) *SetSubnetsInput { 9230 s.SubnetMappings = v 9231 return s 9232} 9233 9234// SetSubnets sets the Subnets field's value. 9235func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput { 9236 s.Subnets = v 9237 return s 9238} 9239 9240type SetSubnetsOutput struct { 9241 _ struct{} `type:"structure"` 9242 9243 // Information about the subnets. 9244 AvailabilityZones []*AvailabilityZone `type:"list"` 9245 9246 // [Network Load Balancers] The IP address type. 9247 IpAddressType *string `type:"string" enum:"IpAddressType"` 9248} 9249 9250// String returns the string representation. 9251// 9252// API parameter values that are decorated as "sensitive" in the API will not 9253// be included in the string output. The member name will be present, but the 9254// value will be replaced with "sensitive". 9255func (s SetSubnetsOutput) String() string { 9256 return awsutil.Prettify(s) 9257} 9258 9259// GoString returns the string representation. 9260// 9261// API parameter values that are decorated as "sensitive" in the API will not 9262// be included in the string output. The member name will be present, but the 9263// value will be replaced with "sensitive". 9264func (s SetSubnetsOutput) GoString() string { 9265 return s.String() 9266} 9267 9268// SetAvailabilityZones sets the AvailabilityZones field's value. 9269func (s *SetSubnetsOutput) SetAvailabilityZones(v []*AvailabilityZone) *SetSubnetsOutput { 9270 s.AvailabilityZones = v 9271 return s 9272} 9273 9274// SetIpAddressType sets the IpAddressType field's value. 9275func (s *SetSubnetsOutput) SetIpAddressType(v string) *SetSubnetsOutput { 9276 s.IpAddressType = &v 9277 return s 9278} 9279 9280// Information about a source IP condition. 9281// 9282// You can use this condition to route based on the IP address of the source 9283// that connects to the load balancer. If a client is behind a proxy, this is 9284// the IP address of the proxy not the IP address of the client. 9285type SourceIpConditionConfig struct { 9286 _ struct{} `type:"structure"` 9287 9288 // One or more source IP addresses, in CIDR format. You can use both IPv4 and 9289 // IPv6 addresses. Wildcards are not supported. 9290 // 9291 // If you specify multiple addresses, the condition is satisfied if the source 9292 // IP address of the request matches one of the CIDR blocks. This condition 9293 // is not satisfied by the addresses in the X-Forwarded-For header. To search 9294 // for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig. 9295 Values []*string `type:"list"` 9296} 9297 9298// String returns the string representation. 9299// 9300// API parameter values that are decorated as "sensitive" in the API will not 9301// be included in the string output. The member name will be present, but the 9302// value will be replaced with "sensitive". 9303func (s SourceIpConditionConfig) String() string { 9304 return awsutil.Prettify(s) 9305} 9306 9307// GoString returns the string representation. 9308// 9309// API parameter values that are decorated as "sensitive" in the API will not 9310// be included in the string output. The member name will be present, but the 9311// value will be replaced with "sensitive". 9312func (s SourceIpConditionConfig) GoString() string { 9313 return s.String() 9314} 9315 9316// SetValues sets the Values field's value. 9317func (s *SourceIpConditionConfig) SetValues(v []*string) *SourceIpConditionConfig { 9318 s.Values = v 9319 return s 9320} 9321 9322// Information about a policy used for SSL negotiation. 9323type SslPolicy struct { 9324 _ struct{} `type:"structure"` 9325 9326 // The ciphers. 9327 Ciphers []*Cipher `type:"list"` 9328 9329 // The name of the policy. 9330 Name *string `type:"string"` 9331 9332 // The protocols. 9333 SslProtocols []*string `type:"list"` 9334 9335 // The supported load balancers. 9336 SupportedLoadBalancerTypes []*string `type:"list"` 9337} 9338 9339// String returns the string representation. 9340// 9341// API parameter values that are decorated as "sensitive" in the API will not 9342// be included in the string output. The member name will be present, but the 9343// value will be replaced with "sensitive". 9344func (s SslPolicy) String() string { 9345 return awsutil.Prettify(s) 9346} 9347 9348// GoString returns the string representation. 9349// 9350// API parameter values that are decorated as "sensitive" in the API will not 9351// be included in the string output. The member name will be present, but the 9352// value will be replaced with "sensitive". 9353func (s SslPolicy) GoString() string { 9354 return s.String() 9355} 9356 9357// SetCiphers sets the Ciphers field's value. 9358func (s *SslPolicy) SetCiphers(v []*Cipher) *SslPolicy { 9359 s.Ciphers = v 9360 return s 9361} 9362 9363// SetName sets the Name field's value. 9364func (s *SslPolicy) SetName(v string) *SslPolicy { 9365 s.Name = &v 9366 return s 9367} 9368 9369// SetSslProtocols sets the SslProtocols field's value. 9370func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy { 9371 s.SslProtocols = v 9372 return s 9373} 9374 9375// SetSupportedLoadBalancerTypes sets the SupportedLoadBalancerTypes field's value. 9376func (s *SslPolicy) SetSupportedLoadBalancerTypes(v []*string) *SslPolicy { 9377 s.SupportedLoadBalancerTypes = v 9378 return s 9379} 9380 9381// Information about a subnet mapping. 9382type SubnetMapping struct { 9383 _ struct{} `type:"structure"` 9384 9385 // [Network Load Balancers] The allocation ID of the Elastic IP address for 9386 // an internet-facing load balancer. 9387 AllocationId *string `type:"string"` 9388 9389 // [Network Load Balancers] The IPv6 address. 9390 IPv6Address *string `type:"string"` 9391 9392 // [Network Load Balancers] The private IPv4 address for an internal load balancer. 9393 PrivateIPv4Address *string `type:"string"` 9394 9395 // The ID of the subnet. 9396 SubnetId *string `type:"string"` 9397} 9398 9399// String returns the string representation. 9400// 9401// API parameter values that are decorated as "sensitive" in the API will not 9402// be included in the string output. The member name will be present, but the 9403// value will be replaced with "sensitive". 9404func (s SubnetMapping) String() string { 9405 return awsutil.Prettify(s) 9406} 9407 9408// GoString returns the string representation. 9409// 9410// API parameter values that are decorated as "sensitive" in the API will not 9411// be included in the string output. The member name will be present, but the 9412// value will be replaced with "sensitive". 9413func (s SubnetMapping) GoString() string { 9414 return s.String() 9415} 9416 9417// SetAllocationId sets the AllocationId field's value. 9418func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping { 9419 s.AllocationId = &v 9420 return s 9421} 9422 9423// SetIPv6Address sets the IPv6Address field's value. 9424func (s *SubnetMapping) SetIPv6Address(v string) *SubnetMapping { 9425 s.IPv6Address = &v 9426 return s 9427} 9428 9429// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. 9430func (s *SubnetMapping) SetPrivateIPv4Address(v string) *SubnetMapping { 9431 s.PrivateIPv4Address = &v 9432 return s 9433} 9434 9435// SetSubnetId sets the SubnetId field's value. 9436func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping { 9437 s.SubnetId = &v 9438 return s 9439} 9440 9441// Information about a tag. 9442type Tag struct { 9443 _ struct{} `type:"structure"` 9444 9445 // The key of the tag. 9446 // 9447 // Key is a required field 9448 Key *string `min:"1" type:"string" required:"true"` 9449 9450 // The value of the tag. 9451 Value *string `type:"string"` 9452} 9453 9454// String returns the string representation. 9455// 9456// API parameter values that are decorated as "sensitive" in the API will not 9457// be included in the string output. The member name will be present, but the 9458// value will be replaced with "sensitive". 9459func (s Tag) String() string { 9460 return awsutil.Prettify(s) 9461} 9462 9463// GoString returns the string representation. 9464// 9465// API parameter values that are decorated as "sensitive" in the API will not 9466// be included in the string output. The member name will be present, but the 9467// value will be replaced with "sensitive". 9468func (s Tag) GoString() string { 9469 return s.String() 9470} 9471 9472// Validate inspects the fields of the type to determine if they are valid. 9473func (s *Tag) Validate() error { 9474 invalidParams := request.ErrInvalidParams{Context: "Tag"} 9475 if s.Key == nil { 9476 invalidParams.Add(request.NewErrParamRequired("Key")) 9477 } 9478 if s.Key != nil && len(*s.Key) < 1 { 9479 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9480 } 9481 9482 if invalidParams.Len() > 0 { 9483 return invalidParams 9484 } 9485 return nil 9486} 9487 9488// SetKey sets the Key field's value. 9489func (s *Tag) SetKey(v string) *Tag { 9490 s.Key = &v 9491 return s 9492} 9493 9494// SetValue sets the Value field's value. 9495func (s *Tag) SetValue(v string) *Tag { 9496 s.Value = &v 9497 return s 9498} 9499 9500// The tags associated with a resource. 9501type TagDescription struct { 9502 _ struct{} `type:"structure"` 9503 9504 // The Amazon Resource Name (ARN) of the resource. 9505 ResourceArn *string `type:"string"` 9506 9507 // Information about the tags. 9508 Tags []*Tag `min:"1" type:"list"` 9509} 9510 9511// String returns the string representation. 9512// 9513// API parameter values that are decorated as "sensitive" in the API will not 9514// be included in the string output. The member name will be present, but the 9515// value will be replaced with "sensitive". 9516func (s TagDescription) String() string { 9517 return awsutil.Prettify(s) 9518} 9519 9520// GoString returns the string representation. 9521// 9522// API parameter values that are decorated as "sensitive" in the API will not 9523// be included in the string output. The member name will be present, but the 9524// value will be replaced with "sensitive". 9525func (s TagDescription) GoString() string { 9526 return s.String() 9527} 9528 9529// SetResourceArn sets the ResourceArn field's value. 9530func (s *TagDescription) SetResourceArn(v string) *TagDescription { 9531 s.ResourceArn = &v 9532 return s 9533} 9534 9535// SetTags sets the Tags field's value. 9536func (s *TagDescription) SetTags(v []*Tag) *TagDescription { 9537 s.Tags = v 9538 return s 9539} 9540 9541// Information about a target. 9542type TargetDescription struct { 9543 _ struct{} `type:"structure"` 9544 9545 // An Availability Zone or all. This determines whether the target receives 9546 // traffic from the load balancer nodes in the specified Availability Zone or 9547 // from all enabled Availability Zones for the load balancer. 9548 // 9549 // This parameter is not supported if the target type of the target group is 9550 // instance or alb. 9551 // 9552 // If the target type is ip and the IP address is in a subnet of the VPC for 9553 // the target group, the Availability Zone is automatically detected and this 9554 // parameter is optional. If the IP address is outside the VPC, this parameter 9555 // is required. 9556 // 9557 // With an Application Load Balancer, if the target type is ip and the IP address 9558 // is outside the VPC for the target group, the only supported value is all. 9559 // 9560 // If the target type is lambda, this parameter is optional and the only supported 9561 // value is all. 9562 AvailabilityZone *string `type:"string"` 9563 9564 // The ID of the target. If the target type of the target group is instance, 9565 // specify an instance ID. If the target type is ip, specify an IP address. 9566 // If the target type is lambda, specify the ARN of the Lambda function. If 9567 // the target type is alb, specify the ARN of the Application Load Balancer 9568 // target. 9569 // 9570 // Id is a required field 9571 Id *string `type:"string" required:"true"` 9572 9573 // The port on which the target is listening. If the target group protocol is 9574 // GENEVE, the supported port is 6081. If the target type is alb, the targeted 9575 // Application Load Balancer must have at least one listener whose port matches 9576 // the target group port. Not used if the target is a Lambda function. 9577 Port *int64 `min:"1" type:"integer"` 9578} 9579 9580// String returns the string representation. 9581// 9582// API parameter values that are decorated as "sensitive" in the API will not 9583// be included in the string output. The member name will be present, but the 9584// value will be replaced with "sensitive". 9585func (s TargetDescription) String() string { 9586 return awsutil.Prettify(s) 9587} 9588 9589// GoString returns the string representation. 9590// 9591// API parameter values that are decorated as "sensitive" in the API will not 9592// be included in the string output. The member name will be present, but the 9593// value will be replaced with "sensitive". 9594func (s TargetDescription) GoString() string { 9595 return s.String() 9596} 9597 9598// Validate inspects the fields of the type to determine if they are valid. 9599func (s *TargetDescription) Validate() error { 9600 invalidParams := request.ErrInvalidParams{Context: "TargetDescription"} 9601 if s.Id == nil { 9602 invalidParams.Add(request.NewErrParamRequired("Id")) 9603 } 9604 if s.Port != nil && *s.Port < 1 { 9605 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 9606 } 9607 9608 if invalidParams.Len() > 0 { 9609 return invalidParams 9610 } 9611 return nil 9612} 9613 9614// SetAvailabilityZone sets the AvailabilityZone field's value. 9615func (s *TargetDescription) SetAvailabilityZone(v string) *TargetDescription { 9616 s.AvailabilityZone = &v 9617 return s 9618} 9619 9620// SetId sets the Id field's value. 9621func (s *TargetDescription) SetId(v string) *TargetDescription { 9622 s.Id = &v 9623 return s 9624} 9625 9626// SetPort sets the Port field's value. 9627func (s *TargetDescription) SetPort(v int64) *TargetDescription { 9628 s.Port = &v 9629 return s 9630} 9631 9632// Information about a target group. 9633type TargetGroup struct { 9634 _ struct{} `type:"structure"` 9635 9636 // Indicates whether health checks are enabled. 9637 HealthCheckEnabled *bool `type:"boolean"` 9638 9639 // The approximate amount of time, in seconds, between health checks of an individual 9640 // target. 9641 HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` 9642 9643 // The destination for health checks on the targets. 9644 HealthCheckPath *string `min:"1" type:"string"` 9645 9646 // The port to use to connect with the target. 9647 HealthCheckPort *string `type:"string"` 9648 9649 // The protocol to use to connect with the target. The GENEVE, TLS, UDP, and 9650 // TCP_UDP protocols are not supported for health checks. 9651 HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` 9652 9653 // The amount of time, in seconds, during which no response means a failed health 9654 // check. 9655 HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` 9656 9657 // The number of consecutive health checks successes required before considering 9658 // an unhealthy target healthy. 9659 HealthyThresholdCount *int64 `min:"2" type:"integer"` 9660 9661 // The type of IP address used for this target group. The possible values are 9662 // ipv4 and ipv6. This is an optional parameter. If not specified, the IP address 9663 // type defaults to ipv4. 9664 IpAddressType *string `type:"string" enum:"TargetGroupIpAddressTypeEnum"` 9665 9666 // The Amazon Resource Names (ARN) of the load balancers that route traffic 9667 // to this target group. 9668 LoadBalancerArns []*string `type:"list"` 9669 9670 // The HTTP or gRPC codes to use when checking for a successful response from 9671 // a target. 9672 Matcher *Matcher `type:"structure"` 9673 9674 // The port on which the targets are listening. Not used if the target is a 9675 // Lambda function. 9676 Port *int64 `min:"1" type:"integer"` 9677 9678 // The protocol to use for routing traffic to the targets. 9679 Protocol *string `type:"string" enum:"ProtocolEnum"` 9680 9681 // [HTTP/HTTPS protocol] The protocol version. The possible values are GRPC, 9682 // HTTP1, and HTTP2. 9683 ProtocolVersion *string `type:"string"` 9684 9685 // The Amazon Resource Name (ARN) of the target group. 9686 TargetGroupArn *string `type:"string"` 9687 9688 // The name of the target group. 9689 TargetGroupName *string `type:"string"` 9690 9691 // The type of target that you must specify when registering targets with this 9692 // target group. The possible values are instance (register targets by instance 9693 // ID), ip (register targets by IP address), lambda (register a single Lambda 9694 // function as a target), or alb (register a single Application Load Balancer 9695 // as a target). 9696 TargetType *string `type:"string" enum:"TargetTypeEnum"` 9697 9698 // The number of consecutive health check failures required before considering 9699 // the target unhealthy. 9700 UnhealthyThresholdCount *int64 `min:"2" type:"integer"` 9701 9702 // The ID of the VPC for the targets. 9703 VpcId *string `type:"string"` 9704} 9705 9706// String returns the string representation. 9707// 9708// API parameter values that are decorated as "sensitive" in the API will not 9709// be included in the string output. The member name will be present, but the 9710// value will be replaced with "sensitive". 9711func (s TargetGroup) String() string { 9712 return awsutil.Prettify(s) 9713} 9714 9715// GoString returns the string representation. 9716// 9717// API parameter values that are decorated as "sensitive" in the API will not 9718// be included in the string output. The member name will be present, but the 9719// value will be replaced with "sensitive". 9720func (s TargetGroup) GoString() string { 9721 return s.String() 9722} 9723 9724// SetHealthCheckEnabled sets the HealthCheckEnabled field's value. 9725func (s *TargetGroup) SetHealthCheckEnabled(v bool) *TargetGroup { 9726 s.HealthCheckEnabled = &v 9727 return s 9728} 9729 9730// SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value. 9731func (s *TargetGroup) SetHealthCheckIntervalSeconds(v int64) *TargetGroup { 9732 s.HealthCheckIntervalSeconds = &v 9733 return s 9734} 9735 9736// SetHealthCheckPath sets the HealthCheckPath field's value. 9737func (s *TargetGroup) SetHealthCheckPath(v string) *TargetGroup { 9738 s.HealthCheckPath = &v 9739 return s 9740} 9741 9742// SetHealthCheckPort sets the HealthCheckPort field's value. 9743func (s *TargetGroup) SetHealthCheckPort(v string) *TargetGroup { 9744 s.HealthCheckPort = &v 9745 return s 9746} 9747 9748// SetHealthCheckProtocol sets the HealthCheckProtocol field's value. 9749func (s *TargetGroup) SetHealthCheckProtocol(v string) *TargetGroup { 9750 s.HealthCheckProtocol = &v 9751 return s 9752} 9753 9754// SetHealthCheckTimeoutSeconds sets the HealthCheckTimeoutSeconds field's value. 9755func (s *TargetGroup) SetHealthCheckTimeoutSeconds(v int64) *TargetGroup { 9756 s.HealthCheckTimeoutSeconds = &v 9757 return s 9758} 9759 9760// SetHealthyThresholdCount sets the HealthyThresholdCount field's value. 9761func (s *TargetGroup) SetHealthyThresholdCount(v int64) *TargetGroup { 9762 s.HealthyThresholdCount = &v 9763 return s 9764} 9765 9766// SetIpAddressType sets the IpAddressType field's value. 9767func (s *TargetGroup) SetIpAddressType(v string) *TargetGroup { 9768 s.IpAddressType = &v 9769 return s 9770} 9771 9772// SetLoadBalancerArns sets the LoadBalancerArns field's value. 9773func (s *TargetGroup) SetLoadBalancerArns(v []*string) *TargetGroup { 9774 s.LoadBalancerArns = v 9775 return s 9776} 9777 9778// SetMatcher sets the Matcher field's value. 9779func (s *TargetGroup) SetMatcher(v *Matcher) *TargetGroup { 9780 s.Matcher = v 9781 return s 9782} 9783 9784// SetPort sets the Port field's value. 9785func (s *TargetGroup) SetPort(v int64) *TargetGroup { 9786 s.Port = &v 9787 return s 9788} 9789 9790// SetProtocol sets the Protocol field's value. 9791func (s *TargetGroup) SetProtocol(v string) *TargetGroup { 9792 s.Protocol = &v 9793 return s 9794} 9795 9796// SetProtocolVersion sets the ProtocolVersion field's value. 9797func (s *TargetGroup) SetProtocolVersion(v string) *TargetGroup { 9798 s.ProtocolVersion = &v 9799 return s 9800} 9801 9802// SetTargetGroupArn sets the TargetGroupArn field's value. 9803func (s *TargetGroup) SetTargetGroupArn(v string) *TargetGroup { 9804 s.TargetGroupArn = &v 9805 return s 9806} 9807 9808// SetTargetGroupName sets the TargetGroupName field's value. 9809func (s *TargetGroup) SetTargetGroupName(v string) *TargetGroup { 9810 s.TargetGroupName = &v 9811 return s 9812} 9813 9814// SetTargetType sets the TargetType field's value. 9815func (s *TargetGroup) SetTargetType(v string) *TargetGroup { 9816 s.TargetType = &v 9817 return s 9818} 9819 9820// SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value. 9821func (s *TargetGroup) SetUnhealthyThresholdCount(v int64) *TargetGroup { 9822 s.UnhealthyThresholdCount = &v 9823 return s 9824} 9825 9826// SetVpcId sets the VpcId field's value. 9827func (s *TargetGroup) SetVpcId(v string) *TargetGroup { 9828 s.VpcId = &v 9829 return s 9830} 9831 9832// Information about a target group attribute. 9833type TargetGroupAttribute struct { 9834 _ struct{} `type:"structure"` 9835 9836 // The name of the attribute. 9837 // 9838 // The following attribute is supported by all load balancers: 9839 // 9840 // * deregistration_delay.timeout_seconds - The amount of time, in seconds, 9841 // for Elastic Load Balancing to wait before changing the state of a deregistering 9842 // target from draining to unused. The range is 0-3600 seconds. The default 9843 // value is 300 seconds. If the target is a Lambda function, this attribute 9844 // is not supported. 9845 // 9846 // The following attributes are supported by both Application Load Balancers 9847 // and Network Load Balancers: 9848 // 9849 // * stickiness.enabled - Indicates whether sticky sessions are enabled. 9850 // The value is true or false. The default is false. 9851 // 9852 // * stickiness.type - The type of sticky sessions. The possible values are 9853 // lb_cookie and app_cookie for Application Load Balancers or source_ip for 9854 // Network Load Balancers. 9855 // 9856 // The following attributes are supported only if the load balancer is an Application 9857 // Load Balancer and the target is an instance or an IP address: 9858 // 9859 // * load_balancing.algorithm.type - The load balancing algorithm determines 9860 // how the load balancer selects targets when routing requests. The value 9861 // is round_robin or least_outstanding_requests. The default is round_robin. 9862 // 9863 // * slow_start.duration_seconds - The time period, in seconds, during which 9864 // a newly registered target receives an increasing share of the traffic 9865 // to the target group. After this time period ends, the target receives 9866 // its full share of traffic. The range is 30-900 seconds (15 minutes). The 9867 // default is 0 seconds (disabled). 9868 // 9869 // * stickiness.app_cookie.cookie_name - Indicates the name of the application-based 9870 // cookie. Names that start with the following prefixes are not allowed: 9871 // AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load 9872 // balancer. 9873 // 9874 // * stickiness.app_cookie.duration_seconds - The time period, in seconds, 9875 // during which requests from a client should be routed to the same target. 9876 // After this time period expires, the application-based cookie is considered 9877 // stale. The range is 1 second to 1 week (604800 seconds). The default value 9878 // is 1 day (86400 seconds). 9879 // 9880 // * stickiness.lb_cookie.duration_seconds - The time period, in seconds, 9881 // during which requests from a client should be routed to the same target. 9882 // After this time period expires, the load balancer-generated cookie is 9883 // considered stale. The range is 1 second to 1 week (604800 seconds). The 9884 // default value is 1 day (86400 seconds). 9885 // 9886 // The following attribute is supported only if the load balancer is an Application 9887 // Load Balancer and the target is a Lambda function: 9888 // 9889 // * lambda.multi_value_headers.enabled - Indicates whether the request and 9890 // response headers that are exchanged between the load balancer and the 9891 // Lambda function include arrays of values or strings. The value is true 9892 // or false. The default is false. If the value is false and the request 9893 // contains a duplicate header field name or query parameter key, the load 9894 // balancer uses the last value sent by the client. 9895 // 9896 // The following attributes are supported only by Network Load Balancers: 9897 // 9898 // * deregistration_delay.connection_termination.enabled - Indicates whether 9899 // the load balancer terminates connections at the end of the deregistration 9900 // timeout. The value is true or false. The default is false. 9901 // 9902 // * preserve_client_ip.enabled - Indicates whether client IP preservation 9903 // is enabled. The value is true or false. The default is disabled if the 9904 // target group type is IP address and the target group protocol is TCP or 9905 // TLS. Otherwise, the default is enabled. Client IP preservation cannot 9906 // be disabled for UDP and TCP_UDP target groups. 9907 // 9908 // * proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 9909 // 2 is enabled. The value is true or false. The default is false. 9910 Key *string `type:"string"` 9911 9912 // The value of the attribute. 9913 Value *string `type:"string"` 9914} 9915 9916// String returns the string representation. 9917// 9918// API parameter values that are decorated as "sensitive" in the API will not 9919// be included in the string output. The member name will be present, but the 9920// value will be replaced with "sensitive". 9921func (s TargetGroupAttribute) String() string { 9922 return awsutil.Prettify(s) 9923} 9924 9925// GoString returns the string representation. 9926// 9927// API parameter values that are decorated as "sensitive" in the API will not 9928// be included in the string output. The member name will be present, but the 9929// value will be replaced with "sensitive". 9930func (s TargetGroupAttribute) GoString() string { 9931 return s.String() 9932} 9933 9934// SetKey sets the Key field's value. 9935func (s *TargetGroupAttribute) SetKey(v string) *TargetGroupAttribute { 9936 s.Key = &v 9937 return s 9938} 9939 9940// SetValue sets the Value field's value. 9941func (s *TargetGroupAttribute) SetValue(v string) *TargetGroupAttribute { 9942 s.Value = &v 9943 return s 9944} 9945 9946// Information about the target group stickiness for a rule. 9947type TargetGroupStickinessConfig struct { 9948 _ struct{} `type:"structure"` 9949 9950 // The time period, in seconds, during which requests from a client should be 9951 // routed to the same target group. The range is 1-604800 seconds (7 days). 9952 DurationSeconds *int64 `type:"integer"` 9953 9954 // Indicates whether target group stickiness is enabled. 9955 Enabled *bool `type:"boolean"` 9956} 9957 9958// String returns the string representation. 9959// 9960// API parameter values that are decorated as "sensitive" in the API will not 9961// be included in the string output. The member name will be present, but the 9962// value will be replaced with "sensitive". 9963func (s TargetGroupStickinessConfig) String() string { 9964 return awsutil.Prettify(s) 9965} 9966 9967// GoString returns the string representation. 9968// 9969// API parameter values that are decorated as "sensitive" in the API will not 9970// be included in the string output. The member name will be present, but the 9971// value will be replaced with "sensitive". 9972func (s TargetGroupStickinessConfig) GoString() string { 9973 return s.String() 9974} 9975 9976// SetDurationSeconds sets the DurationSeconds field's value. 9977func (s *TargetGroupStickinessConfig) SetDurationSeconds(v int64) *TargetGroupStickinessConfig { 9978 s.DurationSeconds = &v 9979 return s 9980} 9981 9982// SetEnabled sets the Enabled field's value. 9983func (s *TargetGroupStickinessConfig) SetEnabled(v bool) *TargetGroupStickinessConfig { 9984 s.Enabled = &v 9985 return s 9986} 9987 9988// Information about how traffic will be distributed between multiple target 9989// groups in a forward rule. 9990type TargetGroupTuple struct { 9991 _ struct{} `type:"structure"` 9992 9993 // The Amazon Resource Name (ARN) of the target group. 9994 TargetGroupArn *string `type:"string"` 9995 9996 // The weight. The range is 0 to 999. 9997 Weight *int64 `type:"integer"` 9998} 9999 10000// String returns the string representation. 10001// 10002// API parameter values that are decorated as "sensitive" in the API will not 10003// be included in the string output. The member name will be present, but the 10004// value will be replaced with "sensitive". 10005func (s TargetGroupTuple) String() string { 10006 return awsutil.Prettify(s) 10007} 10008 10009// GoString returns the string representation. 10010// 10011// API parameter values that are decorated as "sensitive" in the API will not 10012// be included in the string output. The member name will be present, but the 10013// value will be replaced with "sensitive". 10014func (s TargetGroupTuple) GoString() string { 10015 return s.String() 10016} 10017 10018// SetTargetGroupArn sets the TargetGroupArn field's value. 10019func (s *TargetGroupTuple) SetTargetGroupArn(v string) *TargetGroupTuple { 10020 s.TargetGroupArn = &v 10021 return s 10022} 10023 10024// SetWeight sets the Weight field's value. 10025func (s *TargetGroupTuple) SetWeight(v int64) *TargetGroupTuple { 10026 s.Weight = &v 10027 return s 10028} 10029 10030// Information about the current health of a target. 10031type TargetHealth struct { 10032 _ struct{} `type:"structure"` 10033 10034 // A description of the target health that provides additional details. If the 10035 // state is healthy, a description is not provided. 10036 Description *string `type:"string"` 10037 10038 // The reason code. 10039 // 10040 // If the target state is healthy, a reason code is not provided. 10041 // 10042 // If the target state is initial, the reason code can be one of the following 10043 // values: 10044 // 10045 // * Elb.RegistrationInProgress - The target is in the process of being registered 10046 // with the load balancer. 10047 // 10048 // * Elb.InitialHealthChecking - The load balancer is still sending the target 10049 // the minimum number of health checks required to determine its health status. 10050 // 10051 // If the target state is unhealthy, the reason code can be one of the following 10052 // values: 10053 // 10054 // * Target.ResponseCodeMismatch - The health checks did not return an expected 10055 // HTTP code. Applies only to Application Load Balancers and Gateway Load 10056 // Balancers. 10057 // 10058 // * Target.Timeout - The health check requests timed out. Applies only to 10059 // Application Load Balancers and Gateway Load Balancers. 10060 // 10061 // * Target.FailedHealthChecks - The load balancer received an error while 10062 // establishing a connection to the target or the target response was malformed. 10063 // 10064 // * Elb.InternalError - The health checks failed due to an internal error. 10065 // Applies only to Application Load Balancers. 10066 // 10067 // If the target state is unused, the reason code can be one of the following 10068 // values: 10069 // 10070 // * Target.NotRegistered - The target is not registered with the target 10071 // group. 10072 // 10073 // * Target.NotInUse - The target group is not used by any load balancer 10074 // or the target is in an Availability Zone that is not enabled for its load 10075 // balancer. 10076 // 10077 // * Target.InvalidState - The target is in the stopped or terminated state. 10078 // 10079 // * Target.IpUnusable - The target IP address is reserved for use by a load 10080 // balancer. 10081 // 10082 // If the target state is draining, the reason code can be the following value: 10083 // 10084 // * Target.DeregistrationInProgress - The target is in the process of being 10085 // deregistered and the deregistration delay period has not expired. 10086 // 10087 // If the target state is unavailable, the reason code can be the following 10088 // value: 10089 // 10090 // * Target.HealthCheckDisabled - Health checks are disabled for the target 10091 // group. Applies only to Application Load Balancers. 10092 // 10093 // * Elb.InternalError - Target health is unavailable due to an internal 10094 // error. Applies only to Network Load Balancers. 10095 Reason *string `type:"string" enum:"TargetHealthReasonEnum"` 10096 10097 // The state of the target. 10098 State *string `type:"string" enum:"TargetHealthStateEnum"` 10099} 10100 10101// String returns the string representation. 10102// 10103// API parameter values that are decorated as "sensitive" in the API will not 10104// be included in the string output. The member name will be present, but the 10105// value will be replaced with "sensitive". 10106func (s TargetHealth) String() string { 10107 return awsutil.Prettify(s) 10108} 10109 10110// GoString returns the string representation. 10111// 10112// API parameter values that are decorated as "sensitive" in the API will not 10113// be included in the string output. The member name will be present, but the 10114// value will be replaced with "sensitive". 10115func (s TargetHealth) GoString() string { 10116 return s.String() 10117} 10118 10119// SetDescription sets the Description field's value. 10120func (s *TargetHealth) SetDescription(v string) *TargetHealth { 10121 s.Description = &v 10122 return s 10123} 10124 10125// SetReason sets the Reason field's value. 10126func (s *TargetHealth) SetReason(v string) *TargetHealth { 10127 s.Reason = &v 10128 return s 10129} 10130 10131// SetState sets the State field's value. 10132func (s *TargetHealth) SetState(v string) *TargetHealth { 10133 s.State = &v 10134 return s 10135} 10136 10137// Information about the health of a target. 10138type TargetHealthDescription struct { 10139 _ struct{} `type:"structure"` 10140 10141 // The port to use to connect with the target. 10142 HealthCheckPort *string `type:"string"` 10143 10144 // The description of the target. 10145 Target *TargetDescription `type:"structure"` 10146 10147 // The health information for the target. 10148 TargetHealth *TargetHealth `type:"structure"` 10149} 10150 10151// String returns the string representation. 10152// 10153// API parameter values that are decorated as "sensitive" in the API will not 10154// be included in the string output. The member name will be present, but the 10155// value will be replaced with "sensitive". 10156func (s TargetHealthDescription) String() string { 10157 return awsutil.Prettify(s) 10158} 10159 10160// GoString returns the string representation. 10161// 10162// API parameter values that are decorated as "sensitive" in the API will not 10163// be included in the string output. The member name will be present, but the 10164// value will be replaced with "sensitive". 10165func (s TargetHealthDescription) GoString() string { 10166 return s.String() 10167} 10168 10169// SetHealthCheckPort sets the HealthCheckPort field's value. 10170func (s *TargetHealthDescription) SetHealthCheckPort(v string) *TargetHealthDescription { 10171 s.HealthCheckPort = &v 10172 return s 10173} 10174 10175// SetTarget sets the Target field's value. 10176func (s *TargetHealthDescription) SetTarget(v *TargetDescription) *TargetHealthDescription { 10177 s.Target = v 10178 return s 10179} 10180 10181// SetTargetHealth sets the TargetHealth field's value. 10182func (s *TargetHealthDescription) SetTargetHealth(v *TargetHealth) *TargetHealthDescription { 10183 s.TargetHealth = v 10184 return s 10185} 10186 10187const ( 10188 // ActionTypeEnumForward is a ActionTypeEnum enum value 10189 ActionTypeEnumForward = "forward" 10190 10191 // ActionTypeEnumAuthenticateOidc is a ActionTypeEnum enum value 10192 ActionTypeEnumAuthenticateOidc = "authenticate-oidc" 10193 10194 // ActionTypeEnumAuthenticateCognito is a ActionTypeEnum enum value 10195 ActionTypeEnumAuthenticateCognito = "authenticate-cognito" 10196 10197 // ActionTypeEnumRedirect is a ActionTypeEnum enum value 10198 ActionTypeEnumRedirect = "redirect" 10199 10200 // ActionTypeEnumFixedResponse is a ActionTypeEnum enum value 10201 ActionTypeEnumFixedResponse = "fixed-response" 10202) 10203 10204// ActionTypeEnum_Values returns all elements of the ActionTypeEnum enum 10205func ActionTypeEnum_Values() []string { 10206 return []string{ 10207 ActionTypeEnumForward, 10208 ActionTypeEnumAuthenticateOidc, 10209 ActionTypeEnumAuthenticateCognito, 10210 ActionTypeEnumRedirect, 10211 ActionTypeEnumFixedResponse, 10212 } 10213} 10214 10215const ( 10216 // AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value 10217 AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny" 10218 10219 // AuthenticateCognitoActionConditionalBehaviorEnumAllow is a AuthenticateCognitoActionConditionalBehaviorEnum enum value 10220 AuthenticateCognitoActionConditionalBehaviorEnumAllow = "allow" 10221 10222 // AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate is a AuthenticateCognitoActionConditionalBehaviorEnum enum value 10223 AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate" 10224) 10225 10226// AuthenticateCognitoActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateCognitoActionConditionalBehaviorEnum enum 10227func AuthenticateCognitoActionConditionalBehaviorEnum_Values() []string { 10228 return []string{ 10229 AuthenticateCognitoActionConditionalBehaviorEnumDeny, 10230 AuthenticateCognitoActionConditionalBehaviorEnumAllow, 10231 AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate, 10232 } 10233} 10234 10235const ( 10236 // AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value 10237 AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny" 10238 10239 // AuthenticateOidcActionConditionalBehaviorEnumAllow is a AuthenticateOidcActionConditionalBehaviorEnum enum value 10240 AuthenticateOidcActionConditionalBehaviorEnumAllow = "allow" 10241 10242 // AuthenticateOidcActionConditionalBehaviorEnumAuthenticate is a AuthenticateOidcActionConditionalBehaviorEnum enum value 10243 AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate" 10244) 10245 10246// AuthenticateOidcActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateOidcActionConditionalBehaviorEnum enum 10247func AuthenticateOidcActionConditionalBehaviorEnum_Values() []string { 10248 return []string{ 10249 AuthenticateOidcActionConditionalBehaviorEnumDeny, 10250 AuthenticateOidcActionConditionalBehaviorEnumAllow, 10251 AuthenticateOidcActionConditionalBehaviorEnumAuthenticate, 10252 } 10253} 10254 10255const ( 10256 // IpAddressTypeIpv4 is a IpAddressType enum value 10257 IpAddressTypeIpv4 = "ipv4" 10258 10259 // IpAddressTypeDualstack is a IpAddressType enum value 10260 IpAddressTypeDualstack = "dualstack" 10261) 10262 10263// IpAddressType_Values returns all elements of the IpAddressType enum 10264func IpAddressType_Values() []string { 10265 return []string{ 10266 IpAddressTypeIpv4, 10267 IpAddressTypeDualstack, 10268 } 10269} 10270 10271const ( 10272 // LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value 10273 LoadBalancerSchemeEnumInternetFacing = "internet-facing" 10274 10275 // LoadBalancerSchemeEnumInternal is a LoadBalancerSchemeEnum enum value 10276 LoadBalancerSchemeEnumInternal = "internal" 10277) 10278 10279// LoadBalancerSchemeEnum_Values returns all elements of the LoadBalancerSchemeEnum enum 10280func LoadBalancerSchemeEnum_Values() []string { 10281 return []string{ 10282 LoadBalancerSchemeEnumInternetFacing, 10283 LoadBalancerSchemeEnumInternal, 10284 } 10285} 10286 10287const ( 10288 // LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value 10289 LoadBalancerStateEnumActive = "active" 10290 10291 // LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value 10292 LoadBalancerStateEnumProvisioning = "provisioning" 10293 10294 // LoadBalancerStateEnumActiveImpaired is a LoadBalancerStateEnum enum value 10295 LoadBalancerStateEnumActiveImpaired = "active_impaired" 10296 10297 // LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value 10298 LoadBalancerStateEnumFailed = "failed" 10299) 10300 10301// LoadBalancerStateEnum_Values returns all elements of the LoadBalancerStateEnum enum 10302func LoadBalancerStateEnum_Values() []string { 10303 return []string{ 10304 LoadBalancerStateEnumActive, 10305 LoadBalancerStateEnumProvisioning, 10306 LoadBalancerStateEnumActiveImpaired, 10307 LoadBalancerStateEnumFailed, 10308 } 10309} 10310 10311const ( 10312 // LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value 10313 LoadBalancerTypeEnumApplication = "application" 10314 10315 // LoadBalancerTypeEnumNetwork is a LoadBalancerTypeEnum enum value 10316 LoadBalancerTypeEnumNetwork = "network" 10317 10318 // LoadBalancerTypeEnumGateway is a LoadBalancerTypeEnum enum value 10319 LoadBalancerTypeEnumGateway = "gateway" 10320) 10321 10322// LoadBalancerTypeEnum_Values returns all elements of the LoadBalancerTypeEnum enum 10323func LoadBalancerTypeEnum_Values() []string { 10324 return []string{ 10325 LoadBalancerTypeEnumApplication, 10326 LoadBalancerTypeEnumNetwork, 10327 LoadBalancerTypeEnumGateway, 10328 } 10329} 10330 10331const ( 10332 // ProtocolEnumHttp is a ProtocolEnum enum value 10333 ProtocolEnumHttp = "HTTP" 10334 10335 // ProtocolEnumHttps is a ProtocolEnum enum value 10336 ProtocolEnumHttps = "HTTPS" 10337 10338 // ProtocolEnumTcp is a ProtocolEnum enum value 10339 ProtocolEnumTcp = "TCP" 10340 10341 // ProtocolEnumTls is a ProtocolEnum enum value 10342 ProtocolEnumTls = "TLS" 10343 10344 // ProtocolEnumUdp is a ProtocolEnum enum value 10345 ProtocolEnumUdp = "UDP" 10346 10347 // ProtocolEnumTcpUdp is a ProtocolEnum enum value 10348 ProtocolEnumTcpUdp = "TCP_UDP" 10349 10350 // ProtocolEnumGeneve is a ProtocolEnum enum value 10351 ProtocolEnumGeneve = "GENEVE" 10352) 10353 10354// ProtocolEnum_Values returns all elements of the ProtocolEnum enum 10355func ProtocolEnum_Values() []string { 10356 return []string{ 10357 ProtocolEnumHttp, 10358 ProtocolEnumHttps, 10359 ProtocolEnumTcp, 10360 ProtocolEnumTls, 10361 ProtocolEnumUdp, 10362 ProtocolEnumTcpUdp, 10363 ProtocolEnumGeneve, 10364 } 10365} 10366 10367const ( 10368 // RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value 10369 RedirectActionStatusCodeEnumHttp301 = "HTTP_301" 10370 10371 // RedirectActionStatusCodeEnumHttp302 is a RedirectActionStatusCodeEnum enum value 10372 RedirectActionStatusCodeEnumHttp302 = "HTTP_302" 10373) 10374 10375// RedirectActionStatusCodeEnum_Values returns all elements of the RedirectActionStatusCodeEnum enum 10376func RedirectActionStatusCodeEnum_Values() []string { 10377 return []string{ 10378 RedirectActionStatusCodeEnumHttp301, 10379 RedirectActionStatusCodeEnumHttp302, 10380 } 10381} 10382 10383const ( 10384 // TargetGroupIpAddressTypeEnumIpv4 is a TargetGroupIpAddressTypeEnum enum value 10385 TargetGroupIpAddressTypeEnumIpv4 = "ipv4" 10386 10387 // TargetGroupIpAddressTypeEnumIpv6 is a TargetGroupIpAddressTypeEnum enum value 10388 TargetGroupIpAddressTypeEnumIpv6 = "ipv6" 10389) 10390 10391// TargetGroupIpAddressTypeEnum_Values returns all elements of the TargetGroupIpAddressTypeEnum enum 10392func TargetGroupIpAddressTypeEnum_Values() []string { 10393 return []string{ 10394 TargetGroupIpAddressTypeEnumIpv4, 10395 TargetGroupIpAddressTypeEnumIpv6, 10396 } 10397} 10398 10399const ( 10400 // TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value 10401 TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress" 10402 10403 // TargetHealthReasonEnumElbInitialHealthChecking is a TargetHealthReasonEnum enum value 10404 TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking" 10405 10406 // TargetHealthReasonEnumTargetResponseCodeMismatch is a TargetHealthReasonEnum enum value 10407 TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch" 10408 10409 // TargetHealthReasonEnumTargetTimeout is a TargetHealthReasonEnum enum value 10410 TargetHealthReasonEnumTargetTimeout = "Target.Timeout" 10411 10412 // TargetHealthReasonEnumTargetFailedHealthChecks is a TargetHealthReasonEnum enum value 10413 TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks" 10414 10415 // TargetHealthReasonEnumTargetNotRegistered is a TargetHealthReasonEnum enum value 10416 TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered" 10417 10418 // TargetHealthReasonEnumTargetNotInUse is a TargetHealthReasonEnum enum value 10419 TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse" 10420 10421 // TargetHealthReasonEnumTargetDeregistrationInProgress is a TargetHealthReasonEnum enum value 10422 TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress" 10423 10424 // TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value 10425 TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState" 10426 10427 // TargetHealthReasonEnumTargetIpUnusable is a TargetHealthReasonEnum enum value 10428 TargetHealthReasonEnumTargetIpUnusable = "Target.IpUnusable" 10429 10430 // TargetHealthReasonEnumTargetHealthCheckDisabled is a TargetHealthReasonEnum enum value 10431 TargetHealthReasonEnumTargetHealthCheckDisabled = "Target.HealthCheckDisabled" 10432 10433 // TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value 10434 TargetHealthReasonEnumElbInternalError = "Elb.InternalError" 10435) 10436 10437// TargetHealthReasonEnum_Values returns all elements of the TargetHealthReasonEnum enum 10438func TargetHealthReasonEnum_Values() []string { 10439 return []string{ 10440 TargetHealthReasonEnumElbRegistrationInProgress, 10441 TargetHealthReasonEnumElbInitialHealthChecking, 10442 TargetHealthReasonEnumTargetResponseCodeMismatch, 10443 TargetHealthReasonEnumTargetTimeout, 10444 TargetHealthReasonEnumTargetFailedHealthChecks, 10445 TargetHealthReasonEnumTargetNotRegistered, 10446 TargetHealthReasonEnumTargetNotInUse, 10447 TargetHealthReasonEnumTargetDeregistrationInProgress, 10448 TargetHealthReasonEnumTargetInvalidState, 10449 TargetHealthReasonEnumTargetIpUnusable, 10450 TargetHealthReasonEnumTargetHealthCheckDisabled, 10451 TargetHealthReasonEnumElbInternalError, 10452 } 10453} 10454 10455const ( 10456 // TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value 10457 TargetHealthStateEnumInitial = "initial" 10458 10459 // TargetHealthStateEnumHealthy is a TargetHealthStateEnum enum value 10460 TargetHealthStateEnumHealthy = "healthy" 10461 10462 // TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value 10463 TargetHealthStateEnumUnhealthy = "unhealthy" 10464 10465 // TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value 10466 TargetHealthStateEnumUnused = "unused" 10467 10468 // TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value 10469 TargetHealthStateEnumDraining = "draining" 10470 10471 // TargetHealthStateEnumUnavailable is a TargetHealthStateEnum enum value 10472 TargetHealthStateEnumUnavailable = "unavailable" 10473) 10474 10475// TargetHealthStateEnum_Values returns all elements of the TargetHealthStateEnum enum 10476func TargetHealthStateEnum_Values() []string { 10477 return []string{ 10478 TargetHealthStateEnumInitial, 10479 TargetHealthStateEnumHealthy, 10480 TargetHealthStateEnumUnhealthy, 10481 TargetHealthStateEnumUnused, 10482 TargetHealthStateEnumDraining, 10483 TargetHealthStateEnumUnavailable, 10484 } 10485} 10486 10487const ( 10488 // TargetTypeEnumInstance is a TargetTypeEnum enum value 10489 TargetTypeEnumInstance = "instance" 10490 10491 // TargetTypeEnumIp is a TargetTypeEnum enum value 10492 TargetTypeEnumIp = "ip" 10493 10494 // TargetTypeEnumLambda is a TargetTypeEnum enum value 10495 TargetTypeEnumLambda = "lambda" 10496 10497 // TargetTypeEnumAlb is a TargetTypeEnum enum value 10498 TargetTypeEnumAlb = "alb" 10499) 10500 10501// TargetTypeEnum_Values returns all elements of the TargetTypeEnum enum 10502func TargetTypeEnum_Values() []string { 10503 return []string{ 10504 TargetTypeEnumInstance, 10505 TargetTypeEnumIp, 10506 TargetTypeEnumLambda, 10507 TargetTypeEnumAlb, 10508 } 10509} 10510