awspec 0.69.1 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +13 -1
- data/.travis.yml +1 -0
- data/Rakefile +10 -1
- data/awspec.gemspec +3 -3
- data/doc/_resource_types/cloudwatch_logs.md +40 -0
- data/doc/_resource_types/ec2_account_attributes.md +8 -0
- data/doc/_resource_types/lambda_account_settings.md +10 -0
- data/doc/_resource_types/rds_account_attributes.md +8 -0
- data/doc/_resource_types/ses_send_quota.md +9 -0
- data/doc/contributing.md +10 -0
- data/doc/resource_types.md +262 -27
- data/lib/awspec/error.rb +2 -0
- data/lib/awspec/ext.rb +1 -0
- data/lib/awspec/ext/hash.rb +10 -0
- data/lib/awspec/generator.rb +6 -0
- data/lib/awspec/generator/doc/type.rb +35 -1
- data/lib/awspec/generator/doc/type/account.rb +71 -0
- data/lib/awspec/generator/doc/type/account_attribute.rb +69 -0
- data/lib/awspec/generator/doc/type/account_attribute_base.rb +32 -0
- data/lib/awspec/generator/doc/type/base.rb +10 -3
- data/lib/awspec/generator/doc/type/cloudwatch_logs.rb +17 -0
- data/lib/awspec/generator/doc/type/ec2_account_attributes.rb +17 -0
- data/lib/awspec/generator/doc/type/lambda_account_settings.rb +17 -0
- data/lib/awspec/generator/doc/type/rds_account_attributes.rb +17 -0
- data/lib/awspec/generator/doc/type/ses_send_quota.rb +17 -0
- data/lib/awspec/generator/template.rb +38 -1
- data/lib/awspec/helper/finder.rb +8 -1
- data/lib/awspec/helper/finder/account_attributes.rb +61 -0
- data/lib/awspec/helper/finder/cloudwatch_logs.rb +35 -0
- data/lib/awspec/helper/type.rb +31 -0
- data/lib/awspec/matcher.rb +3 -0
- data/lib/awspec/matcher/have_subscription_filter.rb +9 -0
- data/lib/awspec/shared_context.rb +8 -0
- data/lib/awspec/stub/account.rb +146 -0
- data/lib/awspec/stub/cloudwatch_logs.rb +34 -0
- data/lib/awspec/stub/ecs.rb +9 -9
- data/lib/awspec/stub/ecs_cluster.rb +9 -9
- data/lib/awspec/stub/ecs_container_instance.rb +9 -9
- data/lib/awspec/toolbox.rb +6 -1
- data/lib/awspec/type/account.rb +35 -0
- data/lib/awspec/type/account_attribute.rb +28 -0
- data/lib/awspec/type/account_attribute_base.rb +4 -0
- data/lib/awspec/type/acm.rb +1 -1
- data/lib/awspec/type/alb.rb +1 -1
- data/lib/awspec/type/ami.rb +1 -1
- data/lib/awspec/type/autoscaling_group.rb +3 -2
- data/lib/awspec/type/base.rb +6 -25
- data/lib/awspec/type/cloudfront_distribution.rb +1 -1
- data/lib/awspec/type/cloudtrail.rb +1 -1
- data/lib/awspec/type/cloudwatch_alarm.rb +1 -1
- data/lib/awspec/type/cloudwatch_event.rb +1 -1
- data/lib/awspec/type/cloudwatch_logs.rb +27 -0
- data/lib/awspec/type/customer_gateway.rb +1 -1
- data/lib/awspec/type/directconnect_virtual_interface.rb +1 -1
- data/lib/awspec/type/ebs.rb +1 -1
- data/lib/awspec/type/ec2.rb +1 -1
- data/lib/awspec/type/ec2_account_attributes.rb +7 -0
- data/lib/awspec/type/ecr_repository.rb +1 -1
- data/lib/awspec/type/ecs_cluster.rb +1 -1
- data/lib/awspec/type/ecs_container_instance.rb +1 -1
- data/lib/awspec/type/ecs_service.rb +1 -1
- data/lib/awspec/type/ecs_task_definition.rb +1 -1
- data/lib/awspec/type/efs.rb +1 -1
- data/lib/awspec/type/elasticache.rb +1 -1
- data/lib/awspec/type/elasticache_cache_parameter_group.rb +1 -1
- data/lib/awspec/type/elasticsearch.rb +1 -1
- data/lib/awspec/type/elastictranscoder_pipeline.rb +1 -1
- data/lib/awspec/type/elb.rb +3 -2
- data/lib/awspec/type/iam_group.rb +1 -1
- data/lib/awspec/type/iam_policy.rb +1 -1
- data/lib/awspec/type/iam_role.rb +1 -1
- data/lib/awspec/type/iam_user.rb +1 -1
- data/lib/awspec/type/internet_gateway.rb +1 -1
- data/lib/awspec/type/kms.rb +1 -1
- data/lib/awspec/type/lambda.rb +1 -1
- data/lib/awspec/type/lambda_account_settings.rb +7 -0
- data/lib/awspec/type/launch_configuration.rb +1 -1
- data/lib/awspec/type/nat_gateway.rb +1 -1
- data/lib/awspec/type/network_acl.rb +1 -1
- data/lib/awspec/type/network_interface.rb +1 -1
- data/lib/awspec/type/rds.rb +1 -1
- data/lib/awspec/type/rds_account_attributes.rb +7 -0
- data/lib/awspec/type/rds_db_cluster_parameter_group.rb +1 -1
- data/lib/awspec/type/rds_db_parameter_group.rb +1 -1
- data/lib/awspec/type/resource_base.rb +24 -0
- data/lib/awspec/type/route53_hosted_zone.rb +1 -1
- data/lib/awspec/type/route_table.rb +1 -1
- data/lib/awspec/type/s3_bucket.rb +1 -1
- data/lib/awspec/type/security_group.rb +1 -1
- data/lib/awspec/type/ses_identity.rb +1 -1
- data/lib/awspec/type/ses_send_quota.rb +7 -0
- data/lib/awspec/type/subnet.rb +1 -1
- data/lib/awspec/type/vpc.rb +1 -1
- data/lib/awspec/type/vpn_connection.rb +1 -1
- data/lib/awspec/type/vpn_gateway.rb +1 -1
- data/lib/awspec/type/waf_web_acl.rb +1 -1
- data/lib/awspec/version.rb +1 -1
- metadata +36 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fbc433c70382704905947b4081e9840c9bf2183d
|
|
4
|
+
data.tar.gz: 4e42d218ba02d6e44682fa77eb26f1d287222684
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4fa1b9088672ee9f3684c7198f0de7a2481d6607dae9e44274dd4fbf4b16f90d5cb7961c6687584db8bf9452d09ef27fa0a4467cab7d7d6fdb5f3a16a99de44d
|
|
7
|
+
data.tar.gz: 7eb06937cf09a4528594844a18b57c12ec42e3d0c365d68ed84c09f6474ef6f3503000b541293b5a049de7918da948e748a592de482fca27748fdcbf117184f7
|
data/.rubocop.yml
CHANGED
|
@@ -16,6 +16,9 @@ Metrics/AbcSize:
|
|
|
16
16
|
Metrics/ClassLength:
|
|
17
17
|
Max: 120
|
|
18
18
|
|
|
19
|
+
Metrics/BlockLength:
|
|
20
|
+
Max: 60
|
|
21
|
+
|
|
19
22
|
Metrics/CyclomaticComplexity:
|
|
20
23
|
Max: 15
|
|
21
24
|
|
|
@@ -26,7 +29,7 @@ Metrics/MethodLength:
|
|
|
26
29
|
Max: 30
|
|
27
30
|
|
|
28
31
|
Metrics/ModuleLength:
|
|
29
|
-
CountComments: false
|
|
32
|
+
CountComments: false
|
|
30
33
|
Max: 200
|
|
31
34
|
|
|
32
35
|
Metrics/PerceivedComplexity:
|
|
@@ -47,6 +50,9 @@ Style/ClassAndModuleChildren:
|
|
|
47
50
|
Style/Documentation:
|
|
48
51
|
Enabled: false
|
|
49
52
|
|
|
53
|
+
Style/MethodMissing:
|
|
54
|
+
Enabled: false
|
|
55
|
+
|
|
50
56
|
Style/MutableConstant:
|
|
51
57
|
Enabled: false
|
|
52
58
|
|
|
@@ -56,6 +62,12 @@ Style/MultilineOperationIndentation:
|
|
|
56
62
|
Style/MultilineMethodCallBraceLayout:
|
|
57
63
|
Enabled: false
|
|
58
64
|
|
|
65
|
+
Style/NumericLiteralPrefix:
|
|
66
|
+
Enabled: false
|
|
67
|
+
|
|
68
|
+
Style/NumericPredicate:
|
|
69
|
+
Enabled: false
|
|
70
|
+
|
|
59
71
|
Style/StabbyLambdaParentheses:
|
|
60
72
|
Enabled: false
|
|
61
73
|
|
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
|
@@ -16,7 +16,12 @@ end
|
|
|
16
16
|
if defined?(RSpec)
|
|
17
17
|
task spec: 'spec:all'
|
|
18
18
|
namespace :spec do
|
|
19
|
-
task all: ['spec:type',
|
|
19
|
+
task all: ['spec:type',
|
|
20
|
+
'spec:account',
|
|
21
|
+
'spec:core',
|
|
22
|
+
'spec:generator_spec',
|
|
23
|
+
'spec:generator_doc',
|
|
24
|
+
'spec:rubocop']
|
|
20
25
|
|
|
21
26
|
task type: types
|
|
22
27
|
|
|
@@ -26,6 +31,10 @@ if defined?(RSpec)
|
|
|
26
31
|
end
|
|
27
32
|
end
|
|
28
33
|
|
|
34
|
+
RSpec::Core::RakeTask.new(:account) do |t|
|
|
35
|
+
t.pattern = 'spec/type/account_spec.rb'
|
|
36
|
+
end
|
|
37
|
+
|
|
29
38
|
RSpec::Core::RakeTask.new(:core) do |t|
|
|
30
39
|
t.pattern = 'spec/core/*_spec.rb'
|
|
31
40
|
end
|
data/awspec.gemspec
CHANGED
|
@@ -22,14 +22,14 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.required_ruby_version = '>= 2.1'
|
|
23
23
|
spec.add_runtime_dependency 'rspec', '~> 3.0'
|
|
24
24
|
spec.add_runtime_dependency 'rspec-its'
|
|
25
|
-
spec.add_runtime_dependency 'aws-sdk', '>= 2.2', '< 2.
|
|
25
|
+
spec.add_runtime_dependency 'aws-sdk', '>= 2.2', '< 2.9'
|
|
26
26
|
spec.add_runtime_dependency 'awsecrets', '~> 1.8'
|
|
27
27
|
spec.add_runtime_dependency 'thor'
|
|
28
28
|
spec.add_runtime_dependency 'activesupport', '~> 4.0'
|
|
29
29
|
spec.add_runtime_dependency 'term-ansicolor'
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 1.9'
|
|
31
|
-
spec.add_development_dependency 'rake', '~>
|
|
32
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
|
31
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
|
32
|
+
spec.add_development_dependency 'rubocop', '~> 0.47.0'
|
|
33
33
|
spec.add_development_dependency 'octorelease'
|
|
34
34
|
spec.add_development_dependency 'pry'
|
|
35
35
|
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
### exist
|
|
2
|
+
|
|
3
|
+
```ruby
|
|
4
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
5
|
+
it { should exist }
|
|
6
|
+
end
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
### have_log_stream
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
13
|
+
it { should have_log_stream('my-cloudwatch-logs-stream') }
|
|
14
|
+
end
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### have_metric_filter
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
21
|
+
it { should have_metric_filter('my-cloudwatch-logs-metric-filter') }
|
|
22
|
+
end
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### have_subscription_filter
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
29
|
+
it { should have_subscription_filter('my-cloudwatch-logs-subscription-filter') }
|
|
30
|
+
end
|
|
31
|
+
```
|
|
32
|
+
or
|
|
33
|
+
```ruby
|
|
34
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
35
|
+
it do
|
|
36
|
+
should have_subscription_filter('my-cloudwatch-logs-subscription-filter')\
|
|
37
|
+
.filter_pattern('[host, ident, authuser, date, request, status, bytes]')
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
```
|
data/doc/contributing.md
CHANGED
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
6. Push to the branch (`git push origin add-type-redshift`)
|
|
11
11
|
7. Create a new Pull Request
|
|
12
12
|
|
|
13
|
+
## Add new account attribute type (ex. CloudFormation::Client#describe_account_attributes )
|
|
14
|
+
|
|
15
|
+
1. Create your feature branch (`git checkout -b add-type-cf-limit`)
|
|
16
|
+
2. Generate template files (`bundle exec bin/toolbox template cloudformation_account_attributes -a`) **with -a option**
|
|
17
|
+
3. Fill files with code.
|
|
18
|
+
4. Generate [doc/resource_types.md](doc/resource_types.md) (`bundle exec bin/toolbox docgen > doc/resource_types.md`)
|
|
19
|
+
5. Run test (`bundle exec rake spec`)
|
|
20
|
+
6. Push to the branch (`git push origin add-type-redshift`)
|
|
21
|
+
7. Create a new Pull Request
|
|
22
|
+
|
|
13
23
|
## Append resource type document (ex. VPC resource `be_available`)
|
|
14
24
|
|
|
15
25
|
1. Create vpc.md (`touch doc/_resource_types/vpc.md`)
|
data/doc/resource_types.md
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# Resource Types
|
|
2
2
|
|
|
3
|
-
[
|
|
3
|
+
[acm](#acm)
|
|
4
|
+
| [alb](#alb)
|
|
4
5
|
| [ami](#ami)
|
|
5
6
|
| [autoscaling_group](#autoscaling_group)
|
|
7
|
+
| [cloudfront_distribution](#cloudfront_distribution)
|
|
6
8
|
| [cloudtrail](#cloudtrail)
|
|
7
9
|
| [cloudwatch_alarm](#cloudwatch_alarm)
|
|
8
10
|
| [cloudwatch_event](#cloudwatch_event)
|
|
11
|
+
| [cloudwatch_logs](#cloudwatch_logs)
|
|
12
|
+
| [customer_gateway](#customer_gateway)
|
|
9
13
|
| [directconnect_virtual_interface](#directconnect_virtual_interface)
|
|
10
14
|
| [ebs](#ebs)
|
|
11
15
|
| [ec2](#ec2)
|
|
@@ -18,11 +22,13 @@
|
|
|
18
22
|
| [elasticache](#elasticache)
|
|
19
23
|
| [elasticache_cache_parameter_group](#elasticache_cache_parameter_group)
|
|
20
24
|
| [elasticsearch](#elasticsearch)
|
|
25
|
+
| [elastictranscoder_pipeline](#elastictranscoder_pipeline)
|
|
21
26
|
| [elb](#elb)
|
|
22
27
|
| [iam_group](#iam_group)
|
|
23
28
|
| [iam_policy](#iam_policy)
|
|
24
29
|
| [iam_role](#iam_role)
|
|
25
30
|
| [iam_user](#iam_user)
|
|
31
|
+
| [internet_gateway](#internet_gateway)
|
|
26
32
|
| [kms](#kms)
|
|
27
33
|
| [lambda](#lambda)
|
|
28
34
|
| [launch_configuration](#launch_configuration)
|
|
@@ -39,14 +45,10 @@
|
|
|
39
45
|
| [ses_identity](#ses_identity)
|
|
40
46
|
| [subnet](#subnet)
|
|
41
47
|
| [vpc](#vpc)
|
|
42
|
-
| [cloudfront_distribution](#cloudfront_distribution)
|
|
43
|
-
| [elastictranscoder_pipeline](#elastictranscoder_pipeline)
|
|
44
|
-
| [waf_web_acl](#waf_web_acl)
|
|
45
|
-
| [customer_gateway](#customer_gateway)
|
|
46
|
-
| [vpn_gateway](#vpn_gateway)
|
|
47
48
|
| [vpn_connection](#vpn_connection)
|
|
48
|
-
| [
|
|
49
|
-
| [
|
|
49
|
+
| [vpn_gateway](#vpn_gateway)
|
|
50
|
+
| [waf_web_acl](#waf_web_acl)
|
|
51
|
+
| [account](#account)
|
|
50
52
|
|
|
51
53
|
## <a name="alb">alb</a>
|
|
52
54
|
|
|
@@ -54,7 +56,7 @@ ALB resource type.
|
|
|
54
56
|
|
|
55
57
|
### exist
|
|
56
58
|
|
|
57
|
-
### 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(:state), its(:type), its(:ip_address_type)
|
|
59
|
+
### 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(:state), its(:type), its(:availability_zones), its(:security_groups), its(:ip_address_type)
|
|
58
60
|
## <a name="ami">ami</a>
|
|
59
61
|
|
|
60
62
|
AMI resource type.
|
|
@@ -77,7 +79,7 @@ end
|
|
|
77
79
|
```
|
|
78
80
|
|
|
79
81
|
|
|
80
|
-
### 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), its(:sriov_net_support), its(:ena_support), its(:state_reason), its(:image_owner_alias), its(:name), its(:description), its(:root_device_type), its(:root_device_name), its(:virtualization_type), its(:hypervisor)
|
|
82
|
+
### 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), its(:sriov_net_support), its(:ena_support), its(:state_reason), its(:image_owner_alias), its(:name), its(:description), its(:root_device_type), its(:root_device_name), its(:virtualization_type), its(:tags), its(:hypervisor)
|
|
81
83
|
### :unlock: Advanced use
|
|
82
84
|
|
|
83
85
|
`ami` can use `Aws::EC2::Image` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Image.html).
|
|
@@ -121,7 +123,7 @@ describe autoscaling_group('my-auto-scaling-group') do
|
|
|
121
123
|
end
|
|
122
124
|
```
|
|
123
125
|
|
|
124
|
-
### its(:auto_scaling_group_name), its(:auto_scaling_group_arn), its(:launch_configuration_name), its(:min_size), its(:max_size), its(:desired_capacity), its(:default_cooldown), its(:health_check_type), its(:health_check_grace_period), its(:created_time), its(:placement_group), its(:vpc_zone_identifier), its(:status), its(:new_instances_protected_from_scale_in)
|
|
126
|
+
### its(:auto_scaling_group_name), its(:auto_scaling_group_arn), its(:launch_configuration_name), its(:min_size), its(:max_size), its(:desired_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(:suspended_processes), its(:placement_group), its(:vpc_zone_identifier), its(:enabled_metrics), its(:status), its(:termination_policies), its(:new_instances_protected_from_scale_in)
|
|
125
127
|
## <a name="cloudtrail">cloudtrail</a>
|
|
126
128
|
|
|
127
129
|
Cloudtrail resource type.
|
|
@@ -219,7 +221,7 @@ describe cloudwatch_alarm('my-cloudwatch-alarm') do
|
|
|
219
221
|
end
|
|
220
222
|
```
|
|
221
223
|
|
|
222
|
-
### its(:alarm_name), its(:alarm_arn), its(:alarm_description), its(:alarm_configuration_updated_timestamp), its(:actions_enabled), its(:state_value), its(:state_reason), its(:state_reason_data), its(:state_updated_timestamp), its(:metric_name), its(:namespace), its(:statistic), its(:extended_statistic), its(:period), its(:unit), its(:evaluation_periods), its(:threshold), its(:comparison_operator)
|
|
224
|
+
### its(:alarm_name), its(:alarm_arn), its(:alarm_description), its(:alarm_configuration_updated_timestamp), its(:actions_enabled), its(:ok_actions), its(:alarm_actions), its(:insufficient_data_actions), its(:state_value), its(:state_reason), its(:state_reason_data), its(:state_updated_timestamp), its(:metric_name), its(:namespace), its(:statistic), its(:extended_statistic), its(:period), its(:unit), its(:evaluation_periods), its(:threshold), its(:comparison_operator)
|
|
223
225
|
## <a name="cloudwatch_event">cloudwatch_event</a>
|
|
224
226
|
|
|
225
227
|
CloudwatchEvent resource type.
|
|
@@ -266,7 +268,7 @@ describe directconnect_virtual_interface('my-directconnect-virtual-interface') d
|
|
|
266
268
|
end
|
|
267
269
|
```
|
|
268
270
|
|
|
269
|
-
### 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(:auth_key), its(:amazon_address), its(:customer_address), its(:address_family), its(:virtual_interface_state), its(:customer_router_config), its(:virtual_gateway_id), its(:bgp_peers)
|
|
271
|
+
### 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(:auth_key), its(:amazon_address), its(:customer_address), its(:address_family), its(:virtual_interface_state), its(:customer_router_config), its(:virtual_gateway_id), its(:route_filter_prefixes), its(:bgp_peers)
|
|
270
272
|
## <a name="ebs">ebs</a>
|
|
271
273
|
|
|
272
274
|
EBS resource type.
|
|
@@ -472,7 +474,7 @@ end
|
|
|
472
474
|
```
|
|
473
475
|
|
|
474
476
|
|
|
475
|
-
### 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(: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), its(:state_reason), its(:architecture), its(:root_device_type), its(:root_device_name), its(:virtualization_type), its(:instance_lifecycle), its(:spot_instance_request_id), its(:client_token), its(:source_dest_check), its(:hypervisor), its(:ebs_optimized), its(:sriov_net_support), its(:ena_support)
|
|
477
|
+
### 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), its(:state_reason), its(:architecture), its(:root_device_type), its(:root_device_name), its(:virtualization_type), its(:instance_lifecycle), its(:spot_instance_request_id), its(:client_token), its(:source_dest_check), its(:hypervisor), its(:ebs_optimized), its(:sriov_net_support), its(:ena_support)
|
|
476
478
|
### :unlock: Advanced use
|
|
477
479
|
|
|
478
480
|
`ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
|
|
@@ -575,7 +577,7 @@ describe ecs_service('my-ecs-service') do
|
|
|
575
577
|
end
|
|
576
578
|
```
|
|
577
579
|
|
|
578
|
-
### its(:service_arn), its(:service_name), its(:cluster_arn), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:task_definition), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy)
|
|
580
|
+
### its(:service_arn), its(:service_name), its(:cluster_arn), its(:load_balancers), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:task_definition), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy)
|
|
579
581
|
## <a name="ecs_task_definition">ecs_task_definition</a>
|
|
580
582
|
|
|
581
583
|
ECS Task Definition resource type.
|
|
@@ -597,7 +599,7 @@ describe ecs_task_definition('my-ecs-task-definition') do
|
|
|
597
599
|
end
|
|
598
600
|
```
|
|
599
601
|
|
|
600
|
-
### its(:task_definition_arn), its(:family), its(:task_role_arn), its(:network_mode), its(:revision), its(:status), its(:requires_attributes), its(:placement_constraints)
|
|
602
|
+
### its(:task_definition_arn), its(:family), its(:task_role_arn), its(:network_mode), its(:revision), its(:volumes), its(:status), its(:requires_attributes), its(:placement_constraints)
|
|
601
603
|
## <a name="efs">efs</a>
|
|
602
604
|
|
|
603
605
|
EFS resource type.
|
|
@@ -677,7 +679,7 @@ describe elasticache('my-rep-group-001') do
|
|
|
677
679
|
end
|
|
678
680
|
```
|
|
679
681
|
|
|
680
|
-
### its(:cache_cluster_id), its(:configuration_endpoint), its(:client_download_landing_page), its(:cache_node_type), its(:engine), its(:engine_version), its(:cache_cluster_status), its(:num_cache_nodes), its(:preferred_availability_zone), its(:cache_cluster_create_time), its(:preferred_maintenance_window), its(:notification_configuration), its(:cache_subnet_group_name), its(:auto_minor_version_upgrade), its(:replication_group_id), its(:snapshot_retention_limit), its(:snapshot_window)
|
|
682
|
+
### its(:cache_cluster_id), its(:configuration_endpoint), its(:client_download_landing_page), its(:cache_node_type), its(:engine), its(:engine_version), its(:cache_cluster_status), its(:num_cache_nodes), its(:preferred_availability_zone), its(:cache_cluster_create_time), its(:preferred_maintenance_window), its(:notification_configuration), its(:cache_security_groups), its(:cache_subnet_group_name), its(:cache_nodes), its(:auto_minor_version_upgrade), its(:replication_group_id), its(:snapshot_retention_limit), its(:snapshot_window)
|
|
681
683
|
## <a name="elasticache_cache_parameter_group">elasticache_cache_parameter_group</a>
|
|
682
684
|
|
|
683
685
|
ElasticacheCacheParameterGroup resource type.
|
|
@@ -816,7 +818,7 @@ describe elb('my-elb') do
|
|
|
816
818
|
end
|
|
817
819
|
```
|
|
818
820
|
|
|
819
|
-
### its(:health_check_target), its(:health_check_interval), its(:health_check_timeout), its(:health_check_unhealthy_threshold), its(:health_check_healthy_threshold), its(:load_balancer_name), its(:dns_name), its(:canonical_hosted_zone_name), its(:canonical_hosted_zone_name_id), its(:vpc_id), its(:created_time), its(:scheme)
|
|
821
|
+
### its(:health_check_target), its(:health_check_interval), its(:health_check_timeout), its(:health_check_unhealthy_threshold), its(:health_check_healthy_threshold), its(:load_balancer_name), its(:dns_name), its(:canonical_hosted_zone_name), its(:canonical_hosted_zone_name_id), its(:backend_server_descriptions), its(:availability_zones), its(:subnets), its(:vpc_id), its(:security_groups), its(:created_time), its(:scheme)
|
|
820
822
|
## <a name="iam_group">iam_group</a>
|
|
821
823
|
|
|
822
824
|
IamGroup resource type.
|
|
@@ -1214,7 +1216,7 @@ describe launch_configuration('my-lc') do
|
|
|
1214
1216
|
end
|
|
1215
1217
|
```
|
|
1216
1218
|
|
|
1217
|
-
### its(:launch_configuration_name), its(:launch_configuration_arn), its(:image_id), its(:key_name), its(:classic_link_vpc_id), its(:user_data), its(:instance_type), its(:kernel_id), its(:ramdisk_id), its(:spot_price), its(:iam_instance_profile), its(:created_time), its(:ebs_optimized), its(:associate_public_ip_address), its(:placement_tenancy)
|
|
1219
|
+
### its(:launch_configuration_name), its(:launch_configuration_arn), its(:image_id), its(:key_name), its(:security_groups), its(:classic_link_vpc_id), its(:classic_link_vpc_security_groups), its(:user_data), its(:instance_type), its(:kernel_id), its(:ramdisk_id), its(:block_device_mappings), its(:spot_price), its(:iam_instance_profile), its(:created_time), its(:ebs_optimized), its(:associate_public_ip_address), its(:placement_tenancy)
|
|
1218
1220
|
## <a name="nat_gateway">nat_gateway</a>
|
|
1219
1221
|
|
|
1220
1222
|
NatGateway resource type.
|
|
@@ -1405,7 +1407,7 @@ describe network_interface('eni-12ab3cde') do
|
|
|
1405
1407
|
end
|
|
1406
1408
|
```
|
|
1407
1409
|
|
|
1408
|
-
### its(:network_interface_id), its(:subnet_id), its(:vpc_id), its(:availability_zone), its(:description), its(:owner_id), its(:requester_id), its(:requester_managed), its(:status), its(:mac_address), its(:private_ip_address), its(:private_dns_name), its(:source_dest_check), its(:association), its(:interface_type)
|
|
1410
|
+
### its(:network_interface_id), its(:subnet_id), its(:vpc_id), its(:availability_zone), its(:description), its(:owner_id), its(:requester_id), its(:requester_managed), its(:status), its(:mac_address), its(:private_ip_address), its(:private_dns_name), its(:source_dest_check), its(:association), its(:ipv_6_addresses), its(:interface_type)
|
|
1409
1411
|
## <a name="rds">rds</a>
|
|
1410
1412
|
|
|
1411
1413
|
RDS resource type.
|
|
@@ -1494,7 +1496,7 @@ end
|
|
|
1494
1496
|
```
|
|
1495
1497
|
|
|
1496
1498
|
|
|
1497
|
-
### 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(: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(:license_model), its(:iops), its(:character_set_name), its(:secondary_availability_zone), its(:publicly_accessible), 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(: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)
|
|
1499
|
+
### 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(:license_model), its(:iops), its(: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)
|
|
1498
1500
|
### :unlock: Advanced use
|
|
1499
1501
|
|
|
1500
1502
|
`rds` can use `Aws::RDS::DBInstance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/RDS/DBInstance.html).
|
|
@@ -1630,7 +1632,7 @@ end
|
|
|
1630
1632
|
```
|
|
1631
1633
|
|
|
1632
1634
|
|
|
1633
|
-
### its(:route_table_id), its(:vpc_id)
|
|
1635
|
+
### its(:route_table_id), its(:vpc_id), its(:propagating_vgws)
|
|
1634
1636
|
### :unlock: Advanced use
|
|
1635
1637
|
|
|
1636
1638
|
`route_table` can use `Aws::EC2::RouteTable` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/RouteTable.html).
|
|
@@ -1907,7 +1909,7 @@ end
|
|
|
1907
1909
|
```
|
|
1908
1910
|
|
|
1909
1911
|
|
|
1910
|
-
### its(:subnet_id), its(:state), its(:vpc_id), its(:cidr_block), its(:assign_ipv_6_address_on_creation), its(:available_ip_address_count), its(:availability_zone), its(:default_for_az), its(:map_public_ip_on_launch)
|
|
1912
|
+
### its(:subnet_id), its(:state), its(:vpc_id), its(:cidr_block), its(:ipv_6_cidr_block_association_set), its(:assign_ipv_6_address_on_creation), its(:available_ip_address_count), its(:availability_zone), its(:default_for_az), its(:map_public_ip_on_launch)
|
|
1911
1913
|
### :unlock: Advanced use
|
|
1912
1914
|
|
|
1913
1915
|
`subnet` can use `Aws::EC2::Subnet` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Subnet.html).
|
|
@@ -1977,7 +1979,7 @@ end
|
|
|
1977
1979
|
```
|
|
1978
1980
|
|
|
1979
1981
|
|
|
1980
|
-
### its(:vpc_id), its(:state), its(:cidr_block), its(:dhcp_options_id), its(:instance_tenancy), its(:is_default)
|
|
1982
|
+
### its(:vpc_id), its(:state), its(:cidr_block), its(:dhcp_options_id), its(:instance_tenancy), its(:is_default), its(:ipv_6_cidr_block_association_set)
|
|
1981
1983
|
### :unlock: Advanced use
|
|
1982
1984
|
|
|
1983
1985
|
`vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
|
|
@@ -2113,7 +2115,7 @@ end
|
|
|
2113
2115
|
```
|
|
2114
2116
|
|
|
2115
2117
|
|
|
2116
|
-
### its(:customer_gateway_id), its(:state), its(:type), its(:ip_address), its(:bgp_asn)
|
|
2118
|
+
### its(:customer_gateway_id), its(:state), its(:type), its(:ip_address), its(:bgp_asn), its(:tags)
|
|
2117
2119
|
## <a name="vpn_gateway">vpn_gateway</a>
|
|
2118
2120
|
|
|
2119
2121
|
VpnGateway resource type.
|
|
@@ -2145,7 +2147,7 @@ end
|
|
|
2145
2147
|
```
|
|
2146
2148
|
|
|
2147
2149
|
|
|
2148
|
-
### its(:vpn_gateway_id), its(:state), its(:type), its(:availability_zone)
|
|
2150
|
+
### its(:vpn_gateway_id), its(:state), its(:type), its(:availability_zone), its(:vpc_attachments), its(:tags)
|
|
2149
2151
|
## <a name="vpn_connection">vpn_connection</a>
|
|
2150
2152
|
|
|
2151
2153
|
VpnConnection resource type.
|
|
@@ -2177,7 +2179,7 @@ end
|
|
|
2177
2179
|
```
|
|
2178
2180
|
|
|
2179
2181
|
|
|
2180
|
-
### its(:vpn_connection_id), its(:state), its(:customer_gateway_configuration), its(:type), its(:customer_gateway_id), its(:vpn_gateway_id), its(:options)
|
|
2182
|
+
### its(:vpn_connection_id), its(:state), its(:customer_gateway_configuration), its(:type), its(:customer_gateway_id), its(:vpn_gateway_id), its(:tags), its(:vgw_telemetry), its(:options), its(:routes)
|
|
2181
2183
|
## <a name="internet_gateway">internet_gateway</a>
|
|
2182
2184
|
|
|
2183
2185
|
InternetGateway resource type.
|
|
@@ -2233,3 +2235,236 @@ end
|
|
|
2233
2235
|
### be_pending_validation, be_issued, be_inactive, be_expired, be_validation_timed_out, be_revoked, be_failed
|
|
2234
2236
|
|
|
2235
2237
|
### its(:certificate_arn), its(:domain_name), its(:subject_alternative_names), its(:domain_validation_options), 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)
|
|
2238
|
+
## <a name="cloudwatch_logs">cloudwatch_logs</a>
|
|
2239
|
+
|
|
2240
|
+
CloudwatchLogs resource type.
|
|
2241
|
+
|
|
2242
|
+
### exist
|
|
2243
|
+
|
|
2244
|
+
```ruby
|
|
2245
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
2246
|
+
it { should exist }
|
|
2247
|
+
end
|
|
2248
|
+
```
|
|
2249
|
+
|
|
2250
|
+
|
|
2251
|
+
### have_log_stream
|
|
2252
|
+
|
|
2253
|
+
```ruby
|
|
2254
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
2255
|
+
it { should have_log_stream('my-cloudwatch-logs-stream') }
|
|
2256
|
+
end
|
|
2257
|
+
```
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
### have_metric_filter
|
|
2261
|
+
|
|
2262
|
+
```ruby
|
|
2263
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
2264
|
+
it { should have_metric_filter('my-cloudwatch-logs-metric-filter') }
|
|
2265
|
+
end
|
|
2266
|
+
```
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
### have_subscription_filter
|
|
2270
|
+
|
|
2271
|
+
```ruby
|
|
2272
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
2273
|
+
it { should have_subscription_filter('my-cloudwatch-logs-subscription-filter') }
|
|
2274
|
+
end
|
|
2275
|
+
```
|
|
2276
|
+
or
|
|
2277
|
+
```ruby
|
|
2278
|
+
describe cloudwatch_logs('my-cloudwatch-logs-group') do
|
|
2279
|
+
it do
|
|
2280
|
+
should have_subscription_filter('my-cloudwatch-logs-subscription-filter')\
|
|
2281
|
+
.filter_pattern('[host, ident, authuser, date, request, status, bytes]')
|
|
2282
|
+
end
|
|
2283
|
+
end
|
|
2284
|
+
```
|
|
2285
|
+
|
|
2286
|
+
### its(:log_group_name), its(:creation_time), its(:retention_in_days), its(:metric_filter_count), its(:arn), its(:stored_bytes)
|
|
2287
|
+
# Account and Attributes
|
|
2288
|
+
|
|
2289
|
+
## <a name="account">account</a>
|
|
2290
|
+
|
|
2291
|
+
Account resource type.
|
|
2292
|
+
|
|
2293
|
+
```ruby
|
|
2294
|
+
describe account do
|
|
2295
|
+
its(:user_id) { should eq 'AKIAI44QH8DHBEXAMPLE' }
|
|
2296
|
+
its(:account) { should eq '123456789012' }
|
|
2297
|
+
its(:arn) { should eq 'arn:aws:iam::123456789012:user/Alice' }
|
|
2298
|
+
its('ec2.supported_platforms') { should eq ["EC2", "VPC"] }
|
|
2299
|
+
its('ec2.vpc_max_security_groups_per_interface') { should eq 5 }
|
|
2300
|
+
its('ec2.max_elastic_ips') { should eq 5 }
|
|
2301
|
+
its('ec2.max_instances') { should eq 20 }
|
|
2302
|
+
its('ec2.vpc_max_elastic_ips') { should eq 5 }
|
|
2303
|
+
its('ec2.default_vpc') { should eq 'none' }
|
|
2304
|
+
its('rds.DBInstances.used') { should eq 0 }
|
|
2305
|
+
its('rds.DBInstances.max') { should eq 40 }
|
|
2306
|
+
its('rds.ReservedDBInstances.used') { should eq 0 }
|
|
2307
|
+
its('rds.ReservedDBInstances.max') { should eq 40 }
|
|
2308
|
+
its('rds.AllocatedStorage.used') { should eq 0 }
|
|
2309
|
+
its('rds.AllocatedStorage.max') { should eq 100000 }
|
|
2310
|
+
its('rds.DBSecurityGroups.used') { should eq 0 }
|
|
2311
|
+
its('rds.DBSecurityGroups.max') { should eq 25 }
|
|
2312
|
+
its('rds.AuthorizationsPerDBSecurityGroup.used') { should eq 0 }
|
|
2313
|
+
its('rds.AuthorizationsPerDBSecurityGroup.max') { should eq 20 }
|
|
2314
|
+
its('rds.DBParameterGroups.used') { should eq 1 }
|
|
2315
|
+
its('rds.DBParameterGroups.max') { should eq 50 }
|
|
2316
|
+
its('rds.ManualSnapshots.used') { should eq 0 }
|
|
2317
|
+
its('rds.ManualSnapshots.max') { should eq 100 }
|
|
2318
|
+
its('rds.EventSubscriptions.used') { should eq 0 }
|
|
2319
|
+
its('rds.EventSubscriptions.max') { should eq 20 }
|
|
2320
|
+
its('rds.DBSubnetGroups.used') { should eq 1 }
|
|
2321
|
+
its('rds.DBSubnetGroups.max') { should eq 50 }
|
|
2322
|
+
its('rds.OptionGroups.used') { should eq 0 }
|
|
2323
|
+
its('rds.OptionGroups.max') { should eq 20 }
|
|
2324
|
+
its('rds.SubnetsPerDBSubnetGroup.used') { should eq 2 }
|
|
2325
|
+
its('rds.SubnetsPerDBSubnetGroup.max') { should eq 20 }
|
|
2326
|
+
its('rds.ReadReplicasPerMaster.used') { should eq 0 }
|
|
2327
|
+
its('rds.ReadReplicasPerMaster.max') { should eq 5 }
|
|
2328
|
+
its('rds.DBClusters.used') { should eq 0 }
|
|
2329
|
+
its('rds.DBClusters.max') { should eq 40 }
|
|
2330
|
+
its('rds.DBClusterParameterGroups.used') { should eq 0 }
|
|
2331
|
+
its('rds.DBClusterParameterGroups.max') { should eq 50 }
|
|
2332
|
+
its('rds.DBClusterRoles.used') { should eq 0 }
|
|
2333
|
+
its('rds.DBClusterRoles.max') { should eq 5 }
|
|
2334
|
+
its('lambda.total_code_size.limit') { should eq 80530636800 }
|
|
2335
|
+
its('lambda.total_code_size.usage') { should eq 2034651562 }
|
|
2336
|
+
its('lambda.code_size_unzipped.limit') { should eq 262144000 }
|
|
2337
|
+
its('lambda.code_size_zipped.limit') { should eq 52428800 }
|
|
2338
|
+
its('lambda.concurrent_executions.limit') { should eq 200 }
|
|
2339
|
+
its('lambda.function_count.usage') { should eq 8 }
|
|
2340
|
+
its('ses.max_24_hour_send') { should eq 200.0 }
|
|
2341
|
+
its('ses.max_send_rate') { should eq 1.0 }
|
|
2342
|
+
its('ses.sent_last_24_hours') { should eq 1.0 }
|
|
2343
|
+
end
|
|
2344
|
+
```
|
|
2345
|
+
|
|
2346
|
+
|
|
2347
|
+
## :unlock: Another way: Test with account_attribute type
|
|
2348
|
+
|
|
2349
|
+
## <a name="account_attribute">account_attribute</a>
|
|
2350
|
+
|
|
2351
|
+
Account Attribute resource type.
|
|
2352
|
+
|
|
2353
|
+
```ruby
|
|
2354
|
+
describe account_attribute('ec2') do
|
|
2355
|
+
its('supported_platforms') { should eq ["EC2", "VPC"] }
|
|
2356
|
+
its('vpc_max_security_groups_per_interface') { should eq 5 }
|
|
2357
|
+
its('max_elastic_ips') { should eq 5 }
|
|
2358
|
+
its('max_instances') { should eq 20 }
|
|
2359
|
+
its('vpc_max_elastic_ips') { should eq 5 }
|
|
2360
|
+
its('default_vpc') { should eq 'none' }
|
|
2361
|
+
end
|
|
2362
|
+
|
|
2363
|
+
describe account_attribute('rds') do
|
|
2364
|
+
its('DBInstances.used') { should eq 0 }
|
|
2365
|
+
its('DBInstances.max') { should eq 40 }
|
|
2366
|
+
its('ReservedDBInstances.used') { should eq 0 }
|
|
2367
|
+
its('ReservedDBInstances.max') { should eq 40 }
|
|
2368
|
+
its('AllocatedStorage.used') { should eq 0 }
|
|
2369
|
+
its('AllocatedStorage.max') { should eq 100000 }
|
|
2370
|
+
its('DBSecurityGroups.used') { should eq 0 }
|
|
2371
|
+
its('DBSecurityGroups.max') { should eq 25 }
|
|
2372
|
+
its('AuthorizationsPerDBSecurityGroup.used') { should eq 0 }
|
|
2373
|
+
its('AuthorizationsPerDBSecurityGroup.max') { should eq 20 }
|
|
2374
|
+
its('DBParameterGroups.used') { should eq 1 }
|
|
2375
|
+
its('DBParameterGroups.max') { should eq 50 }
|
|
2376
|
+
its('ManualSnapshots.used') { should eq 0 }
|
|
2377
|
+
its('ManualSnapshots.max') { should eq 100 }
|
|
2378
|
+
its('EventSubscriptions.used') { should eq 0 }
|
|
2379
|
+
its('EventSubscriptions.max') { should eq 20 }
|
|
2380
|
+
its('DBSubnetGroups.used') { should eq 1 }
|
|
2381
|
+
its('DBSubnetGroups.max') { should eq 50 }
|
|
2382
|
+
its('OptionGroups.used') { should eq 0 }
|
|
2383
|
+
its('OptionGroups.max') { should eq 20 }
|
|
2384
|
+
its('SubnetsPerDBSubnetGroup.used') { should eq 2 }
|
|
2385
|
+
its('SubnetsPerDBSubnetGroup.max') { should eq 20 }
|
|
2386
|
+
its('ReadReplicasPerMaster.used') { should eq 0 }
|
|
2387
|
+
its('ReadReplicasPerMaster.max') { should eq 5 }
|
|
2388
|
+
its('DBClusters.used') { should eq 0 }
|
|
2389
|
+
its('DBClusters.max') { should eq 40 }
|
|
2390
|
+
its('DBClusterParameterGroups.used') { should eq 0 }
|
|
2391
|
+
its('DBClusterParameterGroups.max') { should eq 50 }
|
|
2392
|
+
its('DBClusterRoles.used') { should eq 0 }
|
|
2393
|
+
its('DBClusterRoles.max') { should eq 5 }
|
|
2394
|
+
end
|
|
2395
|
+
|
|
2396
|
+
describe account_attribute('lambda') do
|
|
2397
|
+
its('total_code_size.limit') { should eq 80530636800 }
|
|
2398
|
+
its('total_code_size.usage') { should eq 2034651562 }
|
|
2399
|
+
its('code_size_unzipped.limit') { should eq 262144000 }
|
|
2400
|
+
its('code_size_zipped.limit') { should eq 52428800 }
|
|
2401
|
+
its('concurrent_executions.limit') { should eq 200 }
|
|
2402
|
+
its('function_count.usage') { should eq 8 }
|
|
2403
|
+
end
|
|
2404
|
+
|
|
2405
|
+
describe account_attribute('ses') do
|
|
2406
|
+
its('max_24_hour_send') { should eq 200.0 }
|
|
2407
|
+
its('max_send_rate') { should eq 1.0 }
|
|
2408
|
+
its('sent_last_24_hours') { should eq 1.0 }
|
|
2409
|
+
end
|
|
2410
|
+
|
|
2411
|
+
```
|
|
2412
|
+
|
|
2413
|
+
|
|
2414
|
+
## :unlock: Another way: Test with separated resource types
|
|
2415
|
+
|
|
2416
|
+
[ec2_account_attributes](#ec2_account_attributes)
|
|
2417
|
+
| [rds_account_attributes](#rds_account_attributes)
|
|
2418
|
+
| [lambda_account_settings](#lambda_account_settings)
|
|
2419
|
+
| [ses_send_quota](#ses_send_quota)
|
|
2420
|
+
## <a name="ec2_account_attributes">ec2_account_attributes</a>
|
|
2421
|
+
|
|
2422
|
+
Ec2AccountAttributes account attributes.
|
|
2423
|
+
|
|
2424
|
+
```ruby
|
|
2425
|
+
describe ec2_account_attributes do
|
|
2426
|
+
its(:supported_platforms) { should include 'VPC' }
|
|
2427
|
+
its(:max_instances) { should eq 20 }
|
|
2428
|
+
end
|
|
2429
|
+
```
|
|
2430
|
+
|
|
2431
|
+
### its(:supported_platforms), its(:vpc_max_security_groups_per_interface), its(:max_elastic_ips), its(:max_instances), its(:vpc_max_elastic_ips), its(:default_vpc)
|
|
2432
|
+
## <a name="rds_account_attributes">rds_account_attributes</a>
|
|
2433
|
+
|
|
2434
|
+
RdsAccountAttributes account attributes.
|
|
2435
|
+
|
|
2436
|
+
```ruby
|
|
2437
|
+
describe rds_account_attributes do
|
|
2438
|
+
its('DBInstances.used') { should eq 0 }
|
|
2439
|
+
its('DBInstances.max') { should eq 40 }
|
|
2440
|
+
end
|
|
2441
|
+
```
|
|
2442
|
+
|
|
2443
|
+
|
|
2444
|
+
## <a name="lambda_account_settings">lambda_account_settings</a>
|
|
2445
|
+
|
|
2446
|
+
LambdaAccountSettings account attributes.
|
|
2447
|
+
|
|
2448
|
+
```ruby
|
|
2449
|
+
describe lambda_account_settings do
|
|
2450
|
+
its('total_code_size.limit') { should eq 80_530_636_800 }
|
|
2451
|
+
its('total_code_size.usage') { should eq 2_034_651_562 }
|
|
2452
|
+
its('function_count.usage') { should eq 8 }
|
|
2453
|
+
end
|
|
2454
|
+
```
|
|
2455
|
+
|
|
2456
|
+
|
|
2457
|
+
|
|
2458
|
+
## <a name="ses_send_quota">ses_send_quota</a>
|
|
2459
|
+
|
|
2460
|
+
SesSendQuota account attributes.
|
|
2461
|
+
|
|
2462
|
+
```ruby
|
|
2463
|
+
describe ses_send_quota do
|
|
2464
|
+
its(:max_24_hour_send) { should eq 200.0 }
|
|
2465
|
+
its(:max_send_rate) { should eq 1.0 }
|
|
2466
|
+
its(:sent_last_24_hours) { should eq 1.0 }
|
|
2467
|
+
end
|
|
2468
|
+
```
|
|
2469
|
+
|
|
2470
|
+
### its(:max_24_hour_send), its(:max_send_rate), its(:sent_last_24_hours)
|