1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package elbv2_test 4 5import ( 6 "fmt" 7 "strings" 8 "time" 9 10 "github.com/aws/aws-sdk-go/aws" 11 "github.com/aws/aws-sdk-go/aws/awserr" 12 "github.com/aws/aws-sdk-go/aws/session" 13 "github.com/aws/aws-sdk-go/service/elbv2" 14) 15 16var _ time.Duration 17var _ strings.Reader 18var _ aws.Config 19 20func parseTime(layout, value string) *time.Time { 21 t, err := time.Parse(layout, value) 22 if err != nil { 23 panic(err) 24 } 25 return &t 26} 27 28// To add tags to a load balancer 29// 30// This example adds the specified tags to the specified load balancer. 31func ExampleELBV2_AddTags_shared00() { 32 svc := elbv2.New(session.New()) 33 input := &elbv2.AddTagsInput{ 34 ResourceArns: []*string{ 35 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 36 }, 37 Tags: []*elbv2.Tag{ 38 { 39 Key: aws.String("project"), 40 Value: aws.String("lima"), 41 }, 42 { 43 Key: aws.String("department"), 44 Value: aws.String("digital-media"), 45 }, 46 }, 47 } 48 49 result, err := svc.AddTags(input) 50 if err != nil { 51 if aerr, ok := err.(awserr.Error); ok { 52 switch aerr.Code() { 53 case elbv2.ErrCodeDuplicateTagKeysException: 54 fmt.Println(elbv2.ErrCodeDuplicateTagKeysException, aerr.Error()) 55 case elbv2.ErrCodeTooManyTagsException: 56 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 57 case elbv2.ErrCodeLoadBalancerNotFoundException: 58 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 59 case elbv2.ErrCodeTargetGroupNotFoundException: 60 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 61 case elbv2.ErrCodeListenerNotFoundException: 62 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 63 case elbv2.ErrCodeRuleNotFoundException: 64 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 65 default: 66 fmt.Println(aerr.Error()) 67 } 68 } else { 69 // Print the error, cast err to awserr.Error to get the Code and 70 // Message from an error. 71 fmt.Println(err.Error()) 72 } 73 return 74 } 75 76 fmt.Println(result) 77} 78 79// To create an HTTP listener 80// 81// This example creates an HTTP listener for the specified load balancer that forwards 82// requests to the specified target group. 83func ExampleELBV2_CreateListener_shared00() { 84 svc := elbv2.New(session.New()) 85 input := &elbv2.CreateListenerInput{ 86 DefaultActions: []*elbv2.Action{ 87 { 88 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 89 Type: aws.String("forward"), 90 }, 91 }, 92 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 93 Port: aws.Int64(80), 94 Protocol: aws.String("HTTP"), 95 } 96 97 result, err := svc.CreateListener(input) 98 if err != nil { 99 if aerr, ok := err.(awserr.Error); ok { 100 switch aerr.Code() { 101 case elbv2.ErrCodeDuplicateListenerException: 102 fmt.Println(elbv2.ErrCodeDuplicateListenerException, aerr.Error()) 103 case elbv2.ErrCodeTooManyListenersException: 104 fmt.Println(elbv2.ErrCodeTooManyListenersException, aerr.Error()) 105 case elbv2.ErrCodeTooManyCertificatesException: 106 fmt.Println(elbv2.ErrCodeTooManyCertificatesException, aerr.Error()) 107 case elbv2.ErrCodeLoadBalancerNotFoundException: 108 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 109 case elbv2.ErrCodeTargetGroupNotFoundException: 110 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 111 case elbv2.ErrCodeTargetGroupAssociationLimitException: 112 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 113 case elbv2.ErrCodeInvalidConfigurationRequestException: 114 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 115 case elbv2.ErrCodeIncompatibleProtocolsException: 116 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 117 case elbv2.ErrCodeSSLPolicyNotFoundException: 118 fmt.Println(elbv2.ErrCodeSSLPolicyNotFoundException, aerr.Error()) 119 case elbv2.ErrCodeCertificateNotFoundException: 120 fmt.Println(elbv2.ErrCodeCertificateNotFoundException, aerr.Error()) 121 case elbv2.ErrCodeUnsupportedProtocolException: 122 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 123 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 124 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 125 case elbv2.ErrCodeTooManyTargetsException: 126 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 127 case elbv2.ErrCodeTooManyActionsException: 128 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 129 case elbv2.ErrCodeInvalidLoadBalancerActionException: 130 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 131 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 132 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 133 case elbv2.ErrCodeALPNPolicyNotSupportedException: 134 fmt.Println(elbv2.ErrCodeALPNPolicyNotSupportedException, aerr.Error()) 135 case elbv2.ErrCodeTooManyTagsException: 136 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 137 default: 138 fmt.Println(aerr.Error()) 139 } 140 } else { 141 // Print the error, cast err to awserr.Error to get the Code and 142 // Message from an error. 143 fmt.Println(err.Error()) 144 } 145 return 146 } 147 148 fmt.Println(result) 149} 150 151// To create an HTTPS listener 152// 153// This example creates an HTTPS listener for the specified load balancer that forwards 154// requests to the specified target group. Note that you must specify an SSL certificate 155// for an HTTPS listener. You can create and manage certificates using AWS Certificate 156// Manager (ACM). Alternatively, you can create a certificate using SSL/TLS tools, get 157// the certificate signed by a certificate authority (CA), and upload the certificate 158// to AWS Identity and Access Management (IAM). 159func ExampleELBV2_CreateListener_shared01() { 160 svc := elbv2.New(session.New()) 161 input := &elbv2.CreateListenerInput{ 162 Certificates: []*elbv2.Certificate{ 163 { 164 CertificateArn: aws.String("arn:aws:iam::123456789012:server-certificate/my-server-cert"), 165 }, 166 }, 167 DefaultActions: []*elbv2.Action{ 168 { 169 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 170 Type: aws.String("forward"), 171 }, 172 }, 173 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 174 Port: aws.Int64(443), 175 Protocol: aws.String("HTTPS"), 176 SslPolicy: aws.String("ELBSecurityPolicy-2015-05"), 177 } 178 179 result, err := svc.CreateListener(input) 180 if err != nil { 181 if aerr, ok := err.(awserr.Error); ok { 182 switch aerr.Code() { 183 case elbv2.ErrCodeDuplicateListenerException: 184 fmt.Println(elbv2.ErrCodeDuplicateListenerException, aerr.Error()) 185 case elbv2.ErrCodeTooManyListenersException: 186 fmt.Println(elbv2.ErrCodeTooManyListenersException, aerr.Error()) 187 case elbv2.ErrCodeTooManyCertificatesException: 188 fmt.Println(elbv2.ErrCodeTooManyCertificatesException, aerr.Error()) 189 case elbv2.ErrCodeLoadBalancerNotFoundException: 190 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 191 case elbv2.ErrCodeTargetGroupNotFoundException: 192 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 193 case elbv2.ErrCodeTargetGroupAssociationLimitException: 194 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 195 case elbv2.ErrCodeInvalidConfigurationRequestException: 196 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 197 case elbv2.ErrCodeIncompatibleProtocolsException: 198 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 199 case elbv2.ErrCodeSSLPolicyNotFoundException: 200 fmt.Println(elbv2.ErrCodeSSLPolicyNotFoundException, aerr.Error()) 201 case elbv2.ErrCodeCertificateNotFoundException: 202 fmt.Println(elbv2.ErrCodeCertificateNotFoundException, aerr.Error()) 203 case elbv2.ErrCodeUnsupportedProtocolException: 204 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 205 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 206 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 207 case elbv2.ErrCodeTooManyTargetsException: 208 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 209 case elbv2.ErrCodeTooManyActionsException: 210 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 211 case elbv2.ErrCodeInvalidLoadBalancerActionException: 212 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 213 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 214 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 215 case elbv2.ErrCodeALPNPolicyNotSupportedException: 216 fmt.Println(elbv2.ErrCodeALPNPolicyNotSupportedException, aerr.Error()) 217 case elbv2.ErrCodeTooManyTagsException: 218 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 219 default: 220 fmt.Println(aerr.Error()) 221 } 222 } else { 223 // Print the error, cast err to awserr.Error to get the Code and 224 // Message from an error. 225 fmt.Println(err.Error()) 226 } 227 return 228 } 229 230 fmt.Println(result) 231} 232 233// To create an Internet-facing load balancer 234// 235// This example creates an Internet-facing load balancer and enables the Availability 236// Zones for the specified subnets. 237func ExampleELBV2_CreateLoadBalancer_shared00() { 238 svc := elbv2.New(session.New()) 239 input := &elbv2.CreateLoadBalancerInput{ 240 Name: aws.String("my-load-balancer"), 241 Subnets: []*string{ 242 aws.String("subnet-b7d581c0"), 243 aws.String("subnet-8360a9e7"), 244 }, 245 } 246 247 result, err := svc.CreateLoadBalancer(input) 248 if err != nil { 249 if aerr, ok := err.(awserr.Error); ok { 250 switch aerr.Code() { 251 case elbv2.ErrCodeDuplicateLoadBalancerNameException: 252 fmt.Println(elbv2.ErrCodeDuplicateLoadBalancerNameException, aerr.Error()) 253 case elbv2.ErrCodeTooManyLoadBalancersException: 254 fmt.Println(elbv2.ErrCodeTooManyLoadBalancersException, aerr.Error()) 255 case elbv2.ErrCodeInvalidConfigurationRequestException: 256 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 257 case elbv2.ErrCodeSubnetNotFoundException: 258 fmt.Println(elbv2.ErrCodeSubnetNotFoundException, aerr.Error()) 259 case elbv2.ErrCodeInvalidSubnetException: 260 fmt.Println(elbv2.ErrCodeInvalidSubnetException, aerr.Error()) 261 case elbv2.ErrCodeInvalidSecurityGroupException: 262 fmt.Println(elbv2.ErrCodeInvalidSecurityGroupException, aerr.Error()) 263 case elbv2.ErrCodeInvalidSchemeException: 264 fmt.Println(elbv2.ErrCodeInvalidSchemeException, aerr.Error()) 265 case elbv2.ErrCodeTooManyTagsException: 266 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 267 case elbv2.ErrCodeDuplicateTagKeysException: 268 fmt.Println(elbv2.ErrCodeDuplicateTagKeysException, aerr.Error()) 269 case elbv2.ErrCodeResourceInUseException: 270 fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) 271 case elbv2.ErrCodeAllocationIdNotFoundException: 272 fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) 273 case elbv2.ErrCodeAvailabilityZoneNotSupportedException: 274 fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) 275 case elbv2.ErrCodeOperationNotPermittedException: 276 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 277 default: 278 fmt.Println(aerr.Error()) 279 } 280 } else { 281 // Print the error, cast err to awserr.Error to get the Code and 282 // Message from an error. 283 fmt.Println(err.Error()) 284 } 285 return 286 } 287 288 fmt.Println(result) 289} 290 291// To create an internal load balancer 292// 293// This example creates an internal load balancer and enables the Availability Zones 294// for the specified subnets. 295func ExampleELBV2_CreateLoadBalancer_shared01() { 296 svc := elbv2.New(session.New()) 297 input := &elbv2.CreateLoadBalancerInput{ 298 Name: aws.String("my-internal-load-balancer"), 299 Scheme: aws.String("internal"), 300 Subnets: []*string{ 301 aws.String("subnet-b7d581c0"), 302 aws.String("subnet-8360a9e7"), 303 }, 304 } 305 306 result, err := svc.CreateLoadBalancer(input) 307 if err != nil { 308 if aerr, ok := err.(awserr.Error); ok { 309 switch aerr.Code() { 310 case elbv2.ErrCodeDuplicateLoadBalancerNameException: 311 fmt.Println(elbv2.ErrCodeDuplicateLoadBalancerNameException, aerr.Error()) 312 case elbv2.ErrCodeTooManyLoadBalancersException: 313 fmt.Println(elbv2.ErrCodeTooManyLoadBalancersException, aerr.Error()) 314 case elbv2.ErrCodeInvalidConfigurationRequestException: 315 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 316 case elbv2.ErrCodeSubnetNotFoundException: 317 fmt.Println(elbv2.ErrCodeSubnetNotFoundException, aerr.Error()) 318 case elbv2.ErrCodeInvalidSubnetException: 319 fmt.Println(elbv2.ErrCodeInvalidSubnetException, aerr.Error()) 320 case elbv2.ErrCodeInvalidSecurityGroupException: 321 fmt.Println(elbv2.ErrCodeInvalidSecurityGroupException, aerr.Error()) 322 case elbv2.ErrCodeInvalidSchemeException: 323 fmt.Println(elbv2.ErrCodeInvalidSchemeException, aerr.Error()) 324 case elbv2.ErrCodeTooManyTagsException: 325 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 326 case elbv2.ErrCodeDuplicateTagKeysException: 327 fmt.Println(elbv2.ErrCodeDuplicateTagKeysException, aerr.Error()) 328 case elbv2.ErrCodeResourceInUseException: 329 fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) 330 case elbv2.ErrCodeAllocationIdNotFoundException: 331 fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) 332 case elbv2.ErrCodeAvailabilityZoneNotSupportedException: 333 fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) 334 case elbv2.ErrCodeOperationNotPermittedException: 335 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 336 default: 337 fmt.Println(aerr.Error()) 338 } 339 } else { 340 // Print the error, cast err to awserr.Error to get the Code and 341 // Message from an error. 342 fmt.Println(err.Error()) 343 } 344 return 345 } 346 347 fmt.Println(result) 348} 349 350// To create a rule 351// 352// This example creates a rule that forwards requests to the specified target group 353// if the URL contains the specified pattern (for example, /img/*). 354func ExampleELBV2_CreateRule_shared00() { 355 svc := elbv2.New(session.New()) 356 input := &elbv2.CreateRuleInput{ 357 Actions: []*elbv2.Action{ 358 { 359 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 360 Type: aws.String("forward"), 361 }, 362 }, 363 Conditions: []*elbv2.RuleCondition{ 364 { 365 Field: aws.String("path-pattern"), 366 Values: []*string{ 367 aws.String("/img/*"), 368 }, 369 }, 370 }, 371 ListenerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2"), 372 Priority: aws.Int64(10), 373 } 374 375 result, err := svc.CreateRule(input) 376 if err != nil { 377 if aerr, ok := err.(awserr.Error); ok { 378 switch aerr.Code() { 379 case elbv2.ErrCodePriorityInUseException: 380 fmt.Println(elbv2.ErrCodePriorityInUseException, aerr.Error()) 381 case elbv2.ErrCodeTooManyTargetGroupsException: 382 fmt.Println(elbv2.ErrCodeTooManyTargetGroupsException, aerr.Error()) 383 case elbv2.ErrCodeTooManyRulesException: 384 fmt.Println(elbv2.ErrCodeTooManyRulesException, aerr.Error()) 385 case elbv2.ErrCodeTargetGroupAssociationLimitException: 386 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 387 case elbv2.ErrCodeIncompatibleProtocolsException: 388 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 389 case elbv2.ErrCodeListenerNotFoundException: 390 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 391 case elbv2.ErrCodeTargetGroupNotFoundException: 392 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 393 case elbv2.ErrCodeInvalidConfigurationRequestException: 394 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 395 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 396 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 397 case elbv2.ErrCodeTooManyTargetsException: 398 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 399 case elbv2.ErrCodeUnsupportedProtocolException: 400 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 401 case elbv2.ErrCodeTooManyActionsException: 402 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 403 case elbv2.ErrCodeInvalidLoadBalancerActionException: 404 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 405 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 406 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 407 case elbv2.ErrCodeTooManyTagsException: 408 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 409 default: 410 fmt.Println(aerr.Error()) 411 } 412 } else { 413 // Print the error, cast err to awserr.Error to get the Code and 414 // Message from an error. 415 fmt.Println(err.Error()) 416 } 417 return 418 } 419 420 fmt.Println(result) 421} 422 423// To create a target group 424// 425// This example creates a target group that you can use to route traffic to targets 426// using HTTP on port 80. This target group uses the default health check configuration. 427func ExampleELBV2_CreateTargetGroup_shared00() { 428 svc := elbv2.New(session.New()) 429 input := &elbv2.CreateTargetGroupInput{ 430 Name: aws.String("my-targets"), 431 Port: aws.Int64(80), 432 Protocol: aws.String("HTTP"), 433 VpcId: aws.String("vpc-3ac0fb5f"), 434 } 435 436 result, err := svc.CreateTargetGroup(input) 437 if err != nil { 438 if aerr, ok := err.(awserr.Error); ok { 439 switch aerr.Code() { 440 case elbv2.ErrCodeDuplicateTargetGroupNameException: 441 fmt.Println(elbv2.ErrCodeDuplicateTargetGroupNameException, aerr.Error()) 442 case elbv2.ErrCodeTooManyTargetGroupsException: 443 fmt.Println(elbv2.ErrCodeTooManyTargetGroupsException, aerr.Error()) 444 case elbv2.ErrCodeInvalidConfigurationRequestException: 445 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 446 case elbv2.ErrCodeTooManyTagsException: 447 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 448 default: 449 fmt.Println(aerr.Error()) 450 } 451 } else { 452 // Print the error, cast err to awserr.Error to get the Code and 453 // Message from an error. 454 fmt.Println(err.Error()) 455 } 456 return 457 } 458 459 fmt.Println(result) 460} 461 462// To delete a listener 463// 464// This example deletes the specified listener. 465func ExampleELBV2_DeleteListener_shared00() { 466 svc := elbv2.New(session.New()) 467 input := &elbv2.DeleteListenerInput{ 468 ListenerArn: aws.String("arn:aws:elasticloadbalancing:ua-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2"), 469 } 470 471 result, err := svc.DeleteListener(input) 472 if err != nil { 473 if aerr, ok := err.(awserr.Error); ok { 474 switch aerr.Code() { 475 case elbv2.ErrCodeListenerNotFoundException: 476 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 477 case elbv2.ErrCodeResourceInUseException: 478 fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) 479 default: 480 fmt.Println(aerr.Error()) 481 } 482 } else { 483 // Print the error, cast err to awserr.Error to get the Code and 484 // Message from an error. 485 fmt.Println(err.Error()) 486 } 487 return 488 } 489 490 fmt.Println(result) 491} 492 493// To delete a load balancer 494// 495// This example deletes the specified load balancer. 496func ExampleELBV2_DeleteLoadBalancer_shared00() { 497 svc := elbv2.New(session.New()) 498 input := &elbv2.DeleteLoadBalancerInput{ 499 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 500 } 501 502 result, err := svc.DeleteLoadBalancer(input) 503 if err != nil { 504 if aerr, ok := err.(awserr.Error); ok { 505 switch aerr.Code() { 506 case elbv2.ErrCodeLoadBalancerNotFoundException: 507 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 508 case elbv2.ErrCodeOperationNotPermittedException: 509 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 510 case elbv2.ErrCodeResourceInUseException: 511 fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) 512 default: 513 fmt.Println(aerr.Error()) 514 } 515 } else { 516 // Print the error, cast err to awserr.Error to get the Code and 517 // Message from an error. 518 fmt.Println(err.Error()) 519 } 520 return 521 } 522 523 fmt.Println(result) 524} 525 526// To delete a rule 527// 528// This example deletes the specified rule. 529func ExampleELBV2_DeleteRule_shared00() { 530 svc := elbv2.New(session.New()) 531 input := &elbv2.DeleteRuleInput{ 532 RuleArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3"), 533 } 534 535 result, err := svc.DeleteRule(input) 536 if err != nil { 537 if aerr, ok := err.(awserr.Error); ok { 538 switch aerr.Code() { 539 case elbv2.ErrCodeRuleNotFoundException: 540 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 541 case elbv2.ErrCodeOperationNotPermittedException: 542 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 543 default: 544 fmt.Println(aerr.Error()) 545 } 546 } else { 547 // Print the error, cast err to awserr.Error to get the Code and 548 // Message from an error. 549 fmt.Println(err.Error()) 550 } 551 return 552 } 553 554 fmt.Println(result) 555} 556 557// To delete a target group 558// 559// This example deletes the specified target group. 560func ExampleELBV2_DeleteTargetGroup_shared00() { 561 svc := elbv2.New(session.New()) 562 input := &elbv2.DeleteTargetGroupInput{ 563 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 564 } 565 566 result, err := svc.DeleteTargetGroup(input) 567 if err != nil { 568 if aerr, ok := err.(awserr.Error); ok { 569 switch aerr.Code() { 570 case elbv2.ErrCodeResourceInUseException: 571 fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) 572 default: 573 fmt.Println(aerr.Error()) 574 } 575 } else { 576 // Print the error, cast err to awserr.Error to get the Code and 577 // Message from an error. 578 fmt.Println(err.Error()) 579 } 580 return 581 } 582 583 fmt.Println(result) 584} 585 586// To deregister a target from a target group 587// 588// This example deregisters the specified instance from the specified target group. 589func ExampleELBV2_DeregisterTargets_shared00() { 590 svc := elbv2.New(session.New()) 591 input := &elbv2.DeregisterTargetsInput{ 592 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 593 Targets: []*elbv2.TargetDescription{ 594 { 595 Id: aws.String("i-0f76fade"), 596 }, 597 }, 598 } 599 600 result, err := svc.DeregisterTargets(input) 601 if err != nil { 602 if aerr, ok := err.(awserr.Error); ok { 603 switch aerr.Code() { 604 case elbv2.ErrCodeTargetGroupNotFoundException: 605 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 606 case elbv2.ErrCodeInvalidTargetException: 607 fmt.Println(elbv2.ErrCodeInvalidTargetException, aerr.Error()) 608 default: 609 fmt.Println(aerr.Error()) 610 } 611 } else { 612 // Print the error, cast err to awserr.Error to get the Code and 613 // Message from an error. 614 fmt.Println(err.Error()) 615 } 616 return 617 } 618 619 fmt.Println(result) 620} 621 622// To describe a listener 623// 624// This example describes the specified listener. 625func ExampleELBV2_DescribeListeners_shared00() { 626 svc := elbv2.New(session.New()) 627 input := &elbv2.DescribeListenersInput{ 628 ListenerArns: []*string{ 629 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2"), 630 }, 631 } 632 633 result, err := svc.DescribeListeners(input) 634 if err != nil { 635 if aerr, ok := err.(awserr.Error); ok { 636 switch aerr.Code() { 637 case elbv2.ErrCodeListenerNotFoundException: 638 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 639 case elbv2.ErrCodeLoadBalancerNotFoundException: 640 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 641 case elbv2.ErrCodeUnsupportedProtocolException: 642 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 643 default: 644 fmt.Println(aerr.Error()) 645 } 646 } else { 647 // Print the error, cast err to awserr.Error to get the Code and 648 // Message from an error. 649 fmt.Println(err.Error()) 650 } 651 return 652 } 653 654 fmt.Println(result) 655} 656 657// To describe load balancer attributes 658// 659// This example describes the attributes of the specified load balancer. 660func ExampleELBV2_DescribeLoadBalancerAttributes_shared00() { 661 svc := elbv2.New(session.New()) 662 input := &elbv2.DescribeLoadBalancerAttributesInput{ 663 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 664 } 665 666 result, err := svc.DescribeLoadBalancerAttributes(input) 667 if err != nil { 668 if aerr, ok := err.(awserr.Error); ok { 669 switch aerr.Code() { 670 case elbv2.ErrCodeLoadBalancerNotFoundException: 671 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 672 default: 673 fmt.Println(aerr.Error()) 674 } 675 } else { 676 // Print the error, cast err to awserr.Error to get the Code and 677 // Message from an error. 678 fmt.Println(err.Error()) 679 } 680 return 681 } 682 683 fmt.Println(result) 684} 685 686// To describe a load balancer 687// 688// This example describes the specified load balancer. 689func ExampleELBV2_DescribeLoadBalancers_shared00() { 690 svc := elbv2.New(session.New()) 691 input := &elbv2.DescribeLoadBalancersInput{ 692 LoadBalancerArns: []*string{ 693 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 694 }, 695 } 696 697 result, err := svc.DescribeLoadBalancers(input) 698 if err != nil { 699 if aerr, ok := err.(awserr.Error); ok { 700 switch aerr.Code() { 701 case elbv2.ErrCodeLoadBalancerNotFoundException: 702 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 703 default: 704 fmt.Println(aerr.Error()) 705 } 706 } else { 707 // Print the error, cast err to awserr.Error to get the Code and 708 // Message from an error. 709 fmt.Println(err.Error()) 710 } 711 return 712 } 713 714 fmt.Println(result) 715} 716 717// To describe a rule 718// 719// This example describes the specified rule. 720func ExampleELBV2_DescribeRules_shared00() { 721 svc := elbv2.New(session.New()) 722 input := &elbv2.DescribeRulesInput{ 723 RuleArns: []*string{ 724 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee"), 725 }, 726 } 727 728 result, err := svc.DescribeRules(input) 729 if err != nil { 730 if aerr, ok := err.(awserr.Error); ok { 731 switch aerr.Code() { 732 case elbv2.ErrCodeListenerNotFoundException: 733 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 734 case elbv2.ErrCodeRuleNotFoundException: 735 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 736 case elbv2.ErrCodeUnsupportedProtocolException: 737 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 738 default: 739 fmt.Println(aerr.Error()) 740 } 741 } else { 742 // Print the error, cast err to awserr.Error to get the Code and 743 // Message from an error. 744 fmt.Println(err.Error()) 745 } 746 return 747 } 748 749 fmt.Println(result) 750} 751 752// To describe a policy used for SSL negotiation 753// 754// This example describes the specified policy used for SSL negotiation. 755func ExampleELBV2_DescribeSSLPolicies_shared00() { 756 svc := elbv2.New(session.New()) 757 input := &elbv2.DescribeSSLPoliciesInput{ 758 Names: []*string{ 759 aws.String("ELBSecurityPolicy-2015-05"), 760 }, 761 } 762 763 result, err := svc.DescribeSSLPolicies(input) 764 if err != nil { 765 if aerr, ok := err.(awserr.Error); ok { 766 switch aerr.Code() { 767 case elbv2.ErrCodeSSLPolicyNotFoundException: 768 fmt.Println(elbv2.ErrCodeSSLPolicyNotFoundException, aerr.Error()) 769 default: 770 fmt.Println(aerr.Error()) 771 } 772 } else { 773 // Print the error, cast err to awserr.Error to get the Code and 774 // Message from an error. 775 fmt.Println(err.Error()) 776 } 777 return 778 } 779 780 fmt.Println(result) 781} 782 783// To describe the tags assigned to a load balancer 784// 785// This example describes the tags assigned to the specified load balancer. 786func ExampleELBV2_DescribeTags_shared00() { 787 svc := elbv2.New(session.New()) 788 input := &elbv2.DescribeTagsInput{ 789 ResourceArns: []*string{ 790 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 791 }, 792 } 793 794 result, err := svc.DescribeTags(input) 795 if err != nil { 796 if aerr, ok := err.(awserr.Error); ok { 797 switch aerr.Code() { 798 case elbv2.ErrCodeLoadBalancerNotFoundException: 799 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 800 case elbv2.ErrCodeTargetGroupNotFoundException: 801 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 802 case elbv2.ErrCodeListenerNotFoundException: 803 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 804 case elbv2.ErrCodeRuleNotFoundException: 805 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 806 default: 807 fmt.Println(aerr.Error()) 808 } 809 } else { 810 // Print the error, cast err to awserr.Error to get the Code and 811 // Message from an error. 812 fmt.Println(err.Error()) 813 } 814 return 815 } 816 817 fmt.Println(result) 818} 819 820// To describe target group attributes 821// 822// This example describes the attributes of the specified target group. 823func ExampleELBV2_DescribeTargetGroupAttributes_shared00() { 824 svc := elbv2.New(session.New()) 825 input := &elbv2.DescribeTargetGroupAttributesInput{ 826 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 827 } 828 829 result, err := svc.DescribeTargetGroupAttributes(input) 830 if err != nil { 831 if aerr, ok := err.(awserr.Error); ok { 832 switch aerr.Code() { 833 case elbv2.ErrCodeTargetGroupNotFoundException: 834 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 835 default: 836 fmt.Println(aerr.Error()) 837 } 838 } else { 839 // Print the error, cast err to awserr.Error to get the Code and 840 // Message from an error. 841 fmt.Println(err.Error()) 842 } 843 return 844 } 845 846 fmt.Println(result) 847} 848 849// To describe a target group 850// 851// This example describes the specified target group. 852func ExampleELBV2_DescribeTargetGroups_shared00() { 853 svc := elbv2.New(session.New()) 854 input := &elbv2.DescribeTargetGroupsInput{ 855 TargetGroupArns: []*string{ 856 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 857 }, 858 } 859 860 result, err := svc.DescribeTargetGroups(input) 861 if err != nil { 862 if aerr, ok := err.(awserr.Error); ok { 863 switch aerr.Code() { 864 case elbv2.ErrCodeLoadBalancerNotFoundException: 865 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 866 case elbv2.ErrCodeTargetGroupNotFoundException: 867 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 868 default: 869 fmt.Println(aerr.Error()) 870 } 871 } else { 872 // Print the error, cast err to awserr.Error to get the Code and 873 // Message from an error. 874 fmt.Println(err.Error()) 875 } 876 return 877 } 878 879 fmt.Println(result) 880} 881 882// To describe the health of the targets for a target group 883// 884// This example describes the health of the targets for the specified target group. 885// One target is healthy but the other is not specified in an action, so it can't receive 886// traffic from the load balancer. 887func ExampleELBV2_DescribeTargetHealth_shared00() { 888 svc := elbv2.New(session.New()) 889 input := &elbv2.DescribeTargetHealthInput{ 890 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 891 } 892 893 result, err := svc.DescribeTargetHealth(input) 894 if err != nil { 895 if aerr, ok := err.(awserr.Error); ok { 896 switch aerr.Code() { 897 case elbv2.ErrCodeInvalidTargetException: 898 fmt.Println(elbv2.ErrCodeInvalidTargetException, aerr.Error()) 899 case elbv2.ErrCodeTargetGroupNotFoundException: 900 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 901 case elbv2.ErrCodeHealthUnavailableException: 902 fmt.Println(elbv2.ErrCodeHealthUnavailableException, aerr.Error()) 903 default: 904 fmt.Println(aerr.Error()) 905 } 906 } else { 907 // Print the error, cast err to awserr.Error to get the Code and 908 // Message from an error. 909 fmt.Println(err.Error()) 910 } 911 return 912 } 913 914 fmt.Println(result) 915} 916 917// To describe the health of a target 918// 919// This example describes the health of the specified target. This target is healthy. 920func ExampleELBV2_DescribeTargetHealth_shared01() { 921 svc := elbv2.New(session.New()) 922 input := &elbv2.DescribeTargetHealthInput{ 923 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 924 Targets: []*elbv2.TargetDescription{ 925 { 926 Id: aws.String("i-0f76fade"), 927 Port: aws.Int64(80), 928 }, 929 }, 930 } 931 932 result, err := svc.DescribeTargetHealth(input) 933 if err != nil { 934 if aerr, ok := err.(awserr.Error); ok { 935 switch aerr.Code() { 936 case elbv2.ErrCodeInvalidTargetException: 937 fmt.Println(elbv2.ErrCodeInvalidTargetException, aerr.Error()) 938 case elbv2.ErrCodeTargetGroupNotFoundException: 939 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 940 case elbv2.ErrCodeHealthUnavailableException: 941 fmt.Println(elbv2.ErrCodeHealthUnavailableException, aerr.Error()) 942 default: 943 fmt.Println(aerr.Error()) 944 } 945 } else { 946 // Print the error, cast err to awserr.Error to get the Code and 947 // Message from an error. 948 fmt.Println(err.Error()) 949 } 950 return 951 } 952 953 fmt.Println(result) 954} 955 956// To change the default action for a listener 957// 958// This example changes the default action for the specified listener. 959func ExampleELBV2_ModifyListener_shared00() { 960 svc := elbv2.New(session.New()) 961 input := &elbv2.ModifyListenerInput{ 962 DefaultActions: []*elbv2.Action{ 963 { 964 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f"), 965 Type: aws.String("forward"), 966 }, 967 }, 968 ListenerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2"), 969 } 970 971 result, err := svc.ModifyListener(input) 972 if err != nil { 973 if aerr, ok := err.(awserr.Error); ok { 974 switch aerr.Code() { 975 case elbv2.ErrCodeDuplicateListenerException: 976 fmt.Println(elbv2.ErrCodeDuplicateListenerException, aerr.Error()) 977 case elbv2.ErrCodeTooManyListenersException: 978 fmt.Println(elbv2.ErrCodeTooManyListenersException, aerr.Error()) 979 case elbv2.ErrCodeTooManyCertificatesException: 980 fmt.Println(elbv2.ErrCodeTooManyCertificatesException, aerr.Error()) 981 case elbv2.ErrCodeListenerNotFoundException: 982 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 983 case elbv2.ErrCodeTargetGroupNotFoundException: 984 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 985 case elbv2.ErrCodeTargetGroupAssociationLimitException: 986 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 987 case elbv2.ErrCodeIncompatibleProtocolsException: 988 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 989 case elbv2.ErrCodeSSLPolicyNotFoundException: 990 fmt.Println(elbv2.ErrCodeSSLPolicyNotFoundException, aerr.Error()) 991 case elbv2.ErrCodeCertificateNotFoundException: 992 fmt.Println(elbv2.ErrCodeCertificateNotFoundException, aerr.Error()) 993 case elbv2.ErrCodeInvalidConfigurationRequestException: 994 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 995 case elbv2.ErrCodeUnsupportedProtocolException: 996 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 997 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 998 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 999 case elbv2.ErrCodeTooManyTargetsException: 1000 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 1001 case elbv2.ErrCodeTooManyActionsException: 1002 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 1003 case elbv2.ErrCodeInvalidLoadBalancerActionException: 1004 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 1005 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 1006 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 1007 case elbv2.ErrCodeALPNPolicyNotSupportedException: 1008 fmt.Println(elbv2.ErrCodeALPNPolicyNotSupportedException, aerr.Error()) 1009 default: 1010 fmt.Println(aerr.Error()) 1011 } 1012 } else { 1013 // Print the error, cast err to awserr.Error to get the Code and 1014 // Message from an error. 1015 fmt.Println(err.Error()) 1016 } 1017 return 1018 } 1019 1020 fmt.Println(result) 1021} 1022 1023// To change the server certificate 1024// 1025// This example changes the server certificate for the specified HTTPS listener. 1026func ExampleELBV2_ModifyListener_shared01() { 1027 svc := elbv2.New(session.New()) 1028 input := &elbv2.ModifyListenerInput{ 1029 Certificates: []*elbv2.Certificate{ 1030 { 1031 CertificateArn: aws.String("arn:aws:iam::123456789012:server-certificate/my-new-server-cert"), 1032 }, 1033 }, 1034 ListenerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65"), 1035 } 1036 1037 result, err := svc.ModifyListener(input) 1038 if err != nil { 1039 if aerr, ok := err.(awserr.Error); ok { 1040 switch aerr.Code() { 1041 case elbv2.ErrCodeDuplicateListenerException: 1042 fmt.Println(elbv2.ErrCodeDuplicateListenerException, aerr.Error()) 1043 case elbv2.ErrCodeTooManyListenersException: 1044 fmt.Println(elbv2.ErrCodeTooManyListenersException, aerr.Error()) 1045 case elbv2.ErrCodeTooManyCertificatesException: 1046 fmt.Println(elbv2.ErrCodeTooManyCertificatesException, aerr.Error()) 1047 case elbv2.ErrCodeListenerNotFoundException: 1048 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 1049 case elbv2.ErrCodeTargetGroupNotFoundException: 1050 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1051 case elbv2.ErrCodeTargetGroupAssociationLimitException: 1052 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 1053 case elbv2.ErrCodeIncompatibleProtocolsException: 1054 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 1055 case elbv2.ErrCodeSSLPolicyNotFoundException: 1056 fmt.Println(elbv2.ErrCodeSSLPolicyNotFoundException, aerr.Error()) 1057 case elbv2.ErrCodeCertificateNotFoundException: 1058 fmt.Println(elbv2.ErrCodeCertificateNotFoundException, aerr.Error()) 1059 case elbv2.ErrCodeInvalidConfigurationRequestException: 1060 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1061 case elbv2.ErrCodeUnsupportedProtocolException: 1062 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 1063 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 1064 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 1065 case elbv2.ErrCodeTooManyTargetsException: 1066 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 1067 case elbv2.ErrCodeTooManyActionsException: 1068 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 1069 case elbv2.ErrCodeInvalidLoadBalancerActionException: 1070 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 1071 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 1072 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 1073 case elbv2.ErrCodeALPNPolicyNotSupportedException: 1074 fmt.Println(elbv2.ErrCodeALPNPolicyNotSupportedException, aerr.Error()) 1075 default: 1076 fmt.Println(aerr.Error()) 1077 } 1078 } else { 1079 // Print the error, cast err to awserr.Error to get the Code and 1080 // Message from an error. 1081 fmt.Println(err.Error()) 1082 } 1083 return 1084 } 1085 1086 fmt.Println(result) 1087} 1088 1089// To enable deletion protection 1090// 1091// This example enables deletion protection for the specified load balancer. 1092func ExampleELBV2_ModifyLoadBalancerAttributes_shared00() { 1093 svc := elbv2.New(session.New()) 1094 input := &elbv2.ModifyLoadBalancerAttributesInput{ 1095 Attributes: []*elbv2.LoadBalancerAttribute{ 1096 { 1097 Key: aws.String("deletion_protection.enabled"), 1098 Value: aws.String("true"), 1099 }, 1100 }, 1101 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1102 } 1103 1104 result, err := svc.ModifyLoadBalancerAttributes(input) 1105 if err != nil { 1106 if aerr, ok := err.(awserr.Error); ok { 1107 switch aerr.Code() { 1108 case elbv2.ErrCodeLoadBalancerNotFoundException: 1109 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1110 case elbv2.ErrCodeInvalidConfigurationRequestException: 1111 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1112 default: 1113 fmt.Println(aerr.Error()) 1114 } 1115 } else { 1116 // Print the error, cast err to awserr.Error to get the Code and 1117 // Message from an error. 1118 fmt.Println(err.Error()) 1119 } 1120 return 1121 } 1122 1123 fmt.Println(result) 1124} 1125 1126// To change the idle timeout 1127// 1128// This example changes the idle timeout value for the specified load balancer. 1129func ExampleELBV2_ModifyLoadBalancerAttributes_shared01() { 1130 svc := elbv2.New(session.New()) 1131 input := &elbv2.ModifyLoadBalancerAttributesInput{ 1132 Attributes: []*elbv2.LoadBalancerAttribute{ 1133 { 1134 Key: aws.String("idle_timeout.timeout_seconds"), 1135 Value: aws.String("30"), 1136 }, 1137 }, 1138 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1139 } 1140 1141 result, err := svc.ModifyLoadBalancerAttributes(input) 1142 if err != nil { 1143 if aerr, ok := err.(awserr.Error); ok { 1144 switch aerr.Code() { 1145 case elbv2.ErrCodeLoadBalancerNotFoundException: 1146 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1147 case elbv2.ErrCodeInvalidConfigurationRequestException: 1148 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1149 default: 1150 fmt.Println(aerr.Error()) 1151 } 1152 } else { 1153 // Print the error, cast err to awserr.Error to get the Code and 1154 // Message from an error. 1155 fmt.Println(err.Error()) 1156 } 1157 return 1158 } 1159 1160 fmt.Println(result) 1161} 1162 1163// To enable access logs 1164// 1165// This example enables access logs for the specified load balancer. Note that the S3 1166// bucket must exist in the same region as the load balancer and must have a policy 1167// attached that grants access to the Elastic Load Balancing service. 1168func ExampleELBV2_ModifyLoadBalancerAttributes_shared02() { 1169 svc := elbv2.New(session.New()) 1170 input := &elbv2.ModifyLoadBalancerAttributesInput{ 1171 Attributes: []*elbv2.LoadBalancerAttribute{ 1172 { 1173 Key: aws.String("access_logs.s3.enabled"), 1174 Value: aws.String("true"), 1175 }, 1176 { 1177 Key: aws.String("access_logs.s3.bucket"), 1178 Value: aws.String("my-loadbalancer-logs"), 1179 }, 1180 { 1181 Key: aws.String("access_logs.s3.prefix"), 1182 Value: aws.String("myapp"), 1183 }, 1184 }, 1185 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1186 } 1187 1188 result, err := svc.ModifyLoadBalancerAttributes(input) 1189 if err != nil { 1190 if aerr, ok := err.(awserr.Error); ok { 1191 switch aerr.Code() { 1192 case elbv2.ErrCodeLoadBalancerNotFoundException: 1193 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1194 case elbv2.ErrCodeInvalidConfigurationRequestException: 1195 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1196 default: 1197 fmt.Println(aerr.Error()) 1198 } 1199 } else { 1200 // Print the error, cast err to awserr.Error to get the Code and 1201 // Message from an error. 1202 fmt.Println(err.Error()) 1203 } 1204 return 1205 } 1206 1207 fmt.Println(result) 1208} 1209 1210// To modify a rule 1211// 1212// This example modifies the condition for the specified rule. 1213func ExampleELBV2_ModifyRule_shared00() { 1214 svc := elbv2.New(session.New()) 1215 input := &elbv2.ModifyRuleInput{ 1216 Conditions: []*elbv2.RuleCondition{ 1217 { 1218 Field: aws.String("path-pattern"), 1219 Values: []*string{ 1220 aws.String("/images/*"), 1221 }, 1222 }, 1223 }, 1224 RuleArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee"), 1225 } 1226 1227 result, err := svc.ModifyRule(input) 1228 if err != nil { 1229 if aerr, ok := err.(awserr.Error); ok { 1230 switch aerr.Code() { 1231 case elbv2.ErrCodeTargetGroupAssociationLimitException: 1232 fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) 1233 case elbv2.ErrCodeIncompatibleProtocolsException: 1234 fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) 1235 case elbv2.ErrCodeRuleNotFoundException: 1236 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 1237 case elbv2.ErrCodeOperationNotPermittedException: 1238 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 1239 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 1240 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 1241 case elbv2.ErrCodeTooManyTargetsException: 1242 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 1243 case elbv2.ErrCodeTargetGroupNotFoundException: 1244 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1245 case elbv2.ErrCodeUnsupportedProtocolException: 1246 fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) 1247 case elbv2.ErrCodeTooManyActionsException: 1248 fmt.Println(elbv2.ErrCodeTooManyActionsException, aerr.Error()) 1249 case elbv2.ErrCodeInvalidLoadBalancerActionException: 1250 fmt.Println(elbv2.ErrCodeInvalidLoadBalancerActionException, aerr.Error()) 1251 case elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException: 1252 fmt.Println(elbv2.ErrCodeTooManyUniqueTargetGroupsPerLoadBalancerException, aerr.Error()) 1253 default: 1254 fmt.Println(aerr.Error()) 1255 } 1256 } else { 1257 // Print the error, cast err to awserr.Error to get the Code and 1258 // Message from an error. 1259 fmt.Println(err.Error()) 1260 } 1261 return 1262 } 1263 1264 fmt.Println(result) 1265} 1266 1267// To modify the health check configuration for a target group 1268// 1269// This example changes the configuration of the health checks used to evaluate the 1270// health of the targets for the specified target group. 1271func ExampleELBV2_ModifyTargetGroup_shared00() { 1272 svc := elbv2.New(session.New()) 1273 input := &elbv2.ModifyTargetGroupInput{ 1274 HealthCheckPort: aws.String("443"), 1275 HealthCheckProtocol: aws.String("HTTPS"), 1276 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f"), 1277 } 1278 1279 result, err := svc.ModifyTargetGroup(input) 1280 if err != nil { 1281 if aerr, ok := err.(awserr.Error); ok { 1282 switch aerr.Code() { 1283 case elbv2.ErrCodeTargetGroupNotFoundException: 1284 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1285 case elbv2.ErrCodeInvalidConfigurationRequestException: 1286 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1287 default: 1288 fmt.Println(aerr.Error()) 1289 } 1290 } else { 1291 // Print the error, cast err to awserr.Error to get the Code and 1292 // Message from an error. 1293 fmt.Println(err.Error()) 1294 } 1295 return 1296 } 1297 1298 fmt.Println(result) 1299} 1300 1301// To modify the deregistration delay timeout 1302// 1303// This example sets the deregistration delay timeout to the specified value for the 1304// specified target group. 1305func ExampleELBV2_ModifyTargetGroupAttributes_shared00() { 1306 svc := elbv2.New(session.New()) 1307 input := &elbv2.ModifyTargetGroupAttributesInput{ 1308 Attributes: []*elbv2.TargetGroupAttribute{ 1309 { 1310 Key: aws.String("deregistration_delay.timeout_seconds"), 1311 Value: aws.String("600"), 1312 }, 1313 }, 1314 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 1315 } 1316 1317 result, err := svc.ModifyTargetGroupAttributes(input) 1318 if err != nil { 1319 if aerr, ok := err.(awserr.Error); ok { 1320 switch aerr.Code() { 1321 case elbv2.ErrCodeTargetGroupNotFoundException: 1322 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1323 case elbv2.ErrCodeInvalidConfigurationRequestException: 1324 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1325 default: 1326 fmt.Println(aerr.Error()) 1327 } 1328 } else { 1329 // Print the error, cast err to awserr.Error to get the Code and 1330 // Message from an error. 1331 fmt.Println(err.Error()) 1332 } 1333 return 1334 } 1335 1336 fmt.Println(result) 1337} 1338 1339// To register targets with a target group 1340// 1341// This example registers the specified instances with the specified target group. 1342func ExampleELBV2_RegisterTargets_shared00() { 1343 svc := elbv2.New(session.New()) 1344 input := &elbv2.RegisterTargetsInput{ 1345 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067"), 1346 Targets: []*elbv2.TargetDescription{ 1347 { 1348 Id: aws.String("i-80c8dd94"), 1349 }, 1350 { 1351 Id: aws.String("i-ceddcd4d"), 1352 }, 1353 }, 1354 } 1355 1356 result, err := svc.RegisterTargets(input) 1357 if err != nil { 1358 if aerr, ok := err.(awserr.Error); ok { 1359 switch aerr.Code() { 1360 case elbv2.ErrCodeTargetGroupNotFoundException: 1361 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1362 case elbv2.ErrCodeTooManyTargetsException: 1363 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 1364 case elbv2.ErrCodeInvalidTargetException: 1365 fmt.Println(elbv2.ErrCodeInvalidTargetException, aerr.Error()) 1366 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 1367 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 1368 default: 1369 fmt.Println(aerr.Error()) 1370 } 1371 } else { 1372 // Print the error, cast err to awserr.Error to get the Code and 1373 // Message from an error. 1374 fmt.Println(err.Error()) 1375 } 1376 return 1377 } 1378 1379 fmt.Println(result) 1380} 1381 1382// To register targets with a target group using port overrides 1383// 1384// This example registers the specified instance with the specified target group using 1385// multiple ports. This enables you to register ECS containers on the same instance 1386// as targets in the target group. 1387func ExampleELBV2_RegisterTargets_shared01() { 1388 svc := elbv2.New(session.New()) 1389 input := &elbv2.RegisterTargetsInput{ 1390 TargetGroupArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/3bb63f11dfb0faf9"), 1391 Targets: []*elbv2.TargetDescription{ 1392 { 1393 Id: aws.String("i-80c8dd94"), 1394 Port: aws.Int64(80), 1395 }, 1396 { 1397 Id: aws.String("i-80c8dd94"), 1398 Port: aws.Int64(766), 1399 }, 1400 }, 1401 } 1402 1403 result, err := svc.RegisterTargets(input) 1404 if err != nil { 1405 if aerr, ok := err.(awserr.Error); ok { 1406 switch aerr.Code() { 1407 case elbv2.ErrCodeTargetGroupNotFoundException: 1408 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1409 case elbv2.ErrCodeTooManyTargetsException: 1410 fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) 1411 case elbv2.ErrCodeInvalidTargetException: 1412 fmt.Println(elbv2.ErrCodeInvalidTargetException, aerr.Error()) 1413 case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: 1414 fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) 1415 default: 1416 fmt.Println(aerr.Error()) 1417 } 1418 } else { 1419 // Print the error, cast err to awserr.Error to get the Code and 1420 // Message from an error. 1421 fmt.Println(err.Error()) 1422 } 1423 return 1424 } 1425 1426 fmt.Println(result) 1427} 1428 1429// To remove tags from a load balancer 1430// 1431// This example removes the specified tags from the specified load balancer. 1432func ExampleELBV2_RemoveTags_shared00() { 1433 svc := elbv2.New(session.New()) 1434 input := &elbv2.RemoveTagsInput{ 1435 ResourceArns: []*string{ 1436 aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1437 }, 1438 TagKeys: []*string{ 1439 aws.String("project"), 1440 aws.String("department"), 1441 }, 1442 } 1443 1444 result, err := svc.RemoveTags(input) 1445 if err != nil { 1446 if aerr, ok := err.(awserr.Error); ok { 1447 switch aerr.Code() { 1448 case elbv2.ErrCodeLoadBalancerNotFoundException: 1449 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1450 case elbv2.ErrCodeTargetGroupNotFoundException: 1451 fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) 1452 case elbv2.ErrCodeListenerNotFoundException: 1453 fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) 1454 case elbv2.ErrCodeRuleNotFoundException: 1455 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 1456 case elbv2.ErrCodeTooManyTagsException: 1457 fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) 1458 default: 1459 fmt.Println(aerr.Error()) 1460 } 1461 } else { 1462 // Print the error, cast err to awserr.Error to get the Code and 1463 // Message from an error. 1464 fmt.Println(err.Error()) 1465 } 1466 return 1467 } 1468 1469 fmt.Println(result) 1470} 1471 1472// To set the rule priority 1473// 1474// This example sets the priority of the specified rule. 1475func ExampleELBV2_SetRulePriorities_shared00() { 1476 svc := elbv2.New(session.New()) 1477 input := &elbv2.SetRulePrioritiesInput{ 1478 RulePriorities: []*elbv2.RulePriorityPair{ 1479 { 1480 Priority: aws.Int64(5), 1481 RuleArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3"), 1482 }, 1483 }, 1484 } 1485 1486 result, err := svc.SetRulePriorities(input) 1487 if err != nil { 1488 if aerr, ok := err.(awserr.Error); ok { 1489 switch aerr.Code() { 1490 case elbv2.ErrCodeRuleNotFoundException: 1491 fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) 1492 case elbv2.ErrCodePriorityInUseException: 1493 fmt.Println(elbv2.ErrCodePriorityInUseException, aerr.Error()) 1494 case elbv2.ErrCodeOperationNotPermittedException: 1495 fmt.Println(elbv2.ErrCodeOperationNotPermittedException, aerr.Error()) 1496 default: 1497 fmt.Println(aerr.Error()) 1498 } 1499 } else { 1500 // Print the error, cast err to awserr.Error to get the Code and 1501 // Message from an error. 1502 fmt.Println(err.Error()) 1503 } 1504 return 1505 } 1506 1507 fmt.Println(result) 1508} 1509 1510// To associate a security group with a load balancer 1511// 1512// This example associates the specified security group with the specified load balancer. 1513func ExampleELBV2_SetSecurityGroups_shared00() { 1514 svc := elbv2.New(session.New()) 1515 input := &elbv2.SetSecurityGroupsInput{ 1516 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1517 SecurityGroups: []*string{ 1518 aws.String("sg-5943793c"), 1519 }, 1520 } 1521 1522 result, err := svc.SetSecurityGroups(input) 1523 if err != nil { 1524 if aerr, ok := err.(awserr.Error); ok { 1525 switch aerr.Code() { 1526 case elbv2.ErrCodeLoadBalancerNotFoundException: 1527 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1528 case elbv2.ErrCodeInvalidConfigurationRequestException: 1529 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1530 case elbv2.ErrCodeInvalidSecurityGroupException: 1531 fmt.Println(elbv2.ErrCodeInvalidSecurityGroupException, aerr.Error()) 1532 default: 1533 fmt.Println(aerr.Error()) 1534 } 1535 } else { 1536 // Print the error, cast err to awserr.Error to get the Code and 1537 // Message from an error. 1538 fmt.Println(err.Error()) 1539 } 1540 return 1541 } 1542 1543 fmt.Println(result) 1544} 1545 1546// To enable Availability Zones for a load balancer 1547// 1548// This example enables the Availability Zones for the specified subnets for the specified 1549// load balancer. 1550func ExampleELBV2_SetSubnets_shared00() { 1551 svc := elbv2.New(session.New()) 1552 input := &elbv2.SetSubnetsInput{ 1553 LoadBalancerArn: aws.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), 1554 Subnets: []*string{ 1555 aws.String("subnet-8360a9e7"), 1556 aws.String("subnet-b7d581c0"), 1557 }, 1558 } 1559 1560 result, err := svc.SetSubnets(input) 1561 if err != nil { 1562 if aerr, ok := err.(awserr.Error); ok { 1563 switch aerr.Code() { 1564 case elbv2.ErrCodeLoadBalancerNotFoundException: 1565 fmt.Println(elbv2.ErrCodeLoadBalancerNotFoundException, aerr.Error()) 1566 case elbv2.ErrCodeInvalidConfigurationRequestException: 1567 fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) 1568 case elbv2.ErrCodeSubnetNotFoundException: 1569 fmt.Println(elbv2.ErrCodeSubnetNotFoundException, aerr.Error()) 1570 case elbv2.ErrCodeInvalidSubnetException: 1571 fmt.Println(elbv2.ErrCodeInvalidSubnetException, aerr.Error()) 1572 case elbv2.ErrCodeAllocationIdNotFoundException: 1573 fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) 1574 case elbv2.ErrCodeAvailabilityZoneNotSupportedException: 1575 fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) 1576 default: 1577 fmt.Println(aerr.Error()) 1578 } 1579 } else { 1580 // Print the error, cast err to awserr.Error to get the Code and 1581 // Message from an error. 1582 fmt.Println(err.Error()) 1583 } 1584 return 1585 } 1586 1587 fmt.Println(result) 1588} 1589