123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package route53_test
- import (
- "fmt"
- "strings"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/route53"
- )
- var _ time.Duration
- var _ strings.Reader
- var _ aws.Config
- func parseTime(layout, value string) *time.Time {
- t, err := time.Parse(layout, value)
- if err != nil {
- panic(err)
- }
- return &t
- }
- // To associate a VPC with a hosted zone
- //
- // The following example associates the VPC with ID vpc-1a2b3c4d with the hosted zone
- // with ID Z3M3LMPEXAMPLE.
- func ExampleRoute53_AssociateVPCWithHostedZone_shared00() {
- svc := route53.New(session.New())
- input := &route53.AssociateVPCWithHostedZoneInput{
- Comment: aws.String(""),
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- VPC: &route53.VPC{
- VPCId: aws.String("vpc-1a2b3c4d"),
- VPCRegion: aws.String("us-east-2"),
- },
- }
- result, err := svc.AssociateVPCWithHostedZone(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNotAuthorizedException:
- fmt.Println(route53.ErrCodeNotAuthorizedException, aerr.Error())
- case route53.ErrCodeInvalidVPCId:
- fmt.Println(route53.ErrCodeInvalidVPCId, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePublicZoneVPCAssociation:
- fmt.Println(route53.ErrCodePublicZoneVPCAssociation, aerr.Error())
- case route53.ErrCodeConflictingDomainExists:
- fmt.Println(route53.ErrCodeConflictingDomainExists, aerr.Error())
- case route53.ErrCodeLimitsExceeded:
- fmt.Println(route53.ErrCodeLimitsExceeded, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create a basic resource record set
- //
- // The following example creates a resource record set that routes Internet traffic
- // to a resource with an IP address of 192.0.2.44.
- func ExampleRoute53_ChangeResourceRecordSets_shared00() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.44"),
- },
- },
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("Web server for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create weighted resource record sets
- //
- // The following example creates two weighted resource record sets. The resource with
- // a Weight of 100 will get 1/3rd of traffic (100/100+200), and the other resource will
- // get the rest of the traffic for example.com.
- func ExampleRoute53_ChangeResourceRecordSets_shared01() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- HealthCheckId: aws.String("abcdef11-2222-3333-4444-555555fedcba"),
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.44"),
- },
- },
- SetIdentifier: aws.String("Seattle data center"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- Weight: aws.Int64(100),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- HealthCheckId: aws.String("abcdef66-7777-8888-9999-000000fedcba"),
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.45"),
- },
- },
- SetIdentifier: aws.String("Portland data center"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- Weight: aws.Int64(200),
- },
- },
- },
- Comment: aws.String("Web servers for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create an alias resource record set
- //
- // The following example creates an alias resource record set that routes traffic to
- // a CloudFront distribution.
- func ExampleRoute53_ChangeResourceRecordSets_shared02() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("d123rk29d0stfj.cloudfront.net"),
- EvaluateTargetHealth: aws.Bool(false),
- HostedZoneId: aws.String("Z2FDTNDATAQYW2"),
- },
- Name: aws.String("example.com"),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("CloudFront distribution for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create weighted alias resource record sets
- //
- // The following example creates two weighted alias resource record sets that route
- // traffic to ELB load balancers. The resource with a Weight of 100 will get 1/3rd of
- // traffic (100/100+200), and the other resource will get the rest of the traffic for
- // example.com.
- func ExampleRoute53_ChangeResourceRecordSets_shared03() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-123456789.us-east-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z3AADJGX6KTTL2"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Ohio region"),
- Type: aws.String("A"),
- Weight: aws.Int64(100),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-987654321.us-west-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z1H1FL5HABSF5"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Oregon region"),
- Type: aws.String("A"),
- Weight: aws.Int64(200),
- },
- },
- },
- Comment: aws.String("ELB load balancers for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create latency resource record sets
- //
- // The following example creates two latency resource record sets that route traffic
- // to EC2 instances. Traffic for example.com is routed either to the Ohio region or
- // the Oregon region, depending on the latency between the user and those regions.
- func ExampleRoute53_ChangeResourceRecordSets_shared04() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- HealthCheckId: aws.String("abcdef11-2222-3333-4444-555555fedcba"),
- Name: aws.String("example.com"),
- Region: aws.String("us-east-2"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.44"),
- },
- },
- SetIdentifier: aws.String("Ohio region"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- HealthCheckId: aws.String("abcdef66-7777-8888-9999-000000fedcba"),
- Name: aws.String("example.com"),
- Region: aws.String("us-west-2"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.45"),
- },
- },
- SetIdentifier: aws.String("Oregon region"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("EC2 instances for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create latency alias resource record sets
- //
- // The following example creates two latency alias resource record sets that route traffic
- // for example.com to ELB load balancers. Requests are routed either to the Ohio region
- // or the Oregon region, depending on the latency between the user and those regions.
- func ExampleRoute53_ChangeResourceRecordSets_shared05() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-123456789.us-east-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z3AADJGX6KTTL2"),
- },
- Name: aws.String("example.com"),
- Region: aws.String("us-east-2"),
- SetIdentifier: aws.String("Ohio region"),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-987654321.us-west-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z1H1FL5HABSF5"),
- },
- Name: aws.String("example.com"),
- Region: aws.String("us-west-2"),
- SetIdentifier: aws.String("Oregon region"),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("ELB load balancers for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create failover resource record sets
- //
- // The following example creates primary and secondary failover resource record sets
- // that route traffic to EC2 instances. Traffic is generally routed to the primary resource,
- // in the Ohio region. If that resource is unavailable, traffic is routed to the secondary
- // resource, in the Oregon region.
- func ExampleRoute53_ChangeResourceRecordSets_shared06() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- Failover: aws.String("PRIMARY"),
- HealthCheckId: aws.String("abcdef11-2222-3333-4444-555555fedcba"),
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.44"),
- },
- },
- SetIdentifier: aws.String("Ohio region"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- Failover: aws.String("SECONDARY"),
- HealthCheckId: aws.String("abcdef66-7777-8888-9999-000000fedcba"),
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.45"),
- },
- },
- SetIdentifier: aws.String("Oregon region"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("Failover configuration for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create failover alias resource record sets
- //
- // The following example creates primary and secondary failover alias resource record
- // sets that route traffic to ELB load balancers. Traffic is generally routed to the
- // primary resource, in the Ohio region. If that resource is unavailable, traffic is
- // routed to the secondary resource, in the Oregon region.
- func ExampleRoute53_ChangeResourceRecordSets_shared07() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-123456789.us-east-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z3AADJGX6KTTL2"),
- },
- Failover: aws.String("PRIMARY"),
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Ohio region"),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-987654321.us-west-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z1H1FL5HABSF5"),
- },
- Failover: aws.String("SECONDARY"),
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Oregon region"),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("Failover alias configuration for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create geolocation resource record sets
- //
- // The following example creates four geolocation resource record sets that use IPv4
- // addresses to route traffic to resources such as web servers running on EC2 instances.
- // Traffic is routed to one of four IP addresses, for North America (NA), for South
- // America (SA), for Europe (EU), and for all other locations (*).
- func ExampleRoute53_ChangeResourceRecordSets_shared08() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("NA"),
- },
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.44"),
- },
- },
- SetIdentifier: aws.String("North America"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("SA"),
- },
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.45"),
- },
- },
- SetIdentifier: aws.String("South America"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("EU"),
- },
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.46"),
- },
- },
- SetIdentifier: aws.String("Europe"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- GeoLocation: &route53.GeoLocation{
- CountryCode: aws.String("*"),
- },
- Name: aws.String("example.com"),
- ResourceRecords: []*route53.ResourceRecord{
- {
- Value: aws.String("192.0.2.47"),
- },
- },
- SetIdentifier: aws.String("Other locations"),
- TTL: aws.Int64(60),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("Geolocation configuration for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create geolocation alias resource record sets
- //
- // The following example creates four geolocation alias resource record sets that route
- // traffic to ELB load balancers. Traffic is routed to one of four IP addresses, for
- // North America (NA), for South America (SA), for Europe (EU), and for all other locations
- // (*).
- func ExampleRoute53_ChangeResourceRecordSets_shared09() {
- svc := route53.New(session.New())
- input := &route53.ChangeResourceRecordSetsInput{
- ChangeBatch: &route53.ChangeBatch{
- Changes: []*route53.Change{
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-123456789.us-east-2.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z3AADJGX6KTTL2"),
- },
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("NA"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("North America"),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-234567890.sa-east-1.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z2P70J7HTTTPLU"),
- },
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("SA"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("South America"),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-234567890.eu-central-1.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z215JYRZR1TBD5"),
- },
- GeoLocation: &route53.GeoLocation{
- ContinentCode: aws.String("EU"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Europe"),
- Type: aws.String("A"),
- },
- },
- {
- Action: aws.String("CREATE"),
- ResourceRecordSet: &route53.ResourceRecordSet{
- AliasTarget: &route53.AliasTarget{
- DNSName: aws.String("example-com-234567890.ap-southeast-1.elb.amazonaws.com "),
- EvaluateTargetHealth: aws.Bool(true),
- HostedZoneId: aws.String("Z1LMS91P8CMLE5"),
- },
- GeoLocation: &route53.GeoLocation{
- CountryCode: aws.String("*"),
- },
- Name: aws.String("example.com"),
- SetIdentifier: aws.String("Other locations"),
- Type: aws.String("A"),
- },
- },
- },
- Comment: aws.String("Geolocation alias configuration for example.com"),
- },
- HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.ChangeResourceRecordSets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeInvalidChangeBatch:
- fmt.Println(route53.ErrCodeInvalidChangeBatch, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To add or remove tags from a hosted zone or health check
- //
- // The following example adds two tags and removes one tag from the hosted zone with
- // ID Z3M3LMPEXAMPLE.
- func ExampleRoute53_ChangeTagsForResource_shared00() {
- svc := route53.New(session.New())
- input := &route53.ChangeTagsForResourceInput{
- AddTags: []*route53.Tag{
- {
- Key: aws.String("apex"),
- Value: aws.String("3874"),
- },
- {
- Key: aws.String("acme"),
- Value: aws.String("4938"),
- },
- },
- RemoveTagKeys: []*string{
- aws.String("Nadir"),
- },
- ResourceId: aws.String("Z3M3LMPEXAMPLE"),
- ResourceType: aws.String("hostedzone"),
- }
- result, err := svc.ChangeTagsForResource(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- case route53.ErrCodeNoSuchHealthCheck:
- fmt.Println(route53.ErrCodeNoSuchHealthCheck, aerr.Error())
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodePriorRequestNotComplete:
- fmt.Println(route53.ErrCodePriorRequestNotComplete, aerr.Error())
- case route53.ErrCodeThrottlingException:
- fmt.Println(route53.ErrCodeThrottlingException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To get information about a hosted zone
- //
- // The following example gets information about the Z3M3LMPEXAMPLE hosted zone.
- func ExampleRoute53_GetHostedZone_shared00() {
- svc := route53.New(session.New())
- input := &route53.GetHostedZoneInput{
- Id: aws.String("Z3M3LMPEXAMPLE"),
- }
- result, err := svc.GetHostedZone(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case route53.ErrCodeNoSuchHostedZone:
- fmt.Println(route53.ErrCodeNoSuchHostedZone, aerr.Error())
- case route53.ErrCodeInvalidInput:
- fmt.Println(route53.ErrCodeInvalidInput, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
|