cfn-model 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cfn-model/parser/cfn_parser.rb +3 -2
- data/lib/cfn-model/transforms/serverless.rb +17 -2
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7671033cb2d190bc7782352c1331f8529b1ec1ad3debe22802e3e4ef49d7faf9
|
4
|
+
data.tar.gz: 68949533edc714d14032fd4719ccd70dc71d5349f2b8e414a48f75fa31fa5dd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '09be423398f6a8b9faba6765d12073c71309359902055a6cc3cf45048e3cd435221e0405ee86564022e7d0d9d0185a4218ceb622ff7f183ff2c39c2bdf0d4d28'
|
7
|
+
data.tar.gz: 4e7757f0c6f7c4a610e071bdd5e544ec345f9e7fc46513339daf217ee018c47d259866661216be662eb751655e82d2eb093bd8c8f628311fab936f285797f0df
|
@@ -281,7 +281,7 @@ class CfnParser
|
|
281
281
|
|
282
282
|
def map_non_aws_resource_name_to_class_name(module_names)
|
283
283
|
# this is a little hacky. we've been ignoring Custom so more for
|
284
|
-
# backward compat.
|
284
|
+
# backward compat. for Alexa and other transformed resources just jam the whole
|
285
285
|
# thing together
|
286
286
|
if module_names.first == 'Custom'
|
287
287
|
first_module_index = 1
|
@@ -308,7 +308,8 @@ class CfnParser
|
|
308
308
|
else
|
309
309
|
custom_resource_class_name = map_non_aws_resource_name_to_class_name(module_names)
|
310
310
|
begin
|
311
|
-
|
311
|
+
custom_class = Object.const_get custom_resource_class_name
|
312
|
+
resource_class = custom_class if custom_class.is_a?(ModelElement)
|
312
313
|
rescue NameError
|
313
314
|
Object.const_set(custom_resource_class_name, resource_class)
|
314
315
|
end
|
@@ -112,8 +112,14 @@ class CfnModel
|
|
112
112
|
resource_name,
|
113
113
|
with_line_numbers)
|
114
114
|
|
115
|
-
cfn_hash['Resources'][resource_name] = lambda_function
|
116
|
-
|
115
|
+
cfn_hash['Resources'][resource_name] = lambda_function(
|
116
|
+
handler: lambda_fn_params[:handler],
|
117
|
+
code_bucket: lambda_fn_params[:code_bucket],
|
118
|
+
code_key: lambda_fn_params[:code_key],
|
119
|
+
role: lambda_fn_params[:role],
|
120
|
+
runtime: lambda_fn_params[:runtime],
|
121
|
+
with_line_numbers: lambda_fn_params[:with_line_numbers]
|
122
|
+
)
|
117
123
|
unless serverless_function['Properties']['Role']
|
118
124
|
cfn_hash['Resources'][resource_name + 'Role'] = function_role(serverless_function,
|
119
125
|
resource_name,
|
@@ -122,6 +128,15 @@ class CfnModel
|
|
122
128
|
|
123
129
|
transform_function_events(cfn_hash, serverless_function, resource_name, with_line_numbers) if \
|
124
130
|
serverless_function['Properties']['Events']
|
131
|
+
|
132
|
+
# Handle passing along cfn-nag specific metadata. SAM itself does not support metadata during transformation.
|
133
|
+
# https://github.com/aws/serverless-application-model/issues/264
|
134
|
+
if serverless_function.key?('Metadata') && serverless_function['Metadata'].key?('cfn_nag')
|
135
|
+
cfn_hash['Resources'][resource_name]['Metadata'] = serverless_function['Metadata']
|
136
|
+
unless serverless_function['Properties']['Role']
|
137
|
+
cfn_hash['Resources'][resource_name + 'Role']['Metadata'] = serverless_function['Metadata']
|
138
|
+
end
|
139
|
+
end
|
125
140
|
end
|
126
141
|
|
127
142
|
def lambda_service_can_assume_role
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfn-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Kascic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -156,16 +156,17 @@ require_paths:
|
|
156
156
|
- lib
|
157
157
|
required_ruby_version: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
-
- - "
|
159
|
+
- - ">="
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version:
|
161
|
+
version: 2.5.0
|
162
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
|
-
|
168
|
+
rubyforge_project:
|
169
|
+
rubygems_version: 2.7.6
|
169
170
|
signing_key:
|
170
171
|
specification_version: 4
|
171
172
|
summary: cfn-model
|