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