Class: VDNS::Provider
Instance Method Summary
collapse
#error_and_exit, #warning
Constructor Details
#initialize(config) ⇒ Provider
Returns a new instance of Provider.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/vdns/provider/aws-route53/aws-route53.rb', line 7
def initialize(config)
%w(domain
aws_r53_access_key
aws_r53_secret_access_key
aws_r53_hosted_zone_id).each do |var|
error_and_exit("Missing '#{var}' setting! Please define in #{config.file_name}.") if config.blank?(var)
end
AWS.config(access_key_id: config.get("aws_r53_access_key"),
secret_access_key: config.get("aws_r53_secret_access_key"))
@hosted_zone = AWS::Route53::HostedZone.new(config.get("aws_r53_hosted_zone_id"))
@rrsets = @hosted_zone.rrsets
@domain = parse_domain(config.get("domain"))
end
|
Instance Method Details
#delete(domain) ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'lib/vdns/provider/aws-route53/aws-route53.rb', line 41
def delete(domain)
domain = parse_domain(domain)
rrset = @rrsets[domain, "A"]
if rrset.exists?
rrset.delete
update_soa_serial_number
end
return true
end
|
#save(domain, ip) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/vdns/provider/aws-route53/aws-route53.rb', line 24
def save(domain, ip)
domain = parse_domain(domain)
rrset = @rrsets[domain, "A"]
if rrset.exists?
rrset.resource_records = [{:value => ip}]
rrset.update
else
@rrsets.create(
domain,
"A",
:ttl => 60,
:resource_records => [{:value => ip}])
end
update_soa_serial_number
return true
end
|