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