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