cfhighlander 0.10.7 → 0.10.8.alpha.1582708349
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/README.md +20 -0
 - data/bin/cfhighlander.rb +4 -0
 - data/lib/cfhighlander.compiler.rb +7 -1
 - data/lib/cfhighlander.model.component.rb +0 -3
 - data/lib/cfhighlander.tests.rb +7 -1
 - data/lib/cfhighlander.version.rb +1 -1
 - data/templates/cfndsl.component.template.erb +8 -3
 - metadata +14 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 81ea5de47811b5292478483603cf5ab59bb115f9dfe3f3a851d655c2c98eb105
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b706aae6e5ecf53293a4f70d3cd1add5c024eced73bdfa396e740e979e5a30f2
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 63155d443df716a879d714b9a5b64d535d41649769db0a507bffcb4928b3cdd5de8475617ffdf2828ac8dc13f514c0a07d4cab5dcb373203af8f409bba45f221
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cb65a4d8789096c3fa28f78f4ee0f4d3b679bd5ba52c2cbac85e2f7ea2fdfc64f8b87138cec64511da32f819ed0bbc567ec356cdaf61bec664d87cfa2511aac8
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -967,6 +967,26 @@ test_metadata: 
     | 
|
| 
       967 
967 
     | 
    
         
             
              description: Create 2 queues with name and override available config
         
     | 
| 
       968 
968 
     | 
    
         
             
            ```
         
     | 
| 
       969 
969 
     | 
    
         | 
| 
      
 970 
     | 
    
         
            +
            ### Test Paramaters
         
     | 
| 
      
 971 
     | 
    
         
            +
             
     | 
| 
      
 972 
     | 
    
         
            +
            If you want to test a component with a parameter input you can specify the `test-parameters:` key with key:value pairs of parameters
         
     | 
| 
      
 973 
     | 
    
         
            +
             
     | 
| 
      
 974 
     | 
    
         
            +
            ```yaml
         
     | 
| 
      
 975 
     | 
    
         
            +
            # Define the test parameter
         
     | 
| 
      
 976 
     | 
    
         
            +
            test_parameters:
         
     | 
| 
      
 977 
     | 
    
         
            +
              SecurityGroupId: sg-123456789
         
     | 
| 
      
 978 
     | 
    
         
            +
             
     | 
| 
      
 979 
     | 
    
         
            +
            # Test configuration
         
     | 
| 
      
 980 
     | 
    
         
            +
            security_group_rules:
         
     | 
| 
      
 981 
     | 
    
         
            +
              -
         
     | 
| 
      
 982 
     | 
    
         
            +
                from: 22
         
     | 
| 
      
 983 
     | 
    
         
            +
                protocol: tcp
         
     | 
| 
      
 984 
     | 
    
         
            +
                security_group_id:
         
     | 
| 
      
 985 
     | 
    
         
            +
                  # use the parameter within our test
         
     | 
| 
      
 986 
     | 
    
         
            +
                  Ref: SecurityGroupId
         
     | 
| 
      
 987 
     | 
    
         
            +
                desc: ssh access from another security group
         
     | 
| 
      
 988 
     | 
    
         
            +
            ```
         
     | 
| 
      
 989 
     | 
    
         
            +
             
     | 
| 
       970 
990 
     | 
    
         
             
            ### Running Test
         
     | 
| 
       971 
991 
     | 
    
         | 
| 
       972 
992 
     | 
    
         
             
            ```bash
         
     | 
    
        data/bin/cfhighlander.rb
    CHANGED
    
    | 
         @@ -214,6 +214,10 @@ class HighlanderCli < Thor 
     | 
|
| 
       214 
214 
     | 
    
         
             
                    puts "INFO: Reloading component, as auto-generated distribution settings  are being applied..."
         
     | 
| 
       215 
215 
     | 
    
         
             
                    component.load
         
     | 
| 
       216 
216 
     | 
    
         
             
                  end if autogenerate_dist
         
     | 
| 
      
 217 
     | 
    
         
            +
                  
         
     | 
| 
      
 218 
     | 
    
         
            +
                  test[:test_parameters].each do |name,value|
         
     | 
| 
      
 219 
     | 
    
         
            +
                    component.highlander_dsl.parameters.ComponentParam(name,value)
         
     | 
| 
      
 220 
     | 
    
         
            +
                  end
         
     | 
| 
       217 
221 
     | 
    
         | 
| 
       218 
222 
     | 
    
         
             
                  # compile cloud formation
         
     | 
| 
       219 
223 
     | 
    
         
             
                  component_compiler = Cfhighlander::Compiler::ComponentCompiler.new(component)
         
     | 
| 
         @@ -86,6 +86,10 @@ module Cfhighlander 
     | 
|
| 
       86 
86 
     | 
    
         
             
                      sc.distribution_format = out_format
         
     | 
| 
       87 
87 
     | 
    
         
             
                    }
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
      
 89 
     | 
    
         
            +
                    # figure out cfndsl version
         
     | 
| 
      
 90 
     | 
    
         
            +
                    cfndsl_version = CfnDsl::VERSION
         
     | 
| 
      
 91 
     | 
    
         
            +
                    legacy_cfndsl = cfndsl_version.to_f < 1
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
       89 
93 
     | 
    
         
             
                    # indent component cfndsl
         
     | 
| 
       90 
94 
     | 
    
         
             
                    component_cfndsl.gsub!("\n", "\n\t")
         
     | 
| 
       91 
95 
     | 
    
         
             
                    component_cfndsl.gsub!("\r\n", "\r\n\t")
         
     | 
| 
         @@ -95,7 +99,9 @@ module Cfhighlander 
     | 
|
| 
       95 
99 
     | 
    
         
             
                        'dsl' => dsl,
         
     | 
| 
       96 
100 
     | 
    
         
             
                        'component_cfndsl' => component_cfndsl,
         
     | 
| 
       97 
101 
     | 
    
         
             
                        'component_requires' => (@@global_extensions_paths + @component.cfndsl_ext_files),
         
     | 
| 
       98 
     | 
    
         
            -
                        'distribution_format' => out_format
         
     | 
| 
      
 102 
     | 
    
         
            +
                        'distribution_format' => out_format,
         
     | 
| 
      
 103 
     | 
    
         
            +
                        'legacy_cfndsl' => legacy_cfndsl,
         
     | 
| 
      
 104 
     | 
    
         
            +
                        'cfndsl_version' => cfndsl_version
         
     | 
| 
       99 
105 
     | 
    
         
             
                    }).instance_eval { binding })
         
     | 
| 
       100 
106 
     | 
    
         | 
| 
       101 
107 
     | 
    
         
             
                    # write to output file
         
     | 
| 
         @@ -241,9 +241,6 @@ module Cfhighlander 
     | 
|
| 
       241 
241 
     | 
    
         
             
                  end
         
     | 
| 
       242 
242 
     | 
    
         
             
                  def eval_cfndsl
         
     | 
| 
       243 
243 
     | 
    
         
             
                    compiler = Cfhighlander::Compiler::ComponentCompiler.new self
         
     | 
| 
       244 
     | 
    
         
            -
                    # there is no need for processing lambda source code during cloudformation evaluation,
         
     | 
| 
       245 
     | 
    
         
            -
                    # this version never gets published
         
     | 
| 
       246 
     | 
    
         
            -
                    compiler.process_lambdas = false
         
     | 
| 
       247 
244 
     | 
    
         
             
                    @cfn_model = compiler.evaluateCloudFormation().as_json
         
     | 
| 
       248 
245 
     | 
    
         
             
                    @cfn_model_raw = JSON.parse(@cfn_model.to_json)
         
     | 
| 
       249 
246 
     | 
    
         
             
                    @outputs = (
         
     | 
    
        data/lib/cfhighlander.tests.rb
    CHANGED
    
    | 
         @@ -28,7 +28,13 @@ module CfHighlander 
     | 
|
| 
       28 
28 
     | 
    
         
             
                def get_cases
         
     | 
| 
       29 
29 
     | 
    
         
             
                  @test_files.each do |file|
         
     | 
| 
       30 
30 
     | 
    
         
             
                    test_case = load_test_case(file)
         
     | 
| 
       31 
     | 
    
         
            -
                     
     | 
| 
      
 31 
     | 
    
         
            +
                    test_parameters = test_case['test_parameters'] || {}
         
     | 
| 
      
 32 
     | 
    
         
            +
                    @cases << { 
         
     | 
| 
      
 33 
     | 
    
         
            +
                      metadata: test_case['test_metadata'],
         
     | 
| 
      
 34 
     | 
    
         
            +
                      test_parameters: test_parameters,
         
     | 
| 
      
 35 
     | 
    
         
            +
                      file: file,
         
     | 
| 
      
 36 
     | 
    
         
            +
                      config: load_default_config.deep_merge(test_case)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    }
         
     | 
| 
       32 
38 
     | 
    
         
             
                  end
         
     | 
| 
       33 
39 
     | 
    
         
             
                end
         
     | 
| 
       34 
40 
     | 
    
         | 
    
        data/lib/cfhighlander.version.rb
    CHANGED
    
    
| 
         @@ -2,12 +2,17 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
                load('<%= @require %>')
         
     | 
| 
       3 
3 
     | 
    
         
             
            <% end %>
         
     | 
| 
       4 
4 
     | 
    
         
             
            CloudFormation do
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
              # cfhl meta: cfndsl_version=<%=cfndsl_version %>
         
     | 
| 
      
 6 
     | 
    
         
            +
            <% unless legacy_cfndsl -%>
         
     | 
| 
      
 7 
     | 
    
         
            +
            <% dsl.config.each_key do |key|-%>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <%=key-%> = external_parameters.fetch(:<%=key-%>, nil)
         
     | 
| 
      
 9 
     | 
    
         
            +
            <% end -%>
         
     | 
| 
      
 10 
     | 
    
         
            +
            <% end -%>
         
     | 
| 
       6 
11 
     | 
    
         
             
            <% for @mapping in dsl.mappings %>
         
     | 
| 
       7 
12 
     | 
    
         
             
                Mapping('<%= @mapping %>', mappings['<%= @mapping %>'])
         
     | 
| 
       8 
     | 
    
         
            -
            <% end  
     | 
| 
      
 13 
     | 
    
         
            +
            <% end -%>
         
     | 
| 
       9 
14 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            # render subcomponents
         
     | 
| 
      
 15 
     | 
    
         
            +
              # render subcomponents
         
     | 
| 
       11 
16 
     | 
    
         
             
            <% for @subcomponent in dsl.subcomponents %>
         
     | 
| 
       12 
17 
     | 
    
         
             
                CloudFormation_Stack('<%= @subcomponent.cfn_name %>') do
         
     | 
| 
       13 
18 
     | 
    
         
             
                    TemplateURL '<%= @subcomponent.distribution_url %>'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cfhighlander
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.10. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.10.8.alpha.1582708349
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Nikola Tosic
         
     | 
| 
         @@ -10,7 +10,7 @@ authors: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       11 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date:  
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2020-02-26 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: highline
         
     | 
| 
         @@ -56,16 +56,22 @@ dependencies: 
     | 
|
| 
       56 
56 
     | 
    
         
             
              name: cfndsl
         
     | 
| 
       57 
57 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       58 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - -  
     | 
| 
      
 59 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 60 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
      
 62 
     | 
    
         
            +
                - - "<"
         
     | 
| 
       60 
63 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version:  
     | 
| 
      
 64 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
       62 
65 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       63 
66 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
67 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
68 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
     | 
    
         
            -
                - -  
     | 
| 
      
 69 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       67 
70 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version:  
     | 
| 
      
 71 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
      
 72 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 73 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 74 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
       69 
75 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
76 
     | 
    
         
             
              name: rubyzip
         
     | 
| 
       71 
77 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -271,9 +277,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       271 
277 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       272 
278 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       273 
279 
     | 
    
         
             
              requirements:
         
     | 
| 
       274 
     | 
    
         
            -
              - - " 
     | 
| 
      
 280 
     | 
    
         
            +
              - - ">"
         
     | 
| 
       275 
281 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       276 
     | 
    
         
            -
                  version:  
     | 
| 
      
 282 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
       277 
283 
     | 
    
         
             
            requirements: []
         
     | 
| 
       278 
284 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       279 
285 
     | 
    
         
             
            rubygems_version: 2.7.7
         
     |