awspec 0.83.0 → 0.84.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 +4 -4
 - data/doc/_resource_types/alb.md +8 -0
 - data/doc/_resource_types/alb_listener.md +21 -1
 - data/doc/_resource_types/alb_target_group.md +35 -0
 - data/doc/resource_types.md +73 -0
 - data/lib/awspec/generator/doc/type/alb.rb +2 -1
 - data/lib/awspec/generator/doc/type/alb_target_group.rb +17 -0
 - data/lib/awspec/helper/finder/alb.rb +18 -0
 - data/lib/awspec/helper/type.rb +1 -1
 - data/lib/awspec/matcher.rb +4 -1
 - data/lib/awspec/matcher/belong_to_alb.rb +8 -0
 - data/lib/awspec/matcher/have_rule.rb +19 -2
 - data/lib/awspec/stub/alb_listener.rb +85 -0
 - data/lib/awspec/stub/alb_target_group.rb +325 -0
 - data/lib/awspec/type/alb_listener.rb +25 -0
 - data/lib/awspec/type/alb_target_group.rb +22 -0
 - data/lib/awspec/version.rb +1 -1
 - metadata +7 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 2cc2bd071ea04f3b2175755926830351f496624c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: eb61149da8f117126acabac296f0aebee339f6f0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2da4033f7141921eb56c5d12983864f65505a63a57c4c4a7c512994353cb40d170270c3a8aed5f8b7677547e376b23d5ffad819d84b13618b38fc2164d38e04c
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f0ae057b8e2e7cfe943f00032b73f1e502ba295ad5c395cde0183c5d2d531f429e004d427ccc3746fd1fce77284b6bb0b6dfd48c8bf98d12d0e2afc1675da12c
         
     | 
    
        data/doc/_resource_types/alb.md
    CHANGED
    
    
| 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            ### exist
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ```ruby
         
     | 
| 
       4 
4 
     | 
    
         
             
            describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2') do
         
     | 
| 
         @@ -7,3 +7,23 @@ describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:li 
     | 
|
| 
       7 
7 
     | 
    
         
             
              its(:protocol) { should eq 'HTTP' }
         
     | 
| 
       8 
8 
     | 
    
         
             
            end
         
     | 
| 
       9 
9 
     | 
    
         
             
            ```
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ### have_rule
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 14 
     | 
    
         
            +
            describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2') do
         
     | 
| 
      
 15 
     | 
    
         
            +
              it { should have_rule('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener-rule/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2/9683b2d02a6cabee') }
         
     | 
| 
      
 16 
     | 
    
         
            +
              it do
         
     | 
| 
      
 17 
     | 
    
         
            +
                should have_rule.priority('10')
         
     | 
| 
      
 18 
     | 
    
         
            +
                  .conditions(field: 'path-pattern', values: ['/img/*'])
         
     | 
| 
      
 19 
     | 
    
         
            +
                  .actions(target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067', type: 'forward')
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
              it do
         
     | 
| 
      
 22 
     | 
    
         
            +
                should have_rule.priority('10')
         
     | 
| 
      
 23 
     | 
    
         
            +
                  .if(field: 'path-pattern', values: ['/img/*'])
         
     | 
| 
      
 24 
     | 
    
         
            +
                  .then(target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067', type: 'forward')
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
              it { should have_rule.conditions([{ field: 'path-pattern', values: ['/admin/*'] }, { field: 'host-header', values: ['admin.example.com'] }]) }
         
     | 
| 
      
 27 
     | 
    
         
            +
              it { should have_rule.actions(target_group_name: 'my-alb-target-group', type: 'forward') }
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
| 
      
 29 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -0,0 +1,35 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # exist
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 4 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 5 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 6 
     | 
    
         
            +
              its(:health_check_path) { should eq '/' }
         
     | 
| 
      
 7 
     | 
    
         
            +
              its(:health_check_port) { should eq 'traffic-port' }
         
     | 
| 
      
 8 
     | 
    
         
            +
              its(:health_check_protocol) { should eq 'HTTP' }
         
     | 
| 
      
 9 
     | 
    
         
            +
            end
         
     | 
| 
      
 10 
     | 
    
         
            +
            ```
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ### have_ec2
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 15 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 16 
     | 
    
         
            +
              it { should have_ec2('my-ec2') }
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
      
 18 
     | 
    
         
            +
            ```
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            ### belong_to_alb
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 23 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 24 
     | 
    
         
            +
              it { should belong_to_alb('my-alb') }
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
      
 26 
     | 
    
         
            +
            ```
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 31 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 32 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
| 
      
 34 
     | 
    
         
            +
            ```
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
    
        data/doc/resource_types.md
    CHANGED
    
    | 
         @@ -3,6 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            [acm](#acm)
         
     | 
| 
       4 
4 
     | 
    
         
             
            | [alb](#alb)
         
     | 
| 
       5 
5 
     | 
    
         
             
            | [alb_listener](#alb_listener)
         
     | 
| 
      
 6 
     | 
    
         
            +
            | [alb_target_group](#alb_target_group)
         
     | 
| 
       6 
7 
     | 
    
         
             
            | [ami](#ami)
         
     | 
| 
       7 
8 
     | 
    
         
             
            | [autoscaling_group](#autoscaling_group)
         
     | 
| 
       8 
9 
     | 
    
         
             
            | [cloudfront_distribution](#cloudfront_distribution)
         
     | 
| 
         @@ -109,6 +110,15 @@ describe alb('my-alb') do 
     | 
|
| 
       109 
110 
     | 
    
         
             
            end
         
     | 
| 
       110 
111 
     | 
    
         
             
            ```
         
     | 
| 
       111 
112 
     | 
    
         | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 117 
     | 
    
         
            +
            describe alb('my-alb') do
         
     | 
| 
      
 118 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 119 
     | 
    
         
            +
            end
         
     | 
| 
      
 120 
     | 
    
         
            +
            ```
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
       112 
122 
     | 
    
         
             
            ### its(:load_balancer_arn), its(:dns_name), its(:canonical_hosted_zone_id), its(:created_time), its(:load_balancer_name), its(:scheme), its(:vpc_id), its(:type), its(:security_groups), its(:ip_address_type)
         
     | 
| 
       113 
123 
     | 
    
         
             
            ## <a name="alb_listener">alb_listener</a>
         
     | 
| 
       114 
124 
     | 
    
         | 
| 
         @@ -116,7 +126,70 @@ AlbListener resource type. 
     | 
|
| 
       116 
126 
     | 
    
         | 
| 
       117 
127 
     | 
    
         
             
            ### exist
         
     | 
| 
       118 
128 
     | 
    
         | 
| 
      
 129 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 130 
     | 
    
         
            +
            describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2') do
         
     | 
| 
      
 131 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 132 
     | 
    
         
            +
              its(:port) { should eq 80 }
         
     | 
| 
      
 133 
     | 
    
         
            +
              its(:protocol) { should eq 'HTTP' }
         
     | 
| 
      
 134 
     | 
    
         
            +
            end
         
     | 
| 
      
 135 
     | 
    
         
            +
            ```
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
            ### have_rule
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 141 
     | 
    
         
            +
            describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2') do
         
     | 
| 
      
 142 
     | 
    
         
            +
              it { should have_rule('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener-rule/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2/9683b2d02a6cabee') }
         
     | 
| 
      
 143 
     | 
    
         
            +
              it do
         
     | 
| 
      
 144 
     | 
    
         
            +
                should have_rule.priority('10')
         
     | 
| 
      
 145 
     | 
    
         
            +
                  .conditions(field: 'path-pattern', values: ['/img/*'])
         
     | 
| 
      
 146 
     | 
    
         
            +
                  .actions(target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067', type: 'forward')
         
     | 
| 
      
 147 
     | 
    
         
            +
              end
         
     | 
| 
      
 148 
     | 
    
         
            +
              it do
         
     | 
| 
      
 149 
     | 
    
         
            +
                should have_rule.priority('10')
         
     | 
| 
      
 150 
     | 
    
         
            +
                  .if(field: 'path-pattern', values: ['/img/*'])
         
     | 
| 
      
 151 
     | 
    
         
            +
                  .then(target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067', type: 'forward')
         
     | 
| 
      
 152 
     | 
    
         
            +
              end
         
     | 
| 
      
 153 
     | 
    
         
            +
              it { should have_rule.conditions([{ field: 'path-pattern', values: ['/admin/*'] }, { field: 'host-header', values: ['admin.example.com'] }]) }
         
     | 
| 
      
 154 
     | 
    
         
            +
              it { should have_rule.actions(target_group_name: 'my-alb-target-group', type: 'forward') }
         
     | 
| 
      
 155 
     | 
    
         
            +
            end
         
     | 
| 
      
 156 
     | 
    
         
            +
            ```
         
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
       119 
158 
     | 
    
         
             
            ### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy)
         
     | 
| 
      
 159 
     | 
    
         
            +
            ## <a name="alb_target_group">alb_target_group</a>
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
            AlbTargetGroup resource type.
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 164 
     | 
    
         
            +
             
     | 
| 
      
 165 
     | 
    
         
            +
            ### have_ec2
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 168 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 169 
     | 
    
         
            +
              it { should have_ec2('my-ec2') }
         
     | 
| 
      
 170 
     | 
    
         
            +
            end
         
     | 
| 
      
 171 
     | 
    
         
            +
            ```
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
      
 173 
     | 
    
         
            +
             
     | 
| 
      
 174 
     | 
    
         
            +
            ### belong_to_alb
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 177 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 178 
     | 
    
         
            +
              it { should belong_to_alb('my-alb') }
         
     | 
| 
      
 179 
     | 
    
         
            +
            end
         
     | 
| 
      
 180 
     | 
    
         
            +
            ```
         
     | 
| 
      
 181 
     | 
    
         
            +
             
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 186 
     | 
    
         
            +
            describe alb_target_group('my-alb-target-group') do
         
     | 
| 
      
 187 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 188 
     | 
    
         
            +
            end
         
     | 
| 
      
 189 
     | 
    
         
            +
            ```
         
     | 
| 
      
 190 
     | 
    
         
            +
             
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
            ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns)
         
     | 
| 
       120 
193 
     | 
    
         
             
            ## <a name="ami">ami</a>
         
     | 
| 
       121 
194 
     | 
    
         | 
| 
       122 
195 
     | 
    
         
             
            AMI resource type.
         
     | 
| 
         @@ -8,7 +8,8 @@ module Awspec::Generator 
     | 
|
| 
       8 
8 
     | 
    
         
             
                      @type = Awspec::Type::Alb.new('my-alb')
         
     | 
| 
       9 
9 
     | 
    
         
             
                      @ret = @type.resource_via_client
         
     | 
| 
       10 
10 
     | 
    
         
             
                      @matchers = [
         
     | 
| 
       11 
     | 
    
         
            -
                        Awspec::Type::Alb::STATES.map { |state| 'be_' + state }.join(', ')
         
     | 
| 
      
 11 
     | 
    
         
            +
                        Awspec::Type::Alb::STATES.map { |state| 'be_' + state }.join(', '),
         
     | 
| 
      
 12 
     | 
    
         
            +
                        'belong_to_vpc'
         
     | 
| 
       12 
13 
     | 
    
         
             
                      ]
         
     | 
| 
       13 
14 
     | 
    
         
             
                      @ignore_matchers = Awspec::Type::Alb::STATES.map { |state| 'be_' + state }
         
     | 
| 
       14 
15 
     | 
    
         
             
                      @describes = []
         
     | 
| 
         @@ -0,0 +1,17 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Doc
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Type
         
     | 
| 
      
 4 
     | 
    
         
            +
                  class AlbTargetGroup < Base
         
     | 
| 
      
 5 
     | 
    
         
            +
                    def initialize
         
     | 
| 
      
 6 
     | 
    
         
            +
                      super
         
     | 
| 
      
 7 
     | 
    
         
            +
                      @type_name = 'AlbTargetGroup'
         
     | 
| 
      
 8 
     | 
    
         
            +
                      @type = Awspec::Type::AlbTargetGroup.new('my-alb-target-group')
         
     | 
| 
      
 9 
     | 
    
         
            +
                      @ret = @type.resource_via_client
         
     | 
| 
      
 10 
     | 
    
         
            +
                      @matchers = %w(belong_to_alb belong_to_vpc)
         
     | 
| 
      
 11 
     | 
    
         
            +
                      @ignore_matchers = []
         
     | 
| 
      
 12 
     | 
    
         
            +
                      @describes = []
         
     | 
| 
      
 13 
     | 
    
         
            +
                    end
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -21,6 +21,24 @@ module Awspec::Helper 
     | 
|
| 
       21 
21 
     | 
    
         
             
                  rescue
         
     | 
| 
       22 
22 
     | 
    
         
             
                    return nil
         
     | 
| 
       23 
23 
     | 
    
         
             
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  def find_alb_target_group(id)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    res = elbv2_client.describe_target_groups({ names: [id] })
         
     | 
| 
      
 27 
     | 
    
         
            +
                    res.target_groups.single_resource(id)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  rescue
         
     | 
| 
      
 29 
     | 
    
         
            +
                    return nil
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  def select_rule_by_alb_listener_id(id)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    selected = []
         
     | 
| 
      
 34 
     | 
    
         
            +
                    next_marker = nil
         
     | 
| 
      
 35 
     | 
    
         
            +
                    loop do
         
     | 
| 
      
 36 
     | 
    
         
            +
                      res = elbv2_client.describe_rules(marker: next_marker, listener_arn: id)
         
     | 
| 
      
 37 
     | 
    
         
            +
                      selected += res.rules unless res.nil?
         
     | 
| 
      
 38 
     | 
    
         
            +
                      (res.nil? && next_marker = res.next_marker) || break
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                    selected
         
     | 
| 
      
 41 
     | 
    
         
            +
                  end
         
     | 
| 
       24 
42 
     | 
    
         
             
                end
         
     | 
| 
       25 
43 
     | 
    
         
             
              end
         
     | 
| 
       26 
44 
     | 
    
         
             
            end
         
     | 
    
        data/lib/awspec/helper/type.rb
    CHANGED
    
    | 
         @@ -15,7 +15,7 @@ module Awspec 
     | 
|
| 
       15 
15 
     | 
    
         
             
                    network_acl network_interface rds rds_db_cluster_parameter_group rds_db_parameter_group route53_hosted_zone
         
     | 
| 
       16 
16 
     | 
    
         
             
                    route_table s3_bucket security_group ses_identity subnet vpc cloudfront_distribution
         
     | 
| 
       17 
17 
     | 
    
         
             
                    elastictranscoder_pipeline waf_web_acl customer_gateway vpn_gateway vpn_connection internet_gateway acm
         
     | 
| 
       18 
     | 
    
         
            -
                    cloudwatch_logs dynamodb_table eip sqs alb_listener
         
     | 
| 
      
 18 
     | 
    
         
            +
                    cloudwatch_logs dynamodb_table eip sqs alb_listener alb_target_group
         
     | 
| 
       19 
19 
     | 
    
         
             
                  )
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                  ACCOUNT_ATTRIBUTES = %w(
         
     | 
    
        data/lib/awspec/matcher.rb
    CHANGED
    
    | 
         @@ -45,7 +45,7 @@ require 'awspec/matcher/have_origin' 
     | 
|
| 
       45 
45 
     | 
    
         
             
            # Kms
         
     | 
| 
       46 
46 
     | 
    
         
             
            require 'awspec/matcher/have_key_policy'
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
     | 
    
         
            -
            # WafWebAcl
         
     | 
| 
      
 48 
     | 
    
         
            +
            # WafWebAcl / AlbListener
         
     | 
| 
       49 
49 
     | 
    
         
             
            require 'awspec/matcher/have_rule'
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
            # CloudWatch Logs
         
     | 
| 
         @@ -57,3 +57,6 @@ require 'awspec/matcher/have_key_schema' 
     | 
|
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
            # EIP
         
     | 
| 
       59 
59 
     | 
    
         
             
            require 'awspec/matcher/belong_to_domain'
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            # Alb Target Group
         
     | 
| 
      
 62 
     | 
    
         
            +
            require 'awspec/matcher/belong_to_alb'
         
     | 
| 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            RSpec::Matchers.define :have_rule do |rule_id|
         
     | 
| 
       2 
     | 
    
         
            -
              match do | 
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
      
 2 
     | 
    
         
            +
              match do |type|
         
     | 
| 
      
 3 
     | 
    
         
            +
                return type.has_rule?(rule_id, @priority, @action) if type.instance_of?(Awspec::Type::WafWebAcl)
         
     | 
| 
      
 4 
     | 
    
         
            +
                type.has_rule?(rule_id, @priority, @conditions, @actions) if type.instance_of?(Awspec::Type::AlbListener)
         
     | 
| 
       4 
5 
     | 
    
         
             
              end
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
7 
     | 
    
         
             
              chain :priority do |priority|
         
     | 
| 
         @@ -14,4 +15,20 @@ RSpec::Matchers.define :have_rule do |rule_id| 
     | 
|
| 
       14 
15 
     | 
    
         
             
              chain :action do |action|
         
     | 
| 
       15 
16 
     | 
    
         
             
                @action = action
         
     | 
| 
       16 
17 
     | 
    
         
             
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              chain :conditions do |conditions|
         
     | 
| 
      
 20 
     | 
    
         
            +
                @conditions = conditions
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              chain :actions do |actions|
         
     | 
| 
      
 24 
     | 
    
         
            +
                @actions = actions
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              chain :if do |conditions|
         
     | 
| 
      
 28 
     | 
    
         
            +
                @conditions = conditions
         
     | 
| 
      
 29 
     | 
    
         
            +
              end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              chain :then do |actions|
         
     | 
| 
      
 32 
     | 
    
         
            +
                @actions = actions
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
       17 
34 
     | 
    
         
             
            end
         
     | 
| 
         @@ -51,6 +51,91 @@ Aws.config[:elasticloadbalancingv2] = { 
     | 
|
| 
       51 
51 
     | 
    
         
             
                      protocol: 'HTTP'
         
     | 
| 
       52 
52 
     | 
    
         
             
                    }
         
     | 
| 
       53 
53 
     | 
    
         
             
                  ]
         
     | 
| 
      
 54 
     | 
    
         
            +
                },
         
     | 
| 
      
 55 
     | 
    
         
            +
                describe_target_groups: {
         
     | 
| 
      
 56 
     | 
    
         
            +
                  target_groups: [
         
     | 
| 
      
 57 
     | 
    
         
            +
                    {
         
     | 
| 
      
 58 
     | 
    
         
            +
                      health_check_interval_seconds: 30,
         
     | 
| 
      
 59 
     | 
    
         
            +
                      health_check_path: '/',
         
     | 
| 
      
 60 
     | 
    
         
            +
                      health_check_port: 'traffic-port',
         
     | 
| 
      
 61 
     | 
    
         
            +
                      health_check_protocol: 'HTTP',
         
     | 
| 
      
 62 
     | 
    
         
            +
                      health_check_timeout_seconds: 5,
         
     | 
| 
      
 63 
     | 
    
         
            +
                      healthy_threshold_count: 5,
         
     | 
| 
      
 64 
     | 
    
         
            +
                      load_balancer_arns: [
         
     | 
| 
      
 65 
     | 
    
         
            +
                        'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:loadbalancer/app/my-alb/1aa1bb1cc1ddee11'
         
     | 
| 
      
 66 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 67 
     | 
    
         
            +
                      matcher: {
         
     | 
| 
      
 68 
     | 
    
         
            +
                        http_code: '200'
         
     | 
| 
      
 69 
     | 
    
         
            +
                      },
         
     | 
| 
      
 70 
     | 
    
         
            +
                      port: 80,
         
     | 
| 
      
 71 
     | 
    
         
            +
                      protocol: 'HTTP',
         
     | 
| 
      
 72 
     | 
    
         
            +
                      target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067',
         
     | 
| 
      
 73 
     | 
    
         
            +
                      target_group_name: 'my-alb-target-group',
         
     | 
| 
      
 74 
     | 
    
         
            +
                      unhealthy_threshold_count: 2,
         
     | 
| 
      
 75 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde'
         
     | 
| 
      
 76 
     | 
    
         
            +
                    }
         
     | 
| 
      
 77 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 78 
     | 
    
         
            +
                },
         
     | 
| 
      
 79 
     | 
    
         
            +
                describe_rules: {
         
     | 
| 
      
 80 
     | 
    
         
            +
                  rules: [
         
     | 
| 
      
 81 
     | 
    
         
            +
                    {
         
     | 
| 
      
 82 
     | 
    
         
            +
                      actions: [
         
     | 
| 
      
 83 
     | 
    
         
            +
                        {
         
     | 
| 
      
 84 
     | 
    
         
            +
                          target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/55556bc24d8a067/55556bc24d8a067',
         
     | 
| 
      
 85 
     | 
    
         
            +
                          type: 'forward'
         
     | 
| 
      
 86 
     | 
    
         
            +
                        }
         
     | 
| 
      
 87 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 88 
     | 
    
         
            +
                      conditions: [
         
     | 
| 
      
 89 
     | 
    
         
            +
                        {
         
     | 
| 
      
 90 
     | 
    
         
            +
                          field: 'host-header',
         
     | 
| 
      
 91 
     | 
    
         
            +
                          values: [
         
     | 
| 
      
 92 
     | 
    
         
            +
                            'admin.example.com'
         
     | 
| 
      
 93 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 94 
     | 
    
         
            +
                        },
         
     | 
| 
      
 95 
     | 
    
         
            +
                        {
         
     | 
| 
      
 96 
     | 
    
         
            +
                          field: 'path-pattern',
         
     | 
| 
      
 97 
     | 
    
         
            +
                          values: [
         
     | 
| 
      
 98 
     | 
    
         
            +
                            '/admin/*'
         
     | 
| 
      
 99 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 100 
     | 
    
         
            +
                        }
         
     | 
| 
      
 101 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 102 
     | 
    
         
            +
                      is_default: false,
         
     | 
| 
      
 103 
     | 
    
         
            +
                      priority: '50',
         
     | 
| 
      
 104 
     | 
    
         
            +
                      rule_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener-rule/app/my-alb/1aa1bb1cc1ddee11/7777778efc522ab2/7777778efc522ab2'
         
     | 
| 
      
 105 
     | 
    
         
            +
                    },
         
     | 
| 
      
 106 
     | 
    
         
            +
                    {
         
     | 
| 
      
 107 
     | 
    
         
            +
                      actions: [
         
     | 
| 
      
 108 
     | 
    
         
            +
                        {
         
     | 
| 
      
 109 
     | 
    
         
            +
                          target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067',
         
     | 
| 
      
 110 
     | 
    
         
            +
                          type: 'forward'
         
     | 
| 
      
 111 
     | 
    
         
            +
                        }
         
     | 
| 
      
 112 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 113 
     | 
    
         
            +
                      conditions: [
         
     | 
| 
      
 114 
     | 
    
         
            +
                        {
         
     | 
| 
      
 115 
     | 
    
         
            +
                          field: 'path-pattern',
         
     | 
| 
      
 116 
     | 
    
         
            +
                          values: [
         
     | 
| 
      
 117 
     | 
    
         
            +
                            '/img/*'
         
     | 
| 
      
 118 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 119 
     | 
    
         
            +
                        }
         
     | 
| 
      
 120 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 121 
     | 
    
         
            +
                      is_default: false,
         
     | 
| 
      
 122 
     | 
    
         
            +
                      priority: '10',
         
     | 
| 
      
 123 
     | 
    
         
            +
                      rule_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener-rule/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2/9683b2d02a6cabee'
         
     | 
| 
      
 124 
     | 
    
         
            +
                    },
         
     | 
| 
      
 125 
     | 
    
         
            +
                    {
         
     | 
| 
      
 126 
     | 
    
         
            +
                      actions: [
         
     | 
| 
      
 127 
     | 
    
         
            +
                        {
         
     | 
| 
      
 128 
     | 
    
         
            +
                          target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:targetgroup/my-targets/73e2d6bc24d8a067',
         
     | 
| 
      
 129 
     | 
    
         
            +
                          type: 'forward'
         
     | 
| 
      
 130 
     | 
    
         
            +
                        }
         
     | 
| 
      
 131 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 132 
     | 
    
         
            +
                      conditions: [
         
     | 
| 
      
 133 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 134 
     | 
    
         
            +
                      is_default: true,
         
     | 
| 
      
 135 
     | 
    
         
            +
                      priority: 'default',
         
     | 
| 
      
 136 
     | 
    
         
            +
                      rule_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener-rule/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2/defaaaaaaaultbbbb'
         
     | 
| 
      
 137 
     | 
    
         
            +
                    }
         
     | 
| 
      
 138 
     | 
    
         
            +
                  ]
         
     | 
| 
       54 
139 
     | 
    
         
             
                }
         
     | 
| 
       55 
140 
     | 
    
         
             
              }
         
     | 
| 
       56 
141 
     | 
    
         
             
            }
         
     | 
| 
         @@ -0,0 +1,325 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # rubocop:disable Metrics/LineLength
         
     | 
| 
      
 2 
     | 
    
         
            +
            Aws.config[:elasticloadbalancingv2] = {
         
     | 
| 
      
 3 
     | 
    
         
            +
              stub_responses: {
         
     | 
| 
      
 4 
     | 
    
         
            +
                describe_load_balancers: {
         
     | 
| 
      
 5 
     | 
    
         
            +
                  load_balancers: [
         
     | 
| 
      
 6 
     | 
    
         
            +
                    {
         
     | 
| 
      
 7 
     | 
    
         
            +
                      load_balancer_arn:
         
     | 
| 
      
 8 
     | 
    
         
            +
                        'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:loadbalancer/app/my-alb/1aa1bb1cc1ddee11',
         
     | 
| 
      
 9 
     | 
    
         
            +
                      dns_name:
         
     | 
| 
      
 10 
     | 
    
         
            +
                        'internal-my-elb-1551266724.ap-northeast-1.elb.amazonaws.com',
         
     | 
| 
      
 11 
     | 
    
         
            +
                      canonical_hosted_zone_id: 'A12BCDEDCBA34BC',
         
     | 
| 
      
 12 
     | 
    
         
            +
                      created_time: Time.new(2017, 4, 4, 9, 00, 00, '+00:00'),
         
     | 
| 
      
 13 
     | 
    
         
            +
                      load_balancer_name: 'my-alb',
         
     | 
| 
      
 14 
     | 
    
         
            +
                      scheme: 'internal',
         
     | 
| 
      
 15 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 16 
     | 
    
         
            +
                      state:
         
     | 
| 
      
 17 
     | 
    
         
            +
                        {
         
     | 
| 
      
 18 
     | 
    
         
            +
                          code: 'active',
         
     | 
| 
      
 19 
     | 
    
         
            +
                          reason: nil
         
     | 
| 
      
 20 
     | 
    
         
            +
                        },
         
     | 
| 
      
 21 
     | 
    
         
            +
                      type: 'application',
         
     | 
| 
      
 22 
     | 
    
         
            +
                      availability_zones:
         
     | 
| 
      
 23 
     | 
    
         
            +
                        [
         
     | 
| 
      
 24 
     | 
    
         
            +
                          {
         
     | 
| 
      
 25 
     | 
    
         
            +
                            zone_name: 'ap-northeast-1a',
         
     | 
| 
      
 26 
     | 
    
         
            +
                            subnet_id: 'subnet-1234a567'
         
     | 
| 
      
 27 
     | 
    
         
            +
                          },
         
     | 
| 
      
 28 
     | 
    
         
            +
                          {
         
     | 
| 
      
 29 
     | 
    
         
            +
                            zone_name: 'ap-northeast-1c',
         
     | 
| 
      
 30 
     | 
    
         
            +
                            subnet_id: 'subnet-abcd7890'
         
     | 
| 
      
 31 
     | 
    
         
            +
                          }
         
     | 
| 
      
 32 
     | 
    
         
            +
                        ],
         
     | 
| 
      
 33 
     | 
    
         
            +
                      security_groups: ['sg-1a2b3cd4'],
         
     | 
| 
      
 34 
     | 
    
         
            +
                      ip_address_type: 'ipv4'
         
     | 
| 
      
 35 
     | 
    
         
            +
                    }
         
     | 
| 
      
 36 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 37 
     | 
    
         
            +
                  next_marker: nil
         
     | 
| 
      
 38 
     | 
    
         
            +
                },
         
     | 
| 
      
 39 
     | 
    
         
            +
                describe_listeners: {
         
     | 
| 
      
 40 
     | 
    
         
            +
                  listeners: [
         
     | 
| 
      
 41 
     | 
    
         
            +
                    {
         
     | 
| 
      
 42 
     | 
    
         
            +
                      default_actions: [
         
     | 
| 
      
 43 
     | 
    
         
            +
                        {
         
     | 
| 
      
 44 
     | 
    
         
            +
                          target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:targetgroup/my-targets/73e2d6bc24d8a067',
         
     | 
| 
      
 45 
     | 
    
         
            +
                          type: 'forward'
         
     | 
| 
      
 46 
     | 
    
         
            +
                        }
         
     | 
| 
      
 47 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 48 
     | 
    
         
            +
                      listener_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:listener/app/my-alb/1aa1bb1cc1ddee11/f2f7dc8efc522ab2',
         
     | 
| 
      
 49 
     | 
    
         
            +
                      load_balancer_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:loadbalancer/app/my-alb/1aa1bb1cc1ddee11',
         
     | 
| 
      
 50 
     | 
    
         
            +
                      port: 80,
         
     | 
| 
      
 51 
     | 
    
         
            +
                      protocol: 'HTTP'
         
     | 
| 
      
 52 
     | 
    
         
            +
                    }
         
     | 
| 
      
 53 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 54 
     | 
    
         
            +
                },
         
     | 
| 
      
 55 
     | 
    
         
            +
                describe_target_groups: {
         
     | 
| 
      
 56 
     | 
    
         
            +
                  target_groups: [
         
     | 
| 
      
 57 
     | 
    
         
            +
                    {
         
     | 
| 
      
 58 
     | 
    
         
            +
                      health_check_interval_seconds: 30,
         
     | 
| 
      
 59 
     | 
    
         
            +
                      health_check_path: '/',
         
     | 
| 
      
 60 
     | 
    
         
            +
                      health_check_port: 'traffic-port',
         
     | 
| 
      
 61 
     | 
    
         
            +
                      health_check_protocol: 'HTTP',
         
     | 
| 
      
 62 
     | 
    
         
            +
                      health_check_timeout_seconds: 5,
         
     | 
| 
      
 63 
     | 
    
         
            +
                      healthy_threshold_count: 5,
         
     | 
| 
      
 64 
     | 
    
         
            +
                      load_balancer_arns: [
         
     | 
| 
      
 65 
     | 
    
         
            +
                        'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:loadbalancer/app/my-alb/1aa1bb1cc1ddee11'
         
     | 
| 
      
 66 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 67 
     | 
    
         
            +
                      matcher: {
         
     | 
| 
      
 68 
     | 
    
         
            +
                        http_code: '200'
         
     | 
| 
      
 69 
     | 
    
         
            +
                      },
         
     | 
| 
      
 70 
     | 
    
         
            +
                      port: 80,
         
     | 
| 
      
 71 
     | 
    
         
            +
                      protocol: 'HTTP',
         
     | 
| 
      
 72 
     | 
    
         
            +
                      target_group_arn: 'arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:123456789012:targetgroup/73e2d6bc24d8a067/73e2d6bc24d8a067',
         
     | 
| 
      
 73 
     | 
    
         
            +
                      target_group_name: 'my-alb-target-group',
         
     | 
| 
      
 74 
     | 
    
         
            +
                      unhealthy_threshold_count: 2,
         
     | 
| 
      
 75 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde'
         
     | 
| 
      
 76 
     | 
    
         
            +
                    }
         
     | 
| 
      
 77 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 78 
     | 
    
         
            +
                },
         
     | 
| 
      
 79 
     | 
    
         
            +
                describe_target_health: {
         
     | 
| 
      
 80 
     | 
    
         
            +
                  target_health_descriptions: [
         
     | 
| 
      
 81 
     | 
    
         
            +
                    {
         
     | 
| 
      
 82 
     | 
    
         
            +
                      target: {
         
     | 
| 
      
 83 
     | 
    
         
            +
                        id: 'i-0f76fade',
         
     | 
| 
      
 84 
     | 
    
         
            +
                        port: 80
         
     | 
| 
      
 85 
     | 
    
         
            +
                      },
         
     | 
| 
      
 86 
     | 
    
         
            +
                      target_health: {
         
     | 
| 
      
 87 
     | 
    
         
            +
                        description: 'Given target group is not configured to receive traffic from ELB',
         
     | 
| 
      
 88 
     | 
    
         
            +
                        reason: 'Target.NotInUse',
         
     | 
| 
      
 89 
     | 
    
         
            +
                        state: 'unused'
         
     | 
| 
      
 90 
     | 
    
         
            +
                      }
         
     | 
| 
      
 91 
     | 
    
         
            +
                    },
         
     | 
| 
      
 92 
     | 
    
         
            +
                    {
         
     | 
| 
      
 93 
     | 
    
         
            +
                      health_check_port: '80',
         
     | 
| 
      
 94 
     | 
    
         
            +
                      target: {
         
     | 
| 
      
 95 
     | 
    
         
            +
                        id: 'i-ec12345a',
         
     | 
| 
      
 96 
     | 
    
         
            +
                        port: 80
         
     | 
| 
      
 97 
     | 
    
         
            +
                      },
         
     | 
| 
      
 98 
     | 
    
         
            +
                      target_health: {
         
     | 
| 
      
 99 
     | 
    
         
            +
                        state: 'healthy'
         
     | 
| 
      
 100 
     | 
    
         
            +
                      }
         
     | 
| 
      
 101 
     | 
    
         
            +
                    }
         
     | 
| 
      
 102 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 103 
     | 
    
         
            +
                }
         
     | 
| 
      
 104 
     | 
    
         
            +
              }
         
     | 
| 
      
 105 
     | 
    
         
            +
            }
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            Aws.config[:ec2] = {
         
     | 
| 
      
 108 
     | 
    
         
            +
              stub_responses: {
         
     | 
| 
      
 109 
     | 
    
         
            +
                describe_instances: {
         
     | 
| 
      
 110 
     | 
    
         
            +
                  reservations: [
         
     | 
| 
      
 111 
     | 
    
         
            +
                    {
         
     | 
| 
      
 112 
     | 
    
         
            +
                      instances: [
         
     | 
| 
      
 113 
     | 
    
         
            +
                        {
         
     | 
| 
      
 114 
     | 
    
         
            +
                          instance_id: 'i-ec12345a',
         
     | 
| 
      
 115 
     | 
    
         
            +
                          image_id: 'ami-abc12def',
         
     | 
| 
      
 116 
     | 
    
         
            +
                          vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 117 
     | 
    
         
            +
                          subnet_id: 'subnet-1234a567',
         
     | 
| 
      
 118 
     | 
    
         
            +
                          public_ip_address: '123.0.456.789',
         
     | 
| 
      
 119 
     | 
    
         
            +
                          private_ip_address: '10.0.1.1',
         
     | 
| 
      
 120 
     | 
    
         
            +
                          instance_type: 't2.small',
         
     | 
| 
      
 121 
     | 
    
         
            +
                          state: {
         
     | 
| 
      
 122 
     | 
    
         
            +
                            name: 'running'
         
     | 
| 
      
 123 
     | 
    
         
            +
                          },
         
     | 
| 
      
 124 
     | 
    
         
            +
                          security_groups: [
         
     | 
| 
      
 125 
     | 
    
         
            +
                            {
         
     | 
| 
      
 126 
     | 
    
         
            +
                              group_id: 'sg-1a2b3cd4',
         
     | 
| 
      
 127 
     | 
    
         
            +
                              group_name: 'my-security-group-name'
         
     | 
| 
      
 128 
     | 
    
         
            +
                            }
         
     | 
| 
      
 129 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 130 
     | 
    
         
            +
                          iam_instance_profile: {
         
     | 
| 
      
 131 
     | 
    
         
            +
                            arn: 'arn:aws:iam::123456789012:instance-profile/Ec2IamProfileName',
         
     | 
| 
      
 132 
     | 
    
         
            +
                            id: 'ABCDEFGHIJKLMNOPQRSTU'
         
     | 
| 
      
 133 
     | 
    
         
            +
                          },
         
     | 
| 
      
 134 
     | 
    
         
            +
                          block_device_mappings: [
         
     | 
| 
      
 135 
     | 
    
         
            +
                            {
         
     | 
| 
      
 136 
     | 
    
         
            +
                              device_name: '/dev/sda',
         
     | 
| 
      
 137 
     | 
    
         
            +
                              ebs: {
         
     | 
| 
      
 138 
     | 
    
         
            +
                                volume_id: 'vol-123a123b'
         
     | 
| 
      
 139 
     | 
    
         
            +
                              }
         
     | 
| 
      
 140 
     | 
    
         
            +
                            }
         
     | 
| 
      
 141 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 142 
     | 
    
         
            +
                          network_interfaces: [
         
     | 
| 
      
 143 
     | 
    
         
            +
                            {
         
     | 
| 
      
 144 
     | 
    
         
            +
                              network_interface_id: 'eni-12ab3cde',
         
     | 
| 
      
 145 
     | 
    
         
            +
                              subnet_id: 'subnet-1234a567',
         
     | 
| 
      
 146 
     | 
    
         
            +
                              vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 147 
     | 
    
         
            +
                              attachment: {
         
     | 
| 
      
 148 
     | 
    
         
            +
                                device_index: 1
         
     | 
| 
      
 149 
     | 
    
         
            +
                              }
         
     | 
| 
      
 150 
     | 
    
         
            +
                            }
         
     | 
| 
      
 151 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 152 
     | 
    
         
            +
                          tags: [
         
     | 
| 
      
 153 
     | 
    
         
            +
                            {
         
     | 
| 
      
 154 
     | 
    
         
            +
                              key: 'Name',
         
     | 
| 
      
 155 
     | 
    
         
            +
                              value: 'my-ec2'
         
     | 
| 
      
 156 
     | 
    
         
            +
                            }
         
     | 
| 
      
 157 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 158 
     | 
    
         
            +
                        }
         
     | 
| 
      
 159 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 160 
     | 
    
         
            +
                    }
         
     | 
| 
      
 161 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 162 
     | 
    
         
            +
                },
         
     | 
| 
      
 163 
     | 
    
         
            +
                describe_security_groups: {
         
     | 
| 
      
 164 
     | 
    
         
            +
                  security_groups: [
         
     | 
| 
      
 165 
     | 
    
         
            +
                    {
         
     | 
| 
      
 166 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 167 
     | 
    
         
            +
                      owner_id: '112233445566',
         
     | 
| 
      
 168 
     | 
    
         
            +
                      group_id: 'sg-1a2b3cd4',
         
     | 
| 
      
 169 
     | 
    
         
            +
                      group_name: 'my-security-group-name',
         
     | 
| 
      
 170 
     | 
    
         
            +
                      tags: [
         
     | 
| 
      
 171 
     | 
    
         
            +
                        {
         
     | 
| 
      
 172 
     | 
    
         
            +
                          key: 'env',
         
     | 
| 
      
 173 
     | 
    
         
            +
                          value: 'dev'
         
     | 
| 
      
 174 
     | 
    
         
            +
                        }
         
     | 
| 
      
 175 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 176 
     | 
    
         
            +
                      ip_permissions: [
         
     | 
| 
      
 177 
     | 
    
         
            +
                        {
         
     | 
| 
      
 178 
     | 
    
         
            +
                          from_port: 80,
         
     | 
| 
      
 179 
     | 
    
         
            +
                          to_port: 80,
         
     | 
| 
      
 180 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 181 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 182 
     | 
    
         
            +
                            {
         
     | 
| 
      
 183 
     | 
    
         
            +
                              cidr_ip: '123.456.789.012/32'
         
     | 
| 
      
 184 
     | 
    
         
            +
                            },
         
     | 
| 
      
 185 
     | 
    
         
            +
                            {
         
     | 
| 
      
 186 
     | 
    
         
            +
                              cidr_ip: '456.789.123.456/32'
         
     | 
| 
      
 187 
     | 
    
         
            +
                            }
         
     | 
| 
      
 188 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 189 
     | 
    
         
            +
                          user_id_group_pairs: []
         
     | 
| 
      
 190 
     | 
    
         
            +
                        },
         
     | 
| 
      
 191 
     | 
    
         
            +
                        {
         
     | 
| 
      
 192 
     | 
    
         
            +
                          from_port: 22,
         
     | 
| 
      
 193 
     | 
    
         
            +
                          to_port: 22,
         
     | 
| 
      
 194 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 195 
     | 
    
         
            +
                          ip_ranges: [],
         
     | 
| 
      
 196 
     | 
    
         
            +
                          user_id_group_pairs: [
         
     | 
| 
      
 197 
     | 
    
         
            +
                            {
         
     | 
| 
      
 198 
     | 
    
         
            +
                              group_id: 'sg-5a6b7cd8',
         
     | 
| 
      
 199 
     | 
    
         
            +
                              group_name: 'group-name-sg'
         
     | 
| 
      
 200 
     | 
    
         
            +
                            }
         
     | 
| 
      
 201 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 202 
     | 
    
         
            +
                        },
         
     | 
| 
      
 203 
     | 
    
         
            +
                        {
         
     | 
| 
      
 204 
     | 
    
         
            +
                          from_port: 60_000,
         
     | 
| 
      
 205 
     | 
    
         
            +
                          to_port: 60_000,
         
     | 
| 
      
 206 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 207 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 208 
     | 
    
         
            +
                            {
         
     | 
| 
      
 209 
     | 
    
         
            +
                              cidr_ip: '100.456.789.012/32'
         
     | 
| 
      
 210 
     | 
    
         
            +
                            }
         
     | 
| 
      
 211 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 212 
     | 
    
         
            +
                          user_id_group_pairs: []
         
     | 
| 
      
 213 
     | 
    
         
            +
                        },
         
     | 
| 
      
 214 
     | 
    
         
            +
                        {
         
     | 
| 
      
 215 
     | 
    
         
            +
                          from_port: 70_000,
         
     | 
| 
      
 216 
     | 
    
         
            +
                          to_port: 70_000,
         
     | 
| 
      
 217 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 218 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 219 
     | 
    
         
            +
                            {
         
     | 
| 
      
 220 
     | 
    
         
            +
                              cidr_ip: '100.456.789.012/32'
         
     | 
| 
      
 221 
     | 
    
         
            +
                            }
         
     | 
| 
      
 222 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 223 
     | 
    
         
            +
                          user_id_group_pairs: []
         
     | 
| 
      
 224 
     | 
    
         
            +
                        },
         
     | 
| 
      
 225 
     | 
    
         
            +
                        {
         
     | 
| 
      
 226 
     | 
    
         
            +
                          from_port: 70_000,
         
     | 
| 
      
 227 
     | 
    
         
            +
                          to_port: 70_000,
         
     | 
| 
      
 228 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 229 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 230 
     | 
    
         
            +
                            {
         
     | 
| 
      
 231 
     | 
    
         
            +
                              cidr_ip: '101.456.789.012/32'
         
     | 
| 
      
 232 
     | 
    
         
            +
                            }
         
     | 
| 
      
 233 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 234 
     | 
    
         
            +
                          user_id_group_pairs: []
         
     | 
| 
      
 235 
     | 
    
         
            +
                        },
         
     | 
| 
      
 236 
     | 
    
         
            +
                        {
         
     | 
| 
      
 237 
     | 
    
         
            +
                          from_port: 50_000,
         
     | 
| 
      
 238 
     | 
    
         
            +
                          to_port: 50_009,
         
     | 
| 
      
 239 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 240 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 241 
     | 
    
         
            +
                            {
         
     | 
| 
      
 242 
     | 
    
         
            +
                              cidr_ip: '123.456.789.012/32'
         
     | 
| 
      
 243 
     | 
    
         
            +
                            }
         
     | 
| 
      
 244 
     | 
    
         
            +
                          ],
         
     | 
| 
      
 245 
     | 
    
         
            +
                          user_id_group_pairs: []
         
     | 
| 
      
 246 
     | 
    
         
            +
                        },
         
     | 
| 
      
 247 
     | 
    
         
            +
                        {
         
     | 
| 
      
 248 
     | 
    
         
            +
                          from_port: nil,
         
     | 
| 
      
 249 
     | 
    
         
            +
                          to_port: nil,
         
     | 
| 
      
 250 
     | 
    
         
            +
                          ip_protocol: '-1',
         
     | 
| 
      
 251 
     | 
    
         
            +
                          ip_ranges: [],
         
     | 
| 
      
 252 
     | 
    
         
            +
                          user_id_group_pairs: [
         
     | 
| 
      
 253 
     | 
    
         
            +
                            {
         
     | 
| 
      
 254 
     | 
    
         
            +
                              user_id: '1234567890',
         
     | 
| 
      
 255 
     | 
    
         
            +
                              group_name: nil,
         
     | 
| 
      
 256 
     | 
    
         
            +
                              group_id: 'sg-3a4b5cd6',
         
     | 
| 
      
 257 
     | 
    
         
            +
                              vpc_id: nil,
         
     | 
| 
      
 258 
     | 
    
         
            +
                              vpc_peering_connection_id: nil,
         
     | 
| 
      
 259 
     | 
    
         
            +
                              peering_status: nil
         
     | 
| 
      
 260 
     | 
    
         
            +
                            }
         
     | 
| 
      
 261 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 262 
     | 
    
         
            +
                        }
         
     | 
| 
      
 263 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 264 
     | 
    
         
            +
                      ip_permissions_egress: [
         
     | 
| 
      
 265 
     | 
    
         
            +
                        {
         
     | 
| 
      
 266 
     | 
    
         
            +
                          from_port: 50_000,
         
     | 
| 
      
 267 
     | 
    
         
            +
                          to_port: 50_000,
         
     | 
| 
      
 268 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 269 
     | 
    
         
            +
                          ip_ranges: [
         
     | 
| 
      
 270 
     | 
    
         
            +
                            {
         
     | 
| 
      
 271 
     | 
    
         
            +
                              cidr_ip: '100.456.789.012/32'
         
     | 
| 
      
 272 
     | 
    
         
            +
                            }
         
     | 
| 
      
 273 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 274 
     | 
    
         
            +
                        },
         
     | 
| 
      
 275 
     | 
    
         
            +
                        {
         
     | 
| 
      
 276 
     | 
    
         
            +
                          from_port: 8080,
         
     | 
| 
      
 277 
     | 
    
         
            +
                          to_port: 8080,
         
     | 
| 
      
 278 
     | 
    
         
            +
                          ip_protocol: 'tcp',
         
     | 
| 
      
 279 
     | 
    
         
            +
                          ip_ranges: [],
         
     | 
| 
      
 280 
     | 
    
         
            +
                          user_id_group_pairs: [
         
     | 
| 
      
 281 
     | 
    
         
            +
                            {
         
     | 
| 
      
 282 
     | 
    
         
            +
                              user_id: '5678901234',
         
     | 
| 
      
 283 
     | 
    
         
            +
                              group_name: 'group-in-other-aws-account-with-vpc-peering',
         
     | 
| 
      
 284 
     | 
    
         
            +
                              group_id: 'sg-9a8b7c6d',
         
     | 
| 
      
 285 
     | 
    
         
            +
                              vpc_id: 'vpc-5b6a7c8f',
         
     | 
| 
      
 286 
     | 
    
         
            +
                              vpc_peering_connection_id: 'pcx-f9e8d7c6',
         
     | 
| 
      
 287 
     | 
    
         
            +
                              peering_status: 'active'
         
     | 
| 
      
 288 
     | 
    
         
            +
                            }
         
     | 
| 
      
 289 
     | 
    
         
            +
                          ]
         
     | 
| 
      
 290 
     | 
    
         
            +
                        }
         
     | 
| 
      
 291 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 292 
     | 
    
         
            +
                    }
         
     | 
| 
      
 293 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 294 
     | 
    
         
            +
                },
         
     | 
| 
      
 295 
     | 
    
         
            +
                describe_subnets: {
         
     | 
| 
      
 296 
     | 
    
         
            +
                  subnets: [
         
     | 
| 
      
 297 
     | 
    
         
            +
                    {
         
     | 
| 
      
 298 
     | 
    
         
            +
                      state: 'available',
         
     | 
| 
      
 299 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 300 
     | 
    
         
            +
                      subnet_id: 'subnet-1234a567',
         
     | 
| 
      
 301 
     | 
    
         
            +
                      cidr_block: '10.0.1.0/24',
         
     | 
| 
      
 302 
     | 
    
         
            +
                      tags: [
         
     | 
| 
      
 303 
     | 
    
         
            +
                        {
         
     | 
| 
      
 304 
     | 
    
         
            +
                          key: 'Name',
         
     | 
| 
      
 305 
     | 
    
         
            +
                          value: 'my-subnet'
         
     | 
| 
      
 306 
     | 
    
         
            +
                        }
         
     | 
| 
      
 307 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 308 
     | 
    
         
            +
                    }
         
     | 
| 
      
 309 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 310 
     | 
    
         
            +
                },
         
     | 
| 
      
 311 
     | 
    
         
            +
                describe_vpcs: {
         
     | 
| 
      
 312 
     | 
    
         
            +
                  vpcs: [
         
     | 
| 
      
 313 
     | 
    
         
            +
                    {
         
     | 
| 
      
 314 
     | 
    
         
            +
                      vpc_id: 'vpc-ab123cde',
         
     | 
| 
      
 315 
     | 
    
         
            +
                      tags: [
         
     | 
| 
      
 316 
     | 
    
         
            +
                        {
         
     | 
| 
      
 317 
     | 
    
         
            +
                          key: 'Name',
         
     | 
| 
      
 318 
     | 
    
         
            +
                          value: 'my-vpc'
         
     | 
| 
      
 319 
     | 
    
         
            +
                        }
         
     | 
| 
      
 320 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 321 
     | 
    
         
            +
                    }
         
     | 
| 
      
 322 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 323 
     | 
    
         
            +
                }
         
     | 
| 
      
 324 
     | 
    
         
            +
              }
         
     | 
| 
      
 325 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -7,5 +7,30 @@ module Awspec::Type 
     | 
|
| 
       7 
7 
     | 
    
         
             
                def id
         
     | 
| 
       8 
8 
     | 
    
         
             
                  @id ||= resource_via_client.listener_arn if resource_via_client
         
     | 
| 
       9 
9 
     | 
    
         
             
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def has_rule?(rule_id = nil, priority = nil, conditions = nil, actions = nil)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  rules = select_rule_by_alb_listener_id(id)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  ret = rules.select do |rule|
         
     | 
| 
      
 14 
     | 
    
         
            +
                    conditions = [conditions] if conditions.is_a?(Hash)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    actions = [actions] if actions.is_a?(Hash)
         
     | 
| 
      
 16 
     | 
    
         
            +
                    next false if !rule_id.nil? && rule.rule_arn != rule_id
         
     | 
| 
      
 17 
     | 
    
         
            +
                    next false if !priority.nil? && rule.priority != priority
         
     | 
| 
      
 18 
     | 
    
         
            +
                    next false if !conditions.nil? && rule.conditions.map(&:to_h).sort_by(&:to_s) != conditions.sort_by(&:to_s)
         
     | 
| 
      
 19 
     | 
    
         
            +
                    unless actions.nil?
         
     | 
| 
      
 20 
     | 
    
         
            +
                      actions = actions.map do |action|
         
     | 
| 
      
 21 
     | 
    
         
            +
                        if action.key?(:target_group_name)
         
     | 
| 
      
 22 
     | 
    
         
            +
                          target_group = find_alb_target_group(action[:target_group_name])
         
     | 
| 
      
 23 
     | 
    
         
            +
                          action[:target_group_arn] = target_group.target_group_arn
         
     | 
| 
      
 24 
     | 
    
         
            +
                          action.delete(:target_group_name)
         
     | 
| 
      
 25 
     | 
    
         
            +
                        end
         
     | 
| 
      
 26 
     | 
    
         
            +
                        action
         
     | 
| 
      
 27 
     | 
    
         
            +
                      end
         
     | 
| 
      
 28 
     | 
    
         
            +
                      next false if rule.actions.map(&:to_h).sort_by(&:to_s) != actions.sort_by(&:to_s)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    end
         
     | 
| 
      
 30 
     | 
    
         
            +
                    true
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
                  ret.single_resource("rule_id = #{rule_id}, priority = #{priority}, \
         
     | 
| 
      
 33 
     | 
    
         
            +
            conditions = #{conditions}, actions = #{actions}")
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
       10 
35 
     | 
    
         
             
              end
         
     | 
| 
       11 
36 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Awspec::Type
         
     | 
| 
      
 2 
     | 
    
         
            +
              class AlbTargetGroup < ResourceBase
         
     | 
| 
      
 3 
     | 
    
         
            +
                def resource_via_client
         
     | 
| 
      
 4 
     | 
    
         
            +
                  @resource_via_client ||= find_alb_target_group(@display_name)
         
     | 
| 
      
 5 
     | 
    
         
            +
                end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                def id
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @id ||= resource_via_client.target_group_name if resource_via_client
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def has_ec2?(id)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  ec2 = find_ec2(id)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  return nil unless ec2
         
     | 
| 
      
 14 
     | 
    
         
            +
                  descriptions = elbv2_client.describe_target_health(
         
     | 
| 
      
 15 
     | 
    
         
            +
                    target_group_arn: resource_via_client.target_group_arn
         
     | 
| 
      
 16 
     | 
    
         
            +
                  ).target_health_descriptions
         
     | 
| 
      
 17 
     | 
    
         
            +
                  descriptions.find do |description|
         
     | 
| 
      
 18 
     | 
    
         
            +
                    description.target.id == ec2.instance_id
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/awspec/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: awspec
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.84.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - k1LoW
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2017-08- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-08-07 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rspec
         
     | 
| 
         @@ -209,6 +209,7 @@ files: 
     | 
|
| 
       209 
209 
     | 
    
         
             
            - doc/_resource_types/acm.md
         
     | 
| 
       210 
210 
     | 
    
         
             
            - doc/_resource_types/alb.md
         
     | 
| 
       211 
211 
     | 
    
         
             
            - doc/_resource_types/alb_listener.md
         
     | 
| 
      
 212 
     | 
    
         
            +
            - doc/_resource_types/alb_target_group.md
         
     | 
| 
       212 
213 
     | 
    
         
             
            - doc/_resource_types/ami.md
         
     | 
| 
       213 
214 
     | 
    
         
             
            - doc/_resource_types/autoscaling_group.md
         
     | 
| 
       214 
215 
     | 
    
         
             
            - doc/_resource_types/cloudfront_distribution.md
         
     | 
| 
         @@ -279,6 +280,7 @@ files: 
     | 
|
| 
       279 
280 
     | 
    
         
             
            - lib/awspec/generator/doc/type/acm.rb
         
     | 
| 
       280 
281 
     | 
    
         
             
            - lib/awspec/generator/doc/type/alb.rb
         
     | 
| 
       281 
282 
     | 
    
         
             
            - lib/awspec/generator/doc/type/alb_listener.rb
         
     | 
| 
      
 283 
     | 
    
         
            +
            - lib/awspec/generator/doc/type/alb_target_group.rb
         
     | 
| 
       282 
284 
     | 
    
         
             
            - lib/awspec/generator/doc/type/ami.rb
         
     | 
| 
       283 
285 
     | 
    
         
             
            - lib/awspec/generator/doc/type/autoscaling_group.rb
         
     | 
| 
       284 
286 
     | 
    
         
             
            - lib/awspec/generator/doc/type/base.rb
         
     | 
| 
         @@ -407,6 +409,7 @@ files: 
     | 
|
| 
       407 
409 
     | 
    
         
             
            - lib/awspec/matcher/be_denied.rb
         
     | 
| 
       408 
410 
     | 
    
         
             
            - lib/awspec/matcher/be_opened.rb
         
     | 
| 
       409 
411 
     | 
    
         
             
            - lib/awspec/matcher/be_opened_only.rb
         
     | 
| 
      
 412 
     | 
    
         
            +
            - lib/awspec/matcher/belong_to_alb.rb
         
     | 
| 
       410 
413 
     | 
    
         
             
            - lib/awspec/matcher/belong_to_cache_subnet_group.rb
         
     | 
| 
       411 
414 
     | 
    
         
             
            - lib/awspec/matcher/belong_to_db_subnet_group.rb
         
     | 
| 
       412 
415 
     | 
    
         
             
            - lib/awspec/matcher/belong_to_domain.rb
         
     | 
| 
         @@ -435,6 +438,7 @@ files: 
     | 
|
| 
       435 
438 
     | 
    
         
             
            - lib/awspec/stub/acm.rb
         
     | 
| 
       436 
439 
     | 
    
         
             
            - lib/awspec/stub/alb.rb
         
     | 
| 
       437 
440 
     | 
    
         
             
            - lib/awspec/stub/alb_listener.rb
         
     | 
| 
      
 441 
     | 
    
         
            +
            - lib/awspec/stub/alb_target_group.rb
         
     | 
| 
       438 
442 
     | 
    
         
             
            - lib/awspec/stub/ami.rb
         
     | 
| 
       439 
443 
     | 
    
         
             
            - lib/awspec/stub/autoscaling_group.rb
         
     | 
| 
       440 
444 
     | 
    
         
             
            - lib/awspec/stub/cloudfront_distribution.rb
         
     | 
| 
         @@ -494,6 +498,7 @@ files: 
     | 
|
| 
       494 
498 
     | 
    
         
             
            - lib/awspec/type/acm.rb
         
     | 
| 
       495 
499 
     | 
    
         
             
            - lib/awspec/type/alb.rb
         
     | 
| 
       496 
500 
     | 
    
         
             
            - lib/awspec/type/alb_listener.rb
         
     | 
| 
      
 501 
     | 
    
         
            +
            - lib/awspec/type/alb_target_group.rb
         
     | 
| 
       497 
502 
     | 
    
         
             
            - lib/awspec/type/ami.rb
         
     | 
| 
       498 
503 
     | 
    
         
             
            - lib/awspec/type/autoscaling_group.rb
         
     | 
| 
       499 
504 
     | 
    
         
             
            - lib/awspec/type/base.rb
         
     |