convection 2.2.10 → 2.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/convection +1 -1
- data/lib/convection/model/template/resource/aws_route53_recordset.rb +40 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4f86707af23a4ea618cd13b4dd4008a23a22bbb
|
4
|
+
data.tar.gz: c71c29ecbb07f321eca21c86864d3a6c2f893945
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffc9509d0c997d2cc41ce1915a8ec5128aa4b53082f1ad157e917a9b53dde285b0a0a00e5795f8fc18f53347669000c49d45ffc7fcac7ebea532722ed8221ddf
|
7
|
+
data.tar.gz: a3b08777d66def2af42eeba6b1815d3b5a892beab7e945ef4a8b29e29add7e3b7b7700644a2ee4f38590efe01a3c5c2d7b8de991e5425a797602e0ea38e65e1d
|
data/bin/convection
CHANGED
@@ -303,7 +303,7 @@ module Convection
|
|
303
303
|
end
|
304
304
|
end
|
305
305
|
|
306
|
-
def import_resources(
|
306
|
+
def import_resources(resource_name, resource)
|
307
307
|
empty_directory options[:output_directory] if resource.respond_to?(:to_hcl_json) || resource.respond_to?(:additional_hcl_files)
|
308
308
|
if resource.respond_to?(:to_hcl_json)
|
309
309
|
destination = File.join(options[:output_directory], "#{resource.name.underscore}.tf.json")
|
@@ -8,6 +8,9 @@ module Convection
|
|
8
8
|
# AWS::EC2::Instance
|
9
9
|
##
|
10
10
|
class Route53RecordSet < Resource
|
11
|
+
TF_ASSUMED_RESOURCE_NAME = 'aws_elastic_load_balancing_load_balancer'.freeze
|
12
|
+
TF_ACTUAL_RESOURCE_NAME = 'aws_elb'.freeze
|
13
|
+
|
11
14
|
type 'AWS::Route53::RecordSet', :route53_recordset
|
12
15
|
property :alias_tgt, 'AliasTarget'
|
13
16
|
property :comment, 'Comment'
|
@@ -49,6 +52,43 @@ module Convection
|
|
49
52
|
properties['GeoLocation'].set(g)
|
50
53
|
end
|
51
54
|
end
|
55
|
+
|
56
|
+
def terraform_import_commands(module_path: 'root')
|
57
|
+
commands = []
|
58
|
+
commands << '# Import the Route53 record:'
|
59
|
+
tf_set_id = "_#{set_identifier}" if set_identifier
|
60
|
+
prefix = "#{module_path}." unless module_path == 'root'
|
61
|
+
tf_record_name = record_name.sub(/\.$/, '')
|
62
|
+
commands << "terraform import #{prefix}aws_route53_record.#{name.underscore} #{hosted_zone_id}_#{tf_record_name}_#{record_type}#{tf_set_id}"
|
63
|
+
|
64
|
+
commands.map { |cmd| cmd.gsub(stack.region, stack._original_region).gsub(stack.cloud, stack._original_cloud) }
|
65
|
+
end
|
66
|
+
|
67
|
+
def to_hcl_json(*)
|
68
|
+
tf_record_attrs = {
|
69
|
+
zone_id: hosted_zone_id,
|
70
|
+
name: record_name,
|
71
|
+
type: record_type,
|
72
|
+
ttl: ttl,
|
73
|
+
records: tf_records,
|
74
|
+
set_identifier: set_identifier
|
75
|
+
}
|
76
|
+
tf_record_attrs.reject! { |_k, v| v.nil? }
|
77
|
+
|
78
|
+
tf_record = {
|
79
|
+
aws_route53_record: {
|
80
|
+
name.underscore => tf_record_attrs
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
{ resource: [tf_record] }.to_json
|
85
|
+
end
|
86
|
+
|
87
|
+
private
|
88
|
+
|
89
|
+
def tf_records
|
90
|
+
record.map { |r| r.gsub(TF_ASSUMED_RESOURCE_NAME, TF_ACTUAL_RESOURCE_NAME) }
|
91
|
+
end
|
52
92
|
end
|
53
93
|
end
|
54
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: convection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Manero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|