2017-07-20 5 views
0

J'écris un programme aller (en utilisant AWS Go SDK) qui gère (crée, supprime) les enregistrements Route53. J'ai réussi à créer un album, mais j'ai des problèmes en les supprimant.Golang - Supprimer Route53 Enregistrer

C'est ce que j'ai essayé jusqu'ici.

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) 
} 

La fonction ci-dessus renvoie l'erreur ci-dessous.

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

Je ne vous vois pas régler le TTL. – imperalix

+0

@imperalix Je n'avais pas réalisé que j'en avais besoin même pour supprimer un enregistrement. Laissez-moi essayer. Merci. – vikas027

Répondre

0

Merci encore Imperalix pour l'indice. L'idée de base est d'utiliser les paramètres exacts qui ont été utilisés pour créer l'enregistrement. C'est ce qui fonctionne maintenant pour moi pour supprimer les enregistrements 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) 
}