2017-07-20 23 views
0

Route53レコードを管理(作成、削除)するgoプログラム(AWS Go SDKを使用)を作成しています。私はレコードを作成することができましたが、それらを削除する際に問題が発生しています。Golang - Route53レコードを削除

これはこれまで私が試したことです。

func deleteRecord(svc *route53.Route53) { 
    dnsName := "vikas027.something.net" 

    request := &route53.ChangeResourceRecordSetsInput{ 
     ChangeBatch: &route53.ChangeBatch{ 
      Changes: []*route53.Change{ 
       { 
        Action: aws.String("DELETE"), 
        ResourceRecordSet: &route53.ResourceRecordSet{ 
         Name: aws.String(dnsName), 
         Type: aws.String("A"), 
         ResourceRecords: []*route53.ResourceRecord{ 
          { 
           Value: aws.String(dnsName), 
          }, 
         }, 
        }, 
       }, 
      }, 
     }, 
     HostedZoneId: aws.String(zoneID), 
    } 
    resp, err := svc.ChangeResourceRecordSets(request) 
    if err != nil { 
     fmt.Println("Unable to delete DNS Record", err) 
    } 
    fmt.Println(resp) 
} 

上記の関数は以下のエラーをスローします。

Unable to delete DNS RecordInvalidInput: Invalid request 
     status code: 400, request id: 0363068b-6d4d-11e7-ab47-cf662178898b 
+1

TTLの設定は表示されません。 – imperalix

+0

@imperalixレコードを削除するためにも私が必要と思っていませんでした。私はそれを行ってみましょう。ありがとう。 – vikas027

答えて

0

ありがとうもう一度、インペラリックスのヒント。基本的な考え方は、レコードを作成するために使用された正確なパラメータを使用することです。これは現在、私がCNAMEレコードを削除するために働いているものです。

func deleteRecord(svc *route53.Route53) { 
    dnsName := "vikas027.something.net" 

    request := &route53.ChangeResourceRecordSetsInput{ 
     ChangeBatch: &route53.ChangeBatch{ 
      Changes: []*route53.Change{ 
       { 
        Action: aws.String("DELETE"), 
        ResourceRecordSet: &route53.ResourceRecordSet{ 
         Name: aws.String(dnsName), 
         Type: aws.String("CNAME"), 
         ResourceRecords: []*route53.ResourceRecord{ 
          { 
           Value: aws.String(AliasName), 
          }, 
         }, 
         TTL:   aws.Int64(ttl), 
         Weight:  aws.Int64(weight), 
         SetIdentifier: aws.String(setIdentifier), 
        }, 
       }, 
      }, 
     }, 
     HostedZoneId: aws.String(zoneID), 
    } 
    resp, err := svc.ChangeResourceRecordSets(request) 
    if err != nil { 
     fmt.Println("Unable to delete DNS Record", err) 
    } 
    fmt.Println(resp) 
} 
関連する問題