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