terrafying-components 1.15.21 → 2.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a34f6267b2a94b0dd8240a2cd2cfd065b739acf7ccee8cee6d90620a6d577a6
4
- data.tar.gz: 8a78fdd2f2b5ccfa4f5fc05e18efa4596f950153b9cd5472a57b233799473d51
3
+ metadata.gz: 71540ce13f2a767a6cd4473c6dbac6bbac39b8e3c3c513d9b7dd70fb48150263
4
+ data.tar.gz: fe1fb4871f8b7147bdc98a0e73e7a057b4063ddfccccd0202c6791a3faf959fd
5
5
  SHA512:
6
- metadata.gz: 7f43c6ed5054f28281e600011418bd2b2784a3641166de61b1d4a47c553096d8104427d6e6d791c35bccfabcbc08afef782f29e7591d881e1dbf5823bf4786d3
7
- data.tar.gz: 7b9e1d1f87efc949b3fbb43c6bcf8f02c69a6836e8e5a672f4c52617cd6db9546f364b5c7ea0078bb48240a43ac45a106833fed87b44ea09f32de50847900b9c
6
+ metadata.gz: 71da83d4a07e356c104eaf6cce633e8b118c38ae4b5e5952c6c20b81a57ff738c60e35253b5ef910a7b67b143c9615c93bb05b3fde80af26e5d060ba63f9d944
7
+ data.tar.gz: 18f9aac3085b00129c5d94ff2bcbc11e501af5bbac428ba2125ec32adfdcc8d55cd675773ccca78b3da4c9edcfa7ad3f9e7cefe0f7262cce4416474abd5e6acd
@@ -44,9 +44,12 @@ module Terrafying
44
44
  subnets: vpc.subnets.fetch(:private, []),
45
45
  depends_on: [],
46
46
  rolling_update: :simple,
47
+ metadata_options: {},
47
48
  vpc_endpoints_egress: []
48
49
  }.merge(options)
49
50
 
51
+ metadata_options = options[:metadata_options]
52
+
50
53
  ident = "#{tf_safe(vpc.name)}-#{name}"
51
54
 
52
55
  @name = ident
@@ -85,6 +88,7 @@ module Terrafying
85
88
  lifecycle: {
86
89
  create_before_destroy: true
87
90
  },
91
+ metadata_options: options[:metadata_options],
88
92
  depends_on: resource_name_from(options[:instance_profile])
89
93
 
90
94
  if options[:instances][:track]
@@ -36,8 +36,14 @@ module Terrafying
36
36
  instance_profile: nil,
37
37
  ports: [],
38
38
  tags: {},
39
- security_groups: [],
40
- depends_on: []
39
+ security_groups: nil,
40
+ metadata_options: nil,
41
+ depends_on: nil,
42
+ ipv6_cidr_blocks: nil,
43
+ prefix_list_ids: nil,
44
+ security_groups: nil,
45
+ self: nil,
46
+ description: nil,
41
47
  }.merge(options)
42
48
 
43
49
  ident = "#{tf_safe(vpc.name)}-#{name}"
@@ -55,7 +61,12 @@ module Terrafying
55
61
  from_port: 0,
56
62
  to_port: 0,
57
63
  protocol: -1,
58
- cidr_blocks: ['0.0.0.0/0']
64
+ cidr_blocks: ['0.0.0.0/0'],
65
+ ipv6_cidr_blocks: options[:ipv6_cidr_blocks],
66
+ prefix_list_ids: options[:prefix_list_ids],
67
+ security_groups: options[:security_groups],
68
+ self: options[:self],
69
+ description: options[:description]
59
70
  }
60
71
  ]
61
72
 
@@ -99,6 +110,7 @@ module Terrafying
99
110
  vpc.internal_ssh_security_group
100
111
  ].push(*options[:security_groups]),
101
112
  user_data: options[:user_data],
113
+ metadata_options: options[:metadata_options],
102
114
  lifecycle: {
103
115
  create_before_destroy: true
104
116
  },
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'digest'
3
+ require 'digest/bubblebabble'
4
4
  require 'terrafying/components/usable'
5
5
  require 'terrafying/generator'
6
6
 
@@ -217,7 +217,7 @@ module Terrafying
217
217
 
218
218
  def make_identifier(type, vpc_name, name)
219
219
  gen_id = "#{type}-#{tf_safe(vpc_name)}-#{name}"
220
- return Digest::SHA2.hexdigest(gen_id)[0..24] if @hex_ident || gen_id.size > 26
220
+ return Digest::SHA256.bubblebabble(gen_id)[0..15] if @hex_ident || gen_id.size > 26
221
221
 
222
222
  gen_id[0..31]
223
223
  end
@@ -59,6 +59,7 @@ module Terrafying
59
59
  subnets: vpc.subnets.fetch(:private, []),
60
60
  startup_grace_period: 300,
61
61
  depends_on: [],
62
+ metadata_options: {},
62
63
  audit_role: "arn:aws:iam::#{aws.account_id}:role/auditd_logging",
63
64
  metrics_ports: [],
64
65
  vpc_endpoints_egress: []
@@ -96,6 +97,8 @@ module Terrafying
96
97
  @instance_profile = add! InstanceProfile.create(ident, statements: iam_statements)
97
98
  end
98
99
 
100
+ metadata_options = options[:metadata_options]
101
+
99
102
  tags = options[:tags].merge(service_name: name)
100
103
 
101
104
  set = options[:instances].is_a?(Hash) ? DynamicSet : StaticSet
@@ -112,6 +115,7 @@ module Terrafying
112
115
  instance_set_options = {
113
116
  instance_profile: @instance_profile,
114
117
  depends_on: depends_on,
118
+ metadata_options: metadata_options,
115
119
  tags: tags
116
120
  }
117
121
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terrafying
4
4
  module Components
5
- VERSION = '1.15.21'
5
+ VERSION = '2.0.0'
6
6
  end
7
7
  end
@@ -184,7 +184,12 @@ module Terrafying
184
184
  from_port: 22,
185
185
  to_port: 22,
186
186
  protocol: 'tcp',
187
- cidr_blocks: [@cidr]
187
+ cidr_blocks: [@cidr],
188
+ description: nil,
189
+ ipv6_cidr_blocks: nil,
190
+ prefix_list_ids: nil,
191
+ security_groups: nil,
192
+ self: nil
188
193
  }
189
194
  ],
190
195
  egress: [
@@ -192,7 +197,12 @@ module Terrafying
192
197
  from_port: 22,
193
198
  to_port: 22,
194
199
  protocol: 'tcp',
195
- cidr_blocks: [@cidr]
200
+ cidr_blocks: [@cidr],
201
+ description: nil,
202
+ ipv6_cidr_blocks: nil,
203
+ prefix_list_ids: nil,
204
+ security_groups: nil,
205
+ self: nil
196
206
  }
197
207
  ]
198
208
  self
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terrafying-components
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.21
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - uSwitch Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-06 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake