awspec 1.18.2 → 1.18.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -0
- data/awspec.gemspec +1 -1
- data/doc/resource_types.md +20 -20
- data/lib/awspec.rb +1 -0
- data/lib/awspec/config.rb +41 -0
- data/lib/awspec/error.rb +4 -0
- data/lib/awspec/generator/spec/route53_hosted_zone.rb +13 -1
- data/lib/awspec/helper/client_wrap.rb +7 -4
- data/lib/awspec/helper/finder/cloudfront.rb +4 -1
- data/lib/awspec/helper/finder/cloudwatch.rb +4 -1
- data/lib/awspec/helper/finder/ebs.rb +4 -1
- data/lib/awspec/helper/finder/elastictranscoder.rb +4 -1
- data/lib/awspec/helper/finder/iam.rb +10 -2
- data/lib/awspec/helper/finder/lambda.rb +4 -1
- data/lib/awspec/helper/finder/rds.rb +5 -1
- data/lib/awspec/helper/finder/redshift.rb +5 -1
- data/lib/awspec/helper/finder/route53.rb +12 -2
- data/lib/awspec/type/elasticache_cache_parameter_group.rb +5 -1
- data/lib/awspec/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb0f0d41e833307fa113f79242db844f92839b8957cda778037099ae996fd07e
|
4
|
+
data.tar.gz: ef50e4986fb63cfbb75cf7227b34c524864e0728c51d0e56ab5bf4f5dc671051
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1073d5248b672be4cfeea40672c2f06ade383bc1ea402d952183f906ed6d32241754c126a542ed30f5bd2d16083fbfe98810db03ec96b1f3689e7878ca71dd86
|
7
|
+
data.tar.gz: 74ca0db14930a8ebe0a5de40c1631800a88be27ee9cc4efdd0f8f667eca514073e8673a1176bfcf6b0678729c904c83055b082f3bf53472d738938f15f1af68d
|
data/README.md
CHANGED
@@ -151,6 +151,29 @@ $ awspec generate ec2 vpc-ab123cde --profile mycreds
|
|
151
151
|
$ AWS_PROFILE=mycreds bundle exec rake spec
|
152
152
|
```
|
153
153
|
|
154
|
+
### Advanced Tips: Configuring the AWS client retries
|
155
|
+
|
156
|
+
The [`ClientWrap` class](https://github.com/k1LoW/awspec/blob/master/lib/awspec/helper/client_wrap.rb)
|
157
|
+
provides mechanisms for retrying AWS API calls when it receives a
|
158
|
+
`RequestLimitExceeded` error. `ClientWrap` implements a backoff algorithm
|
159
|
+
where the client will sleep for successively longer periods of time until the
|
160
|
+
algorithm has calculated a backoff greater than or equal to the
|
161
|
+
`backoff_limit`, at which point it will give up and re-raise the error. You
|
162
|
+
can see the full implementation in `ClientWrap#method_missing`.
|
163
|
+
|
164
|
+
You can configure this retry and backoff logic in your `spec_helper.rb`:
|
165
|
+
|
166
|
+
```ruby
|
167
|
+
require 'awspec'
|
168
|
+
|
169
|
+
# These are the defaults, but you can change them.
|
170
|
+
Awspec.configure do |config|
|
171
|
+
config.client_backoff 0.0
|
172
|
+
config.client_backoff_limit 30
|
173
|
+
config.client_iteration 1
|
174
|
+
end
|
175
|
+
```
|
176
|
+
|
154
177
|
## Support AWS Resources
|
155
178
|
|
156
179
|
[Resource Types information here](doc/resource_types.md)
|
data/awspec.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_runtime_dependency 'rspec-its'
|
30
30
|
spec.add_runtime_dependency 'term-ansicolor'
|
31
31
|
spec.add_runtime_dependency 'thor'
|
32
|
-
spec.add_development_dependency 'bundler', '>= 1.9', '<
|
32
|
+
spec.add_development_dependency 'bundler', '>= 1.9', '< 3.0'
|
33
33
|
spec.add_development_dependency 'octorelease'
|
34
34
|
spec.add_development_dependency 'pry'
|
35
35
|
spec.add_development_dependency 'rake', '~> 12.0'
|
data/doc/resource_types.md
CHANGED
@@ -346,7 +346,7 @@ describe autoscaling_group('my-auto-scaling-group') do
|
|
346
346
|
end
|
347
347
|
```
|
348
348
|
|
349
|
-
### 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(: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)
|
349
|
+
### 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(: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)
|
350
350
|
## <a name="batch_compute_environment">batch_compute_environment</a>
|
351
351
|
|
352
352
|
BatchComputeEnvironment resource type.
|
@@ -574,7 +574,7 @@ describe cloudtrail('my-trail') do
|
|
574
574
|
end
|
575
575
|
```
|
576
576
|
|
577
|
-
### its(:name), its(:s3_bucket_name), its(:s3_key_prefix), its(:sns_topic_name), its(:sns_topic_arn), its(:include_global_service_events), its(:is_multi_region_trail), its(:home_region), its(:trail_arn), its(:log_file_validation_enabled), its(:cloud_watch_logs_log_group_arn), its(:cloud_watch_logs_role_arn), its(:kms_key_id), its(:has_custom_event_selectors), its(:is_organization_trail)
|
577
|
+
### its(:name), its(:s3_bucket_name), its(:s3_key_prefix), its(:sns_topic_name), its(:sns_topic_arn), its(:include_global_service_events), its(:is_multi_region_trail), its(:home_region), its(:trail_arn), its(:log_file_validation_enabled), its(:cloud_watch_logs_log_group_arn), its(:cloud_watch_logs_role_arn), its(:kms_key_id), its(:has_custom_event_selectors), its(:has_insight_selectors), its(:is_organization_trail)
|
578
578
|
## <a name="cloudwatch_alarm">cloudwatch_alarm</a>
|
579
579
|
|
580
580
|
CloudwatchAlarm resource type.
|
@@ -762,7 +762,7 @@ end
|
|
762
762
|
```
|
763
763
|
|
764
764
|
|
765
|
-
### its(:bgp_asn), its(:customer_gateway_id), its(:ip_address), its(:certificate_arn), its(:state), its(:type), its(:tags)
|
765
|
+
### its(:bgp_asn), its(:customer_gateway_id), its(:ip_address), its(:certificate_arn), its(:state), its(:type), its(:device_name), its(:tags)
|
766
766
|
## <a name="directconnect_virtual_interface">directconnect_virtual_interface</a>
|
767
767
|
|
768
768
|
DirectconnectVirtualInterface resource type.
|
@@ -834,7 +834,7 @@ end
|
|
834
834
|
```
|
835
835
|
|
836
836
|
|
837
|
-
### 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(:restore_summary), its(:sse_description)
|
837
|
+
### 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)
|
838
838
|
### :unlock: Advanced use
|
839
839
|
|
840
840
|
`dynamodb_table` can use `Aws::DynamoDB::Table` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Table.html).
|
@@ -894,7 +894,7 @@ end
|
|
894
894
|
```
|
895
895
|
|
896
896
|
|
897
|
-
### its(:availability_zone), its(:create_time), its(:encrypted), its(:kms_key_id), its(:size), its(:snapshot_id), its(:state), its(:volume_id), its(:iops), its(:volume_type)
|
897
|
+
### its(:availability_zone), its(:create_time), its(:encrypted), its(:kms_key_id), its(:outpost_arn), its(:size), its(:snapshot_id), its(:state), its(:volume_id), its(:iops), its(:volume_type), its(:fast_restored)
|
898
898
|
### :unlock: Advanced use
|
899
899
|
|
900
900
|
`ebs` can use `Aws::EC2::Volume` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Volume.html).
|
@@ -1080,7 +1080,7 @@ end
|
|
1080
1080
|
```
|
1081
1081
|
|
1082
1082
|
|
1083
|
-
### its(:ami_launch_index), its(:image_id), its(:instance_id), its(:instance_type), its(:kernel_id), its(:key_name), its(:launch_time), its(:monitoring), its(:placement), its(:platform), its(:private_dns_name), its(:private_ip_address), its(:product_codes), its(:public_dns_name), its(:public_ip_address), its(:ramdisk_id), its(:state_transition_reason), its(:subnet_id), its(:vpc_id), 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(: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)
|
1083
|
+
### its(:ami_launch_index), its(:image_id), its(:instance_id), its(:instance_type), its(:kernel_id), its(:key_name), its(:launch_time), its(:monitoring), its(:placement), its(:platform), its(:private_dns_name), its(:private_ip_address), its(:product_codes), its(:public_dns_name), its(:public_ip_address), its(:ramdisk_id), its(:state_transition_reason), its(:subnet_id), its(:vpc_id), 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)
|
1084
1084
|
### :unlock: Advanced use
|
1085
1085
|
|
1086
1086
|
`ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
|
@@ -1176,7 +1176,7 @@ describe ecs_cluster('my-ecs-cluster') do
|
|
1176
1176
|
end
|
1177
1177
|
```
|
1178
1178
|
|
1179
|
-
### its(:cluster_arn), its(:cluster_name), its(:status), its(:registered_container_instances_count), its(:running_tasks_count), its(:pending_tasks_count), its(:active_services_count), its(:statistics), its(:tags), its(:settings)
|
1179
|
+
### its(:cluster_arn), its(:cluster_name), its(:status), its(:registered_container_instances_count), its(:running_tasks_count), its(:pending_tasks_count), its(:active_services_count), its(:statistics), its(:tags), its(:settings), its(:capacity_providers), its(:default_capacity_provider_strategy), its(:attachments), its(:attachments_status)
|
1180
1180
|
## <a name="ecs_container_instance">ecs_container_instance</a>
|
1181
1181
|
|
1182
1182
|
ECS Container Instance resource type.
|
@@ -1201,7 +1201,7 @@ end
|
|
1201
1201
|
```
|
1202
1202
|
|
1203
1203
|
|
1204
|
-
### its(:container_instance_arn), its(:ec2_instance_id), its(:version), its(:version_info), its(:status), its(:status_reason), its(:agent_connected), its(:running_tasks_count), its(:pending_tasks_count), its(:agent_update_status), its(:attributes), its(:registered_at), its(:attachments), its(:tags)
|
1204
|
+
### its(:container_instance_arn), its(:ec2_instance_id), its(:capacity_provider_name), its(:version), its(:version_info), its(:status), its(:status_reason), its(:agent_connected), its(:running_tasks_count), its(:pending_tasks_count), its(:agent_update_status), its(:attributes), its(:registered_at), its(:attachments), its(:tags)
|
1205
1205
|
## <a name="ecs_service">ecs_service</a>
|
1206
1206
|
|
1207
1207
|
ECS Service resource type.
|
@@ -1223,7 +1223,7 @@ describe ecs_service('my-ecs-service') do
|
|
1223
1223
|
end
|
1224
1224
|
```
|
1225
1225
|
|
1226
|
-
### its(:service_arn), its(:service_name), its(:cluster_arn), its(:load_balancers), its(:service_registries), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:launch_type), its(:platform_version), its(:task_definition), its(:task_sets), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy), its(:network_configuration), its(:health_check_grace_period_seconds), its(:scheduling_strategy), its(:deployment_controller), its(:tags), its(:created_by), its(:enable_ecs_managed_tags), its(:propagate_tags)
|
1226
|
+
### its(:service_arn), its(:service_name), its(:cluster_arn), its(:load_balancers), its(:service_registries), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:launch_type), its(:capacity_provider_strategy), its(:platform_version), its(:task_definition), its(:task_sets), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy), its(:network_configuration), its(:health_check_grace_period_seconds), its(:scheduling_strategy), its(:deployment_controller), its(:tags), its(:created_by), its(:enable_ecs_managed_tags), its(:propagate_tags)
|
1227
1227
|
## <a name="ecs_task_definition">ecs_task_definition</a>
|
1228
1228
|
|
1229
1229
|
ECS Task Definition resource type.
|
@@ -1245,7 +1245,7 @@ describe ecs_task_definition('my-ecs-task-definition') do
|
|
1245
1245
|
end
|
1246
1246
|
```
|
1247
1247
|
|
1248
|
-
### its(:task_definition_arn), its(:family), its(:task_role_arn), its(:execution_role_arn), its(:network_mode), its(:revision), its(:volumes), its(:status), its(:requires_attributes), its(:placement_constraints), its(:compatibilities), its(:requires_compatibilities), its(:cpu), its(:memory), its(:pid_mode), its(:ipc_mode), its(:proxy_configuration)
|
1248
|
+
### its(:task_definition_arn), its(:family), its(:task_role_arn), its(:execution_role_arn), its(:network_mode), its(:revision), its(:volumes), its(:status), its(:requires_attributes), its(:placement_constraints), its(:compatibilities), its(:requires_compatibilities), its(:cpu), its(:memory), its(:inference_accelerators), its(:pid_mode), its(:ipc_mode), its(:proxy_configuration)
|
1249
1249
|
## <a name="efs">efs</a>
|
1250
1250
|
|
1251
1251
|
EFS resource type.
|
@@ -1388,7 +1388,7 @@ describe elasticache('my-rep-group-001') do
|
|
1388
1388
|
end
|
1389
1389
|
```
|
1390
1390
|
|
1391
|
-
### 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), its(:auth_token_enabled), its(:transit_encryption_enabled), its(:at_rest_encryption_enabled)
|
1391
|
+
### 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), its(:auth_token_enabled), its(:auth_token_last_modified_date), its(:transit_encryption_enabled), its(:at_rest_encryption_enabled)
|
1392
1392
|
## <a name="elasticache_cache_parameter_group">elasticache_cache_parameter_group</a>
|
1393
1393
|
|
1394
1394
|
ElasticacheCacheParameterGroup resource type.
|
@@ -1467,7 +1467,7 @@ end
|
|
1467
1467
|
```
|
1468
1468
|
|
1469
1469
|
|
1470
|
-
### its(:domain_id), its(:domain_name), its(:arn), its(:created), its(:deleted), its(:endpoint), its(:endpoints), its(:processing), its(:upgrade_processing), its(:elasticsearch_version), its(:access_policies), its(:snapshot_options), its(:vpc_options), its(:cognito_options), its(:encryption_at_rest_options), its(:node_to_node_encryption_options), its(:advanced_options), its(:log_publishing_options), its(:service_software_options)
|
1470
|
+
### its(:domain_id), its(:domain_name), its(:arn), its(:created), its(:deleted), its(:endpoint), its(:endpoints), its(:processing), its(:upgrade_processing), its(:elasticsearch_version), its(:access_policies), its(:snapshot_options), its(:vpc_options), its(:cognito_options), its(:encryption_at_rest_options), its(:node_to_node_encryption_options), its(:advanced_options), its(:log_publishing_options), its(:service_software_options), its(:domain_endpoint_options)
|
1471
1471
|
## <a name="elastictranscoder_pipeline">elastictranscoder_pipeline</a>
|
1472
1472
|
|
1473
1473
|
ElastictranscoderPipeline resource type.
|
@@ -1612,7 +1612,7 @@ describe emr('my-emr') do
|
|
1612
1612
|
end
|
1613
1613
|
```
|
1614
1614
|
|
1615
|
-
### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), 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)
|
1615
|
+
### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), 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(:step_concurrency_level), its(:outpost_arn)
|
1616
1616
|
## <a name="firehose">firehose</a>
|
1617
1617
|
|
1618
1618
|
Firehose resource type.
|
@@ -1648,7 +1648,7 @@ end
|
|
1648
1648
|
```
|
1649
1649
|
|
1650
1650
|
|
1651
|
-
### its(:delivery_stream_name), its(:delivery_stream_arn), its(:delivery_stream_status), its(:delivery_stream_encryption_configuration), its(:delivery_stream_type), its(:version_id), its(:create_timestamp), its(:last_update_timestamp), its(:source), its(:has_more_destinations)
|
1651
|
+
### its(:delivery_stream_name), its(:delivery_stream_arn), its(:delivery_stream_status), its(:failure_description), its(:delivery_stream_encryption_configuration), its(:delivery_stream_type), its(:version_id), its(:create_timestamp), its(:last_update_timestamp), its(:source), its(:has_more_destinations)
|
1652
1652
|
### :unlock: Advanced use
|
1653
1653
|
|
1654
1654
|
```ruby
|
@@ -1880,7 +1880,7 @@ end
|
|
1880
1880
|
```
|
1881
1881
|
|
1882
1882
|
|
1883
|
-
### its(:path), its(:role_name), its(:role_id), its(:arn), its(:create_date), its(:assume_role_policy_document), its(:description), its(:max_session_duration), its(:permissions_boundary), its(:tags)
|
1883
|
+
### its(:path), its(:role_name), its(:role_id), its(:arn), its(:create_date), its(:assume_role_policy_document), its(:description), its(:max_session_duration), its(:permissions_boundary), its(:tags), its(:role_last_used)
|
1884
1884
|
### :unlock: Advanced use
|
1885
1885
|
|
1886
1886
|
`iam_role` can use `Aws::IAM::Role` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/IAM/Role.html).
|
@@ -2125,7 +2125,7 @@ DOC
|
|
2125
2125
|
end
|
2126
2126
|
```
|
2127
2127
|
|
2128
|
-
### 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)
|
2128
|
+
### 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(:encryption_algorithms), its(:signing_algorithms)
|
2129
2129
|
## <a name="lambda">lambda</a>
|
2130
2130
|
|
2131
2131
|
Lambda resource type.
|
@@ -2174,7 +2174,7 @@ end
|
|
2174
2174
|
|
2175
2175
|
This matcher does not support Amazon S3 event sources ([see SDK doc](http://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html#list_event_source_mappings-instance_method)).
|
2176
2176
|
|
2177
|
-
### its(:function_name), its(:function_arn), its(:runtime), its(:role), its(:handler), its(:code_size), its(:description), its(:timeout), its(:memory_size), its(:last_modified), its(:code_sha_256), its(:version), its(:vpc_config), its(:dead_letter_config), its(:kms_key_arn), its(:master_arn), its(:revision_id), its(:layers)
|
2177
|
+
### its(:function_name), its(:function_arn), its(:runtime), its(:role), its(:handler), its(:code_size), its(:description), its(:timeout), its(:memory_size), its(:last_modified), its(:code_sha_256), its(:version), its(:vpc_config), its(:dead_letter_config), its(:kms_key_arn), its(:master_arn), its(:revision_id), its(:layers), its(:state), its(:state_reason), its(:state_reason_code), its(:last_update_status), its(:last_update_status_reason), its(:last_update_status_reason_code)
|
2178
2178
|
## <a name="launch_configuration">launch_configuration</a>
|
2179
2179
|
|
2180
2180
|
LaunchConfiguration resource type.
|
@@ -2296,7 +2296,7 @@ describe mq('my-mq') do
|
|
2296
2296
|
end
|
2297
2297
|
```
|
2298
2298
|
|
2299
|
-
### its(:vpc_id), its(:auto_minor_version_upgrade), its(:broker_arn), its(:broker_id), its(:broker_name), its(:broker_state), its(:created), its(:deployment_mode), its(:encryption_options), its(:engine_type), its(:engine_version), its(:host_instance_type), its(:pending_engine_version), its(:
|
2299
|
+
### its(:vpc_id), its(:auto_minor_version_upgrade), its(:broker_arn), its(:broker_id), its(:broker_name), its(:broker_state), its(:created), its(:deployment_mode), its(:encryption_options), its(:engine_type), its(:engine_version), its(:host_instance_type), its(:pending_engine_version), its(:pending_host_instance_type), its(:pending_security_groups), its(:publicly_accessible), its(:security_groups), its(:storage_type), its(:subnet_ids)
|
2300
2300
|
## <a name="nat_gateway">nat_gateway</a>
|
2301
2301
|
|
2302
2302
|
NatGateway resource type.
|
@@ -2496,7 +2496,7 @@ describe network_interface('eni-12ab3cde') do
|
|
2496
2496
|
end
|
2497
2497
|
```
|
2498
2498
|
|
2499
|
-
### its(:association), its(:availability_zone), its(:description), its(:interface_type), its(:ipv_6_addresses), its(:mac_address), its(:network_interface_id), its(:owner_id), its(:private_dns_name), its(:private_ip_address), its(:requester_id), its(:requester_managed), its(:source_dest_check), its(:status), its(:subnet_id), its(:vpc_id)
|
2499
|
+
### its(:association), its(:availability_zone), 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(:requester_id), its(:requester_managed), its(:source_dest_check), its(:status), its(:subnet_id), its(:vpc_id)
|
2500
2500
|
## <a name="nlb">nlb</a>
|
2501
2501
|
|
2502
2502
|
NLB resource type.
|
@@ -3425,7 +3425,7 @@ end
|
|
3425
3425
|
```
|
3426
3426
|
|
3427
3427
|
|
3428
|
-
### its(:availability_zone), its(:availability_zone_id), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:state), its(:subnet_id), its(:vpc_id), its(:owner_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set), its(:subnet_arn)
|
3428
|
+
### its(:availability_zone), its(:availability_zone_id), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:state), its(:subnet_id), its(:vpc_id), its(:owner_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set), its(:subnet_arn), its(:outpost_arn)
|
3429
3429
|
### :unlock: Advanced use
|
3430
3430
|
|
3431
3431
|
`subnet` can use `Aws::EC2::Subnet` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Subnet.html).
|
data/lib/awspec.rb
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
require 'awspec/error'
|
4
|
+
|
5
|
+
module Awspec
|
6
|
+
class Config
|
7
|
+
include Singleton
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@config = {
|
11
|
+
client_backoff: 0.0,
|
12
|
+
client_backoff_limit: 30.0,
|
13
|
+
client_iteration: 1
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
def client_backoff(backoff)
|
18
|
+
@config[:client_backoff] = backoff
|
19
|
+
end
|
20
|
+
|
21
|
+
def client_backoff_limit(backoff_limit)
|
22
|
+
@config[:client_backoff_limit] = backoff_limit
|
23
|
+
end
|
24
|
+
|
25
|
+
def client_iteration(iteration)
|
26
|
+
@config[:client_iteration] = iteration
|
27
|
+
end
|
28
|
+
|
29
|
+
def [](key)
|
30
|
+
@config.fetch(key)
|
31
|
+
end
|
32
|
+
|
33
|
+
def method_missing(method_name, *_args)
|
34
|
+
raise UnknownConfiguration, "'#{method_name}' is not a valid configuration for Awspec."
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.configure
|
39
|
+
yield(Config.instance)
|
40
|
+
end
|
41
|
+
end
|
data/lib/awspec/error.rb
CHANGED
@@ -6,10 +6,22 @@ module Awspec::Generator
|
|
6
6
|
hosted_zone = find_hosted_zone(id)
|
7
7
|
raise 'Not Found Route53 Hosted Zone' unless hosted_zone
|
8
8
|
id = hosted_zone[:id]
|
9
|
+
selected = []
|
9
10
|
res = @route53_client.list_resource_record_sets({
|
10
11
|
hosted_zone_id: id
|
11
12
|
})
|
12
|
-
|
13
|
+
loop do
|
14
|
+
selected += res.resource_record_sets
|
15
|
+
break unless res.is_truncated
|
16
|
+
|
17
|
+
res = @route53_client.list_resource_record_sets({
|
18
|
+
hosted_zone_id: id,
|
19
|
+
start_record_name: res.next_record_name,
|
20
|
+
start_record_type: res.next_record_type
|
21
|
+
})
|
22
|
+
end
|
23
|
+
|
24
|
+
resource_record_sets = selected.map do |record_set|
|
13
25
|
generate_linespec(record_set)
|
14
26
|
end
|
15
27
|
|
@@ -1,14 +1,17 @@
|
|
1
|
+
require 'awspec/config'
|
2
|
+
|
1
3
|
module Awspec::Helper
|
2
4
|
class ClientWrap
|
3
5
|
attr_reader :client, :backoff, :iteration, :backoff_limit, :symbol
|
4
|
-
def initialize(real_client = nil
|
6
|
+
def initialize(real_client = nil)
|
5
7
|
raise ArgumentError, 'Client can not be nil' if real_client.nil?
|
8
|
+
config = Awspec::Config.instance
|
6
9
|
@client = real_client
|
7
|
-
@backoff =
|
10
|
+
@backoff = config[:client_backoff]
|
8
11
|
@orig_backoff = @backoff
|
9
|
-
@iteration =
|
12
|
+
@iteration = config[:client_iteration]
|
10
13
|
@orig_iter = @iteration
|
11
|
-
@backoff_limit =
|
14
|
+
@backoff_limit = config[:client_backoff_limit]
|
12
15
|
# build the symbol we'll use to compare to any errors caught in method_missing
|
13
16
|
# below.
|
14
17
|
@symbol = real_client.class.to_s.split('::').shift(2).push('Errors', 'RequestLimitExceeded').join('::').to_sym
|
@@ -8,7 +8,10 @@ module Awspec::Helper
|
|
8
8
|
selected += res.distribution_list.items.select do |item|
|
9
9
|
item.id == id || item.domain_name == id
|
10
10
|
end
|
11
|
-
|
11
|
+
break unless res.distribution_list.is_truncated
|
12
|
+
res = cloudfront_client.list_distributions({
|
13
|
+
marker: res.distribution_list.next_marker
|
14
|
+
})
|
12
15
|
end
|
13
16
|
|
14
17
|
selected.single_resource(id)
|
@@ -20,7 +20,10 @@ module Awspec::Helper
|
|
20
20
|
|
21
21
|
loop do
|
22
22
|
selected += res.metric_alarms
|
23
|
-
|
23
|
+
break if res.next_token.nil?
|
24
|
+
res = cloudwatch_client.describe_alarms({
|
25
|
+
next_token: res.next_token
|
26
|
+
})
|
24
27
|
end
|
25
28
|
|
26
29
|
selected
|
@@ -30,7 +30,10 @@ module Awspec::Helper
|
|
30
30
|
|
31
31
|
loop do
|
32
32
|
selected += res.volumes.select { |v| v.attachments.count > 0 }
|
33
|
-
|
33
|
+
break if res.next_token.nil?
|
34
|
+
res = ec2_client.describe_volumes({
|
35
|
+
next_token: res.next_token
|
36
|
+
})
|
34
37
|
end
|
35
38
|
|
36
39
|
selected
|
@@ -8,7 +8,10 @@ module Awspec::Helper
|
|
8
8
|
selected += res.pipelines.select do |pipeline|
|
9
9
|
pipeline.id == id || pipeline.name == id
|
10
10
|
end
|
11
|
-
|
11
|
+
break if res.next_page_token.nil?
|
12
|
+
res = elastictranscoder_client.list_pipelines({
|
13
|
+
page_token: res.next_page_token
|
14
|
+
})
|
12
15
|
end
|
13
16
|
|
14
17
|
selected.single_resource(id)
|
@@ -12,7 +12,12 @@ module Awspec::Helper
|
|
12
12
|
selected += res[type.pluralize].select do |u|
|
13
13
|
u[type + '_name'] == id || u[type + '_id'] == id || u.arn == id
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
|
+
break unless res.is_truncated
|
17
|
+
res = iam_client.send(
|
18
|
+
'list_' + type.pluralize,
|
19
|
+
{ marker => res.marker }
|
20
|
+
)
|
16
21
|
end
|
17
22
|
|
18
23
|
selected.single_resource(id)
|
@@ -62,7 +67,10 @@ module Awspec::Helper
|
|
62
67
|
|
63
68
|
loop do
|
64
69
|
selected += res.policies.select { |p| p.attachment_count > 0 }
|
65
|
-
|
70
|
+
break unless res.is_truncated
|
71
|
+
res = iam_client.list_policies({
|
72
|
+
marker: res.marker
|
73
|
+
})
|
66
74
|
end
|
67
75
|
|
68
76
|
selected
|
@@ -9,7 +9,10 @@ module Awspec::Helper
|
|
9
9
|
selected += res.functions.select do |function|
|
10
10
|
function.function_name == id || function.function_arn == id
|
11
11
|
end
|
12
|
-
|
12
|
+
break if res.next_marker.nil?
|
13
|
+
res = lambda_client.list_functions({
|
14
|
+
marker: res.next_marker
|
15
|
+
})
|
13
16
|
end
|
14
17
|
|
15
18
|
selected.single_resource(id)
|
@@ -30,7 +30,11 @@ module Awspec::Helper
|
|
30
30
|
res.parameters.each do |param|
|
31
31
|
parameters[param.parameter_name] = param.parameter_value
|
32
32
|
end
|
33
|
-
|
33
|
+
break if res.marker.nil?
|
34
|
+
res = rds_client.describe_db_parameters({
|
35
|
+
db_parameter_group_name: parameter_group,
|
36
|
+
marker: res.marker
|
37
|
+
})
|
34
38
|
end
|
35
39
|
parameters
|
36
40
|
end
|
@@ -24,7 +24,11 @@ module Awspec::Helper
|
|
24
24
|
res.parameters.each do |param|
|
25
25
|
parameters[param.parameter_name] = param.parameter_value
|
26
26
|
end
|
27
|
-
|
27
|
+
break if res.marker.nil?
|
28
|
+
res = redshift_client.describe_cluster_parameters({
|
29
|
+
parameter_group_name: parameter_group,
|
30
|
+
marker: res.marker
|
31
|
+
})
|
28
32
|
end
|
29
33
|
parameters
|
30
34
|
end
|
@@ -10,7 +10,11 @@ module Awspec::Helper
|
|
10
10
|
selected.push(hosted_zone)
|
11
11
|
end
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
|
+
break unless res.is_truncated
|
15
|
+
res = route53_client.list_hosted_zones({
|
16
|
+
marker: res.next_marker
|
17
|
+
})
|
14
18
|
end
|
15
19
|
selected.single_resource(id)
|
16
20
|
end
|
@@ -22,7 +26,13 @@ module Awspec::Helper
|
|
22
26
|
})
|
23
27
|
loop do
|
24
28
|
selected += res.resource_record_sets
|
25
|
-
|
29
|
+
break unless res.is_truncated
|
30
|
+
|
31
|
+
res = route53_client.list_resource_record_sets({
|
32
|
+
hosted_zone_id: id,
|
33
|
+
start_record_name: res.next_record_name,
|
34
|
+
start_record_type: res.next_record_type
|
35
|
+
})
|
26
36
|
end
|
27
37
|
selected
|
28
38
|
end
|
@@ -17,7 +17,11 @@ module Awspec::Type
|
|
17
17
|
res.parameters.each do |param|
|
18
18
|
parameters[param.parameter_name] = param.parameter_value
|
19
19
|
end
|
20
|
-
|
20
|
+
break if res.marker.nil?
|
21
|
+
res = elasticache_client.describe_cache_parameters({
|
22
|
+
cache_parameter_group_name: @display_name,
|
23
|
+
marker: res.marker
|
24
|
+
})
|
21
25
|
end
|
22
26
|
@resource_via_client ||= parameters
|
23
27
|
end
|
data/lib/awspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.18.
|
4
|
+
version: 1.18.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -131,7 +131,7 @@ dependencies:
|
|
131
131
|
version: '1.9'
|
132
132
|
- - "<"
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version: '
|
134
|
+
version: '3.0'
|
135
135
|
type: :development
|
136
136
|
prerelease: false
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -141,7 +141,7 @@ dependencies:
|
|
141
141
|
version: '1.9'
|
142
142
|
- - "<"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
144
|
+
version: '3.0'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: octorelease
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- lib/awspec.rb
|
304
304
|
- lib/awspec/cli.rb
|
305
305
|
- lib/awspec/command/generate.rb
|
306
|
+
- lib/awspec/config.rb
|
306
307
|
- lib/awspec/error.rb
|
307
308
|
- lib/awspec/ext.rb
|
308
309
|
- lib/awspec/ext/array.rb
|