awspec 1.32.0 → 1.34.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.github/release.yml +4 -0
  3. data/.github/workflows/ci.yml +7 -7
  4. data/.github/workflows/doc.yml +4 -4
  5. data/.github/workflows/tagpr.yml +58 -0
  6. data/.rubocop.yml +1 -0
  7. data/.tagpr +35 -0
  8. data/CHANGELOG.md +98 -0
  9. data/doc/_resource_types/backup_plan.md +7 -0
  10. data/doc/_resource_types/backup_selection.md +7 -0
  11. data/doc/_resource_types/backup_vault.md +35 -0
  12. data/doc/_resource_types/rds_db_cluster.md +8 -0
  13. data/doc/_resource_types/rds_global_cluster.md +8 -0
  14. data/doc/_resource_types/transfer_server.md +4 -0
  15. data/doc/_resource_types/wafv2_ip_set.md +6 -2
  16. data/doc/_resource_types/wafv2_web_acl.md +25 -0
  17. data/doc/contributing.md +2 -2
  18. data/doc/resource_types.md +131 -33
  19. data/lib/awspec/generator/doc/type/backup_plan.rb +19 -0
  20. data/lib/awspec/generator/doc/type/backup_selection.rb +19 -0
  21. data/lib/awspec/generator/doc/type/backup_vault.rb +19 -0
  22. data/lib/awspec/generator/doc/type/wafv2_ip_set.rb +1 -1
  23. data/lib/awspec/generator/doc/type/wafv2_web_acl.rb +19 -0
  24. data/lib/awspec/generator/spec/wafv2_web_acl.rb +39 -0
  25. data/lib/awspec/generator.rb +1 -0
  26. data/lib/awspec/helper/finder/backup.rb +97 -0
  27. data/lib/awspec/helper/finder/transfer.rb +21 -1
  28. data/lib/awspec/helper/finder/wafv2.rb +20 -0
  29. data/lib/awspec/helper/finder.rb +4 -1
  30. data/lib/awspec/helper/type.rb +2 -1
  31. data/lib/awspec/matcher/belong_to_backup_plan.rb +12 -0
  32. data/lib/awspec/matcher/have_plan_rule.rb +47 -0
  33. data/lib/awspec/matcher/have_rule.rb +5 -0
  34. data/lib/awspec/matcher.rb +6 -0
  35. data/lib/awspec/stub/backup_plan.rb +71 -0
  36. data/lib/awspec/stub/backup_selection.rb +33 -0
  37. data/lib/awspec/stub/backup_vault.rb +53 -0
  38. data/lib/awspec/stub/rds_db_cluster.rb +6 -1
  39. data/lib/awspec/stub/rds_global_cluster.rb +7 -1
  40. data/lib/awspec/stub/transfer_server.rb +25 -6
  41. data/lib/awspec/stub/wafv2_ip_set.rb +7 -5
  42. data/lib/awspec/stub/wafv2_web_acl.rb +151 -0
  43. data/lib/awspec/type/backup_plan.rb +53 -0
  44. data/lib/awspec/type/backup_selection.rb +13 -0
  45. data/lib/awspec/type/backup_vault.rb +13 -0
  46. data/lib/awspec/type/base.rb +5 -1
  47. data/lib/awspec/type/codepipeline.rb +1 -1
  48. data/lib/awspec/type/rds_db_cluster.rb +1 -0
  49. data/lib/awspec/type/rds_global_cluster.rb +1 -0
  50. data/lib/awspec/type/transfer_server.rb +4 -7
  51. data/lib/awspec/type/wafv2_web_acl.rb +33 -0
  52. data/lib/awspec/version.rb +1 -1
  53. metadata +27 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fda6baa9048249f77fa2fbc686a010ce8c64f9a2cc950707d6dacb99c2a352d
4
- data.tar.gz: 9b52e0bd5e2d586207a4be29d37321158f037af215615ce791797e43cd118569
3
+ metadata.gz: d65a2f5aea6df138e2c8ddef3a36092fc2760f40086c4129ca4f639281b83e52
4
+ data.tar.gz: d9c213638e77e674dd5fd8b08648ec52956855285253330db732877cd40350ff
5
5
  SHA512:
6
- metadata.gz: 4fcf1543ec18e1fe32468e48d20df072a5a53e1ef90394b451e4a383f438d49c167ba3a041073a0a118ffd46bd031ca547583732ec9d0254fb806f711f72d546
7
- data.tar.gz: 7b6b59e791056334e52ad28da2ab62cf95cd7703e3e026a82d518ec0b1f1017c1aa7434ed1cb568879a544ab09bdb14f7cc0dbd3cd051df21f02a529e83f7286
6
+ metadata.gz: e7972b92325855e58d1c950192b49d477c2d913251c4577371b9f0a2ff593c56a839472cd42c44295562aaef5d9b74445392de9c8fe06ddd4c676962b425ca0f
7
+ data.tar.gz: 99d9f6df0b85b122550f4c07dfcfd2544a1ddb2a8bf17fc09588f53653a086d6caf851ca78663149a130da766e11afdf2ae6e3210987b0443608f09003122457
@@ -0,0 +1,4 @@
1
+ changelog:
2
+ exclude:
3
+ labels:
4
+ - tagpr
@@ -3,7 +3,7 @@ name: CI
3
3
  on:
4
4
  push:
5
5
  branches:
6
- - master
6
+ - main
7
7
  pull_request:
8
8
 
9
9
  jobs:
@@ -13,16 +13,16 @@ jobs:
13
13
 
14
14
  steps:
15
15
  - name: Checkout
16
- uses: actions/checkout@v2
16
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
17
17
 
18
18
  - name: Set up Ruby
19
- uses: ruby/setup-ruby@v1
19
+ uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
20
20
  with:
21
- ruby-version: 3.1
21
+ ruby-version: ruby
22
22
  bundler-cache: true
23
23
 
24
24
  - name: Run rubocop
25
- uses: reviewdog/action-rubocop@v1
25
+ uses: reviewdog/action-rubocop@a434f50eaae1589b90edcb14cabf70555571577a # v1.11.0
26
26
  with:
27
27
  github_token: ${{ secrets.GITHUB_TOKEN }}
28
28
  reporter: github-pr-review
@@ -46,10 +46,10 @@ jobs:
46
46
 
47
47
  steps:
48
48
  - name: Checkout
49
- uses: actions/checkout@v2
49
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
50
50
 
51
51
  - name: Set up Ruby
52
- uses: ruby/setup-ruby@v1
52
+ uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
53
53
  with:
54
54
  ruby-version: ${{ matrix.ruby-version }}
55
55
  bundler-cache: true
@@ -12,18 +12,18 @@ jobs:
12
12
  DISABLE_AWS_CLIENT_CHECK: true
13
13
  steps:
14
14
  - name: Checkout
15
- uses: actions/checkout@v2
15
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
16
16
 
17
17
  - name: Set up Ruby
18
- uses: ruby/setup-ruby@v1
18
+ uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
19
19
  with:
20
- ruby-version: '2.7'
20
+ ruby-version: ruby
21
21
  bundler-cache: true
22
22
 
23
23
  - name: Generate document
24
24
  run: bundle exec bin/toolbox docgen > doc/resource_types.md
25
25
 
26
- - uses: EndBug/add-and-commit@v7
26
+ - uses: EndBug/add-and-commit@8c12ff729a98cfbcd3fe38b49f55eceb98a5ec02 # v7.5.0
27
27
  with:
28
28
  default_author: github_actions
29
29
  add: 'doc/resource_types.md'
@@ -0,0 +1,58 @@
1
+ name: tagpr
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+
7
+ jobs:
8
+ tagpr:
9
+ runs-on: ubuntu-latest
10
+ outputs:
11
+ tagpr-tag: ${{ steps.run-tagpr.outputs.tag }}
12
+ permissions:
13
+ contents: write
14
+ pull-requests: write
15
+ issues: write
16
+ packages: write
17
+ env:
18
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19
+ steps:
20
+ - name: Check out source code
21
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
22
+ with:
23
+ fetch-depth: 0
24
+
25
+ - name: Set up Ruby
26
+ uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
27
+ with:
28
+ ruby-version: ruby
29
+ bundler-cache: true
30
+
31
+ - id: run-tagpr
32
+ name: Run tagpr
33
+ uses: Songmu/tagpr@9c294c8b7b1815a5f3b7c61d6ee6aa50ac25b030 # v1.8.4
34
+
35
+ release:
36
+ needs: tagpr
37
+ if: needs.tagpr.outputs.tagpr-tag != ''
38
+ runs-on: ubuntu-latest
39
+ permissions:
40
+ contents: write
41
+ packages: write
42
+ id-token: write
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45
+ steps:
46
+ - name: Check out source code
47
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
48
+ with:
49
+ fetch-depth: 0
50
+
51
+ - name: Set up Ruby
52
+ uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
53
+ with:
54
+ ruby-version: ruby
55
+ bundler-cache: true
56
+
57
+ - name: release gem
58
+ uses: rubygems/release-gem@9fc8c0f9a461e67716cde28f188b9a5c029333a8 # v1
data/.rubocop.yml CHANGED
@@ -21,6 +21,7 @@ Lint/DuplicateMethods:
21
21
  - 'lib/awspec/type/eks_nodegroup.rb'
22
22
  - 'lib/awspec/type/resource_base.rb'
23
23
  - 'lib/awspec/type/wafv2_ip_set.rb'
24
+ - 'lib/awspec/type/wafv2_web_acl.rb'
24
25
 
25
26
  Lint/ErbNewArguments:
26
27
  Enabled: false
data/.tagpr ADDED
@@ -0,0 +1,35 @@
1
+ # config file for the tagpr in git config format
2
+ # The tagpr generates the initial configuration, which you can rewrite to suit your environment.
3
+ # CONFIGURATIONS:
4
+ # tagpr.releaseBranch
5
+ # Generally, it is "main." It is the branch for releases. The pcpr tracks this branch,
6
+ # creates or updates a pull request as a release candidate, or tags when they are merged.
7
+ #
8
+ # tagpr.versionFile
9
+ # Versioning file containing the semantic version needed to be updated at release.
10
+ # It will be synchronized with the "git tag".
11
+ # Often this is a meta-information file such as gemspec, setup.cfg, package.json, etc.
12
+ # Sometimes the source code file, such as version.go or Bar.pm, is used.
13
+ # If you do not want to use versioning files but only git tags, specify the "-" string here.
14
+ # You can specify multiple version files by comma separated strings.
15
+ #
16
+ # tagpr.vPrefix
17
+ # Flag whether or not v-prefix is added to semver when git tagging. (e.g. v1.2.3 if true)
18
+ # This is only a tagging convention, not how it is described in the version file.
19
+ #
20
+ # tagpr.changelog (Optional)
21
+ # Flag whether or not changelog is added or changed during the release.
22
+ #
23
+ # tagpr.command (Optional)
24
+ # Command to change files just before release.
25
+ #
26
+ # tagpr.tmplate (Optional)
27
+ # Pull request template in go template format
28
+ #
29
+ # tagpr.release (Optional)
30
+ # GitHub Release creation behavior after tagging [true, draft, false]
31
+ # If this value is not set, the release is to be created.
32
+ [tagpr]
33
+ vPrefix = true
34
+ releaseBranch = main
35
+ versionFile = lib/awspec/version.rb
data/CHANGELOG.md ADDED
@@ -0,0 +1,98 @@
1
+ # Changelog
2
+
3
+ ## [v1.34.0](https://github.com/k1LoW/awspec/compare/v1.33.0...v1.34.0) - 2025-10-18
4
+ - Add support for aws backup rules (under backup plan) by @endemics in https://github.com/k1LoW/awspec/pull/605
5
+ - feat: setup tagpr by @k1LoW in https://github.com/k1LoW/awspec/pull/606
6
+
7
+ ## [v1.33.0](https://github.com/k1LoW/awspec/compare/v1.32.0...v1.33.0) - 2025-08-10
8
+ - Add wafv2_web_acl resource by @alpineriveredge in https://github.com/k1LoW/awspec/pull/600
9
+ - Add type backup (new PR - no copyright headers) by @endemics in https://github.com/k1LoW/awspec/pull/601
10
+ - Add tag support for DB and Global clusters by @alpineriveredge in https://github.com/k1LoW/awspec/pull/603
11
+ - Make transfer_server searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/604
12
+
13
+ ## [v1.32.0](https://github.com/k1LoW/awspec/compare/v1.31.0...v1.32.0) - 2025-01-28
14
+ - Add codepipeline resource by @alpineriveredge in https://github.com/k1LoW/awspec/pull/592
15
+ - Add wafv2_ip_set resource by @alpineriveredge in https://github.com/k1LoW/awspec/pull/597
16
+ - Fix find vpc_endpoint by Name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/598
17
+
18
+ ## [v1.31.0](https://github.com/k1LoW/awspec/compare/v1.30.0...v1.31.0) - 2025-01-22
19
+ - Enhance codebuild resource by @alpineriveredge in https://github.com/k1LoW/awspec/pull/591
20
+ - fix: Drop support for Ruby 2.x by @k1LoW in https://github.com/k1LoW/awspec/pull/596
21
+ - Fix finding Gateway VPC Endpoints by id by @alexjfisher in https://github.com/k1LoW/awspec/pull/595
22
+
23
+ ## [v1.30.0](https://github.com/k1LoW/awspec/compare/v1.29.3...v1.30.0) - 2024-04-16
24
+ - Make `transit_gateway` `have_attachment` work with names by @alexjfisher in https://github.com/k1LoW/awspec/pull/586
25
+ - Add managed_prefix_list resource by @alpineriveredge in https://github.com/k1LoW/awspec/pull/587
26
+
27
+ ## [v1.29.3](https://github.com/k1LoW/awspec/compare/v1.29.2...v1.29.3) - 2024-01-04
28
+ - Added pagination support to ssm_parameter by @anjo-swe in https://github.com/k1LoW/awspec/pull/583
29
+
30
+ ## [v1.29.2](https://github.com/k1LoW/awspec/compare/v1.29.1...v1.29.2) - 2023-04-08
31
+ - Add support for a custom aws endpoint by @sverch in https://github.com/k1LoW/awspec/pull/580
32
+
33
+ ## [v1.29.1](https://github.com/k1LoW/awspec/compare/v1.29.0...v1.29.1) - 2023-03-21
34
+ - Make network_interface searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/582
35
+
36
+ ## [v1.29.0](https://github.com/k1LoW/awspec/compare/v1.28.2...v1.29.0) - 2023-03-18
37
+ - Make 'nat_gateway have_eip' searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/576
38
+ - Fix ECR Repository document by @alpineriveredge in https://github.com/k1LoW/awspec/pull/577
39
+ - Add policy_document to IAM Policy by @alpineriveredge in https://github.com/k1LoW/awspec/pull/578
40
+ - Fix ALB & NLB have_subnet by @alpineriveredge in https://github.com/k1LoW/awspec/pull/579
41
+ - [BREAKING] Drop 2.1 2.2 from supported Ruby versions / Add 3.2 by @k1LoW in https://github.com/k1LoW/awspec/pull/581
42
+ - Update doc for ecs_service for using non-default cluster by @jedipunkz in https://github.com/k1LoW/awspec/pull/508
43
+
44
+ ## [v1.28.2](https://github.com/k1LoW/awspec/compare/v1.28.1...v1.28.2) - 2022-10-24
45
+ - Add vpc_endpoints attributes by @alpineriveredge in https://github.com/k1LoW/awspec/pull/571
46
+ - Add Elastic IP attributes by @alpineriveredge in https://github.com/k1LoW/awspec/pull/572
47
+ - s3_bucket - fixed documentation for prefix in have_lifecycle_rule by @anjo-swe in https://github.com/k1LoW/awspec/pull/573
48
+ - Make 'vpc_endponts have_subnet' testable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/574
49
+ - Make vpn_gateway searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/575
50
+
51
+ ## [v1.28.1](https://github.com/k1LoW/awspec/compare/v1.28.0...v1.28.1) - 2022-08-29
52
+ - Fix vpc_endpoints document by @alpineriveredge in https://github.com/k1LoW/awspec/pull/569
53
+ - Allow Tags of CloudFormation Stack by @alpineriveredge in https://github.com/k1LoW/awspec/pull/570
54
+
55
+ ## [v1.28.0](https://github.com/k1LoW/awspec/compare/v1.27.1...v1.28.0) - 2022-08-16
56
+ - Add RDS DB Cluster & Global Cluster by @alpineriveredge in https://github.com/k1LoW/awspec/pull/566
57
+
58
+ ## [v1.27.1](https://github.com/k1LoW/awspec/compare/v1.27.0...v1.27.1) - 2022-07-18
59
+ - Make eip searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/565
60
+
61
+ ## [v1.27.0](https://github.com/k1LoW/awspec/compare/v1.26.0...v1.27.0) - 2022-07-03
62
+ - Add RDS Proxy by @alpineriveredge in https://github.com/k1LoW/awspec/pull/564
63
+
64
+ ## [v1.26.0](https://github.com/k1LoW/awspec/compare/v1.25.2...v1.26.0) - 2022-06-06
65
+ - Use parallel.gem by @k1LoW in https://github.com/k1LoW/awspec/pull/557
66
+ - Add transfer_server type by @andoniaf in https://github.com/k1LoW/awspec/pull/558
67
+ - Make vpc_endpoint searchable by name by @alpineriveredge in https://github.com/k1LoW/awspec/pull/561
68
+ - require octorelease when not CI by @k1LoW in https://github.com/k1LoW/awspec/pull/562
69
+
70
+ ## [v1.25.2](https://github.com/k1LoW/awspec/compare/v1.25.1...v1.25.2) - 2022-01-25
71
+ - Support Ruby 3.0.x by @k1LoW in https://github.com/k1LoW/awspec/pull/554
72
+ - Support Ruby 3.1.x by @k1LoW in https://github.com/k1LoW/awspec/pull/555
73
+ - Update rubocop by @k1LoW in https://github.com/k1LoW/awspec/pull/556
74
+
75
+ ## [v1.25.1](https://github.com/k1LoW/awspec/compare/v1.25.0...v1.25.1) - 2021-10-08
76
+ - Fix: undefined method `by_cidr' by @k1LoW in https://github.com/k1LoW/awspec/pull/550
77
+
78
+ ## [v1.25.0](https://github.com/k1LoW/awspec/compare/v1.24.4...v1.25.0) - 2021-09-04
79
+ - Bugfix/issue 264 by @glasswalk3r in https://github.com/k1LoW/awspec/pull/538
80
+ - Added missing SNS specs by @glasswalk3r in https://github.com/k1LoW/awspec/pull/547
81
+ - Bugfix/issue 527 by @glasswalk3r in https://github.com/k1LoW/awspec/pull/548
82
+
83
+ ## [v1.24.4](https://github.com/k1LoW/awspec/compare/v1.24.3...v1.24.4) - 2021-08-09
84
+ - Use GitHub Actions by @k1LoW in https://github.com/k1LoW/awspec/pull/541
85
+ - Update rubocop by @k1LoW in https://github.com/k1LoW/awspec/pull/542
86
+ - refactor: faster EC2 instance search by @glasswalk3r in https://github.com/k1LoW/awspec/pull/535
87
+ - Feature/issue 407 by @glasswalk3r in https://github.com/k1LoW/awspec/pull/543
88
+ - Feature/metric filter pattern support by @JinhuaK in https://github.com/k1LoW/awspec/pull/544
89
+
90
+ ## [v1.24.3](https://github.com/k1LoW/awspec/compare/v1.24.2...v1.24.3) - 2021-07-12
91
+ - Added elasticache spec generator by @inokappa in https://github.com/k1LoW/awspec/pull/540
92
+
93
+ ## [v1.24.2](https://github.com/k1LoW/awspec/compare/v1.24.1...v1.24.2) - 2021-07-04
94
+ - fix: properly handling EC2 errors by @glasswalk3r in https://github.com/k1LoW/awspec/pull/534
95
+ - Bugfix/issue 325 by @glasswalk3r in https://github.com/k1LoW/awspec/pull/537
96
+
97
+ ## [v1.24.1](https://github.com/k1LoW/awspec/compare/v1.24.0...v1.24.1) - 2021-05-08
98
+ - Fixed a bug when a bucket was placed in us-east-1 by @soruma in https://github.com/k1LoW/awspec/pull/533
@@ -0,0 +1,7 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe backup_plan('my-backup-plan') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -0,0 +1,7 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe backup_selection('my-backup-selection') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -0,0 +1,35 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe backup_vault('my-backup-vault') do
5
+ it { should exist }
6
+ end
7
+ ```
8
+
9
+ ### its(:backup_vault_name), its(:backup_vault_arn), its(:vault_type), its(:vault_state), its(:creation_date), its(:encryption_key_arn), its(:creator_request_id), its(:number_of_recovery_points), its(:locked), its(:min_retention_days), its(:max_retention_days), its(:lock_date)
10
+
11
+ ```ruby
12
+ describe backup_vault('my-backup-vault') do
13
+ it { should exist }
14
+ its(:locked) { should be true }
15
+ its(:lock_date) { should be < (Time.now - 60*60*24*30) }
16
+ its(:vault_state) { should eq "AVAILABLE" }
17
+ its(:vault_type) { should eq "BACKUP_VAULT" }
18
+ its(:min_retention_days) { should be 7 }
19
+ its(:max_retention_days) { should be 35 }
20
+ its(:lock_date) { should eq(Time.new(2024, 10, 4, 9, 00, 00, '+00:00')) }
21
+ its(:encryption_key_arn) { should eq 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' }
22
+ its(:number_of_recovery_points) { should be > 100 }
23
+ end
24
+
25
+ describe backup_vault('my-airgapped-vault') do
26
+ it { should exist }
27
+ its(:locked) { should be false }
28
+ its(:creation_date) { should be > Time.new(2016, 4, 4, 9, 00, 00, '+00:00') }
29
+ its(:vault_state) { should eq "AVAILABLE" }
30
+ its(:vault_type) { should eq "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" }
31
+ its(:backup_vault_arn) { should match /:111122223333:/ }
32
+ its(:backup_vault_arn) { should match /:us-west-2:/ }
33
+ its(:number_of_recovery_points) { should be > 10 }
34
+ end
35
+ ```
@@ -45,3 +45,11 @@ describe rds_db_cluster('my-rds-db-cluster') do
45
45
  it { should have_security_group('my-db-sg') }
46
46
  end
47
47
  ```
48
+
49
+ ### have_tag
50
+
51
+ ```ruby
52
+ describe rds_db_cluster('my-rds-db-cluster') do
53
+ it { should have_tag('env').value('dev') }
54
+ end
55
+ ```
@@ -35,3 +35,11 @@ describe rds_global_cluster('my-rds-global-cluster') do
35
35
  it { should have_cluster_member('arn:aws:rds:ap-northeast-3:123456789012:cluster:my-secondary-cluster').is_writer(false) }
36
36
  end
37
37
  ```
38
+
39
+ ### have_tag
40
+
41
+ ```ruby
42
+ describe rds_global_cluster('my-rds-global-cluster') do
43
+ it { should have_tag('env').value('dev') }
44
+ end
45
+ ```
@@ -4,6 +4,10 @@
4
4
  describe transfer_server('s-4dc0a424f0154fa89') do
5
5
  it { should exist }
6
6
  end
7
+
8
+ describe transfer_server('my-transfer-server') do
9
+ it { should exist }
10
+ end
7
11
  ```
8
12
 
9
13
  ### be_offline, be_online, be_starting, be_stopping, be_start_failed, be_stop_failed
@@ -3,7 +3,11 @@
3
3
  You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4
4
 
5
5
  ```ruby
6
- describe wafv2_ip_set('my-ip-set'), scope: 'REGIONAL' do
6
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
7
+ it { should exist }
8
+ end
9
+
10
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'CLOUDFRONT', region: 'us-east-1' do
7
11
  it { should exist }
8
12
  end
9
13
  ```
@@ -11,7 +15,7 @@ end
11
15
  ### have_ip_address
12
16
 
13
17
  ```ruby
14
- describe wafv2_ip_set('my-ip-set'), scope: 'REGIONAL' do
18
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
15
19
  it { should have_ip_address('10.0.0.0/32') }
16
20
  end
17
21
  ```
@@ -0,0 +1,25 @@
1
+ ### exist
2
+
3
+ You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4
+
5
+ ```ruby
6
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
7
+ it { should exist }
8
+ its(:default_action) { should eq 'ALLOW' }
9
+ end
10
+
11
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'CLOUDFRONT', region: 'us-east-1' do
12
+ it { should exist }
13
+ its(:default_action) { should eq 'ALLOW' }
14
+ end
15
+ ```
16
+
17
+ ### have_rule
18
+
19
+ ```ruby
20
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
21
+ it { should have_rule('AWS-AWSManagedRulesCommonRuleSet') }
22
+ it { should have_rule('AWS-AWSManagedRulesKnownBadInputsRuleSet').order(1) }
23
+ it { should have_rule('AWS-AWSManagedRulesLinuxRuleSet').order(2).override_action('NONE') }
24
+ end
25
+ ```
data/doc/contributing.md CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  1. Create your feature branch (`git checkout -b add-type-redshift`)
6
6
  2. Generate template files (`bundle exec bin/toolbox template redshift`)
7
- 3. Fill files with code.
7
+ 3. Fill files with code and test your code regularly (`bundle exec rspec spec/type/redshift_spec.rb`)
8
8
  4. `bundle update` to update gems.
9
9
  5. Generate [doc/resource_types.md](resource_types.md) (`bundle exec rake generate_docs`)
10
- 6. Run test (`bundle exec rake spec`)
10
+ 6. Run all tests (`bundle exec rake spec`)
11
11
  7. Push to the branch (`git push origin add-type-redshift`)
12
12
  8. Create a new Pull Request
13
13