func ExampleRoute53_GetHealthCheckLastFailureReason() { svc := route53.New(nil) params := &route53.GetHealthCheckLastFailureReasonInput{ HealthCheckID: aws.String("HealthCheckId"), // Required } resp, err := svc.GetHealthCheckLastFailureReason(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListResourceRecordSets() { svc := route53.New(nil) params := &route53.ListResourceRecordSetsInput{ HostedZoneID: aws.String("ResourceId"), // Required MaxItems: aws.String("PageMaxItems"), StartRecordIdentifier: aws.String("ResourceRecordSetIdentifier"), StartRecordName: aws.String("DNSName"), StartRecordType: aws.String("RRType"), } resp, err := svc.ListResourceRecordSets(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListTagsForResources() { svc := route53.New(nil) params := &route53.ListTagsForResourcesInput{ ResourceIDs: []*string{ // Required aws.String("TagResourceId"), // Required // More values... }, ResourceType: aws.String("TagResourceType"), // Required } resp, err := svc.ListTagsForResources(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_UpdateHealthCheck() { svc := route53.New(nil) params := &route53.UpdateHealthCheckInput{ HealthCheckID: aws.String("HealthCheckId"), // Required FailureThreshold: aws.Long(1), FullyQualifiedDomainName: aws.String("FullyQualifiedDomainName"), HealthCheckVersion: aws.Long(1), IPAddress: aws.String("IPAddress"), Port: aws.Long(1), ResourcePath: aws.String("ResourcePath"), SearchString: aws.String("SearchString"), } resp, err := svc.UpdateHealthCheck(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_CreateHostedZone() { svc := route53.New(nil) params := &route53.CreateHostedZoneInput{ CallerReference: aws.String("Nonce"), // Required Name: aws.String("DNSName"), // Required DelegationSetID: aws.String("ResourceId"), HostedZoneConfig: &route53.HostedZoneConfig{ Comment: aws.String("ResourceDescription"), PrivateZone: aws.Boolean(true), }, VPC: &route53.VPC{ VPCID: aws.String("VPCId"), VPCRegion: aws.String("VPCRegion"), }, } resp, err := svc.CreateHostedZone(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_UpdateHealthCheck() { svc := route53.New(nil) params := &route53.UpdateHealthCheckInput{ HealthCheckID: aws.String("HealthCheckId"), // Required FailureThreshold: aws.Long(1), FullyQualifiedDomainName: aws.String("FullyQualifiedDomainName"), HealthCheckVersion: aws.Long(1), IPAddress: aws.String("IPAddress"), Port: aws.Long(1), ResourcePath: aws.String("ResourcePath"), SearchString: aws.String("SearchString"), } resp, err := svc.UpdateHealthCheck(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_CreateHealthCheck() { svc := route53.New(nil) params := &route53.CreateHealthCheckInput{ CallerReference: aws.String("HealthCheckNonce"), // Required HealthCheckConfig: &route53.HealthCheckConfig{ // Required Type: aws.String("HealthCheckType"), // Required FailureThreshold: aws.Long(1), FullyQualifiedDomainName: aws.String("FullyQualifiedDomainName"), IPAddress: aws.String("IPAddress"), Port: aws.Long(1), RequestInterval: aws.Long(1), ResourcePath: aws.String("ResourcePath"), SearchString: aws.String("SearchString"), }, } resp, err := svc.CreateHealthCheck(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_UpdateHostedZoneComment() { svc := route53.New(nil) params := &route53.UpdateHostedZoneCommentInput{ ID: aws.String("ResourceId"), // Required Comment: aws.String("ResourceDescription"), } resp, err := svc.UpdateHostedZoneComment(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func doesSubDomainExist(subDomain string) bool { // if it's configured for testing then skip this step if utils.Cfg.AWSSettings.Route53AccessKeyId == "" { return false } creds := aws.Creds(utils.Cfg.AWSSettings.Route53AccessKeyId, utils.Cfg.AWSSettings.Route53SecretAccessKey, "") r53 := route53.New(aws.DefaultConfig.Merge(&aws.Config{Credentials: creds, Region: utils.Cfg.AWSSettings.Route53Region})) r53req := &route53.ListResourceRecordSetsInput{ HostedZoneID: aws.String(utils.Cfg.AWSSettings.Route53ZoneId), MaxItems: aws.String("1"), StartRecordName: aws.String(fmt.Sprintf("%v.%v.", subDomain, utils.Cfg.ServiceSettings.Domain)), } if result, err := r53.ListResourceRecordSets(r53req); err != nil { l4g.Error("error in doesSubDomainExist domain=%v err=%v", subDomain, err) return true } else { for _, v := range result.ResourceRecordSets { if v.Name != nil && *v.Name == fmt.Sprintf("%v.%v.", subDomain, utils.Cfg.ServiceSettings.Domain) { return true } } } return false }
func ExampleRoute53_ListReusableDelegationSets() { svc := route53.New(nil) params := &route53.ListReusableDelegationSetsInput{ Marker: aws.String("PageMarker"), MaxItems: aws.String("PageMaxItems"), } resp, err := svc.ListReusableDelegationSets(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ChangeTagsForResource() { svc := route53.New(nil) params := &route53.ChangeTagsForResourceInput{ ResourceID: aws.String("TagResourceId"), // Required ResourceType: aws.String("TagResourceType"), // Required AddTags: []*route53.Tag{ &route53.Tag{ // Required Key: aws.String("TagKey"), Value: aws.String("TagValue"), }, // More values... }, RemoveTagKeys: []*string{ aws.String("TagKey"), // Required // More values... }, } resp, err := svc.ChangeTagsForResource(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func NewManager(addr string, password string, awsId string, awsKey string, zoneId string, defaultTTL int64, reservedPrefixes []string, maxUserDomains int) (*Manager, error) { log.Debugf("connecting to redis: addr=%s", addr) pool := &redis.Pool{ MaxIdle: 3, IdleTimeout: 240 * time.Second, Dial: func() (redis.Conn, error) { c, err := redis.Dial("tcp", addr) if err != nil { return nil, err } if password != "" { if _, err := c.Do("AUTH", password); err != nil { c.Close() return nil, err } } return c, err }, TestOnBorrow: func(c redis.Conn, t time.Time) error { _, err := c.Do("PING") return err }, } log.Debugf("maximum user domains: %d", maxUserDomains) creds := aws.Creds(awsId, awsKey, "") awsConfig := &aws.Config{ Credentials: creds, } r53 := route53.New(awsConfig) params := &route53.GetHostedZoneInput{ ID: aws.String(zoneId), } resp, err := r53.GetHostedZone(params) if err != nil { return nil, err } if resp == nil { return nil, fmt.Errorf("no zone returned") } zoneBase := *resp.HostedZone.Name log.Infof("connected to route53: zone=%s", zoneBase) return &Manager{ pool: pool, r53: r53, zoneId: zoneId, defaultTTL: defaultTTL, zoneBase: zoneBase, reservedPrefixes: reservedPrefixes, maxUserDomains: maxUserDomains, }, nil }
func TestBuildCorrectURI(t *testing.T) { svc := route53.New(nil) req, _ := svc.GetHostedZoneRequest(&route53.GetHostedZoneInput{ ID: aws.String("/hostedzone/ABCDEFG"), }) req.Build() utilassert.Match(t, `\/hostedzone\/ABCDEFG$`, req.HTTPRequest.URL.String()) }
func ExampleRoute53_ChangeResourceRecordSets() { svc := route53.New(nil) params := &route53.ChangeResourceRecordSetsInput{ ChangeBatch: &route53.ChangeBatch{ // Required Changes: []*route53.Change{ // Required &route53.Change{ // Required Action: aws.String("ChangeAction"), // Required ResourceRecordSet: &route53.ResourceRecordSet{ // Required Name: aws.String("DNSName"), // Required Type: aws.String("RRType"), // Required AliasTarget: &route53.AliasTarget{ DNSName: aws.String("DNSName"), // Required EvaluateTargetHealth: aws.Boolean(true), // Required HostedZoneID: aws.String("ResourceId"), // Required }, Failover: aws.String("ResourceRecordSetFailover"), GeoLocation: &route53.GeoLocation{ ContinentCode: aws.String("GeoLocationContinentCode"), CountryCode: aws.String("GeoLocationCountryCode"), SubdivisionCode: aws.String("GeoLocationSubdivisionCode"), }, HealthCheckID: aws.String("HealthCheckId"), Region: aws.String("ResourceRecordSetRegion"), ResourceRecords: []*route53.ResourceRecord{ &route53.ResourceRecord{ // Required Value: aws.String("RData"), // Required }, // More values... }, SetIdentifier: aws.String("ResourceRecordSetIdentifier"), TTL: aws.Long(1), Weight: aws.Long(1), }, }, // More values... }, Comment: aws.String("ResourceDescription"), }, HostedZoneID: aws.String("ResourceId"), // Required } resp, err := svc.ChangeResourceRecordSets(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_GetHostedZoneCount() { svc := route53.New(nil) var params *route53.GetHostedZoneCountInput resp, err := svc.GetHostedZoneCount(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_GetHealthCheckStatus() { svc := route53.New(nil) params := &route53.GetHealthCheckStatusInput{ HealthCheckID: aws.String("HealthCheckId"), // Required } resp, err := svc.GetHealthCheckStatus(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_GetReusableDelegationSet() { svc := route53.New(nil) params := &route53.GetReusableDelegationSetInput{ ID: aws.String("ResourceId"), // Required } resp, err := svc.GetReusableDelegationSet(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_UpdateHostedZoneComment() { svc := route53.New(nil) params := &route53.UpdateHostedZoneCommentInput{ ID: aws.String("ResourceId"), // Required Comment: aws.String("ResourceDescription"), } resp, err := svc.UpdateHostedZoneComment(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListTagsForResource() { svc := route53.New(nil) params := &route53.ListTagsForResourceInput{ ResourceID: aws.String("TagResourceId"), // Required ResourceType: aws.String("TagResourceType"), // Required } resp, err := svc.ListTagsForResource(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListReusableDelegationSets() { svc := route53.New(nil) params := &route53.ListReusableDelegationSetsInput{ Marker: aws.String("PageMarker"), MaxItems: aws.String("PageMaxItems"), } resp, err := svc.ListReusableDelegationSets(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func createSubDomain(subDomain string, target string) { if utils.Cfg.AWSSettings.Route53AccessKeyId == "" { return } creds := aws.Creds(utils.Cfg.AWSSettings.Route53AccessKeyId, utils.Cfg.AWSSettings.Route53SecretAccessKey, "") r53 := route53.New(aws.DefaultConfig.Merge(&aws.Config{Credentials: creds, Region: utils.Cfg.AWSSettings.Route53Region})) rr := route53.ResourceRecord{ Value: aws.String(target), } rrs := make([]*route53.ResourceRecord, 1) rrs[0] = &rr change := route53.Change{ Action: aws.String("CREATE"), ResourceRecordSet: &route53.ResourceRecordSet{ Name: aws.String(fmt.Sprintf("%v.%v", subDomain, utils.Cfg.ServiceSettings.Domain)), TTL: aws.Long(300), Type: aws.String("CNAME"), ResourceRecords: rrs, }, } changes := make([]*route53.Change, 1) changes[0] = &change r53req := &route53.ChangeResourceRecordSetsInput{ HostedZoneID: aws.String(utils.Cfg.AWSSettings.Route53ZoneId), ChangeBatch: &route53.ChangeBatch{ Changes: changes, }, } if _, err := r53.ChangeResourceRecordSets(r53req); err != nil { l4g.Error("erro in createSubDomain domain=%v err=%v", subDomain, err) return } }
func ExampleRoute53_GetGeoLocation() { svc := route53.New(nil) params := &route53.GetGeoLocationInput{ ContinentCode: aws.String("GeoLocationContinentCode"), CountryCode: aws.String("GeoLocationCountryCode"), SubdivisionCode: aws.String("GeoLocationSubdivisionCode"), } resp, err := svc.GetGeoLocation(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListHostedZonesByName() { svc := route53.New(nil) params := &route53.ListHostedZonesByNameInput{ DNSName: aws.String("DNSName"), HostedZoneID: aws.String("ResourceId"), MaxItems: aws.String("PageMaxItems"), } resp, err := svc.ListHostedZonesByName(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_ListResourceRecordSets() { svc := route53.New(nil) params := &route53.ListResourceRecordSetsInput{ HostedZoneID: aws.String("ResourceId"), // Required MaxItems: aws.String("PageMaxItems"), StartRecordIdentifier: aws.String("ResourceRecordSetIdentifier"), StartRecordName: aws.String("DNSName"), StartRecordType: aws.String("RRType"), } resp, err := svc.ListResourceRecordSets(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_DisassociateVPCFromHostedZone() { svc := route53.New(nil) params := &route53.DisassociateVPCFromHostedZoneInput{ HostedZoneID: aws.String("ResourceId"), // Required VPC: &route53.VPC{ // Required VPCID: aws.String("VPCId"), VPCRegion: aws.String("VPCRegion"), }, Comment: aws.String("DisassociateVPCComment"), } resp, err := svc.DisassociateVPCFromHostedZone(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleRoute53_CreateHostedZone() { svc := route53.New(nil) params := &route53.CreateHostedZoneInput{ CallerReference: aws.String("Nonce"), // Required Name: aws.String("DNSName"), // Required DelegationSetID: aws.String("ResourceId"), HostedZoneConfig: &route53.HostedZoneConfig{ Comment: aws.String("ResourceDescription"), PrivateZone: aws.Boolean(true), }, VPC: &route53.VPC{ VPCID: aws.String("VPCId"), VPCRegion: aws.String("VPCRegion"), }, } resp, err := svc.CreateHostedZone(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func TestInterface(t *testing.T) { assert.Implements(t, (*route53iface.Route53API)(nil), route53.New(nil)) }
func init() { Before("@route53", func() { World["client"] = route53.New(nil) }) }
func ExampleRoute53_ChangeResourceRecordSets() { svc := route53.New(nil) params := &route53.ChangeResourceRecordSetsInput{ ChangeBatch: &route53.ChangeBatch{ // Required Changes: []*route53.Change{ // Required &route53.Change{ // Required Action: aws.String("ChangeAction"), // Required ResourceRecordSet: &route53.ResourceRecordSet{ // Required Name: aws.String("DNSName"), // Required Type: aws.String("RRType"), // Required AliasTarget: &route53.AliasTarget{ DNSName: aws.String("DNSName"), // Required EvaluateTargetHealth: aws.Boolean(true), // Required HostedZoneID: aws.String("ResourceId"), // Required }, Failover: aws.String("ResourceRecordSetFailover"), GeoLocation: &route53.GeoLocation{ ContinentCode: aws.String("GeoLocationContinentCode"), CountryCode: aws.String("GeoLocationCountryCode"), SubdivisionCode: aws.String("GeoLocationSubdivisionCode"), }, HealthCheckID: aws.String("HealthCheckId"), Region: aws.String("ResourceRecordSetRegion"), ResourceRecords: []*route53.ResourceRecord{ &route53.ResourceRecord{ // Required Value: aws.String("RData"), // Required }, // More values... }, SetIdentifier: aws.String("ResourceRecordSetIdentifier"), TTL: aws.Long(1), Weight: aws.Long(1), }, }, // More values... }, Comment: aws.String("ResourceDescription"), }, HostedZoneID: aws.String("ResourceId"), // Required } resp, err := svc.ChangeResourceRecordSets(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }