awspec 1.27.0 → 1.28.1
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/cloudformation_stack.md +8 -0
 - data/doc/_resource_types/eip.md +1 -1
 - data/doc/_resource_types/rds_db_cluster.md +47 -0
 - data/doc/_resource_types/rds_db_subnet_group.md +25 -0
 - data/doc/_resource_types/rds_global_cluster.md +37 -0
 - data/doc/_resource_types/vpc_endpoints.md +11 -7
 - data/doc/resource_types.md +168 -19
 - data/lib/awspec/command/generate.rb +12 -0
 - data/lib/awspec/generator/doc/type/rds_db_cluster.rb +21 -0
 - data/lib/awspec/generator/doc/type/rds_db_subnet_group.rb +19 -0
 - data/lib/awspec/generator/doc/type/rds_global_cluster.rb +21 -0
 - data/lib/awspec/generator/doc/type/vpc_endpoints.rb +5 -2
 - data/lib/awspec/generator/spec/rds_db_cluster.rb +46 -0
 - data/lib/awspec/generator/spec/rds_global_cluster.rb +40 -0
 - data/lib/awspec/generator/template.rb +1 -1
 - data/lib/awspec/generator.rb +2 -0
 - data/lib/awspec/helper/finder/ec2.rb +0 -14
 - data/lib/awspec/helper/finder/eip.rb +26 -0
 - data/lib/awspec/helper/finder/rds.rb +21 -0
 - data/lib/awspec/helper/finder.rb +2 -0
 - data/lib/awspec/helper/type.rb +3 -2
 - data/lib/awspec/matcher/belong_to_subnet.rb +21 -0
 - data/lib/awspec/matcher/have_cluster_member.rb +11 -0
 - data/lib/awspec/matcher.rb +1 -0
 - data/lib/awspec/stub/eip.rb +7 -1
 - data/lib/awspec/stub/rds_db_cluster.rb +119 -0
 - data/lib/awspec/stub/rds_db_subnet_group.rb +81 -0
 - data/lib/awspec/stub/rds_global_cluster.rb +39 -0
 - data/lib/awspec/type/cloudformation_stack.rb +3 -0
 - data/lib/awspec/type/eip.rb +1 -1
 - data/lib/awspec/type/rds_db_cluster.rb +75 -0
 - data/lib/awspec/type/rds_db_subnet_group.rb +19 -0
 - data/lib/awspec/type/rds_global_cluster.rb +36 -0
 - data/lib/awspec/version.rb +1 -1
 - metadata +18 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 9c039a40af7b57d9dff480f291fc73b2320c61a34e155ccf962b5bd77b92ade9
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: cc1b06bb52308839f57b0216497d762ba29e75be9586b781e488cfbb92b905d9
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 3c23f6c2fc84093a7fed2a96117036227a7d6006d225d094ad91487fceec2e6cf224fd0c3ae19a5ea695b1eaedbe070c829bf2d9275c390ab6d1a257e17bd399
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f8e0ef447b854ed2ae4c935aa0d2c463a2145c65ced5533006da2dc4f39806b1eb81d234311ebf1d619acc8747811f47299a4703895795d5d287759878c9665b
         
     | 
| 
         @@ -6,3 +6,11 @@ describe cloudformation_stack('my-cloudformation-stack') do 
     | 
|
| 
       6 
6 
     | 
    
         
             
              its(:stack_status) { should eq 'UPDATE_COMPLETE' }
         
     | 
| 
       7 
7 
     | 
    
         
             
            end
         
     | 
| 
       8 
8 
     | 
    
         
             
            ```
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ### have_tag
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 13 
     | 
    
         
            +
            describe cloudformation_stack('my-cloudformation-stack') do
         
     | 
| 
      
 14 
     | 
    
         
            +
              it { should have_tag('env').value('dev') }
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
            ```
         
     | 
    
        data/doc/_resource_types/eip.md
    CHANGED
    
    
| 
         @@ -0,0 +1,47 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ### first
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 4 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 5 
     | 
    
         
            +
              its(:db_cluster_parameter_group) { should eq 'default.aurora-mysql5.7' }
         
     | 
| 
      
 6 
     | 
    
         
            +
              its(:engine) { should eq 'aurora-mysql' }
         
     | 
| 
      
 7 
     | 
    
         
            +
              its(:engine_version) { should eq '5.7.mysql_aurora.2.10.2' }
         
     | 
| 
      
 8 
     | 
    
         
            +
              its(:database_name) { should eq 'example_db' }
         
     | 
| 
      
 9 
     | 
    
         
            +
              its(:storage_encrypted) { should eq false }
         
     | 
| 
      
 10 
     | 
    
         
            +
              its(:deletion_protection) { should eq false }
         
     | 
| 
      
 11 
     | 
    
         
            +
            end
         
     | 
| 
      
 12 
     | 
    
         
            +
            ```
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 17 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 18 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
      
 20 
     | 
    
         
            +
            ```
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            ### be_available, be_creating, be_deleting
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 25 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 26 
     | 
    
         
            +
              it { should be_available }
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
| 
      
 28 
     | 
    
         
            +
            ```
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            ### have_cluster_member
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 33 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 34 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-1') }
         
     | 
| 
      
 35 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-1').is_writer(true) }
         
     | 
| 
      
 36 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-2').is_writer(false) }
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
| 
      
 38 
     | 
    
         
            +
            ```
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            ### have_security_group
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 43 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 44 
     | 
    
         
            +
              it { should have_security_group('sg-5a6b7cd8') }
         
     | 
| 
      
 45 
     | 
    
         
            +
              it { should have_security_group('my-db-sg') }
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
| 
      
 47 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 4 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 5 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 6 
     | 
    
         
            +
            end
         
     | 
| 
      
 7 
     | 
    
         
            +
            ```
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ### belong_to_subnet
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 12 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 13 
     | 
    
         
            +
              it { should belong_to_subnet('subnet-1234a567') }
         
     | 
| 
      
 14 
     | 
    
         
            +
              it { should belong_to_subnet('db-subnet-a') }
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
            ```
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 21 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 22 
     | 
    
         
            +
              it { should belong_to_vpc('vpc-ab123cde') }
         
     | 
| 
      
 23 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
      
 25 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ### first
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 4 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 5 
     | 
    
         
            +
              its(:engine) { should eq 'aurora-mysql' }
         
     | 
| 
      
 6 
     | 
    
         
            +
              its(:engine_version) { should eq '5.7.mysql_aurora.2.10.2' }
         
     | 
| 
      
 7 
     | 
    
         
            +
              its(:database_name) { should eq 'example_db' }
         
     | 
| 
      
 8 
     | 
    
         
            +
              its(:storage_encrypted) { should eq false }
         
     | 
| 
      
 9 
     | 
    
         
            +
              its(:deletion_protection) { should eq false }
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
      
 11 
     | 
    
         
            +
            ```
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 16 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 17 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
      
 19 
     | 
    
         
            +
            ```
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            ### be_available, be_creating, be_deleting
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 24 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 25 
     | 
    
         
            +
              it { should be_available }
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
      
 27 
     | 
    
         
            +
            ```
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            ### have_cluster_member
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 32 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 33 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-1:123456789012:cluster:my-primary-cluster') }
         
     | 
| 
      
 34 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-1:123456789012:cluster:my-primary-cluster').is_writer(true) }
         
     | 
| 
      
 35 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-3:123456789012:cluster:my-secondary-cluster').is_writer(false) }
         
     | 
| 
      
 36 
     | 
    
         
            +
            end
         
     | 
| 
      
 37 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -1,11 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ###  
     | 
| 
      
 1 
     | 
    
         
            +
            ### first
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ```ruby
         
     | 
| 
       4 
     | 
    
         
            -
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
       5 
     | 
    
         
            -
              it { should exist }
         
     | 
| 
       6 
     | 
    
         
            -
            end
         
     | 
| 
       7 
     | 
    
         
            -
            ```
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
4 
     | 
    
         
             
            describe vpc_endpoints('vpce-05907f23265b25f20'), region: $tfvars["region"]["value"] do
         
     | 
| 
       10 
5 
     | 
    
         
             
              it { should exist }
         
     | 
| 
       11 
6 
     | 
    
         
             
              it { should be_available }
         
     | 
| 
         @@ -15,11 +10,20 @@ describe vpc_endpoints('vpce-05907f23265b25f20'), region: $tfvars["region"]["val 
     | 
|
| 
       15 
10 
     | 
    
         
             
              its(:vpc_endpoint_type) { should eq 'Interface' }
         
     | 
| 
       16 
11 
     | 
    
         
             
              its(:service_name) { should eq 'com.amazonaws.eu-west-1.codebuild' }
         
     | 
| 
       17 
12 
     | 
    
         
             
            end
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 18 
     | 
    
         
            +
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
      
 19 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
| 
      
 21 
     | 
    
         
            +
            ```
         
     | 
| 
       18 
22 
     | 
    
         | 
| 
       19 
23 
     | 
    
         
             
            ### be_pendingacceptance, be_pending, be_available, be_deleting, be_deleted, be_rejected, be_failed, be_expired
         
     | 
| 
       20 
24 
     | 
    
         | 
| 
       21 
25 
     | 
    
         
             
            ```ruby
         
     | 
| 
       22 
     | 
    
         
            -
            describe  
     | 
| 
      
 26 
     | 
    
         
            +
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
       23 
27 
     | 
    
         
             
              it { should be_available }
         
     | 
| 
       24 
28 
     | 
    
         
             
            end
         
     | 
| 
       25 
29 
     | 
    
         
             
            ```
         
     | 
    
        data/doc/resource_types.md
    CHANGED
    
    | 
         @@ -61,8 +61,11 @@ 
     | 
|
| 
       61 
61 
     | 
    
         
             
            | [nlb_listener](#nlb_listener)
         
     | 
| 
       62 
62 
     | 
    
         
             
            | [nlb_target_group](#nlb_target_group)
         
     | 
| 
       63 
63 
     | 
    
         
             
            | [rds](#rds)
         
     | 
| 
      
 64 
     | 
    
         
            +
            | [rds_db_cluster](#rds_db_cluster)
         
     | 
| 
       64 
65 
     | 
    
         
             
            | [rds_db_cluster_parameter_group](#rds_db_cluster_parameter_group)
         
     | 
| 
       65 
66 
     | 
    
         
             
            | [rds_db_parameter_group](#rds_db_parameter_group)
         
     | 
| 
      
 67 
     | 
    
         
            +
            | [rds_db_subnet_group](#rds_db_subnet_group)
         
     | 
| 
      
 68 
     | 
    
         
            +
            | [rds_global_cluster](#rds_global_cluster)
         
     | 
| 
       66 
69 
     | 
    
         
             
            | [rds_proxy](#rds_proxy)
         
     | 
| 
       67 
70 
     | 
    
         
             
            | [redshift](#redshift)
         
     | 
| 
       68 
71 
     | 
    
         
             
            | [redshift_cluster_parameter_group](#redshift_cluster_parameter_group)
         
     | 
| 
         @@ -454,6 +457,15 @@ describe cloudformation_stack('my-cloudformation-stack') do 
     | 
|
| 
       454 
457 
     | 
    
         
             
            end
         
     | 
| 
       455 
458 
     | 
    
         
             
            ```
         
     | 
| 
       456 
459 
     | 
    
         | 
| 
      
 460 
     | 
    
         
            +
             
     | 
| 
      
 461 
     | 
    
         
            +
            ### have_tag
         
     | 
| 
      
 462 
     | 
    
         
            +
             
     | 
| 
      
 463 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 464 
     | 
    
         
            +
            describe cloudformation_stack('my-cloudformation-stack') do
         
     | 
| 
      
 465 
     | 
    
         
            +
              it { should have_tag('env').value('dev') }
         
     | 
| 
      
 466 
     | 
    
         
            +
            end
         
     | 
| 
      
 467 
     | 
    
         
            +
            ```
         
     | 
| 
      
 468 
     | 
    
         
            +
             
     | 
| 
       457 
469 
     | 
    
         
             
            ### its(:stack_id), its(:stack_name), its(:change_set_id), its(:description), its(:parameters), its(:creation_time), its(:deletion_time), its(:last_updated_time), its(:rollback_configuration), its(:stack_status), its(:stack_status_reason), its(:disable_rollback), its(:notification_arns), its(:timeout_in_minutes), its(:capabilities), its(:role_arn), its(:enable_termination_protection), its(:parent_id), its(:root_id), its(:drift_information)
         
     | 
| 
       458 
470 
     | 
    
         
             
            ## <a name="cloudfront_distribution">cloudfront_distribution</a>
         
     | 
| 
       459 
471 
     | 
    
         | 
| 
         @@ -1324,7 +1336,7 @@ Elastic IP resource type. 
     | 
|
| 
       1324 
1336 
     | 
    
         
             
            ### exist
         
     | 
| 
       1325 
1337 
     | 
    
         | 
| 
       1326 
1338 
     | 
    
         
             
            ```ruby
         
     | 
| 
       1327 
     | 
    
         
            -
            describe eip(' 
     | 
| 
      
 1339 
     | 
    
         
            +
            describe eip('my-eip') do
         
     | 
| 
       1328 
1340 
     | 
    
         
             
              it { should exist }
         
     | 
| 
       1329 
1341 
     | 
    
         
             
            end
         
     | 
| 
       1330 
1342 
     | 
    
         
             
            ```
         
     | 
| 
         @@ -2856,7 +2868,7 @@ end 
     | 
|
| 
       2856 
2868 
     | 
    
         
             
            ```
         
     | 
| 
       2857 
2869 
     | 
    
         | 
| 
       2858 
2870 
     | 
    
         | 
| 
       2859 
     | 
    
         
            -
            ### its(:vpc_id), its(:db_instance_identifier), its(:db_instance_class), its(:engine), its(:db_instance_status), its(:automatic_restart_time), its(:master_username), its(:db_name), its(:endpoint), its(:allocated_storage), its(:instance_create_time), its(:preferred_backup_window), its(:backup_retention_period), its(:db_security_groups), its(:availability_zone), its(:preferred_maintenance_window), its(:pending_modified_values), its(:latest_restorable_time), its(:multi_az), its(:engine_version), its(:auto_minor_version_upgrade), its(:read_replica_source_db_instance_identifier), its(:read_replica_db_instance_identifiers), its(:read_replica_db_cluster_identifiers), its(:replica_mode), its(:license_model), its(:iops), its(:character_set_name), its(:nchar_character_set_name), its(:secondary_availability_zone), its(:publicly_accessible), its(:status_infos), its(:storage_type), its(:tde_credential_arn), its(:db_instance_port), its(:db_cluster_identifier), its(:storage_encrypted), its(:kms_key_id), its(:dbi_resource_id), its(:ca_certificate_identifier), its(:domain_memberships), its(:copy_tags_to_snapshot), its(:monitoring_interval), its(:enhanced_monitoring_resource_arn), its(:monitoring_role_arn), its(:promotion_tier), its(:db_instance_arn), its(:timezone), its(:iam_database_authentication_enabled), its(:performance_insights_enabled), its(:performance_insights_kms_key_id), its(:performance_insights_retention_period), its(:enabled_cloudwatch_logs_exports), its(:processor_features), its(:deletion_protection), its(:associated_roles), its(:listener_endpoint), its(:max_allocated_storage), its(:tag_list), its(:db_instance_automated_backups_replications), its(:customer_owned_ip_enabled), its(:aws_backup_recovery_point_arn), its(:activity_stream_status), its(:activity_stream_kms_key_id), its(:activity_stream_kinesis_stream_name), its(:activity_stream_mode), its(:activity_stream_engine_native_audit_fields_included), its(:automation_mode), its(:resume_full_automation_mode_time), its(:custom_iam_instance_profile), its(:backup_target), its(:network_type)
         
     | 
| 
      
 2871 
     | 
    
         
            +
            ### its(:vpc_id), its(:db_instance_identifier), its(:db_instance_class), its(:engine), its(:db_instance_status), its(:automatic_restart_time), its(:master_username), its(:db_name), its(:endpoint), its(:allocated_storage), its(:instance_create_time), its(:preferred_backup_window), its(:backup_retention_period), its(:db_security_groups), its(:availability_zone), its(:preferred_maintenance_window), its(:pending_modified_values), its(:latest_restorable_time), its(:multi_az), its(:engine_version), its(:auto_minor_version_upgrade), its(:read_replica_source_db_instance_identifier), its(:read_replica_db_instance_identifiers), its(:read_replica_db_cluster_identifiers), its(:replica_mode), its(:license_model), its(:iops), its(:character_set_name), its(:nchar_character_set_name), its(:secondary_availability_zone), its(:publicly_accessible), its(:status_infos), its(:storage_type), its(:tde_credential_arn), its(:db_instance_port), its(:db_cluster_identifier), its(:storage_encrypted), its(:kms_key_id), its(:dbi_resource_id), its(:ca_certificate_identifier), its(:domain_memberships), its(:copy_tags_to_snapshot), its(:monitoring_interval), its(:enhanced_monitoring_resource_arn), its(:monitoring_role_arn), its(:promotion_tier), its(:db_instance_arn), its(:timezone), its(:iam_database_authentication_enabled), its(:performance_insights_enabled), its(:performance_insights_kms_key_id), its(:performance_insights_retention_period), its(:enabled_cloudwatch_logs_exports), its(:processor_features), its(:deletion_protection), its(:associated_roles), its(:listener_endpoint), its(:max_allocated_storage), its(:tag_list), its(:db_instance_automated_backups_replications), its(:customer_owned_ip_enabled), its(:aws_backup_recovery_point_arn), its(:activity_stream_status), its(:activity_stream_kms_key_id), its(:activity_stream_kinesis_stream_name), its(:activity_stream_mode), its(:activity_stream_engine_native_audit_fields_included), its(:automation_mode), its(:resume_full_automation_mode_time), its(:custom_iam_instance_profile), its(:backup_target), its(:network_type), its(:activity_stream_policy_status)
         
     | 
| 
       2860 
2872 
     | 
    
         
             
            ### :unlock: Advanced use
         
     | 
| 
       2861 
2873 
     | 
    
         | 
| 
       2862 
2874 
     | 
    
         
             
            `rds` can use `Aws::RDS::DBInstance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/RDS/DBInstance.html).
         
     | 
| 
         @@ -2875,6 +2887,61 @@ describe rds('my-rds') do 
     | 
|
| 
       2875 
2887 
     | 
    
         
             
            end
         
     | 
| 
       2876 
2888 
     | 
    
         
             
            ```
         
     | 
| 
       2877 
2889 
     | 
    
         | 
| 
      
 2890 
     | 
    
         
            +
            ## <a name="rds_db_cluster">rds_db_cluster</a>
         
     | 
| 
      
 2891 
     | 
    
         
            +
             
     | 
| 
      
 2892 
     | 
    
         
            +
            RdsDbCluster resource type.
         
     | 
| 
      
 2893 
     | 
    
         
            +
             
     | 
| 
      
 2894 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2895 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 2896 
     | 
    
         
            +
              its(:db_cluster_parameter_group) { should eq 'default.aurora-mysql5.7' }
         
     | 
| 
      
 2897 
     | 
    
         
            +
              its(:engine) { should eq 'aurora-mysql' }
         
     | 
| 
      
 2898 
     | 
    
         
            +
              its(:engine_version) { should eq '5.7.mysql_aurora.2.10.2' }
         
     | 
| 
      
 2899 
     | 
    
         
            +
              its(:database_name) { should eq 'example_db' }
         
     | 
| 
      
 2900 
     | 
    
         
            +
              its(:storage_encrypted) { should eq false }
         
     | 
| 
      
 2901 
     | 
    
         
            +
              its(:deletion_protection) { should eq false }
         
     | 
| 
      
 2902 
     | 
    
         
            +
            end
         
     | 
| 
      
 2903 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2904 
     | 
    
         
            +
             
     | 
| 
      
 2905 
     | 
    
         
            +
             
     | 
| 
      
 2906 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 2907 
     | 
    
         
            +
             
     | 
| 
      
 2908 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2909 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 2910 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 2911 
     | 
    
         
            +
            end
         
     | 
| 
      
 2912 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2913 
     | 
    
         
            +
             
     | 
| 
      
 2914 
     | 
    
         
            +
             
     | 
| 
      
 2915 
     | 
    
         
            +
            ### be_available, be_creating, be_deleting
         
     | 
| 
      
 2916 
     | 
    
         
            +
             
     | 
| 
      
 2917 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2918 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 2919 
     | 
    
         
            +
              it { should be_available }
         
     | 
| 
      
 2920 
     | 
    
         
            +
            end
         
     | 
| 
      
 2921 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2922 
     | 
    
         
            +
             
     | 
| 
      
 2923 
     | 
    
         
            +
             
     | 
| 
      
 2924 
     | 
    
         
            +
            ### have_cluster_member
         
     | 
| 
      
 2925 
     | 
    
         
            +
             
     | 
| 
      
 2926 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2927 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 2928 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-1') }
         
     | 
| 
      
 2929 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-1').is_writer(true) }
         
     | 
| 
      
 2930 
     | 
    
         
            +
              it { should have_cluster_member('my-rds-db-cluster-instance-2').is_writer(false) }
         
     | 
| 
      
 2931 
     | 
    
         
            +
            end
         
     | 
| 
      
 2932 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2933 
     | 
    
         
            +
             
     | 
| 
      
 2934 
     | 
    
         
            +
             
     | 
| 
      
 2935 
     | 
    
         
            +
            ### have_security_group
         
     | 
| 
      
 2936 
     | 
    
         
            +
             
     | 
| 
      
 2937 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2938 
     | 
    
         
            +
            describe rds_db_cluster('my-rds-db-cluster') do
         
     | 
| 
      
 2939 
     | 
    
         
            +
              it { should have_security_group('sg-5a6b7cd8') }
         
     | 
| 
      
 2940 
     | 
    
         
            +
              it { should have_security_group('my-db-sg') }
         
     | 
| 
      
 2941 
     | 
    
         
            +
            end
         
     | 
| 
      
 2942 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2943 
     | 
    
         
            +
             
     | 
| 
      
 2944 
     | 
    
         
            +
            ### its(:allocated_storage), its(:availability_zones), its(:backup_retention_period), its(:character_set_name), its(:database_name), its(:db_cluster_identifier), its(:db_cluster_parameter_group), its(:db_subnet_group), its(:status), its(:automatic_restart_time), its(:percent_progress), its(:earliest_restorable_time), its(:endpoint), its(:reader_endpoint), its(:custom_endpoints), its(:multi_az), its(:engine), its(:engine_version), its(:latest_restorable_time), its(:port), its(:master_username), its(:db_cluster_option_group_memberships), its(:preferred_backup_window), its(:preferred_maintenance_window), its(:replication_source_identifier), its(:read_replica_identifiers), its(:hosted_zone_id), its(:storage_encrypted), its(:kms_key_id), its(:db_cluster_resource_id), its(:db_cluster_arn), its(:associated_roles), its(:iam_database_authentication_enabled), its(:clone_group_id), its(:cluster_create_time), its(:earliest_backtrack_time), its(:backtrack_window), its(:backtrack_consumed_change_records), its(:enabled_cloudwatch_logs_exports), its(:capacity), its(:engine_mode), its(:scaling_configuration_info), its(:deletion_protection), its(:http_endpoint_enabled), its(:activity_stream_mode), its(:activity_stream_status), its(:activity_stream_kms_key_id), its(:activity_stream_kinesis_stream_name), its(:copy_tags_to_snapshot), its(:cross_account_clone), its(:domain_memberships), its(:tag_list), its(:global_write_forwarding_status), its(:global_write_forwarding_requested), its(:pending_modified_values), its(:db_cluster_instance_class), its(:storage_type), its(:iops), its(:publicly_accessible), its(:auto_minor_version_upgrade), its(:monitoring_interval), its(:monitoring_role_arn), its(:performance_insights_enabled), its(:performance_insights_kms_key_id), its(:performance_insights_retention_period), its(:serverless_v2_scaling_configuration), its(:network_type)
         
     | 
| 
       2878 
2945 
     | 
    
         
             
            ## <a name="rds_db_cluster_parameter_group">rds_db_cluster_parameter_group</a>
         
     | 
| 
       2879 
2946 
     | 
    
         | 
| 
       2880 
2947 
     | 
    
         
             
            RdsDbClusterParameterGroup resource type.
         
     | 
| 
         @@ -2916,6 +2983,83 @@ end 
     | 
|
| 
       2916 
2983 
     | 
    
         
             
            ```
         
     | 
| 
       2917 
2984 
     | 
    
         | 
| 
       2918 
2985 
     | 
    
         | 
| 
      
 2986 
     | 
    
         
            +
            ## <a name="rds_db_subnet_group">rds_db_subnet_group</a>
         
     | 
| 
      
 2987 
     | 
    
         
            +
             
     | 
| 
      
 2988 
     | 
    
         
            +
            RdsDbSubnetGroup resource type.
         
     | 
| 
      
 2989 
     | 
    
         
            +
             
     | 
| 
      
 2990 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 2991 
     | 
    
         
            +
             
     | 
| 
      
 2992 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 2993 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 2994 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 2995 
     | 
    
         
            +
            end
         
     | 
| 
      
 2996 
     | 
    
         
            +
            ```
         
     | 
| 
      
 2997 
     | 
    
         
            +
             
     | 
| 
      
 2998 
     | 
    
         
            +
             
     | 
| 
      
 2999 
     | 
    
         
            +
            ### belong_to_subnet
         
     | 
| 
      
 3000 
     | 
    
         
            +
             
     | 
| 
      
 3001 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3002 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 3003 
     | 
    
         
            +
              it { should belong_to_subnet('subnet-1234a567') }
         
     | 
| 
      
 3004 
     | 
    
         
            +
              it { should belong_to_subnet('db-subnet-a') }
         
     | 
| 
      
 3005 
     | 
    
         
            +
            end
         
     | 
| 
      
 3006 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3007 
     | 
    
         
            +
             
     | 
| 
      
 3008 
     | 
    
         
            +
             
     | 
| 
      
 3009 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 3010 
     | 
    
         
            +
             
     | 
| 
      
 3011 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3012 
     | 
    
         
            +
            describe rds_db_subnet_group('my-rds-db-subnet-group') do
         
     | 
| 
      
 3013 
     | 
    
         
            +
              it { should belong_to_vpc('vpc-ab123cde') }
         
     | 
| 
      
 3014 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 3015 
     | 
    
         
            +
            end
         
     | 
| 
      
 3016 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3017 
     | 
    
         
            +
             
     | 
| 
      
 3018 
     | 
    
         
            +
            ### its(:vpc_id), its(:db_subnet_group_name), its(:db_subnet_group_description), its(:vpc_id), its(:subnet_group_status), its(:db_subnet_group_arn), its(:supported_network_types)
         
     | 
| 
      
 3019 
     | 
    
         
            +
            ## <a name="rds_global_cluster">rds_global_cluster</a>
         
     | 
| 
      
 3020 
     | 
    
         
            +
             
     | 
| 
      
 3021 
     | 
    
         
            +
            RdsGlobalCluster resource type.
         
     | 
| 
      
 3022 
     | 
    
         
            +
             
     | 
| 
      
 3023 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3024 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 3025 
     | 
    
         
            +
              its(:engine) { should eq 'aurora-mysql' }
         
     | 
| 
      
 3026 
     | 
    
         
            +
              its(:engine_version) { should eq '5.7.mysql_aurora.2.10.2' }
         
     | 
| 
      
 3027 
     | 
    
         
            +
              its(:database_name) { should eq 'example_db' }
         
     | 
| 
      
 3028 
     | 
    
         
            +
              its(:storage_encrypted) { should eq false }
         
     | 
| 
      
 3029 
     | 
    
         
            +
              its(:deletion_protection) { should eq false }
         
     | 
| 
      
 3030 
     | 
    
         
            +
            end
         
     | 
| 
      
 3031 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3032 
     | 
    
         
            +
             
     | 
| 
      
 3033 
     | 
    
         
            +
             
     | 
| 
      
 3034 
     | 
    
         
            +
            ### exist
         
     | 
| 
      
 3035 
     | 
    
         
            +
             
     | 
| 
      
 3036 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3037 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 3038 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 3039 
     | 
    
         
            +
            end
         
     | 
| 
      
 3040 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3041 
     | 
    
         
            +
             
     | 
| 
      
 3042 
     | 
    
         
            +
             
     | 
| 
      
 3043 
     | 
    
         
            +
            ### be_available, be_creating, be_deleting
         
     | 
| 
      
 3044 
     | 
    
         
            +
             
     | 
| 
      
 3045 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3046 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 3047 
     | 
    
         
            +
              it { should be_available }
         
     | 
| 
      
 3048 
     | 
    
         
            +
            end
         
     | 
| 
      
 3049 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3050 
     | 
    
         
            +
             
     | 
| 
      
 3051 
     | 
    
         
            +
             
     | 
| 
      
 3052 
     | 
    
         
            +
            ### have_cluster_member
         
     | 
| 
      
 3053 
     | 
    
         
            +
             
     | 
| 
      
 3054 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3055 
     | 
    
         
            +
            describe rds_global_cluster('my-rds-global-cluster') do
         
     | 
| 
      
 3056 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-1:123456789012:cluster:my-primary-cluster') }
         
     | 
| 
      
 3057 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-1:123456789012:cluster:my-primary-cluster').is_writer(true) }
         
     | 
| 
      
 3058 
     | 
    
         
            +
              it { should have_cluster_member('arn:aws:rds:ap-northeast-3:123456789012:cluster:my-secondary-cluster').is_writer(false) }
         
     | 
| 
      
 3059 
     | 
    
         
            +
            end
         
     | 
| 
      
 3060 
     | 
    
         
            +
            ```
         
     | 
| 
      
 3061 
     | 
    
         
            +
             
     | 
| 
      
 3062 
     | 
    
         
            +
            ### its(:global_cluster_identifier), its(:global_cluster_resource_id), its(:global_cluster_arn), its(:status), its(:engine), its(:engine_version), its(:database_name), its(:storage_encrypted), its(:deletion_protection), its(:failover_state)
         
     | 
| 
       2919 
3063 
     | 
    
         
             
            ## <a name="rds_proxy">rds_proxy</a>
         
     | 
| 
       2920 
3064 
     | 
    
         | 
| 
       2921 
3065 
     | 
    
         
             
            RdsProxy resource type.
         
     | 
| 
         @@ -3812,14 +3956,7 @@ end 
     | 
|
| 
       3812 
3956 
     | 
    
         | 
| 
       3813 
3957 
     | 
    
         
             
            VpcEndpoints resource type.
         
     | 
| 
       3814 
3958 
     | 
    
         | 
| 
       3815 
     | 
    
         
            -
            ### exist
         
     | 
| 
       3816 
     | 
    
         
            -
             
     | 
| 
       3817 
3959 
     | 
    
         
             
            ```ruby
         
     | 
| 
       3818 
     | 
    
         
            -
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
       3819 
     | 
    
         
            -
              it { should exist }
         
     | 
| 
       3820 
     | 
    
         
            -
            end
         
     | 
| 
       3821 
     | 
    
         
            -
            ```
         
     | 
| 
       3822 
     | 
    
         
            -
             
     | 
| 
       3823 
3960 
     | 
    
         
             
            describe vpc_endpoints('vpce-05907f23265b25f20'), region: $tfvars["region"]["value"] do
         
     | 
| 
       3824 
3961 
     | 
    
         
             
              it { should exist }
         
     | 
| 
       3825 
3962 
     | 
    
         
             
              it { should be_available }
         
     | 
| 
         @@ -3829,23 +3966,26 @@ describe vpc_endpoints('vpce-05907f23265b25f20'), region: $tfvars["region"]["val 
     | 
|
| 
       3829 
3966 
     | 
    
         
             
              its(:vpc_endpoint_type) { should eq 'Interface' }
         
     | 
| 
       3830 
3967 
     | 
    
         
             
              its(:service_name) { should eq 'com.amazonaws.eu-west-1.codebuild' }
         
     | 
| 
       3831 
3968 
     | 
    
         
             
            end
         
     | 
| 
      
 3969 
     | 
    
         
            +
            ```
         
     | 
| 
       3832 
3970 
     | 
    
         | 
| 
       3833 
3971 
     | 
    
         | 
| 
       3834 
     | 
    
         
            -
            ###  
     | 
| 
       3835 
     | 
    
         
            -
             
     | 
| 
       3836 
     | 
    
         
            -
            ### be_deleted
         
     | 
| 
       3837 
     | 
    
         
            -
             
     | 
| 
       3838 
     | 
    
         
            -
            ### be_deleting
         
     | 
| 
      
 3972 
     | 
    
         
            +
            ### exist
         
     | 
| 
       3839 
3973 
     | 
    
         | 
| 
       3840 
     | 
    
         
            -
             
     | 
| 
      
 3974 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3975 
     | 
    
         
            +
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
      
 3976 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 3977 
     | 
    
         
            +
            end
         
     | 
| 
      
 3978 
     | 
    
         
            +
            ```
         
     | 
| 
       3841 
3979 
     | 
    
         | 
| 
       3842 
     | 
    
         
            -
            ### be_failed
         
     | 
| 
       3843 
3980 
     | 
    
         | 
| 
       3844 
     | 
    
         
            -
            ### be_pending
         
     | 
| 
      
 3981 
     | 
    
         
            +
            ### be_pendingacceptance, be_pending, be_available, be_deleting, be_deleted, be_rejected, be_failed, be_expired
         
     | 
| 
       3845 
3982 
     | 
    
         | 
| 
       3846 
     | 
    
         
            -
             
     | 
| 
      
 3983 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 3984 
     | 
    
         
            +
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
      
 3985 
     | 
    
         
            +
              it { should be_available }
         
     | 
| 
      
 3986 
     | 
    
         
            +
            end
         
     | 
| 
      
 3987 
     | 
    
         
            +
            ```
         
     | 
| 
       3847 
3988 
     | 
    
         | 
| 
       3848 
     | 
    
         
            -
            ### be_rejected
         
     | 
| 
       3849 
3989 
     | 
    
         | 
| 
       3850 
3990 
     | 
    
         
             
            ### have_route_table
         
     | 
| 
       3851 
3991 
     | 
    
         | 
| 
         @@ -3874,6 +4014,15 @@ end 
     | 
|
| 
       3874 
4014 
     | 
    
         
             
            ```
         
     | 
| 
       3875 
4015 
     | 
    
         | 
| 
       3876 
4016 
     | 
    
         | 
| 
      
 4017 
     | 
    
         
            +
            ### belong_to_vpc
         
     | 
| 
      
 4018 
     | 
    
         
            +
             
     | 
| 
      
 4019 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 4020 
     | 
    
         
            +
            describe vpc_endpoints('my-vpc-endpoint') do
         
     | 
| 
      
 4021 
     | 
    
         
            +
              it { should belong_to_vpc('my-vpc') }
         
     | 
| 
      
 4022 
     | 
    
         
            +
            end
         
     | 
| 
      
 4023 
     | 
    
         
            +
            ```
         
     | 
| 
      
 4024 
     | 
    
         
            +
             
     | 
| 
      
 4025 
     | 
    
         
            +
             
     | 
| 
       3877 
4026 
     | 
    
         | 
| 
       3878 
4027 
     | 
    
         
             
            ### :unlock: Advanced use
         
     | 
| 
       3879 
4028 
     | 
    
         | 
| 
         @@ -50,6 +50,18 @@ module Awspec 
     | 
|
| 
       50 
50 
     | 
    
         
             
                  end
         
     | 
| 
       51 
51 
     | 
    
         
             
                end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
      
 53 
     | 
    
         
            +
                types = %w[
         
     | 
| 
      
 54 
     | 
    
         
            +
                  rds_db_cluster rds_global_cluster
         
     | 
| 
      
 55 
     | 
    
         
            +
                ]
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                types.each do |type|
         
     | 
| 
      
 58 
     | 
    
         
            +
                  desc "#{type} [cluster_identifier]", "Generate #{type} spec from cluster identifier."
         
     | 
| 
      
 59 
     | 
    
         
            +
                  define_method type do |_cluster_identifier|
         
     | 
| 
      
 60 
     | 
    
         
            +
                    Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
         
     | 
| 
      
 61 
     | 
    
         
            +
                    eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate(_cluster_identifier)"
         
     | 
| 
      
 62 
     | 
    
         
            +
                  end
         
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
       53 
65 
     | 
    
         
             
                types_for_generate_all = %w[
         
     | 
| 
       54 
66 
     | 
    
         
             
                  cloudwatch_alarm cloudwatch_event directconnect ebs efs
         
     | 
| 
       55 
67 
     | 
    
         
             
                  elasticsearch iam_group iam_policy iam_role iam_user kms lambda
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Doc
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Type
         
     | 
| 
      
 6 
     | 
    
         
            +
                  class RdsDbCluster < Base
         
     | 
| 
      
 7 
     | 
    
         
            +
                    def initialize
         
     | 
| 
      
 8 
     | 
    
         
            +
                      super
         
     | 
| 
      
 9 
     | 
    
         
            +
                      @type_name = 'RdsDbCluster'
         
     | 
| 
      
 10 
     | 
    
         
            +
                      @type = Awspec::Type::RdsDbCluster.new('my-rds-db-cluster')
         
     | 
| 
      
 11 
     | 
    
         
            +
                      @ret = @type.resource_via_client
         
     | 
| 
      
 12 
     | 
    
         
            +
                      @matchers = [
         
     | 
| 
      
 13 
     | 
    
         
            +
                        Awspec::Type::RdsDbCluster::STATES.map { |state| "be_#{state.tr('-', '_')}" }.join(', ')
         
     | 
| 
      
 14 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 15 
     | 
    
         
            +
                      @ignore_matchers = Awspec::Type::RdsDbCluster::STATES.map { |state| "be_#{state.tr('-', '_')}" }
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @describes = []
         
     | 
| 
      
 17 
     | 
    
         
            +
                    end
         
     | 
| 
      
 18 
     | 
    
         
            +
                  end
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Doc
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Type
         
     | 
| 
      
 6 
     | 
    
         
            +
                  class RdsDbSubnetGroup < Base
         
     | 
| 
      
 7 
     | 
    
         
            +
                    def initialize
         
     | 
| 
      
 8 
     | 
    
         
            +
                      super
         
     | 
| 
      
 9 
     | 
    
         
            +
                      @type_name = 'RdsDbSubnetGroup'
         
     | 
| 
      
 10 
     | 
    
         
            +
                      @type = Awspec::Type::RdsDbSubnetGroup.new('my-rds-db-subnet-group')
         
     | 
| 
      
 11 
     | 
    
         
            +
                      @ret = @type.resource_via_client
         
     | 
| 
      
 12 
     | 
    
         
            +
                      @matchers = %w[belong_to_vpc belong_to_subnet]
         
     | 
| 
      
 13 
     | 
    
         
            +
                      @ignore_matchers = []
         
     | 
| 
      
 14 
     | 
    
         
            +
                      @describes = %w[vpc_id]
         
     | 
| 
      
 15 
     | 
    
         
            +
                    end
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Doc
         
     | 
| 
      
 5 
     | 
    
         
            +
                module Type
         
     | 
| 
      
 6 
     | 
    
         
            +
                  class RdsGlobalCluster < Base
         
     | 
| 
      
 7 
     | 
    
         
            +
                    def initialize
         
     | 
| 
      
 8 
     | 
    
         
            +
                      super
         
     | 
| 
      
 9 
     | 
    
         
            +
                      @type_name = 'RdsGlobalCluster'
         
     | 
| 
      
 10 
     | 
    
         
            +
                      @type = Awspec::Type::RdsGlobalCluster.new('my-rds-global-cluster')
         
     | 
| 
      
 11 
     | 
    
         
            +
                      @ret = @type.resource_via_client
         
     | 
| 
      
 12 
     | 
    
         
            +
                      @matchers = [
         
     | 
| 
      
 13 
     | 
    
         
            +
                        Awspec::Type::RdsGlobalCluster::STATES.map { |state| "be_#{state.tr('-', '_')}" }.join(', ')
         
     | 
| 
      
 14 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 15 
     | 
    
         
            +
                      @ignore_matchers = Awspec::Type::RdsGlobalCluster::STATES.map { |state| "be_#{state.tr('-', '_')}" }
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @describes = []
         
     | 
| 
      
 17 
     | 
    
         
            +
                    end
         
     | 
| 
      
 18 
     | 
    
         
            +
                  end
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -9,8 +9,11 @@ module Awspec::Generator 
     | 
|
| 
       9 
9 
     | 
    
         
             
                      @type_name = 'VpcEndpoints'
         
     | 
| 
       10 
10 
     | 
    
         
             
                      @type = Awspec::Type::VpcEndpoints.new('my-vpc-endpoint')
         
     | 
| 
       11 
11 
     | 
    
         
             
                      @ret = @type.resource_via_client
         
     | 
| 
       12 
     | 
    
         
            -
                      @matchers = [ 
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 12 
     | 
    
         
            +
                      @matchers = [
         
     | 
| 
      
 13 
     | 
    
         
            +
                        Awspec::Type::VpcEndpoints::STATES.map { |state| "be_#{state.tr('-', '_')}" }.join(', '),
         
     | 
| 
      
 14 
     | 
    
         
            +
                        'belong_to_vpc'
         
     | 
| 
      
 15 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @ignore_matchers = Awspec::Type::VpcEndpoints::STATES.map { |state| "be_#{state.tr('-', '_')}" }
         
     | 
| 
       14 
17 
     | 
    
         
             
                      @describes = []
         
     | 
| 
       15 
18 
     | 
    
         
             
                    end
         
     | 
| 
       16 
19 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Spec
         
     | 
| 
      
 5 
     | 
    
         
            +
                class RdsDbCluster
         
     | 
| 
      
 6 
     | 
    
         
            +
                  include Awspec::Helper::Finder
         
     | 
| 
      
 7 
     | 
    
         
            +
                  def generate(db_cluster_identifier)
         
     | 
| 
      
 8 
     | 
    
         
            +
                    cluster = find_db_cluster(db_cluster_identifier)
         
     | 
| 
      
 9 
     | 
    
         
            +
                    raise 'Not Found RDS DB Cluster' unless cluster
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    content(cluster)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # rubocop:disable all
         
     | 
| 
      
 15 
     | 
    
         
            +
                  def rds_db_cluster_spec_template
         
     | 
| 
      
 16 
     | 
    
         
            +
                    template = <<-'EOF'
         
     | 
| 
      
 17 
     | 
    
         
            +
            describe rds_db_cluster('<%= cluster.db_cluster_identifier %>') do
         
     | 
| 
      
 18 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 19 
     | 
    
         
            +
              it { should be_<%= cluster.status %> }
         
     | 
| 
      
 20 
     | 
    
         
            +
            <% cluster.vpc_security_groups.each do |sg| %>
         
     | 
| 
      
 21 
     | 
    
         
            +
              it { should have_security_group('<%= sg.vpc_security_group_id %>') }
         
     | 
| 
      
 22 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 23 
     | 
    
         
            +
            <% cluster.db_cluster_members.each do |member| %>
         
     | 
| 
      
 24 
     | 
    
         
            +
              it { should have_cluster_member('<%= member.db_instance_identifier %>').is_writer(<%= member.is_cluster_writer %>) }
         
     | 
| 
      
 25 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 26 
     | 
    
         
            +
              its(:db_cluster_parameter_group) { should eq '<%= cluster.db_cluster_parameter_group %>' }
         
     | 
| 
      
 27 
     | 
    
         
            +
              its(:engine) { should eq '<%= cluster.engine %>' }
         
     | 
| 
      
 28 
     | 
    
         
            +
              its(:engine_version) { should eq '<%= cluster.engine_version %>' }
         
     | 
| 
      
 29 
     | 
    
         
            +
              its(:database_name) { should eq '<%= cluster.database_name %>' }
         
     | 
| 
      
 30 
     | 
    
         
            +
              its(:storage_encrypted) { should eq <%= cluster.storage_encrypted %> }
         
     | 
| 
      
 31 
     | 
    
         
            +
              its(:deletion_protection) { should eq <%= cluster.deletion_protection %> }
         
     | 
| 
      
 32 
     | 
    
         
            +
              its(:port) { should eq <%= cluster.port %> }
         
     | 
| 
      
 33 
     | 
    
         
            +
              its(:master_username) { should eq '<%= cluster.master_username %>' }
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
      
 35 
     | 
    
         
            +
            EOF
         
     | 
| 
      
 36 
     | 
    
         
            +
                    template
         
     | 
| 
      
 37 
     | 
    
         
            +
                  end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                  private
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                  def content(cluster)
         
     | 
| 
      
 42 
     | 
    
         
            +
                    ERB.new(rds_db_cluster_spec_template, nil, '-').result(binding).gsub(/^\n/, '')
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,40 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Awspec::Generator
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Spec
         
     | 
| 
      
 5 
     | 
    
         
            +
                class RdsGlobalCluster
         
     | 
| 
      
 6 
     | 
    
         
            +
                  include Awspec::Helper::Finder
         
     | 
| 
      
 7 
     | 
    
         
            +
                  def generate(global_cluster_identifier)
         
     | 
| 
      
 8 
     | 
    
         
            +
                    cluster = find_global_cluster(global_cluster_identifier)
         
     | 
| 
      
 9 
     | 
    
         
            +
                    raise 'Not Found RDS Global Cluster' unless cluster
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    content(cluster)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # rubocop:disable all
         
     | 
| 
      
 15 
     | 
    
         
            +
                  def rds_global_cluster_spec_template
         
     | 
| 
      
 16 
     | 
    
         
            +
                    template = <<-'EOF'
         
     | 
| 
      
 17 
     | 
    
         
            +
            describe rds_global_cluster('<%= cluster.global_cluster_identifier %>') do
         
     | 
| 
      
 18 
     | 
    
         
            +
              it { should exist }
         
     | 
| 
      
 19 
     | 
    
         
            +
              it { should be_<%= cluster.status %> }
         
     | 
| 
      
 20 
     | 
    
         
            +
            <% cluster.global_cluster_members.each do |member| %>
         
     | 
| 
      
 21 
     | 
    
         
            +
              it { should have_cluster_member('<%= member.db_cluster_arn %>').is_writer(<%= member.is_writer %>) }
         
     | 
| 
      
 22 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 23 
     | 
    
         
            +
              its(:engine) { should eq '<%= cluster.engine %>' }
         
     | 
| 
      
 24 
     | 
    
         
            +
              its(:engine_version) { should eq '<%= cluster.engine_version %>' }
         
     | 
| 
      
 25 
     | 
    
         
            +
              its(:database_name) { should eq '<%= cluster.database_name %>' }
         
     | 
| 
      
 26 
     | 
    
         
            +
              its(:storage_encrypted) { should eq <%= cluster.storage_encrypted %> }
         
     | 
| 
      
 27 
     | 
    
         
            +
              its(:deletion_protection) { should eq <%= cluster.deletion_protection %> }
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
| 
      
 29 
     | 
    
         
            +
            EOF
         
     | 
| 
      
 30 
     | 
    
         
            +
                    template
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  private
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                  def content(cluster)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    ERB.new(rds_global_cluster_spec_template, nil, '-').result(binding).gsub(/^\n/, '')
         
     | 
| 
      
 37 
     | 
    
         
            +
                  end
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/awspec/generator.rb
    CHANGED
    
    | 
         @@ -41,6 +41,8 @@ require 'awspec/generator/spec/nlb_listener' 
     | 
|
| 
       41 
41 
     | 
    
         
             
            require 'awspec/generator/spec/redshift'
         
     | 
| 
       42 
42 
     | 
    
         
             
            require 'awspec/generator/spec/redshift_cluster_parameter_group'
         
     | 
| 
       43 
43 
     | 
    
         
             
            require 'awspec/generator/spec/rds_proxy'
         
     | 
| 
      
 44 
     | 
    
         
            +
            require 'awspec/generator/spec/rds_db_cluster'
         
     | 
| 
      
 45 
     | 
    
         
            +
            require 'awspec/generator/spec/rds_global_cluster'
         
     | 
| 
       44 
46 
     | 
    
         | 
| 
       45 
47 
     | 
    
         
             
            # Doc
         
     | 
| 
       46 
48 
     | 
    
         
             
            require 'awspec/generator/doc/type'
         
     | 
| 
         @@ -163,20 +163,6 @@ module Awspec::Helper 
     | 
|
| 
       163 
163 
     | 
    
         
             
                    instances
         
     | 
| 
       164 
164 
     | 
    
         
             
                  end
         
     | 
| 
       165 
165 
     | 
    
         | 
| 
       166 
     | 
    
         
            -
                  def select_eip_by_instance_id(id)
         
     | 
| 
       167 
     | 
    
         
            -
                    res = ec2_client.describe_addresses({
         
     | 
| 
       168 
     | 
    
         
            -
                                                          filters: [{ name: 'instance-id', values: [id] }]
         
     | 
| 
       169 
     | 
    
         
            -
                                                        })
         
     | 
| 
       170 
     | 
    
         
            -
                    res.addresses
         
     | 
| 
       171 
     | 
    
         
            -
                  end
         
     | 
| 
       172 
     | 
    
         
            -
             
     | 
| 
       173 
     | 
    
         
            -
                  def select_eip_by_public_ip(id)
         
     | 
| 
       174 
     | 
    
         
            -
                    res = ec2_client.describe_addresses({
         
     | 
| 
       175 
     | 
    
         
            -
                                                          filters: [{ name: 'public-ip', values: [id] }]
         
     | 
| 
       176 
     | 
    
         
            -
                                                        })
         
     | 
| 
       177 
     | 
    
         
            -
                    res.addresses
         
     | 
| 
       178 
     | 
    
         
            -
                  end
         
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
166 
     | 
    
         
             
                  def select_network_interface_by_instance_id(id)
         
     | 
| 
       181 
167 
     | 
    
         
             
                    res = ec2_client.describe_network_interfaces({
         
     | 
| 
       182 
168 
     | 
    
         
             
                                                                   filters: [{ name: 'attachment.instance-id', values: [id] }]
         
     |