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
@@ -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)
@@ -90,6 +93,7 @@
90
93
  | [waf_web_acl](#waf_web_acl)
91
94
  | [wafregional_web_acl](#wafregional_web_acl)
92
95
  | [wafv2_ip_set](#wafv2_ip_set)
96
+ | [wafv2_web_acl](#wafv2_web_acl)
93
97
  | [account](#account)
94
98
 
95
99
  ## <a name="acm">acm</a>
@@ -118,7 +122,7 @@ describe acm('example.com') do
118
122
  end
119
123
  ```
120
124
 
121
- ### 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)
122
126
  ## <a name="alb">alb</a>
123
127
 
124
128
  ALB resource type.
@@ -176,7 +180,7 @@ describe alb('my-alb') do
176
180
  end
177
181
  ```
178
182
 
179
- ### 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)
180
184
  ## <a name="alb_listener">alb_listener</a>
181
185
 
182
186
  AlbListener resource type.
@@ -281,7 +285,7 @@ end
281
285
 
282
286
  ### have_tag
283
287
 
284
- ### 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)
285
289
  ### :unlock: Advanced use
286
290
 
287
291
  `ami` can use `Aws::EC2::Image` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Image.html).
@@ -369,6 +373,48 @@ end
369
373
  ```
370
374
 
371
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
+ ### have_plan_rule
389
+
390
+ ### 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)
391
+ ## <a name="backup_selection">backup_selection</a>
392
+
393
+ BackupSelection resource type.
394
+
395
+ ### exist
396
+
397
+ ```ruby
398
+ describe backup_selection('my-backup-selection') do
399
+ it { should exist }
400
+ end
401
+ ```
402
+
403
+ ### its(:selection_id), its(:selection_name), its(:backup_plan_id), its(:creation_date), its(:creator_request_id), its(:iam_role_arn)
404
+ ## <a name="backup_vault">backup_vault</a>
405
+
406
+ BackupVault resource type.
407
+
408
+ ### exist
409
+
410
+ ```ruby
411
+ describe backup_vault('my-backup-vault') do
412
+ it { should exist }
413
+ end
414
+ ```
415
+
416
+
417
+ ### 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)
372
418
  ## <a name="batch_compute_environment">batch_compute_environment</a>
373
419
 
374
420
  BatchComputeEnvironment resource type.
@@ -420,7 +466,7 @@ describe batch_job_definition('my-batch-job-definition') do
420
466
  end
421
467
  ```
422
468
 
423
- ### 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)
469
+ ### 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)
424
470
  ## <a name="batch_job_queue">batch_job_queue</a>
425
471
 
426
472
  BatchJobQueue resource type.
@@ -446,7 +492,7 @@ describe batch_job_queue('my-batch-job-queue') do
446
492
  end
447
493
  ```
448
494
 
449
- ### 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)
495
+ ### 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)
450
496
  ## <a name="cloudformation_stack">cloudformation_stack</a>
451
497
 
452
498
  CloudformationStack resource type.
@@ -547,7 +593,7 @@ describe cloudfront_distribution('123456789zyxw.cloudfront.net') do
547
593
  end
548
594
  ```
549
595
 
550
- ### 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)
596
+ ### 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)
551
597
  ## <a name="cloudtrail">cloudtrail</a>
552
598
 
553
599
  Cloudtrail resource type.
@@ -896,7 +942,7 @@ describe directconnect_virtual_interface('my-directconnect-virtual-interface') d
896
942
  end
897
943
  ```
898
944
 
899
- ### its(:owner_account), its(:virtual_interface_id), its(:location), its(:connection_id), its(:virtual_interface_type), its(:virtual_interface_name), its(:vlan), its(:asn), its(:amazon_side_asn), its(:auth_key), its(:amazon_address), its(:customer_address), its(:address_family), its(:virtual_interface_state), its(:customer_router_config), its(:mtu), its(:jumbo_frame_capable), its(:virtual_gateway_id), its(:direct_connect_gateway_id), its(:route_filter_prefixes), its(:bgp_peers), its(:region), its(:aws_device_v2), its(:aws_logical_device_id), its(:tags), its(:site_link_enabled)
945
+ ### its(:owner_account), its(:virtual_interface_id), its(:location), its(:connection_id), its(:virtual_interface_type), its(:virtual_interface_name), its(:vlan), its(:asn), its(:asn_long), its(:amazon_side_asn), its(:auth_key), its(:amazon_address), its(:customer_address), its(:address_family), its(:virtual_interface_state), its(:customer_router_config), its(:mtu), its(:jumbo_frame_capable), its(:virtual_gateway_id), its(:direct_connect_gateway_id), its(:route_filter_prefixes), its(:bgp_peers), its(:region), its(:aws_device_v2), its(:aws_logical_device_id), its(:tags), its(:site_link_enabled)
900
946
  ## <a name="dynamodb_table">dynamodb_table</a>
901
947
 
902
948
  DynamodbTable resource type.
@@ -932,7 +978,7 @@ end
932
978
  ```
933
979
 
934
980
 
935
- ### 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)
981
+ ### 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)
936
982
  ### :unlock: Advanced use
937
983
 
938
984
  `dynamodb_table` can use `Aws::DynamoDB::Table` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Table.html).
@@ -992,7 +1038,7 @@ end
992
1038
  ```
993
1039
 
994
1040
 
995
- ### 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)
1041
+ ### its(:availability_zone_id), its(:outpost_arn), its(:source_volume_id), 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)
996
1042
  ### :unlock: Advanced use
997
1043
 
998
1044
  `ebs` can use `Aws::EC2::Volume` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Volume.html).
@@ -1178,7 +1224,7 @@ end
1178
1224
  ```
1179
1225
 
1180
1226
 
1181
- ### 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)
1227
+ ### 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)
1182
1228
  ### :unlock: Advanced use
1183
1229
 
1184
1230
  `ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
@@ -1249,7 +1295,7 @@ describe ecr_repository('my-ecr-repository') do
1249
1295
  end
1250
1296
  ```
1251
1297
 
1252
- ### 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)
1298
+ ### 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)
1253
1299
  ## <a name="ecs_cluster">ecs_cluster</a>
1254
1300
 
1255
1301
  ECS Cluster resource type.
@@ -1404,7 +1450,7 @@ describe eip('123.0.456.789') do
1404
1450
  end
1405
1451
  ```
1406
1452
 
1407
- ### 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)
1453
+ ### 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)
1408
1454
  ## <a name="eks">eks</a>
1409
1455
 
1410
1456
  Eks resource type.
@@ -1425,7 +1471,7 @@ describe eks('my-eks') do
1425
1471
  end
1426
1472
  ```
1427
1473
 
1428
- ### its(:name), its(:arn), its(:created_at), its(:version), its(:endpoint), its(:role_arn), its(:kubernetes_network_config), its(:logging), its(:identity), its(:status), its(:client_request_token), its(:platform_version), its(:tags), its(:encryption_config), its(:connector_config), its(:id), its(:health), its(:outpost_config), its(:access_config), its(:upgrade_policy), its(:zonal_shift_config), its(:remote_network_config), its(:compute_config), its(:storage_config)
1474
+ ### its(:name), its(:arn), its(:created_at), its(:version), its(:endpoint), its(:role_arn), its(:kubernetes_network_config), its(:logging), its(:identity), its(:status), its(:client_request_token), its(:platform_version), its(:tags), its(:encryption_config), its(:connector_config), its(:id), its(:health), its(:outpost_config), its(:access_config), its(:upgrade_policy), its(:zonal_shift_config), its(:remote_network_config), its(:compute_config), its(:storage_config), its(:deletion_protection)
1429
1475
  ## <a name="eks_nodegroup">eks_nodegroup</a>
1430
1476
 
1431
1477
  EksNodegroup resource type.
@@ -1777,7 +1823,7 @@ describe emr('my-emr') do
1777
1823
  end
1778
1824
  ```
1779
1825
 
1780
- ### 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)
1826
+ ### 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)
1781
1827
  ## <a name="firehose">firehose</a>
1782
1828
 
1783
1829
  Firehose resource type.
@@ -1800,8 +1846,6 @@ end
1800
1846
  ```
1801
1847
 
1802
1848
 
1803
- ### be_creating
1804
-
1805
1849
  ### be_deleting
1806
1850
 
1807
1851
  ### have_splunk_destination
@@ -2318,7 +2362,7 @@ DOC
2318
2362
  end
2319
2363
  ```
2320
2364
 
2321
- ### 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)
2365
+ ### 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)
2322
2366
  ## <a name="lambda">lambda</a>
2323
2367
 
2324
2368
  Lambda resource type.
@@ -2546,12 +2590,8 @@ end
2546
2590
 
2547
2591
  ### be_active
2548
2592
 
2549
- ### be_creating
2550
-
2551
2593
  ### be_deleting
2552
2594
 
2553
- ### be_failed
2554
-
2555
2595
  ### be_updating
2556
2596
 
2557
2597
  ### 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)
@@ -2755,7 +2795,7 @@ describe network_interface('eni-12ab3cde') do
2755
2795
  end
2756
2796
  ```
2757
2797
 
2758
- ### 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)
2798
+ ### 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)
2759
2799
  ## <a name="nlb">nlb</a>
2760
2800
 
2761
2801
  NLB resource type.
@@ -2806,7 +2846,7 @@ describe nlb('my-nlb') do
2806
2846
  end
2807
2847
  ```
2808
2848
 
2809
- ### 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)
2849
+ ### 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)
2810
2850
  ## <a name="nlb_listener">nlb_listener</a>
2811
2851
 
2812
2852
  NlbListener resource type.
@@ -2983,7 +3023,7 @@ end
2983
3023
  ```
2984
3024
 
2985
3025
 
2986
- ### 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(:database_insights_mode), 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), its(:storage_throughput), its(:db_system_id), its(:master_user_secret), its(:certificate_details), its(:read_replica_source_db_cluster_identifier), its(:percent_progress), its(:dedicated_log_volume), its(:is_storage_config_upgrade_available), its(:multi_tenant), its(:engine_lifecycle_support)
3026
+ ### its(:vpc_id), its(:db_instance_identifier), its(:db_instance_class), its(:engine), its(:db_instance_status), 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(:storage_throughput), 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(:database_insights_mode), 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(:automation_mode), its(:resume_full_automation_mode_time), its(:customer_owned_ip_enabled), its(:network_type), 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(:aws_backup_recovery_point_arn), its(:db_instance_automated_backups_replications), its(:backup_target), its(:automatic_restart_time), its(:custom_iam_instance_profile), its(:activity_stream_policy_status), its(:certificate_details), its(:db_system_id), its(:master_user_secret), its(:read_replica_source_db_cluster_identifier), its(:percent_progress), its(:multi_tenant), its(:dedicated_log_volume), its(:is_storage_config_upgrade_available), its(:engine_lifecycle_support)
2987
3027
  ### :unlock: Advanced use
2988
3028
 
2989
3029
  `rds` can use `Aws::RDS::DBInstance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/RDS/DBInstance.html).
@@ -3056,7 +3096,16 @@ describe rds_db_cluster('my-rds-db-cluster') do
3056
3096
  end
3057
3097
  ```
3058
3098
 
3059
- ### 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)
3099
+
3100
+ ### have_tag
3101
+
3102
+ ```ruby
3103
+ describe rds_db_cluster('my-rds-db-cluster') do
3104
+ it { should have_tag('env').value('dev') }
3105
+ end
3106
+ ```
3107
+
3108
+ ### 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(: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(:pending_modified_values), its(:engine_mode), its(:scaling_configuration_info), its(:rds_custom_cluster_configuration), its(:db_cluster_instance_class), its(:storage_type), its(:iops), its(:storage_throughput), its(:io_optimized_next_allowed_modification_time), its(:publicly_accessible), its(:auto_minor_version_upgrade), 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(:network_type), its(:automatic_restart_time), its(:serverless_v2_scaling_configuration), its(:serverless_v2_platform_version), 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(:db_system_id), its(:master_user_secret), its(:local_write_forwarding_status), its(:aws_backup_recovery_point_arn), its(:limitless_database), its(:cluster_scalability_type), its(:certificate_details), its(:engine_lifecycle_support)
3060
3109
  ## <a name="rds_db_cluster_parameter_group">rds_db_cluster_parameter_group</a>
3061
3110
 
3062
3111
  RdsDBClusterParameterGroup resource type.
@@ -3174,7 +3223,16 @@ describe rds_global_cluster('my-rds-global-cluster') do
3174
3223
  end
3175
3224
  ```
3176
3225
 
3177
- ### 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)
3226
+
3227
+ ### have_tag
3228
+
3229
+ ```ruby
3230
+ describe rds_global_cluster('my-rds-global-cluster') do
3231
+ it { should have_tag('env').value('dev') }
3232
+ end
3233
+ ```
3234
+
3235
+ ### 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)
3178
3236
  ## <a name="rds_proxy">rds_proxy</a>
3179
3237
 
3180
3238
  RdsProxy resource type.
@@ -3226,7 +3284,7 @@ describe rds_proxy('my-rds-proxy') do
3226
3284
  end
3227
3285
  ```
3228
3286
 
3229
- ### its(:vpc_id), its(:db_proxy_name), its(:db_proxy_arn), its(:status), its(:engine_family), its(:vpc_id), its(:vpc_security_group_ids), its(:vpc_subnet_ids), its(:role_arn), its(:endpoint), its(:require_tls), its(:idle_client_timeout), its(:debug_logging), its(:created_date), its(:updated_date)
3287
+ ### its(:vpc_id), its(:db_proxy_name), its(:db_proxy_arn), its(:status), its(:engine_family), its(:vpc_id), its(:vpc_security_group_ids), its(:vpc_subnet_ids), its(:default_auth_scheme), its(:role_arn), its(:endpoint), its(:require_tls), its(:idle_client_timeout), its(:debug_logging), its(:created_date), its(:updated_date), its(:endpoint_network_type), its(:target_connection_network_type)
3230
3288
  ## <a name="redshift">redshift</a>
3231
3289
 
3232
3290
  Redshift resource type.
@@ -3584,7 +3642,7 @@ end
3584
3642
  ```
3585
3643
 
3586
3644
 
3587
- ### its(:acl_grants_count), its(:acl_owner), its(:cors_rules_count), its(:name), its(:creation_date), its(:bucket_region)
3645
+ ### its(:acl_grants_count), its(:acl_owner), its(:cors_rules_count), its(:name), its(:creation_date), its(:bucket_region), its(:bucket_arn)
3588
3646
  ### :unlock: Advanced use
3589
3647
 
3590
3648
  `s3_bucket` can use `Aws::S3::Bucket` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Bucket.html).
@@ -3910,6 +3968,10 @@ TransferServer resource type.
3910
3968
  describe transfer_server('s-4dc0a424f0154fa89') do
3911
3969
  it { should exist }
3912
3970
  end
3971
+
3972
+ describe transfer_server('my-transfer-server') do
3973
+ it { should exist }
3974
+ end
3913
3975
  ```
3914
3976
 
3915
3977
 
@@ -3930,7 +3992,7 @@ end
3930
3992
  ```
3931
3993
 
3932
3994
 
3933
- ### 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)
3995
+ ### 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)
3934
3996
  ## <a name="transit_gateway">transit_gateway</a>
3935
3997
 
3936
3998
  TransitGateway resource type.
@@ -4069,7 +4131,7 @@ end
4069
4131
  ```
4070
4132
 
4071
4133
 
4072
- ### 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)
4134
+ ### 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)
4073
4135
  ### :unlock: Advanced use
4074
4136
 
4075
4137
  `vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
@@ -4205,7 +4267,7 @@ end
4205
4267
  ```
4206
4268
 
4207
4269
 
4208
- ### 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)
4270
+ ### 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)
4209
4271
  ## <a name="vpn_gateway">vpn_gateway</a>
4210
4272
 
4211
4273
  VpnGateway resource type.
@@ -4310,7 +4372,11 @@ Wafv2IpSet resource type.
4310
4372
  You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4311
4373
 
4312
4374
  ```ruby
4313
- describe wafv2_ip_set('my-ip-set'), scope: 'REGIONAL' do
4375
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
4376
+ it { should exist }
4377
+ end
4378
+
4379
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'CLOUDFRONT', region: 'us-east-1' do
4314
4380
  it { should exist }
4315
4381
  end
4316
4382
  ```
@@ -4319,12 +4385,44 @@ end
4319
4385
  ### have_ip_address
4320
4386
 
4321
4387
  ```ruby
4322
- describe wafv2_ip_set('my-ip-set'), scope: 'REGIONAL' do
4388
+ describe wafv2_ip_set('my-wafv2-ip-set'), scope: 'REGIONAL' do
4323
4389
  it { should have_ip_address('10.0.0.0/32') }
4324
4390
  end
4325
4391
  ```
4326
4392
 
4327
4393
  ### its(:name), its(:id), its(:arn), its(:description), its(:ip_address_version), its(:addresses)
4394
+ ## <a name="wafv2_web_acl">wafv2_web_acl</a>
4395
+
4396
+ Wafv2WebAcl resource type.
4397
+
4398
+ ### exist
4399
+
4400
+ You can set `scope` to CLOUDFRONT or REGIONAL ( default: `REGIONAL` ).
4401
+
4402
+ ```ruby
4403
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
4404
+ it { should exist }
4405
+ its(:default_action) { should eq 'ALLOW' }
4406
+ end
4407
+
4408
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'CLOUDFRONT', region: 'us-east-1' do
4409
+ it { should exist }
4410
+ its(:default_action) { should eq 'ALLOW' }
4411
+ end
4412
+ ```
4413
+
4414
+
4415
+ ### have_rule
4416
+
4417
+ ```ruby
4418
+ describe wafv2_web_acl('my-wafv2-web-acl'), scope: 'REGIONAL' do
4419
+ it { should have_rule('AWS-AWSManagedRulesCommonRuleSet') }
4420
+ it { should have_rule('AWS-AWSManagedRulesKnownBadInputsRuleSet').order(1) }
4421
+ it { should have_rule('AWS-AWSManagedRulesLinuxRuleSet').order(2).override_action('NONE') }
4422
+ end
4423
+ ```
4424
+
4425
+ ### 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)
4328
4426
  # Account and Attributes
4329
4427
 
4330
4428
  ## <a name="account">account</a>
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Awspec::Generator
4
+ module Doc
5
+ module Type
6
+ class BackupPlan < Base
7
+ def initialize
8
+ super
9
+ @type_name = 'BackupPlan'
10
+ @type = Awspec::Type::BackupPlan.new('my-backup-plan')
11
+ @ret = @type.resource_via_client
12
+ @matchers = []
13
+ @ignore_matchers = []
14
+ @describes = []
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Awspec::Generator
4
+ module Doc
5
+ module Type
6
+ class BackupSelection < Base
7
+ def initialize
8
+ super
9
+ @type_name = 'BackupSelection'
10
+ @type = Awspec::Type::BackupSelection.new('my-backup-selection')
11
+ @ret = @type.resource_via_client
12
+ @matchers = []
13
+ @ignore_matchers = []
14
+ @describes = []
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Awspec::Generator
4
+ module Doc
5
+ module Type
6
+ class BackupVault < Base
7
+ def initialize
8
+ super
9
+ @type_name = 'BackupVault'
10
+ @type = Awspec::Type::BackupVault.new('my-backup-vault')
11
+ @ret = @type.resource_via_client
12
+ @matchers = []
13
+ @ignore_matchers = []
14
+ @describes = []
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -7,7 +7,7 @@ module Awspec::Generator
7
7
  def initialize
8
8
  super
9
9
  @type_name = 'Wafv2IpSet'
10
- @type = Awspec::Type::Wafv2IpSet.new('my-ip-set')
10
+ @type = Awspec::Type::Wafv2IpSet.new('my-wafv2-ip-set')
11
11
  @ret = @type.resource_via_client
12
12
  @matchers = []
13
13
  @ignore_matchers = []
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Awspec::Generator
4
+ module Doc
5
+ module Type
6
+ class Wafv2WebAcl < Base
7
+ def initialize
8
+ super
9
+ @type_name = 'Wafv2WebAcl'
10
+ @type = Awspec::Type::Wafv2WebAcl.new('my-wafv2-web-acl')
11
+ @ret = @type.resource_via_client
12
+ @matchers = []
13
+ @ignore_matchers = []
14
+ @describes = []
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Awspec::Generator
4
+ module Spec
5
+ class Wafv2WebAcl
6
+ include Awspec::Helper::Finder
7
+ def generate_by_scope(scope)
8
+ web_acls = select_all_web_acls(scope)
9
+ raise 'Not Found WAFV2 Web ACL' if web_acls.empty?
10
+
11
+ specs = web_acls.map do |acl|
12
+ web_acl = get_web_acl(scope, acl.name, acl.id)
13
+ ERB.new(wafv2_web_acl_spec_template, nil, '-').result(binding).gsub(/^\n/, '')
14
+ end
15
+ specs.join("\n")
16
+ end
17
+
18
+ def wafv2_web_acl_spec_template
19
+ <<-'EOF'
20
+ describe wafv2_web_acl('<%= web_acl.name %>'), scope: '<%= scope %>' do
21
+ it { should exist }
22
+ its(:name) { should eq '<%= web_acl.name %>' }
23
+ its(:id) { should eq '<%= web_acl.id %>' }
24
+ its(:arn) { should eq '<%= web_acl.arn %>' }
25
+ its(:default_action) { should eq '<%= web_acl.default_action.allow ? 'ALLOW' : 'BLOCK' %>' }
26
+ its(:description) { should eq '<%= web_acl.description %>' }
27
+ its(:capacity) { should eq <%= web_acl.capacity %> }
28
+ its(:managed_by_firewall_manager) { should eq <%= web_acl.managed_by_firewall_manager %> }
29
+ its(:label_namespace) { should eq '<%= web_acl.label_namespace %>' }
30
+ its(:retrofitted_by_firewall_manager) { should eq <%= web_acl.retrofitted_by_firewall_manager %> }
31
+ <% web_acl.rules.each do |rule| %>
32
+ it { should have_rule('<%= rule.name %>').order(<%= rule.priority %>) }
33
+ <% end %>
34
+ end
35
+ EOF
36
+ end
37
+ end
38
+ end
39
+ end
@@ -46,6 +46,7 @@ require 'awspec/generator/spec/rds_global_cluster'
46
46
  require 'awspec/generator/spec/managed_prefix_list'
47
47
  require 'awspec/generator/spec/codepipeline'
48
48
  require 'awspec/generator/spec/wafv2_ip_set'
49
+ require 'awspec/generator/spec/wafv2_web_acl'
49
50
 
50
51
  # Doc
51
52
  require 'awspec/generator/doc/type'