Имя Upsert в ChangeResourceRecordSets - PullRequest
0 голосов
/ 23 мая 2019

Простите, но я не смог найти этот вопрос в течение 20 минут поиска в Google, поэтому я решил спросить. У меня есть куча записей route53 cname и A, которым нужно изменить имя:

cname record:
aaa.xxx.xxx.xxx.com becomes bbb.xxx.xxx.xxx.com
A record:
internal-alb-aaa.xxx.xxx.xxx.com becomes internal-alb-bbb.xxx.xxx.xxx.com

Я полагаю, что это необходимо сделать с помощью следующего вызова API, но мне кажется, что поле Имя: действует как своего рода первичный ключ, поэтому его невозможно переименовать.

Использую ли я правильный подход или это возможно другим способом?

svc := route53.New(session.New())
    input := &route53.ChangeResourceRecordSetsInput{
        ChangeBatch: &route53.ChangeBatch{
            Changes: []*route53.Change{
                {
                    Action: aws.String("UPSERT"),
                    ResourceRecordSet: &route53.ResourceRecordSet{
                        },
                        Name:          aws.String("example.com"),
                        Region:        aws.String("us-east-2"),
                        SetIdentifier: aws.String("Ohio region"),
                        Type:          aws.String("A"),
                    },
                },
            },
            Comment: aws.String("ELB load balancers for example.com"),
        },
        HostedZoneId: aws.String("Z3M3LMPEXAMPLE"),
    }

    result, err := svc.ChangeResourceRecordSets(input)
...