Aws ruby version3 での話です。CLIはjsonを作らないといけなそうですが、rubyだとそこが必要ないので楽。UPSERTはドキュメントによると無ければCREATE、あればUPDATEとのこと。
またactionにDELETE
を指定することでレコードを削除できる。
client = Aws::Route53::Client.new(region: "ap-northeast-1") resp = client.change_resource_record_sets({ change_batch: { changes: [ { action: "UPSERT", resource_record_set: { name: "xxx.example.com", resource_records: [ { value: "192.0.2.44", }, ], ttl: 60, type: "A", }, }, ], comment: "Web server for example.com", }, hosted_zone_id: "YOUR_HOST_ZONE", })