awspec 1.31.0 → 1.33.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/doc/_resource_types/backup_plan.md +7 -0
  4. data/doc/_resource_types/backup_selection.md +7 -0
  5. data/doc/_resource_types/backup_vault.md +35 -0
  6. data/doc/_resource_types/codedeploy.md +6 -0
  7. data/doc/_resource_types/codepipeline.md +7 -0
  8. data/doc/_resource_types/rds_db_cluster.md +8 -0
  9. data/doc/_resource_types/rds_global_cluster.md +8 -0
  10. data/doc/_resource_types/transfer_server.md +4 -0
  11. data/doc/_resource_types/wafv2_ip_set.md +21 -0
  12. data/doc/_resource_types/wafv2_web_acl.md +25 -0
  13. data/doc/contributing.md +2 -2
  14. data/doc/resource_types.md +168 -27
  15. data/lib/awspec/command/generate.rb +12 -0
  16. data/lib/awspec/generator/doc/type/backup_plan.rb +19 -0
  17. data/lib/awspec/generator/doc/type/backup_selection.rb +19 -0
  18. data/lib/awspec/generator/doc/type/backup_vault.rb +19 -0
  19. data/lib/awspec/generator/doc/type/codepipeline.rb +19 -0
  20. data/lib/awspec/generator/doc/type/wafv2_ip_set.rb +19 -0
  21. data/lib/awspec/generator/doc/type/wafv2_web_acl.rb +19 -0
  22. data/lib/awspec/generator/spec/codepipeline.rb +29 -0
  23. data/lib/awspec/generator/spec/wafv2_ip_set.rb +35 -0
  24. data/lib/awspec/generator/spec/wafv2_web_acl.rb +39 -0
  25. data/lib/awspec/generator.rb +3 -0
  26. data/lib/awspec/helper/finder/backup.rb +88 -0
  27. data/lib/awspec/helper/finder/codepipeline.rb +25 -0
  28. data/lib/awspec/helper/finder/transfer.rb +21 -1
  29. data/lib/awspec/helper/finder/vpc_endpoints.rb +2 -2
  30. data/lib/awspec/helper/finder/wafv2.rb +47 -0
  31. data/lib/awspec/helper/finder.rb +10 -1
  32. data/lib/awspec/helper/type.rb +2 -1
  33. data/lib/awspec/matcher/belong_to_backup_plan.rb +12 -0
  34. data/lib/awspec/matcher/have_rule.rb +5 -0
  35. data/lib/awspec/matcher.rb +3 -0
  36. data/lib/awspec/shared_context.rb +6 -0
  37. data/lib/awspec/stub/backup_plan.rb +33 -0
  38. data/lib/awspec/stub/backup_selection.rb +33 -0
  39. data/lib/awspec/stub/backup_vault.rb +53 -0
  40. data/lib/awspec/stub/cloudfront_distribution.rb +0 -2
  41. data/lib/awspec/stub/codepipeline.rb +104 -0
  42. data/lib/awspec/stub/rds_db_cluster.rb +6 -1
  43. data/lib/awspec/stub/rds_global_cluster.rb +7 -1
  44. data/lib/awspec/stub/transfer_server.rb +25 -6
  45. data/lib/awspec/stub/wafv2_ip_set.rb +34 -0
  46. data/lib/awspec/stub/wafv2_web_acl.rb +151 -0
  47. data/lib/awspec/type/backup_plan.rb +13 -0
  48. data/lib/awspec/type/backup_selection.rb +13 -0
  49. data/lib/awspec/type/backup_vault.rb +13 -0
  50. data/lib/awspec/type/base.rb +5 -1
  51. data/lib/awspec/type/codepipeline.rb +13 -0
  52. data/lib/awspec/type/rds_db_cluster.rb +1 -0
  53. data/lib/awspec/type/rds_global_cluster.rb +1 -0
  54. data/lib/awspec/type/transfer_server.rb +4 -7
  55. data/lib/awspec/type/wafv2_ip_set.rb +23 -0
  56. data/lib/awspec/type/wafv2_web_acl.rb +33 -0
  57. data/lib/awspec/version.rb +1 -1
  58. metadata +33 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f4858ddad3b4d257dd2ddf27129f46cefc9075ed790c10d95400f0f4bf355b0
4
- data.tar.gz: fd8671e61f531633324ba97bdba6240f6977145b92773b1462affe38846fafa6
3
+ metadata.gz: 415e195d37897b2cd7332fcf58389e5482d586eedd613fc4bd620cd1ce68abc9
4
+ data.tar.gz: acb522d0bdadd04bd940489689dad8fe5e3bc7778dd26331b133e281da0c39b1
5
5
  SHA512:
6
- metadata.gz: e549e39e0594bfd69b27437d1af8925c9c83e2a70af17289da0986866e9c90ace0b9158d5dc80ebbc3635a099775063a28c10435236824a4a359c1dd4e23e5b9
7
- data.tar.gz: 060e22540894d93a34233fe4ab27f70fe831e399204187831ef0cd5682113102c23015ef0f4e5097f26a269fd6841132b44d9e7c25100eaf48ea0b4df5cee23f
6
+ metadata.gz: e4515a1b2cd370d7b9ba19a4b7b560682aa3d6a88da28dc1f822e9d3e19926fd56108c2b5442d3b0cfdfa0e62dc8c6ba0d00b061837dbf7ba136a3ea708db759
7
+ data.tar.gz: 1f4400835b5683c698be17ae67e6b0e009ea7dfbe02abed60eb6bf191a6f962af73c1669944b66748f905ce797ceb71f8575fe039fc92b3405ec3041ee7b7059
data/.rubocop.yml CHANGED
@@ -20,6 +20,8 @@ Lint/DuplicateMethods:
20
20
  - 'lib/awspec/type/ecs_service.rb'
21
21
  - 'lib/awspec/type/eks_nodegroup.rb'
22
22
  - 'lib/awspec/type/resource_base.rb'
23
+ - 'lib/awspec/type/wafv2_ip_set.rb'
24
+ - 'lib/awspec/type/wafv2_web_acl.rb'
23
25
 
24
26
  Lint/ErbNewArguments:
25
27
  Enabled: false
@@ -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
+ ```
@@ -1 +1,7 @@
1
1
  ### exist
2
+
3
+ ```ruby
4
+ describe codedeploy('my-codedeploy') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -0,0 +1,7 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe codepipeline('my-codepipeline') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -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
@@ -0,0 +1,21 @@
1
+ ### exist
2
+
3
+ You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4
+
5
+ ```ruby
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
11
+ it { should exist }
12
+ end
13
+ ```
14
+
15
+ ### have_ip_address
16
+
17
+ ```ruby
18
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
19
+ it { should have_ip_address('10.0.0.0/32') }
20
+ end
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
 
@@ -7,6 +7,9 @@
7
7
  | [ami](#ami)
8
8
  | [apigateway](#apigateway)
9
9
  | [autoscaling_group](#autoscaling_group)
10
+ | [backup_plan](#backup_plan)
11
+ | [backup_selection](#backup_selection)
12
+ | [backup_vault](#backup_vault)
10
13
  | [batch_compute_environment](#batch_compute_environment)
11
14
  | [batch_job_definition](#batch_job_definition)
12
15
  | [batch_job_queue](#batch_job_queue)
@@ -19,6 +22,7 @@
19
22
  | [codebuild](#codebuild)
20
23
  | [codedeploy](#codedeploy)
21
24
  | [codedeploy_deployment_group](#codedeploy_deployment_group)
25
+ | [codepipeline](#codepipeline)
22
26
  | [cognito_identity_pool](#cognito_identity_pool)
23
27
  | [cognito_user_pool](#cognito_user_pool)
24
28
  | [customer_gateway](#customer_gateway)
@@ -88,6 +92,8 @@
88
92
  | [vpn_gateway](#vpn_gateway)
89
93
  | [waf_web_acl](#waf_web_acl)
90
94
  | [wafregional_web_acl](#wafregional_web_acl)
95
+ | [wafv2_ip_set](#wafv2_ip_set)
96
+ | [wafv2_web_acl](#wafv2_web_acl)
91
97
  | [account](#account)
92
98
 
93
99
  ## <a name="acm">acm</a>
@@ -116,7 +122,7 @@ describe acm('example.com') do
116
122
  end
117
123
  ```
118
124
 
119
- ### its(:certificate_arn), its(:domain_name), its(:subject_alternative_names), its(:serial), its(:subject), its(:issuer), its(:created_at), its(:issued_at), its(:imported_at), its(:status), its(:revoked_at), its(:revocation_reason), its(:not_before), its(:not_after), its(:key_algorithm), its(:signature_algorithm), its(:in_use_by), its(:failure_reason), its(:type), its(:renewal_summary), its(:key_usages), its(:extended_key_usages), its(:certificate_authority_arn), its(:renewal_eligibility), its(:options)
125
+ ### its(:certificate_arn), its(:domain_name), its(:subject_alternative_names), its(:managed_by), its(:serial), its(:subject), its(:issuer), its(:created_at), its(:issued_at), its(:imported_at), its(:status), its(:revoked_at), its(:revocation_reason), its(:not_before), its(:not_after), its(:key_algorithm), its(:signature_algorithm), its(:in_use_by), its(:failure_reason), its(:type), its(:renewal_summary), its(:key_usages), its(:extended_key_usages), its(:certificate_authority_arn), its(:renewal_eligibility), its(:options)
120
126
  ## <a name="alb">alb</a>
121
127
 
122
128
  ALB resource type.
@@ -174,7 +180,7 @@ describe alb('my-alb') do
174
180
  end
175
181
  ```
176
182
 
177
- ### its(:load_balancer_arn), its(:dns_name), its(:canonical_hosted_zone_id), its(:created_time), its(:load_balancer_name), its(:scheme), its(:vpc_id), its(:type), its(:security_groups), its(:ip_address_type), its(:customer_owned_ipv_4_pool), its(:enforce_security_group_inbound_rules_on_private_link_traffic), its(:enable_prefix_for_ipv_6_source_nat)
183
+ ### its(:load_balancer_arn), its(:dns_name), its(:canonical_hosted_zone_id), its(:created_time), its(:load_balancer_name), its(:scheme), its(:vpc_id), its(:type), its(:security_groups), its(:ip_address_type), its(:customer_owned_ipv_4_pool), its(:enforce_security_group_inbound_rules_on_private_link_traffic), its(:enable_prefix_for_ipv_6_source_nat), its(:ipam_pools)
178
184
  ## <a name="alb_listener">alb_listener</a>
179
185
 
180
186
  AlbListener resource type.
@@ -279,7 +285,7 @@ end
279
285
 
280
286
  ### have_tag
281
287
 
282
- ### its(:platform_details), its(:usage_operation), its(:description), its(:ena_support), its(:hypervisor), its(:image_owner_alias), its(:name), its(:root_device_name), its(:root_device_type), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:boot_mode), its(:tpm_support), its(:deprecation_time), its(:imds_support), its(:source_instance_id), its(:deregistration_protection), its(:last_launched_time), its(:image_allowed), its(:source_image_id), its(:source_image_region), its(:image_id), its(:image_location), its(:state), its(:owner_id), its(:creation_date), its(:public), its(:architecture), its(:image_type), its(:kernel_id), its(:ramdisk_id), its(:platform)
288
+ ### its(:platform_details), its(:usage_operation), its(:description), its(:ena_support), its(:hypervisor), its(:image_owner_alias), its(:name), its(:root_device_name), its(:root_device_type), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:boot_mode), its(:tpm_support), its(:deprecation_time), its(:imds_support), its(:source_instance_id), its(:deregistration_protection), its(:last_launched_time), its(:image_allowed), its(:source_image_id), its(:source_image_region), its(:free_tier_eligible), its(:image_id), its(:image_location), its(:state), its(:owner_id), its(:creation_date), its(:public), its(:architecture), its(:image_type), its(:kernel_id), its(:ramdisk_id), its(:platform)
283
289
  ### :unlock: Advanced use
284
290
 
285
291
  `ami` can use `Aws::EC2::Image` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Image.html).
@@ -367,6 +373,46 @@ end
367
373
  ```
368
374
 
369
375
  ### its(:auto_scaling_group_name), its(:auto_scaling_group_arn), its(:launch_configuration_name), its(:launch_template), its(:mixed_instances_policy), its(:min_size), its(:max_size), its(:desired_capacity), its(:predicted_capacity), its(:default_cooldown), its(:availability_zones), its(:load_balancer_names), its(:target_group_arns), its(:health_check_type), its(:health_check_grace_period), its(:created_time), its(:placement_group), its(:vpc_zone_identifier), its(:enabled_metrics), its(:status), its(:termination_policies), its(:new_instances_protected_from_scale_in), its(:service_linked_role_arn), its(:max_instance_lifetime), its(:capacity_rebalance), its(:warm_pool_configuration), its(:warm_pool_size), its(:context), its(:desired_capacity_type), its(:default_instance_warmup), its(:traffic_sources), its(:instance_maintenance_policy), its(:availability_zone_distribution), its(:availability_zone_impairment_policy), its(:capacity_reservation_specification)
376
+ ## <a name="backup_plan">backup_plan</a>
377
+
378
+ BackupPlan resource type.
379
+
380
+ ### exist
381
+
382
+ ```ruby
383
+ describe backup_plan('my-backup-plan') do
384
+ it { should exist }
385
+ end
386
+ ```
387
+
388
+ ### its(:backup_plan_arn), its(:backup_plan_id), its(:creation_date), its(:deletion_date), its(:version_id), its(:backup_plan_name), its(:creator_request_id), its(:last_execution_date), its(:advanced_backup_settings)
389
+ ## <a name="backup_selection">backup_selection</a>
390
+
391
+ BackupSelection resource type.
392
+
393
+ ### exist
394
+
395
+ ```ruby
396
+ describe backup_selection('my-backup-selection') do
397
+ it { should exist }
398
+ end
399
+ ```
400
+
401
+ ### its(:selection_id), its(:selection_name), its(:backup_plan_id), its(:creation_date), its(:creator_request_id), its(:iam_role_arn)
402
+ ## <a name="backup_vault">backup_vault</a>
403
+
404
+ BackupVault resource type.
405
+
406
+ ### exist
407
+
408
+ ```ruby
409
+ describe backup_vault('my-backup-vault') do
410
+ it { should exist }
411
+ end
412
+ ```
413
+
414
+
415
+ ### 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)
370
416
  ## <a name="batch_compute_environment">batch_compute_environment</a>
371
417
 
372
418
  BatchComputeEnvironment resource type.
@@ -418,7 +464,7 @@ describe batch_job_definition('my-batch-job-definition') do
418
464
  end
419
465
  ```
420
466
 
421
- ### its(:job_definition_name), its(:job_definition_arn), its(:revision), its(:status), its(:type), its(:scheduling_priority), its(:parameters), its(:retry_strategy), its(:timeout), its(:node_properties), its(:tags), its(:propagate_tags), its(:platform_capabilities), its(:ecs_properties), its(:eks_properties), its(:container_orchestration_type)
467
+ ### its(:job_definition_name), its(:job_definition_arn), its(:revision), its(:status), its(:type), its(:scheduling_priority), its(:parameters), its(:retry_strategy), its(:timeout), its(:node_properties), its(:tags), its(:propagate_tags), its(:platform_capabilities), its(:ecs_properties), its(:eks_properties), its(:container_orchestration_type), its(:consumable_resource_properties)
422
468
  ## <a name="batch_job_queue">batch_job_queue</a>
423
469
 
424
470
  BatchJobQueue resource type.
@@ -444,7 +490,7 @@ describe batch_job_queue('my-batch-job-queue') do
444
490
  end
445
491
  ```
446
492
 
447
- ### its(:job_queue_name), its(:job_queue_arn), its(:state), its(:scheduling_policy_arn), its(:status), its(:status_reason), its(:priority), its(:tags), its(:job_state_time_limit_actions)
493
+ ### its(:job_queue_name), its(:job_queue_arn), its(:state), its(:scheduling_policy_arn), its(:status), its(:status_reason), its(:priority), its(:service_environment_order), its(:job_queue_type), its(:tags), its(:job_state_time_limit_actions)
448
494
  ## <a name="cloudformation_stack">cloudformation_stack</a>
449
495
 
450
496
  CloudformationStack resource type.
@@ -545,7 +591,7 @@ describe cloudfront_distribution('123456789zyxw.cloudfront.net') do
545
591
  end
546
592
  ```
547
593
 
548
- ### its(:id), its(:arn), its(:status), its(:last_modified_time), its(:domain_name), its(:origin_groups), its(:comment), its(:price_class), its(:enabled), its(:web_acl_id), its(:http_version), its(:is_ipv6_enabled), its(:alias_icp_recordals), its(:staging), its(:anycast_ip_list_id)
594
+ ### its(:id), its(:arn), its(:etag), its(:status), its(:last_modified_time), its(:domain_name), its(:origin_groups), its(:comment), its(:price_class), its(:enabled), its(:web_acl_id), its(:http_version), its(:is_ipv6_enabled), its(:alias_icp_recordals), its(:staging), its(:connection_mode), its(:anycast_ip_list_id)
549
595
  ## <a name="cloudtrail">cloudtrail</a>
550
596
 
551
597
  Cloudtrail resource type.
@@ -759,6 +805,12 @@ Codedeploy resource type.
759
805
 
760
806
  ### exist
761
807
 
808
+ ```ruby
809
+ describe codedeploy('my-codedeploy') do
810
+ it { should exist }
811
+ end
812
+ ```
813
+
762
814
  ### its(:application_id), its(:application_name), its(:create_time), its(:linked_to_git_hub), its(:git_hub_account_name), its(:compute_platform)
763
815
  ## <a name="codedeploy_deployment_group">codedeploy_deployment_group</a>
764
816
 
@@ -784,6 +836,19 @@ end
784
836
  ```
785
837
 
786
838
  ### its(:application_name), its(:deployment_group_id), its(:deployment_group_name), its(:deployment_config_name), its(:on_premises_instance_tag_filters), its(:service_role_arn), its(:target_revision), its(:trigger_configurations), its(:alarm_configuration), its(:deployment_style), its(:outdated_instances_strategy), its(:load_balancer_info), its(:last_successful_deployment), its(:last_attempted_deployment), its(:ec2_tag_set), its(:on_premises_tag_set), its(:compute_platform), its(:ecs_services), its(:termination_hook_enabled)
839
+ ## <a name="codepipeline">codepipeline</a>
840
+
841
+ Codepipeline resource type.
842
+
843
+ ### exist
844
+
845
+ ```ruby
846
+ describe codepipeline('my-codepipeline') do
847
+ it { should exist }
848
+ end
849
+ ```
850
+
851
+ ### its(:name), its(:role_arn), its(:artifact_stores), its(:version), its(:execution_mode), its(:pipeline_type), its(:variables), its(:triggers)
787
852
  ## <a name="cognito_identity_pool">cognito_identity_pool</a>
788
853
 
789
854
  CognitoIdentityPool resource type.
@@ -911,7 +976,7 @@ end
911
976
  ```
912
977
 
913
978
 
914
- ### its(:table_name), its(:table_status), its(:creation_date_time), its(:table_size_bytes), its(:item_count), its(:table_arn), its(:table_id), its(:billing_mode_summary), its(:local_secondary_indexes), its(:global_secondary_indexes), its(:stream_specification), its(:latest_stream_label), its(:latest_stream_arn), its(:global_table_version), its(:replicas), its(:restore_summary), its(:sse_description), its(:archival_summary), its(:table_class_summary), its(:deletion_protection_enabled), its(:on_demand_throughput), its(:warm_throughput), its(:multi_region_consistency)
979
+ ### its(:table_name), its(:table_status), its(:creation_date_time), its(:table_size_bytes), its(:item_count), its(:table_arn), its(:table_id), its(:billing_mode_summary), its(:local_secondary_indexes), its(:global_secondary_indexes), its(:stream_specification), its(:latest_stream_label), its(:latest_stream_arn), its(:global_table_version), its(:replicas), its(:global_table_witnesses), its(:restore_summary), its(:sse_description), its(:archival_summary), its(:table_class_summary), its(:deletion_protection_enabled), its(:on_demand_throughput), its(:warm_throughput), its(:multi_region_consistency)
915
980
  ### :unlock: Advanced use
916
981
 
917
982
  `dynamodb_table` can use `Aws::DynamoDB::Table` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Table.html).
@@ -971,7 +1036,7 @@ end
971
1036
  ```
972
1037
 
973
1038
 
974
- ### its(:outpost_arn), its(:iops), its(:volume_type), its(:fast_restored), its(:multi_attach_enabled), its(:throughput), its(:sse_type), its(:operator), its(:volume_id), its(:size), its(:snapshot_id), its(:availability_zone), its(:state), its(:create_time), its(:encrypted), its(:kms_key_id)
1039
+ ### its(:outpost_arn), its(:iops), its(:volume_type), its(:fast_restored), its(:multi_attach_enabled), its(:throughput), its(:sse_type), its(:operator), its(:volume_initialization_rate), its(:volume_id), its(:size), its(:snapshot_id), its(:availability_zone), its(:state), its(:create_time), its(:encrypted), its(:kms_key_id)
975
1040
  ### :unlock: Advanced use
976
1041
 
977
1042
  `ebs` can use `Aws::EC2::Volume` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Volume.html).
@@ -1157,7 +1222,7 @@ end
1157
1222
  ```
1158
1223
 
1159
1224
 
1160
- ### its(:architecture), its(:client_token), its(:ebs_optimized), its(:ena_support), its(:hypervisor), its(:instance_lifecycle), its(:elastic_gpu_associations), its(:elastic_inference_accelerator_associations), its(:outpost_arn), its(:root_device_name), its(:root_device_type), its(:source_dest_check), its(:spot_instance_request_id), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:cpu_options), its(:capacity_reservation_id), its(:capacity_reservation_specification), its(:hibernation_options), its(:licenses), its(:metadata_options), its(:enclave_options), its(:boot_mode), its(:platform_details), its(:usage_operation), its(:usage_operation_update_time), its(:private_dns_name_options), its(:ipv_6_address), its(:tpm_support), its(:maintenance_options), its(:current_instance_boot_mode), its(:network_performance_options), its(:operator), its(:instance_id), its(:image_id), its(:private_dns_name), its(:public_dns_name), its(:state_transition_reason), its(:key_name), its(:ami_launch_index), its(:product_codes), its(:instance_type), its(:launch_time), its(:placement), its(:kernel_id), its(:ramdisk_id), its(:platform), its(:monitoring), its(:subnet_id), its(:vpc_id), its(:private_ip_address), its(:public_ip_address)
1225
+ ### its(:architecture), its(:client_token), its(:ebs_optimized), its(:ena_support), its(:hypervisor), its(:instance_lifecycle), its(:elastic_gpu_associations), its(:elastic_inference_accelerator_associations), its(:outpost_arn), its(:root_device_name), its(:root_device_type), its(:source_dest_check), its(:spot_instance_request_id), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:cpu_options), its(:capacity_block_id), its(:capacity_reservation_id), its(:capacity_reservation_specification), its(:hibernation_options), its(:licenses), its(:metadata_options), its(:enclave_options), its(:boot_mode), its(:platform_details), its(:usage_operation), its(:usage_operation_update_time), its(:private_dns_name_options), its(:ipv_6_address), its(:tpm_support), its(:maintenance_options), its(:current_instance_boot_mode), its(:network_performance_options), its(:operator), its(:instance_id), its(:image_id), its(:private_dns_name), its(:public_dns_name), its(:state_transition_reason), its(:key_name), its(:ami_launch_index), its(:product_codes), its(:instance_type), its(:launch_time), its(:placement), its(:kernel_id), its(:ramdisk_id), its(:platform), its(:monitoring), its(:subnet_id), its(:vpc_id), its(:private_ip_address), its(:public_ip_address)
1161
1226
  ### :unlock: Advanced use
1162
1227
 
1163
1228
  `ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
@@ -1228,7 +1293,7 @@ describe ecr_repository('my-ecr-repository') do
1228
1293
  end
1229
1294
  ```
1230
1295
 
1231
- ### its(:repository_arn), its(:registry_id), its(:repository_name), its(:repository_uri), its(:created_at), its(:image_tag_mutability), its(:image_scanning_configuration), its(:encryption_configuration)
1296
+ ### its(:repository_arn), its(:registry_id), its(:repository_name), its(:repository_uri), its(:created_at), its(:image_tag_mutability), its(:image_tag_mutability_exclusion_filters), its(:image_scanning_configuration), its(:encryption_configuration)
1232
1297
  ## <a name="ecs_cluster">ecs_cluster</a>
1233
1298
 
1234
1299
  ECS Cluster resource type.
@@ -1383,7 +1448,7 @@ describe eip('123.0.456.789') do
1383
1448
  end
1384
1449
  ```
1385
1450
 
1386
- ### its(:allocation_id), its(:association_id), its(:domain), its(:network_interface_id), its(:network_interface_owner_id), its(:private_ip_address), its(:public_ipv_4_pool), its(:network_border_group), its(:customer_owned_ip), its(:customer_owned_ipv_4_pool), its(:carrier_ip), its(:instance_id), its(:public_ip)
1451
+ ### its(:allocation_id), its(:association_id), its(:domain), its(:network_interface_id), its(:network_interface_owner_id), its(:private_ip_address), its(:public_ipv_4_pool), its(:network_border_group), its(:customer_owned_ip), its(:customer_owned_ipv_4_pool), its(:carrier_ip), its(:subnet_id), its(:service_managed), its(:instance_id), its(:public_ip)
1387
1452
  ## <a name="eks">eks</a>
1388
1453
 
1389
1454
  Eks resource type.
@@ -1756,7 +1821,7 @@ describe emr('my-emr') do
1756
1821
  end
1757
1822
  ```
1758
1823
 
1759
- ### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:log_encryption_kms_key_id), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), its(:unhealthy_node_replacement), its(:visible_to_all_users), its(:service_role), its(:normalized_instance_hours), its(:master_public_dns_name), its(:configurations), its(:security_configuration), its(:auto_scaling_role), its(:scale_down_behavior), its(:custom_ami_id), its(:ebs_root_volume_size), its(:repo_upgrade_on_boot), its(:cluster_arn), its(:outpost_arn), its(:step_concurrency_level), its(:placement_groups), its(:os_release_label), its(:ebs_root_volume_iops), its(:ebs_root_volume_throughput)
1824
+ ### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:log_encryption_kms_key_id), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), its(:unhealthy_node_replacement), its(:visible_to_all_users), its(:service_role), its(:normalized_instance_hours), its(:master_public_dns_name), its(:configurations), its(:security_configuration), its(:auto_scaling_role), its(:scale_down_behavior), its(:custom_ami_id), its(:ebs_root_volume_size), its(:repo_upgrade_on_boot), its(:cluster_arn), its(:outpost_arn), its(:step_concurrency_level), its(:placement_groups), its(:os_release_label), its(:ebs_root_volume_iops), its(:ebs_root_volume_throughput), its(:extended_support)
1760
1825
  ## <a name="firehose">firehose</a>
1761
1826
 
1762
1827
  Firehose resource type.
@@ -1779,8 +1844,6 @@ end
1779
1844
  ```
1780
1845
 
1781
1846
 
1782
- ### be_creating
1783
-
1784
1847
  ### be_deleting
1785
1848
 
1786
1849
  ### have_splunk_destination
@@ -2297,7 +2360,7 @@ DOC
2297
2360
  end
2298
2361
  ```
2299
2362
 
2300
- ### its(:aws_account_id), its(:key_id), its(:arn), its(:creation_date), its(:enabled), its(:description), its(:key_usage), its(:key_state), its(:deletion_date), its(:valid_to), its(:origin), its(:custom_key_store_id), its(:cloud_hsm_cluster_id), its(:expiration_model), its(:key_manager), its(:customer_master_key_spec), its(:key_spec), its(:encryption_algorithms), its(:signing_algorithms), its(:key_agreement_algorithms), its(:multi_region), its(:multi_region_configuration), its(:pending_deletion_window_in_days), its(:mac_algorithms), its(:xks_key_configuration)
2363
+ ### its(:aws_account_id), its(:key_id), its(:arn), its(:creation_date), its(:enabled), its(:description), its(:key_usage), its(:key_state), its(:deletion_date), its(:valid_to), its(:origin), its(:custom_key_store_id), its(:cloud_hsm_cluster_id), its(:expiration_model), its(:key_manager), its(:customer_master_key_spec), its(:key_spec), its(:encryption_algorithms), its(:signing_algorithms), its(:key_agreement_algorithms), its(:multi_region), its(:multi_region_configuration), its(:pending_deletion_window_in_days), its(:mac_algorithms), its(:xks_key_configuration), its(:current_key_material_id)
2301
2364
  ## <a name="lambda">lambda</a>
2302
2365
 
2303
2366
  Lambda resource type.
@@ -2525,12 +2588,8 @@ end
2525
2588
 
2526
2589
  ### be_active
2527
2590
 
2528
- ### be_creating
2529
-
2530
2591
  ### be_deleting
2531
2592
 
2532
- ### be_failed
2533
-
2534
2593
  ### be_updating
2535
2594
 
2536
2595
  ### its(:active_operation_arn), its(:client_authentication), its(:cluster_arn), its(:cluster_name), its(:creation_time), its(:current_version), its(:enhanced_monitoring), its(:number_of_broker_nodes), its(:state), its(:state_info), its(:zookeeper_connect_string), its(:zookeeper_connect_string_tls), its(:storage_mode), its(:customer_action_status)
@@ -2734,7 +2793,7 @@ describe network_interface('eni-12ab3cde') do
2734
2793
  end
2735
2794
  ```
2736
2795
 
2737
- ### its(:association), its(:availability_zone), its(:connection_tracking_configuration), its(:description), its(:interface_type), its(:ipv_6_addresses), its(:mac_address), its(:network_interface_id), its(:outpost_arn), its(:owner_id), its(:private_dns_name), its(:private_ip_address), its(:ipv_4_prefixes), its(:ipv_6_prefixes), its(:requester_id), its(:requester_managed), its(:source_dest_check), its(:status), its(:subnet_id), its(:vpc_id), its(:deny_all_igw_traffic), its(:ipv_6_native), its(:ipv_6_address), its(:operator)
2796
+ ### its(:association), its(:availability_zone), its(:connection_tracking_configuration), its(:description), its(:interface_type), its(:ipv_6_addresses), its(:mac_address), its(:network_interface_id), its(:outpost_arn), its(:owner_id), its(:private_dns_name), its(:public_dns_name), its(:public_ip_dns_name_options), its(:private_ip_address), its(:ipv_4_prefixes), its(:ipv_6_prefixes), its(:requester_id), its(:requester_managed), its(:source_dest_check), its(:status), its(:subnet_id), its(:vpc_id), its(:deny_all_igw_traffic), its(:ipv_6_native), its(:ipv_6_address), its(:operator), its(:associated_subnets)
2738
2797
  ## <a name="nlb">nlb</a>
2739
2798
 
2740
2799
  NLB resource type.
@@ -2785,7 +2844,7 @@ describe nlb('my-nlb') do
2785
2844
  end
2786
2845
  ```
2787
2846
 
2788
- ### its(:load_balancer_arn), its(:dns_name), its(:canonical_hosted_zone_id), its(:created_time), its(:load_balancer_name), its(:scheme), its(:vpc_id), its(:type), its(:security_groups), its(:ip_address_type), its(:customer_owned_ipv_4_pool), its(:enforce_security_group_inbound_rules_on_private_link_traffic), its(:enable_prefix_for_ipv_6_source_nat)
2847
+ ### its(:load_balancer_arn), its(:dns_name), its(:canonical_hosted_zone_id), its(:created_time), its(:load_balancer_name), its(:scheme), its(:vpc_id), its(:type), its(:security_groups), its(:ip_address_type), its(:customer_owned_ipv_4_pool), its(:enforce_security_group_inbound_rules_on_private_link_traffic), its(:enable_prefix_for_ipv_6_source_nat), its(:ipam_pools)
2789
2848
  ## <a name="nlb_listener">nlb_listener</a>
2790
2849
 
2791
2850
  NlbListener resource type.
@@ -3035,7 +3094,16 @@ describe rds_db_cluster('my-rds-db-cluster') do
3035
3094
  end
3036
3095
  ```
3037
3096
 
3038
- ### 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(:status_infos), 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(:rds_custom_cluster_configuration), 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(:database_insights_mode), its(:performance_insights_enabled), its(:performance_insights_kms_key_id), its(:performance_insights_retention_period), its(:serverless_v2_scaling_configuration), its(:network_type), its(:db_system_id), its(:master_user_secret), its(:io_optimized_next_allowed_modification_time), its(:local_write_forwarding_status), its(:aws_backup_recovery_point_arn), its(:limitless_database), its(:storage_throughput), its(:cluster_scalability_type), its(:certificate_details), its(:engine_lifecycle_support)
3097
+
3098
+ ### have_tag
3099
+
3100
+ ```ruby
3101
+ describe rds_db_cluster('my-rds-db-cluster') do
3102
+ it { should have_tag('env').value('dev') }
3103
+ end
3104
+ ```
3105
+
3106
+ ### 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(:status_infos), 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(:rds_custom_cluster_configuration), 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(:global_cluster_identifier), 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(:database_insights_mode), its(:performance_insights_enabled), its(:performance_insights_kms_key_id), its(:performance_insights_retention_period), its(:serverless_v2_scaling_configuration), its(:network_type), its(:db_system_id), its(:master_user_secret), its(:io_optimized_next_allowed_modification_time), its(:local_write_forwarding_status), its(:aws_backup_recovery_point_arn), its(:limitless_database), its(:storage_throughput), its(:cluster_scalability_type), its(:certificate_details), its(:engine_lifecycle_support)
3039
3107
  ## <a name="rds_db_cluster_parameter_group">rds_db_cluster_parameter_group</a>
3040
3108
 
3041
3109
  RdsDBClusterParameterGroup resource type.
@@ -3153,7 +3221,16 @@ describe rds_global_cluster('my-rds-global-cluster') do
3153
3221
  end
3154
3222
  ```
3155
3223
 
3156
- ### its(:global_cluster_identifier), its(:global_cluster_resource_id), its(:global_cluster_arn), its(:status), its(:engine), its(:engine_version), its(:engine_lifecycle_support), its(:database_name), its(:storage_encrypted), its(:deletion_protection), its(:endpoint), its(:failover_state), its(:tag_list)
3224
+
3225
+ ### have_tag
3226
+
3227
+ ```ruby
3228
+ describe rds_global_cluster('my-rds-global-cluster') do
3229
+ it { should have_tag('env').value('dev') }
3230
+ end
3231
+ ```
3232
+
3233
+ ### its(:global_cluster_identifier), its(:global_cluster_resource_id), its(:global_cluster_arn), its(:status), its(:engine), its(:engine_version), its(:engine_lifecycle_support), its(:database_name), its(:storage_encrypted), its(:deletion_protection), its(:endpoint), its(:failover_state)
3157
3234
  ## <a name="rds_proxy">rds_proxy</a>
3158
3235
 
3159
3236
  RdsProxy resource type.
@@ -3563,7 +3640,7 @@ end
3563
3640
  ```
3564
3641
 
3565
3642
 
3566
- ### its(:acl_grants_count), its(:acl_owner), its(:cors_rules_count), its(:name), its(:creation_date), its(:bucket_region)
3643
+ ### its(:acl_grants_count), its(:acl_owner), its(:cors_rules_count), its(:name), its(:creation_date), its(:bucket_region), its(:bucket_arn)
3567
3644
  ### :unlock: Advanced use
3568
3645
 
3569
3646
  `s3_bucket` can use `Aws::S3::Bucket` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Bucket.html).
@@ -3889,6 +3966,10 @@ TransferServer resource type.
3889
3966
  describe transfer_server('s-4dc0a424f0154fa89') do
3890
3967
  it { should exist }
3891
3968
  end
3969
+
3970
+ describe transfer_server('my-transfer-server') do
3971
+ it { should exist }
3972
+ end
3892
3973
  ```
3893
3974
 
3894
3975
 
@@ -3909,7 +3990,7 @@ end
3909
3990
  ```
3910
3991
 
3911
3992
 
3912
- ### its(:arn), its(:certificate), its(:protocol_details), its(:domain), its(:endpoint_type), its(:host_key_fingerprint), its(:identity_provider_details), its(:identity_provider_type), its(:logging_role), its(:post_authentication_login_banner), its(:pre_authentication_login_banner), its(:protocols), its(:security_policy_name), its(:server_id), its(:state), its(:user_count), its(:workflow_details), its(:structured_log_destinations), its(:s3_storage_options), its(:as_2_service_managed_egress_ip_addresses)
3993
+ ### its(:arn), its(:certificate), its(:protocol_details), its(:domain), its(:endpoint_type), its(:host_key_fingerprint), its(:identity_provider_details), its(:identity_provider_type), its(:logging_role), its(:post_authentication_login_banner), its(:pre_authentication_login_banner), its(:protocols), its(:security_policy_name), its(:server_id), its(:state), its(:user_count), its(:workflow_details), its(:structured_log_destinations), its(:s3_storage_options), its(:as_2_service_managed_egress_ip_addresses), its(:ip_address_type)
3913
3994
  ## <a name="transit_gateway">transit_gateway</a>
3914
3995
 
3915
3996
  TransitGateway resource type.
@@ -4048,7 +4129,7 @@ end
4048
4129
  ```
4049
4130
 
4050
4131
 
4051
- ### its(:owner_id), its(:instance_tenancy), its(:ipv_6_cidr_block_association_set), its(:cidr_block_association_set), its(:is_default), its(:block_public_access_states), its(:vpc_id), its(:state), its(:cidr_block), its(:dhcp_options_id)
4132
+ ### its(:owner_id), its(:instance_tenancy), its(:ipv_6_cidr_block_association_set), its(:cidr_block_association_set), its(:is_default), its(:encryption_control), its(:block_public_access_states), its(:vpc_id), its(:state), its(:cidr_block), its(:dhcp_options_id)
4052
4133
  ### :unlock: Advanced use
4053
4134
 
4054
4135
  `vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
@@ -4184,7 +4265,7 @@ end
4184
4265
  ```
4185
4266
 
4186
4267
 
4187
- ### its(:category), its(:transit_gateway_id), its(:core_network_arn), its(:core_network_attachment_arn), its(:gateway_association_state), its(:options), its(:routes), its(:vgw_telemetry), its(:vpn_connection_id), its(:state), its(:customer_gateway_configuration), its(:type), its(:customer_gateway_id), its(:vpn_gateway_id)
4268
+ ### its(:category), its(:transit_gateway_id), its(:core_network_arn), its(:core_network_attachment_arn), its(:gateway_association_state), its(:options), its(:routes), its(:vgw_telemetry), its(:pre_shared_key_arn), its(:vpn_connection_id), its(:state), its(:customer_gateway_configuration), its(:type), its(:customer_gateway_id), its(:vpn_gateway_id)
4188
4269
  ## <a name="vpn_gateway">vpn_gateway</a>
4189
4270
 
4190
4271
  VpnGateway resource type.
@@ -4280,6 +4361,66 @@ end
4280
4361
 
4281
4362
 
4282
4363
  ### its(:default_action), its(:web_acl_id), its(:name), its(:metric_name), its(:web_acl_arn)
4364
+ ## <a name="wafv2_ip_set">wafv2_ip_set</a>
4365
+
4366
+ Wafv2IpSet resource type.
4367
+
4368
+ ### exist
4369
+
4370
+ You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4371
+
4372
+ ```ruby
4373
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
4374
+ it { should exist }
4375
+ end
4376
+
4377
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'CLOUDFRONT', region: 'us-east-1' do
4378
+ it { should exist }
4379
+ end
4380
+ ```
4381
+
4382
+
4383
+ ### have_ip_address
4384
+
4385
+ ```ruby
4386
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
4387
+ it { should have_ip_address('10.0.0.0/32') }
4388
+ end
4389
+ ```
4390
+
4391
+ ### its(:name), its(:id), its(:arn), its(:description), its(:ip_address_version), its(:addresses)
4392
+ ## <a name="wafv2_web_acl">wafv2_web_acl</a>
4393
+
4394
+ Wafv2WebAcl resource type.
4395
+
4396
+ ### exist
4397
+
4398
+ You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4399
+
4400
+ ```ruby
4401
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
4402
+ it { should exist }
4403
+ its(:default_action) { should eq 'ALLOW' }
4404
+ end
4405
+
4406
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'CLOUDFRONT', region: 'us-east-1' do
4407
+ it { should exist }
4408
+ its(:default_action) { should eq 'ALLOW' }
4409
+ end
4410
+ ```
4411
+
4412
+
4413
+ ### have_rule
4414
+
4415
+ ```ruby
4416
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
4417
+ it { should have_rule('AWS-AWSManagedRulesCommonRuleSet') }
4418
+ it { should have_rule('AWS-AWSManagedRulesKnownBadInputsRuleSet').order(1) }
4419
+ it { should have_rule('AWS-AWSManagedRulesLinuxRuleSet').order(2).override_action('NONE') }
4420
+ end
4421
+ ```
4422
+
4423
+ ### its(:name), its(:id), its(:arn), its(:description), its(:data_protection_config), its(:capacity), its(:pre_process_firewall_manager_rule_groups), its(:post_process_firewall_manager_rule_groups), its(:managed_by_firewall_manager), its(:label_namespace), its(:custom_response_bodies), its(:captcha_config), its(:challenge_config), its(:token_domains), its(:association_config), its(:retrofitted_by_firewall_manager), its(:on_source_d_do_s_protection_config), its(:application_config)
4283
4424
  # Account and Attributes
4284
4425
 
4285
4426
  ## <a name="account">account</a>
@@ -62,6 +62,18 @@ module Awspec
62
62
  end
63
63
  end
64
64
 
65
+ types = %w[
66
+ wafv2_ip_set
67
+ ]
68
+
69
+ types.each do |type|
70
+ desc "#{type} [scope]", "Generate #{type} spec from scope: (CLOUDFRONT or REGIONAL)."
71
+ define_method type do |_scope|
72
+ Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
73
+ eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate_by_scope(_scope)"
74
+ end
75
+ end
76
+
65
77
  types_for_generate_all = %w[
66
78
  cloudwatch_alarm cloudwatch_event directconnect ebs efs
67
79
  elasticsearch iam_group iam_policy iam_role iam_user kms lambda