Skip to content

Commit 683d538

Browse files
authored
BAM: Added line numbers for Parameters (#95)
* BAM: Added line numbers and logical resource id to Parameters * Add specs
1 parent 672eb90 commit 683d538

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

lib/cfn-model/parser/cfn_parser.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,15 @@ def transform_hash_into_parameters(cfn_hash, cfn_model)
184184
parameter = Parameter.new
185185
parameter.id = parameter_name
186186
parameter.type = parameter_hash['Type']
187+
parameter.logical_resource_id = parameter_name
187188

188189
parameter_hash.each do |property_name, property_value|
189190
next if %w(Type).include? property_name
190191
parameter.send("#{map_property_name_to_attribute(property_name)}=", property_value)
191192
end
192193

193194
cfn_model.parameters[parameter_name] = parameter
195+
cfn_model.line_numbers[parameter_name] = parameter_hash['Type']['line']
194196
end
195197
cfn_model
196198
end

spec/parser/cfn_parser_line_numbers_spec.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@
1111
cloudformation_template_yml = IO.read(yaml_test_templates('iam_user/iam_user_with_literal_username_and_addition').first)
1212
actual_cfn_model = @cfn_parser.parse cloudformation_template_yml, nil, true
1313
expected_line_numbers = {
14-
"iamUserWithAddition" => 4,
15-
"groupA" => 9,
16-
"addition1" => 14,
17-
"addition2" => 24
14+
"AccessKey" => 4,
15+
"iamUserWithAddition" => 8,
16+
"groupA" => 13,
17+
"addition1" => 18,
18+
"addition2" => 28
1819
}
1920
expect(actual_cfn_model.line_numbers).to eq expected_line_numbers
2021
end

spec/test_templates/yaml/iam_user/iam_user_with_literal_username_and_addition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
---
2+
Parameters:
3+
AccessKey:
4+
Type: String
5+
26
Resources:
37
iamUserWithAddition:
48
Type: "AWS::IAM::User"

0 commit comments

Comments
 (0)