customresource-route53 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,158 @@
1
+ require 'customresource/base/mixins/cli'
2
+ require 'ipaddress'
3
+
4
+ module CustomResource
5
+ module Route53
6
+ module MixIns
7
+ module Cli
8
+ include CustomResource::Base::MixIns::Cli
9
+
10
+ def init_attributes
11
+ @valid_keys = {
12
+ :PrivateHostedZones => {
13
+ # required
14
+ :name => nil,
15
+ :hostedzone => nil,
16
+ :comment => nil,
17
+ :type => nil,
18
+ :ttl => nil,
19
+ # required
20
+ :cidrblock => nil,
21
+ # required
22
+ :vpcid => nil,
23
+ },
24
+ :ReverseDNSEntries => {
25
+ :name => nil,
26
+ :ipaddress => nil,
27
+ # required
28
+ :comment => nil,
29
+ :hostedzone => nil,
30
+ :hostedzoneid => nil,
31
+ :hostedzonename => nil,
32
+ :type => nil,
33
+ :ttl => nil,
34
+ :value => nil,
35
+ :resourcerecords => {
36
+ :value => nil,
37
+ },
38
+ }, }
39
+ end
40
+
41
+ def connect()
42
+ begin
43
+ credentials = ::Aws::InstanceProfileCredentials.new( :ip_address => @options[:ip_address] || '169.254.169.254')
44
+ credentials.refresh!
45
+ raise 'Cannot obtain InstanceProfileCredentials' unless credentials.access_key_id
46
+ @logger.info credentials.inspect
47
+ # noinspection RubyArgCount
48
+ @awssdk = ::Aws::Route53::Client.new(credentials: credentials, region: @region, :retry_limit => 10)
49
+ rescue Exception => e
50
+ if e.class.to_s.match %r'^Errno'
51
+ abort! "#{e.message}: (InstanceProfileCredentials)?"
52
+ else
53
+ case e.class.to_s
54
+ when /URI::InvalidURIError/
55
+ abort! "#{e.message}: HINT: Is the AWS SDK credentials configured correctly?"
56
+ else
57
+ abort! "#{e.message}"
58
+ end
59
+ end
60
+ end
61
+ end
62
+
63
+ def infer_params(section, params, strict = false)
64
+ case section
65
+ when /PrivateHostedZones/
66
+ unless params['type']
67
+ params['type'] = 'reverse'
68
+ end
69
+ unless params['hostedzone']
70
+ cidr = IPAddress(params['cidrblock'])
71
+ unless cidr.prefix.to_i % 8 == 0
72
+ bits =
73
+ prefix = (cidr.prefix.to_i - (cidr.prefix.to_i % 8))
74
+ i = 0
75
+ ip = []
76
+ while prefix > 0
77
+ ip << cidr[i]
78
+ prefix -= 8
79
+ i += 1
80
+ end
81
+
82
+ (bits/8..3).each { |i|
83
+ ip[i] = 0
84
+ }
85
+ params['cidrblock'] = ip.join('.') + '/' + bits.to_s
86
+ # params['cidrblock'].gsub!(%r'#{cidr.prefix}$', (cidr.prefix.to_i - (cidr.prefix.to_i % 8)).to_s)
87
+ cidr = IPAddress(params['cidrblock'])
88
+ end
89
+ params['hostedzone'] = "#{cidr.arpa}."
90
+ prefix = cidr.prefix.to_i
91
+ # Strip of leading octets from the ARPA
92
+ while prefix > 0 #and params['hostedzone'].match(%r/^0\./)
93
+ params['hostedzone'].gsub!(%r/^\d+\./, '')
94
+ prefix -= 8
95
+ end
96
+ end
97
+ when /ReverseDNSEntries/
98
+ unless params[:hostedzoneid]
99
+ unless params[:hostedzone]
100
+ if params[:hostedzonename]
101
+ params[:hostedzone] = params[:hostedzonename]
102
+ end
103
+ end
104
+ end
105
+ unless params[:name]
106
+ if params[:ipaddress]
107
+ ip = IPAddress(params[:ipaddress])
108
+ params[:name] = "#{ip.arpa}."
109
+ end
110
+ end
111
+ unless params[:resourcerecords] or (params[:value].nil? or params[:value].match(%r/\.$/))
112
+ params[:value] = "#{params[:value]}."
113
+ end
114
+ if params[:resourcerecords]
115
+ params[:resourcerecords].each{ |rr| rr[:value] = "#{rr[:value]}." unless rr[:value].match(%r/\.$/) }
116
+ end
117
+ else
118
+ end
119
+
120
+ params
121
+ end
122
+
123
+ def get_item_data(item, section, params)
124
+ # noinspection RubyStringKeysInHashInspection
125
+ hash = case section
126
+ when /PrivateHostedZones/
127
+ {
128
+ 'HostedZoneId' => item[:id],
129
+ 'HostedZone' => params[:hostedzone],
130
+ 'Name' => params[:name],
131
+ 'VpcId' => params[:vpcid],
132
+ 'Type' => params[:type],
133
+ 'TTL' => params[:ttl],
134
+ 'CIDRBlock' => params[:cidrblock],
135
+ 'Comment' => params[:comment],
136
+ }
137
+ when /ReverseDNSEntries/
138
+ {
139
+ 'Name' => item[:name],
140
+ 'Value' => item[:value],
141
+ 'IpAddress' => item[:ipaddress],
142
+ 'TTL' => item[:ttl],
143
+ 'Type' => params[:type],
144
+ 'Comment' => params[:comment],
145
+ 'HostedZoneId' => item[:hostedzoneid],
146
+ }
147
+ else
148
+ abort! "Unsupported resource type: #{section}"
149
+ end
150
+ data = {}
151
+ hash.each{ |k,v| data[k] = v unless v.nil? }
152
+ data
153
+ end
154
+
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,6 @@
1
+ module CustomResource
2
+ module Route53
3
+ # customresource-route53 version
4
+ VERSION = '0.7.1'
5
+ end
6
+ end
@@ -0,0 +1,21 @@
1
+ 2015-04-09 12:08:14,188 [DEBUG] route53-privatehostedzone: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/985986e0-ded2-11e4-9aa1-50d5018a1236', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A228460459037%3Astack/stgc-002-10-176-dns-resources/985986e0-ded2-11e4-9aa1-50d5018a1236%7CPrivateHostedZone%7C73d1c5db-0697-4db9-97c7-075d3e8d1a6f?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1428602893&Signature=bS6VRe7LGeHEIsQkQ0TgJXnW0EY%3D', 'ResourceProperties': {'Comment': 'Reverse DNS for environment VPCs', 'VpcId': 'vpc-e1d58b84', 'Name': 'amplify-prd-228460459037-privatehostedzone', 'CidrBlock': '10.176.32.0/19', 'ServiceToken': 'arn:aws:sns:us-east-1:228460459037:customresource-228460459037-stgc', 'TTL': '300', 'Type': 'reverse'}, 'RequestType': 'Create', 'ServiceToken': 'arn:aws:sns:us-east-1:228460459037:customresource-228460459037-stgc', 'ResourceType': 'Custom::Route53_PrivateHostedZone', 'RequestId': '73d1c5db-0697-4db9-97c7-075d3e8d1a6f', 'LogicalResourceId': 'PrivateHostedZone'}
2
+ 2015-04-09 12:05:35,618 [DEBUG] Command route53-privatehostedzone output: {
3
+ "Status": "SUCCESS",
4
+ "PhysicalResourceId": "PrivateHostedZone-stgc-002-10-176-dns-resources-228460459037",
5
+ "StackId": "arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18",
6
+ "RequestId": "fe8645bc-5dd9-42cd-a43b-e593e3b2b946",
7
+ "LogicalResourceId": "PrivateHostedZone",
8
+ "Data": {
9
+ "HostedZoneId": "/hostedzone/Z3TR1OD89TXUYM",
10
+ "HostedZone": "32.176.10.in-addr.arpa.",
11
+ "Name": "amplify-prd-228460459037-privatehostedzone",
12
+ "VpcId": "vpc-e1d58b84",
13
+ "Type": "reverse",
14
+ "TTL": "300",
15
+ "CIDRBlock": "10.176.32.0/19",
16
+ "Comment": "Reverse DNS for environment VPCs"
17
+ }
18
+ }
19
+ 2015-04-09 12:05:35,618 [DEBUG] Command route53-privatehostedzone stderr:
20
+ 2015-04-09 12:05:35,618 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18', 'PhysicalResourceId': u'PrivateHostedZone-stgc-002-10-176-dns-resources-228460459037', 'RequestId': u'fe8645bc-5dd9-42cd-a43b-e593e3b2b946', u'Data': {u'Comment': u'Reverse DNS for environment VPCs', u'VpcId': u'vpc-e1d58b84', u'Name': u'amplify-prd-228460459037-privatehostedzone', u'CIDRBlock': u'10.176.32.0/19', u'TTL': u'300', u'HostedZoneId': u'/hostedzone/Z3TR1OD89TXUYM', u'HostedZone': u'32.176.10.in-addr.arpa.', u'Type': u'reverse'}, 'LogicalResourceId': u'PrivateHostedZone'}
21
+ 2015-04-09 12:05:35,803 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,23 @@
1
+ 2015-04-09 12:05:33,861 [DEBUG] route53-privatehostedzone: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A228460459037%3Astack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18%7CPrivateHostedZone%7Cfe8645bc-5dd9-42cd-a43b-e593e3b2b946?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1428602733&Signature=5pbL1ky8bymb%2FYs9k%2FdXQjeUuLI%3D', 'ResourceProperties': {'Comment': 'Reverse DNS for environment VPCs', 'VpcId': 'vpc-e1d58b84', 'Name': 'amplify-prd-228460459037-privatehostedzone', 'CidrBlock': '10.176.32.0/19', 'ServiceToken': 'arn:aws:sns:us-east-1:228460459037:customresource-228460459037-stgc', 'TTL': '300', 'Type': 'reverse'}, 'RequestType': 'Delete', 'ServiceToken': 'arn:aws:sns:us-east-1:228460459037:customresource-228460459037-stgc', 'ResourceType': 'Custom::Route53_PrivateHostedZone', 'PhysicalResourceId': 'PrivateHostedZone-stgc-002-10-176-dns-resources-228460459037', 'RequestId': 'fe8645bc-5dd9-42cd-a43b-e593e3b2b946', 'LogicalResourceId': 'PrivateHostedZone'}
2
+ 2015-04-09 12:05:33,876 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/228460459037/customresource-228460459037-stgc
3
+ 2015-04-09 12:05:35,618 [INFO] Command route53-privatehostedzone-Delete succeeded
4
+ 2015-04-09 12:05:35,618 [DEBUG] Command route53-privatehostedzone output: {
5
+ "Status": "SUCCESS",
6
+ "PhysicalResourceId": "PrivateHostedZone-stgc-002-10-176-dns-resources-228460459037",
7
+ "StackId": "arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18",
8
+ "RequestId": "fe8645bc-5dd9-42cd-a43b-e593e3b2b946",
9
+ "LogicalResourceId": "PrivateHostedZone",
10
+ "Data": {
11
+ "HostedZoneId": "/hostedzone/Z3TR1OD89TXUYM",
12
+ "HostedZone": "32.176.10.in-addr.arpa.",
13
+ "Name": "amplify-prd-228460459037-privatehostedzone",
14
+ "VpcId": "vpc-e1d58b84",
15
+ "Type": "reverse",
16
+ "TTL": "300",
17
+ "CIDRBlock": "10.176.32.0/19",
18
+ "Comment": "Reverse DNS for environment VPCs"
19
+ }
20
+ }
21
+ 2015-04-09 12:05:35,618 [DEBUG] Command route53-privatehostedzone stderr:
22
+ 2015-04-09 12:05:35,618 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:228460459037:stack/stgc-002-10-176-dns-resources/8853bcf0-de1b-11e4-8579-500150b34c18', 'PhysicalResourceId': u'PrivateHostedZone-stgc-002-10-176-dns-resources-228460459037', 'RequestId': u'fe8645bc-5dd9-42cd-a43b-e593e3b2b946', u'Data': {u'Comment': u'Reverse DNS for environment VPCs', u'VpcId': u'vpc-e1d58b84', u'Name': u'amplify-prd-228460459037-privatehostedzone', u'CIDRBlock': u'10.176.32.0/19', u'TTL': u'300', u'HostedZoneId': u'/hostedzone/Z3TR1OD89TXUYM', u'HostedZone': u'32.176.10.in-addr.arpa.', u'Type': u'reverse'}, 'LogicalResourceId': u'PrivateHostedZone'}
23
+ 2015-04-09 12:05:35,803 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,22 @@
1
+ 2014-12-15 12:56:50,088 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_PrivateHostedZone')
2
+ 2014-12-15 12:56:50,196 [DEBUG] route53-privatehostedzone: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/8040e520-84d3-11e4-8bf6-50e24162947c', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/8040e520-84d3-11e4-8bf6-50e24162947c%7CPrivateHostedZone%7Ca61c50ac-e854-4f4f-aad3-55f4bb776538?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418708065&Signature=WnhbXYBjMWJfXH98oJ4%2BK%2BpyBy8%3D', 'ResourceProperties': {'Comment': 'Reverse DNS for environment VPC', 'VpcId': 'vpc-3e980e56', 'Name': 'chefdev--353746975747-privatehostedzone', 'CidrBlock': '10.162.0.0/16', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'TTL': '60', 'Type': 'reverse'}, 'RequestType': 'Update', 'OldResourceProperties': {'Comment': 'Reverse DNS for environment VPC', 'VpcId': 'vpc-3e980e56', 'Name': 'chefdev--353746975747-privatehostedzone', 'CidrBlock': '10.162.0.0/16', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Type': 'reverse'}, 'ResourceType': 'Custom::Route53_PrivateHostedZone', 'PhysicalResourceId': 'PrivateHostedZone-chefdev-000-route53-353746975747', 'RequestId': 'a61c50ac-e854-4f4f-aad3-55f4bb776538', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'PrivateHostedZone'}
3
+ 2014-12-15 12:58:53,340 [INFO] Command route53-privatehostedzone-Create succeeded
4
+ 2014-12-15 12:58:53,341 [DEBUG] Command route53-privatehostedzone output: {
5
+ "Status": "SUCCESS",
6
+ "PhysicalResourceId": "PrivateHostedZone-chefdev-000-route53-353746975747",
7
+ "StackId": "arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2",
8
+ "RequestId": "383eda45-6ec1-4169-91b3-1245ac15672b",
9
+ "LogicalResourceId": "PrivateHostedZone",
10
+ "Data": {
11
+ "HostedZoneId": "/hostedzone/ZMZGTA0TL5P89",
12
+ "HostedZone": "162.10.in-addr.arpa.",
13
+ "Name": "chefdev--353746975747-privatehostedzone",
14
+ "VpcId": "vpc-3e980e56",
15
+ "Type": "reverse",
16
+ "CIDRBlock": "10.162.0.0/16",
17
+ "Comment": "Reverse DNS for environment VPC"
18
+ }
19
+ }
20
+ 2014-12-15 12:58:53,341 [DEBUG] Command route53-privatehostedzone stderr:
21
+ 2014-12-15 12:58:53,341 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'PhysicalResourceId': u'PrivateHostedZone-chefdev-000-route53-353746975747', 'RequestId': u'383eda45-6ec1-4169-91b3-1245ac15672b', u'Data': {u'Comment': u'Reverse DNS for environment VPC', u'VpcId': u'vpc-3e980e56', u'Name': u'chefdev--353746975747-privatehostedzone', u'Type': u'reverse', u'HostedZoneId': u'/hostedzone/ZMZGTA0TL5P89', u'HostedZone': u'162.10.in-addr.arpa.', u'CIDRBlock': u'10.162.0.0/16'}, 'LogicalResourceId': u'PrivateHostedZone'}
22
+ 2014-12-15 12:58:53,417 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,8 @@
1
+ 2014-12-15 12:59:03,625 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 12:59:03,720 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2%7CHUEPrivateRDNSRecord%7Cb9f7c939-43b6-44f9-a501-441973fde4ab?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418673542&Signature=ZJwNnOBSwSBb%2BwE8b8sg4SEqTmU%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'IpAddress': '10.162.4.136', 'TTL': '120', 'HostedZoneId': '/hostedzone/ZXMD0MPQP1SL2', 'Type': 'PTR'}, 'RequestType': 'Create', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'RequestId': 'b9f7c939-43b6-44f9-a501-441973fde4ab', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEPrivateRDNSRecord'}
3
+ 2014-12-15 12:59:03,720 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
4
+ 2014-12-15 12:59:04,142 [INFO] Command route53-reversednsentry-Create succeeded
5
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry output:
6
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry stderr:
7
+ 2014-12-15 12:59:04,724 [DEBUG] Sending result: {'Status': 'SUCCESS', 'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'PhysicalResourceId': 'fb65cca7-dde1-4240-a836-27bb55fa123d', 'RequestId': 'b9f7c939-43b6-44f9-a501-441973fde4ab', 'LogicalResourceId': 'HUEPrivateRDNSRecord'}
8
+ 2014-12-15 12:59:04,806 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,9 @@
1
+ 2014-12-15 12:59:02,974 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 12:59:03,100 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
3
+ 2014-12-15 12:59:03,104 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2%7CHUEReverseDNSEntry%7C61ecbeb0-8c68-444b-840c-14855eafa89f?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418673542&Signature=UDzfwCPReClCtwwc3rgekNTB%2FEs%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'HostedZoneName': '162.10.in-addr.arpa.', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'IpAddress': '10.162.5.117', 'TTL': '50', 'Type': 'PTR'}, 'RequestType': 'Create', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'RequestId': '61ecbeb0-8c68-444b-840c-14855eafa89f', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEReverseDNSEntry'}
4
+ 2014-12-15 12:59:03,625 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
5
+ 2014-12-15 12:59:04,142 [INFO] Command route53-reversednsentry-Create succeeded
6
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry output:
7
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry stderr:
8
+ 2014-12-15 12:59:04,144 [DEBUG] Sending result: {'Status': 'SUCCESS', 'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'PhysicalResourceId': 'd1a8c40b-1809-4715-9e01-b2b1c4a75de2', 'RequestId': '61ecbeb0-8c68-444b-840c-14855eafa89f', 'LogicalResourceId': 'HUEReverseDNSEntry'}
9
+ 2014-12-15 12:59:04,221 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,16 @@
1
+ 2014-12-15 14:09:50,623 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 14:09:50,733 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0%7CHUEPrivateRDNSRecord%7Cc04d78e8-a3cb-41ca-ade3-2c784eab2610?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418677790&Signature=tXXtoQmYQ%2FT3XR2o1D1DcVW63TQ%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'IpAddress': '10.162.4.136', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'TTL': '120', 'HostedZoneId': '/hostedzone/ZXMD0MPQP1SL2', 'Type': 'PTR'}, 'RequestType': 'Delete', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'PhysicalResourceId': 'bafa626e-3399-4c91-a69b-e33c1a0d3730', 'RequestId': 'c04d78e8-a3cb-41ca-ade3-2c784eab2610', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEPrivateRDNSRecord'}
3
+ 2014-12-15 14:09:50,734 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
4
+ 2014-12-15 14:09:51,932 [INFO] Command route53-reversednsentry-Delete succeeded
5
+ 2014-12-15 14:09:51,933 [DEBUG] Command route53-reversednsentry output: {
6
+ "Status": "SUCCESS",
7
+ "PhysicalResourceId": "bafa626e-3399-4c91-a69b-e33c1a0d3730",
8
+ "StackId": "arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0",
9
+ "RequestId": "c04d78e8-a3cb-41ca-ade3-2c784eab2610",
10
+ "LogicalResourceId": "HUEPrivateRDNSRecord",
11
+ "Data": {
12
+ }
13
+ }
14
+ 2014-12-15 14:09:51,933 [DEBUG] Command route53-reversednsentry stderr:
15
+ 2014-12-15 14:09:51,933 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0', 'PhysicalResourceId': u'bafa626e-3399-4c91-a69b-e33c1a0d3730', 'RequestId': u'c04d78e8-a3cb-41ca-ade3-2c784eab2610', u'Data': {}, 'LogicalResourceId': u'HUEPrivateRDNSRecord'}
16
+ 2014-12-15 14:09:52,020 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,17 @@
1
+ 2014-12-15 14:09:50,870 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 14:09:50,987 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/3b17af10-849c-11e4-80d7-5001a7da7436', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/3b17af10-849c-11e4-80d7-5001a7da7436%7CHUEReverseDNSEntry%7Cd3580fcb-ba42-45d4-91c5-23ac026e61f1?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418687079&Signature=%2BXkx0sFq683pgqr0Z%2BRfi%2Bl72MI%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'HostedZoneName': '162.10.in-addr.arpa.', 'IpAddress': '10.162.7.233', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'TTL': '120', 'Type': 'PTR'}, 'RequestType': 'Delete', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'PhysicalResourceId': 'HUEReverseDNSEntry-chefdev-000-route53-353746975747', 'RequestId': 'd3580fcb-ba42-45d4-91c5-23ac026e61f1', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEReverseDNSEntry'}
3
+ 2014-12-15 14:09:50,987 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0%7CHUEReverseDNSEntry%7C81a9b09f-8261-462b-aad1-08c917fd6f56?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418677790&Signature=sXokTTkRB0VrI9DQDzgqTKQ48ag%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'HostedZoneName': '162.10.in-addr.arpa.', 'IpAddress': '10.162.4.136', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'TTL': '120', 'Type': 'PTR'}, 'RequestType': 'Delete', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'PhysicalResourceId': 'c65c3d7f-144e-48e3-a589-b8db47081a93', 'RequestId': '81a9b09f-8261-462b-aad1-08c917fd6f56', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEReverseDNSEntry'}
4
+ 2014-12-15 14:09:50,999 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
5
+ 2014-12-15 14:09:52,174 [INFO] Command route53-reversednsentry-Delete succeeded
6
+ 2014-12-15 14:09:52,175 [DEBUG] Command route53-reversednsentry output: {
7
+ "Status": "SUCCESS",
8
+ "PhysicalResourceId": "c65c3d7f-144e-48e3-a589-b8db47081a93",
9
+ "StackId": "arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0",
10
+ "RequestId": "81a9b09f-8261-462b-aad1-08c917fd6f56",
11
+ "LogicalResourceId": "HUEReverseDNSEntry",
12
+ "Data": {
13
+ }
14
+ }
15
+ 2014-12-15 14:09:52,175 [DEBUG] Command route53-reversednsentry stderr:
16
+ 2014-12-15 14:09:52,175 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0', 'PhysicalResourceId': u'c65c3d7f-144e-48e3-a589-b8db47081a93', 'RequestId': u'81a9b09f-8261-462b-aad1-08c917fd6f56', u'Data': {}, 'LogicalResourceId': u'HUEReverseDNSEntry'}
17
+ 2014-12-15 14:09:52,256 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,16 @@
1
+ 2014-12-15 14:09:50,870 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 14:09:50,987 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/38bf59d0-84e1-11e4-b8e9-5001b491380a', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/38bf59d0-84e1-11e4-b8e9-5001b491380a%7CHUEReverseDNSEntry%7C8c6bdaeb-91b3-45f0-a9e5-a1ced835fa42?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418719564&Signature=NFOr%2BcBFgKdsxKpl7yKlK7EsS5Y%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'HostedZoneName': '162.10.in-addr.arpa.', 'IpAddress': '10.162.5.117', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'ResourceRecords': [{'Value': 'hue.chefdev.poc.learning.amplify.com'}], 'TTL': '50', 'Type': 'PTR'}, 'RequestType': 'Delete', 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'PhysicalResourceId': 'HUEReverseDNSEntry-chefdev-000-route53-353746975747', 'RequestId': '8c6bdaeb-91b3-45f0-a9e5-a1ced835fa42', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEReverseDNSEntry'}
3
+ 2014-12-15 14:09:50,999 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
4
+ 2014-12-15 14:09:52,174 [INFO] Command route53-reversednsentry-Delete succeeded
5
+ 2014-12-15 14:09:52,175 [DEBUG] Command route53-reversednsentry output: {
6
+ "Status": "SUCCESS",
7
+ "PhysicalResourceId": "c65c3d7f-144e-48e3-a589-b8db47081a93",
8
+ "StackId": "arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0",
9
+ "RequestId": "81a9b09f-8261-462b-aad1-08c917fd6f56",
10
+ "LogicalResourceId": "HUEReverseDNSEntry",
11
+ "Data": {
12
+ }
13
+ }
14
+ 2014-12-15 14:09:52,175 [DEBUG] Command route53-reversednsentry stderr:
15
+ 2014-12-15 14:09:52,175 [DEBUG] Sending result: {'Status': u'SUCCESS', 'StackId': u'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/c7c0d9b0-848c-11e4-a620-50d5017c76e0', 'PhysicalResourceId': u'c65c3d7f-144e-48e3-a589-b8db47081a93', 'RequestId': u'81a9b09f-8261-462b-aad1-08c917fd6f56', u'Data': {}, 'LogicalResourceId': u'HUEReverseDNSEntry'}
16
+ 2014-12-15 14:09:52,256 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,9 @@
1
+ 2014-12-15 12:59:02,974 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
2
+ 2014-12-15 12:59:03,100 [DEBUG] Checking queue https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev
3
+ 2014-12-15 12:59:03,104 [DEBUG] route53-reversednsentry: Executing task for event {'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/38bf59d0-84e1-11e4-b8e9-5001b491380a', 'ResponseURL': 'https://cloudformation-custom-resource-response-useast1.s3.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A353746975747%3Astack/chefdev-000-route53/38bf59d0-84e1-11e4-b8e9-5001b491380a%7CHUEReverseDNSEntry%7C9afbe7f8-e996-4c20-8fa5-ed76c051bcc0?AWSAccessKeyId=AKIAJNXHFR7P7YGKLDPQ&Expires=1418714948&Signature=i9MCNBrJYh7yf8MoML1hKgyQqpE%3D', 'ResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'HostedZoneName': '162.10.in-addr.arpa.', 'IpAddress': '10.162.5.117', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'ResourceRecords': [{'Value': 'hue.chefdev.poc.learning.amplify.com'}], 'TTL': '120', 'Type': 'PTR'}, 'RequestType': 'Update', 'OldResourceProperties': {'Comment': 'Reverse DNS record for HUEInstance', 'HostedZoneName': '162.10.in-addr.arpa.', 'IpAddress': '10.162.5.117', 'ServiceToken': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Value': 'hue.chefdev.poc.learning.amplify.com', 'TTL': '120', 'Type': 'PTR'}, 'ResourceType': 'Custom::Route53_ReverseDNSEntry', 'PhysicalResourceId': 'HUEReverseDNSEntry-chefdev-000-route53-353746975747', 'RequestId': '9afbe7f8-e996-4c20-8fa5-ed76c051bcc0', 'TopicArn': 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'LogicalResourceId': 'HUEReverseDNSEntry'}
4
+ 2014-12-15 12:59:03,625 [DEBUG] Trying to locate find resource for ('https://sqs.us-east-1.amazonaws.com/353746975747/customresource-353746975747-chefdev', 'arn:aws:sns:us-east-1:353746975747:customresource-353746975747-chefdev', 'Custom::Route53_ReverseDNSEntry')
5
+ 2014-12-15 12:59:04,142 [INFO] Command route53-reversednsentry-Create succeeded
6
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry output:
7
+ 2014-12-15 12:59:04,143 [DEBUG] Command route53-reversednsentry stderr:
8
+ 2014-12-15 12:59:04,144 [DEBUG] Sending result: {'Status': 'SUCCESS', 'StackId': 'arn:aws:cloudformation:us-east-1:353746975747:stack/chefdev-000-route53/b9cc6580-8483-11e4-91e4-5001dc3ed8d2', 'PhysicalResourceId': 'd1a8c40b-1809-4715-9e01-b2b1c4a75de2', 'RequestId': '61ecbeb0-8c68-444b-840c-14855eafa89f', 'LogicalResourceId': 'HUEReverseDNSEntry'}
9
+ 2014-12-15 12:59:04,221 [INFO] CloudFormation successfully sent response SUCCESS
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ . ~/.rvm/scripts/rvm
4
+ rvm use ruby-2.1.5@customresource
5
+ git add -A
6
+ git commit -m "$1"
7
+ git push
8
+ rake build
9
+ mv pkg/customresource-route53-0.*.gem ../repo/gems/
10
+ cd ../repo
11
+ gem generate_index .
12
+ awsrc poc1
13
+
14
+ aws s3 sync ./ s3://amplify-learning-gems/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --cache-control="max-age=0, no-cache"
15
+ aws s3 sync ./ s3://gems.dev.learning.amplify.com/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --cache-control="max-age=0, no-cache"
16
+
17
+ cd -
metadata ADDED
@@ -0,0 +1,248 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: customresource-route53
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.1
5
+ platform: ruby
6
+ authors:
7
+ - Christo De Lange
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubygems-tasks
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.19'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.19'
69
+ - !ruby/object:Gem::Dependency
70
+ name: awesome_print
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.2'
83
+ - !ruby/object:Gem::Dependency
84
+ name: colorize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: aws-sdk-core
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: inifile
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: dldinternet-mixlib-thor-nocommands
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.2'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.2'
139
+ - !ruby/object:Gem::Dependency
140
+ name: dldinternet-mixlib-logging
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.4'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.4'
153
+ - !ruby/object:Gem::Dependency
154
+ name: ipaddress
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.8'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.8'
167
+ - !ruby/object:Gem::Dependency
168
+ name: customresource-base
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ description: An action command for aws-cfn-resource-bridge to implement CloudFormation
182
+ custom resources
183
+ email: rubygems@dldinternet.com
184
+ executables:
185
+ - cfn-customresource-route53
186
+ extensions: []
187
+ extra_rdoc_files: []
188
+ files:
189
+ - ".bundle/config"
190
+ - ".rakeTasks"
191
+ - ChangeLog.md
192
+ - Gemfile
193
+ - Gemfile.lock
194
+ - LICENSE
195
+ - LICENSE.txt
196
+ - README.md
197
+ - Rakefile
198
+ - bin/cfn-customresource-route53
199
+ - customresource-route53.gemspec
200
+ - features/.gitkeep
201
+ - features/customresource-route53.feature
202
+ - features/step_definitions/.gitkeep
203
+ - features/step_definitions/customresource-route53_steps.rb
204
+ - lib/customresource/route53.rb
205
+ - lib/customresource/route53/cli.rb
206
+ - lib/customresource/route53/mixins/actions.rb
207
+ - lib/customresource/route53/mixins/cli.rb
208
+ - lib/customresource/route53/version.rb
209
+ - tests/route53.privatehostedzone.create.log
210
+ - tests/route53.privatehostedzone.delete.log
211
+ - tests/route53.privatehostedzone.update.log
212
+ - tests/route53.reversednsentry.create.id.log
213
+ - tests/route53.reversednsentry.create.name.log
214
+ - tests/route53.reversednsentry.delete.id.log
215
+ - tests/route53.reversednsentry.delete.name.log
216
+ - tests/route53.reversednsentry.delete.name.rr.log
217
+ - tests/route53.reversednsentry.update.name.log
218
+ - tests/update.sh
219
+ homepage: https://rubygems.org/gems/customresource-route53
220
+ licenses:
221
+ - Apachev2
222
+ metadata: {}
223
+ post_install_message:
224
+ rdoc_options: []
225
+ require_paths:
226
+ - lib
227
+ required_ruby_version: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ requirements: []
238
+ rubyforge_project:
239
+ rubygems_version: 2.4.3
240
+ signing_key:
241
+ specification_version: 4
242
+ summary: An action command for aws-cfn-resource-bridge to implement CloudFormation
243
+ custom resources
244
+ test_files:
245
+ - features/.gitkeep
246
+ - features/customresource-route53.feature
247
+ - features/step_definitions/.gitkeep
248
+ - features/step_definitions/customresource-route53_steps.rb