Skip to content

Instantly share code, notes, and snippets.

@simplyadrian
Created May 12, 2015 06:30
Show Gist options
  • Save simplyadrian/3a99be046aa335324ea8 to your computer and use it in GitHub Desktop.
Save simplyadrian/3a99be046aa335324ea8 to your computer and use it in GitHub Desktop.
a ruby script to create a route53 record
#! /usr/bin/ruby
require 'rubygems'
require 'aws-sdk'
r53 = AWS::Route53.new(
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'])
response = r53.client.list_resource_record_sets(
:hosted_zone_id => ENV['DNS_ID'],
:start_record_name => ENV['DNS_DOMAIN_NAME'],
:start_record_type => ENV['RECORD_TYPE_1'],
:max_items => 2
)
puts response[:resource_record_sets].map{|r| r[:name]}
change1 = {
:action => 'UPSERT',
:resource_record_set => {
:name => ENV['DNS_DOMAIN_NAME'],
:type => ENV['RECORD_TYPE_1'],
:ttl => 60,
:resource_records => [{:value => ENV['RECORD_VALUE_1']}]
}}
change2 = {
:action => 'UPSERT',
:resource_record_set => {
:name => ENV['VNS3_DOMAIN_NAME'],
:type => ENV['RECORD_TYPE_2'],
:ttl => 60,
:resource_records => [{:value => ENV['RECORD_VALUE_2']}]
}}
r53.client.change_resource_record_sets({
:hosted_zone_id => ENV['DNS_ID'],
:change_batch => {
:changes => [change1, change2]
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment