terraforming 0.14.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c5cba83f78c4e252cd0fe5bea73a238a9e8f651
4
- data.tar.gz: a2c3b770b7986822234f8f91914b1acb92097565
3
+ metadata.gz: 2e84d837a0dba1a8c3f14a86c4c7f93598e024a5
4
+ data.tar.gz: c7ef19c07166185719c56eababac3eb68c96e5d2
5
5
  SHA512:
6
- metadata.gz: 844e51ae9255465e773915b266f281adb71920e9a18de7d6788aeebf51d7d1609f9fd96bf2fcaa47f5f38924da28f49d35ab37e3c5a6cf4c17b940a6a73d4698
7
- data.tar.gz: b7eb1e7832659e0f3476d00a5b90673c782101880beb0abc617991865f5f0e18e7ba948b3e00c7a7ba45f447e5edc4b0d27f09abb2d99c11135cde5305a018bb
6
+ metadata.gz: 7dc8ddfd1720d5b92ae44c2360b5421db204f7da909567b72dbead96588640c61bf5e5c880217119430655ec82dd05ef0ac0505d9bc7c2fefc23c4ce57b82eaf
7
+ data.tar.gz: b656c4214cb331e3cafcb59a97741c94df06be17f8a3cdf76e58975e55e0c814c0e4e88e2b801ec74125a8e671538d1e25f2c237d000bc9ec1a1899c67d59896
@@ -1,3 +1,11 @@
1
+ # [v0.15.0](https://github.com/dtan4/terraforming/releases/tag/v0.15.0) (2017-09-18)
2
+
3
+ ## Fixed / Updated
4
+
5
+ - Upgrade to AWS SDK for Ruby V3 [#364](https://github.com/dtan4/terraforming/pull/364)
6
+ - Ignore external key by `terraforming kmsk` (KMS key) [#363](https://github.com/dtan4/terraforming/pull/363)
7
+ - Add failover attributes to Route53 record [#357](https://github.com/dtan4/terraforming/pull/357) (thanks @chroju)
8
+
1
9
  # [v0.14.0](https://github.com/dtan4/terraforming/releases/tag/v0.14.0) (2017-08-05)
2
10
 
3
11
  ## Fixed / Updated
data/README.md CHANGED
@@ -349,6 +349,10 @@ terraforming help | grep terraforming | grep -v help | awk '{print "terraforming
349
349
  find . -type f -name '*.tf' | xargs wc -l | grep ' 1 .'
350
350
  ```
351
351
 
352
+ ### Caveats
353
+
354
+ - `terraforming kmsk` does not export EXTERNAL origin key, bacause Terraform does not support it.
355
+
352
356
  ## Run as Docker container [![Docker Repository on Quay.io](https://quay.io/repository/dtan4/terraforming/status "Docker Repository on Quay.io")](https://quay.io/repository/dtan4/terraforming)
353
357
 
354
358
  Terraforming Docker Image is available at [quay.io/dtan4/terraforming](https://quay.io/repository/dtan4/terraforming) and developed at [dtan4/dockerfile-terraforming](https://github.com/dtan4/dockerfile-terraforming).
@@ -1,4 +1,19 @@
1
- require "aws-sdk-core"
1
+ require "aws-sdk-autoscaling"
2
+ require "aws-sdk-cloudwatch"
3
+ require "aws-sdk-ec2"
4
+ require "aws-sdk-efs"
5
+ require "aws-sdk-elasticache"
6
+ require "aws-sdk-elasticloadbalancing"
7
+ require "aws-sdk-elasticloadbalancingv2"
8
+ require "aws-sdk-iam"
9
+ require "aws-sdk-kms"
10
+ require "aws-sdk-rds"
11
+ require "aws-sdk-redshift"
12
+ require "aws-sdk-route53"
13
+ require "aws-sdk-s3"
14
+ require "aws-sdk-sns"
15
+ require "aws-sdk-sqs"
16
+
2
17
  require "erb"
3
18
  require "multi_json"
4
19
  require "thor"
@@ -54,6 +54,7 @@ module Terraforming
54
54
  .reject { |key| managed_master_key?(key) }
55
55
  .map { |key| @client.describe_key(key_id: key.key_id) }
56
56
  .map(&:key_metadata)
57
+ .reject { |metadata| metadata.origin == "EXTERNAL" } # external origin key is not supoprted by Terraform
57
58
  end
58
59
 
59
60
  def key_policy_of(key)
@@ -44,7 +44,13 @@ module Terraforming
44
44
  attributes["subdivision"] = record.geo_location.subdivision_code if record.geo_location.subdivision_code
45
45
  end
46
46
 
47
+ if record.failover
48
+ attributes["failover_routing_policy.#"] = "1"
49
+ attributes["failover_routing_policy.0.type"] = record.failover
50
+ end
51
+
47
52
  attributes["set_identifier"] = record.set_identifier if record.set_identifier
53
+ attributes["health_check_id"] = record.health_check_id if record.health_check_id
48
54
 
49
55
  resources["aws_route53_record.#{module_name_of(record, counter)}"] = {
50
56
  "type" => "aws_route53_record",
@@ -38,6 +38,15 @@ resource "aws_route53_record" "<%= module_name_of(record, counter) %>" {
38
38
  <%- if record.set_identifier -%>
39
39
  set_identifier = "<%= record.set_identifier %>"
40
40
  <%- end -%>
41
+ <%- if record.health_check_id -%>
42
+ health_check_id = "<%= record.health_check_id %>"
43
+ <%- end -%>
44
+ <%- if record.failover -%>
45
+
46
+ failover_routing_policy {
47
+ type = "<%= record.failover %>"
48
+ }
49
+ <%- end -%>
41
50
 
42
51
  <%- if record.alias_target -%>
43
52
  alias {
@@ -1,3 +1,3 @@
1
1
  module Terraforming
2
- VERSION = "0.14.0"
2
+ VERSION = "0.15.0"
3
3
  end
@@ -19,7 +19,21 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "aws-sdk", "~> 2.10.17"
22
+ spec.add_dependency "aws-sdk-autoscaling", "~> 1"
23
+ spec.add_dependency "aws-sdk-cloudwatch", "~> 1"
24
+ spec.add_dependency "aws-sdk-ec2", "~> 1"
25
+ spec.add_dependency "aws-sdk-efs", "~> 1"
26
+ spec.add_dependency "aws-sdk-elasticache", "~> 1"
27
+ spec.add_dependency "aws-sdk-elasticloadbalancing", "~> 1"
28
+ spec.add_dependency "aws-sdk-elasticloadbalancingv2", "~> 1"
29
+ spec.add_dependency "aws-sdk-iam", "~> 1"
30
+ spec.add_dependency "aws-sdk-kms", "~> 1"
31
+ spec.add_dependency "aws-sdk-rds", "~> 1"
32
+ spec.add_dependency "aws-sdk-redshift", "~> 1"
33
+ spec.add_dependency "aws-sdk-route53", "~> 1"
34
+ spec.add_dependency "aws-sdk-s3", "~> 1"
35
+ spec.add_dependency "aws-sdk-sns", "~> 1"
36
+ spec.add_dependency "aws-sdk-sqs", "~> 1"
23
37
  spec.add_dependency "multi_json", "~> 1.12.1"
24
38
  spec.add_dependency "thor"
25
39
 
metadata CHANGED
@@ -1,29 +1,225 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraforming
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Fujita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-05 00:00:00.000000000 Z
11
+ date: 2017-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: aws-sdk
14
+ name: aws-sdk-autoscaling
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.10.17
19
+ version: '1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.10.17
26
+ version: '1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: aws-sdk-cloudwatch
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws-sdk-ec2
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk-efs
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aws-sdk-elasticache
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: aws-sdk-elasticloadbalancing
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: aws-sdk-elasticloadbalancingv2
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: aws-sdk-iam
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: aws-sdk-kms
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: aws-sdk-rds
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: aws-sdk-redshift
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: aws-sdk-route53
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1'
181
+ - !ruby/object:Gem::Dependency
182
+ name: aws-sdk-s3
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1'
195
+ - !ruby/object:Gem::Dependency
196
+ name: aws-sdk-sns
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '1'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '1'
209
+ - !ruby/object:Gem::Dependency
210
+ name: aws-sdk-sqs
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1'
27
223
  - !ruby/object:Gem::Dependency
28
224
  name: multi_json
29
225
  requirement: !ruby/object:Gem::Requirement