awspec 1.25.1 → 1.25.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (435) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +5 -7
  3. data/.rubocop.yml +66 -62
  4. data/Gemfile +3 -1
  5. data/Rakefile +5 -3
  6. data/awspec.gemspec +4 -2
  7. data/bin/console +1 -0
  8. data/bin/toolbox +1 -0
  9. data/doc/resource_types.md +17 -17
  10. data/exe/awspec +1 -0
  11. data/lib/awspec/cli.rb +2 -0
  12. data/lib/awspec/command/generate.rb +11 -9
  13. data/lib/awspec/config.rb +2 -0
  14. data/lib/awspec/error.rb +4 -0
  15. data/lib/awspec/ext/array.rb +5 -2
  16. data/lib/awspec/ext/hash.rb +5 -2
  17. data/lib/awspec/ext/string.rb +2 -0
  18. data/lib/awspec/ext/struct.rb +2 -0
  19. data/lib/awspec/ext.rb +2 -0
  20. data/lib/awspec/generator/doc/type/account.rb +4 -4
  21. data/lib/awspec/generator/doc/type/account_attribute.rb +4 -4
  22. data/lib/awspec/generator/doc/type/account_attribute_base.rb +3 -2
  23. data/lib/awspec/generator/doc/type/acm.rb +4 -2
  24. data/lib/awspec/generator/doc/type/alb.rb +5 -3
  25. data/lib/awspec/generator/doc/type/alb_listener.rb +3 -1
  26. data/lib/awspec/generator/doc/type/alb_target_group.rb +3 -1
  27. data/lib/awspec/generator/doc/type/ami.rb +4 -2
  28. data/lib/awspec/generator/doc/type/apigateway.rb +2 -0
  29. data/lib/awspec/generator/doc/type/autoscaling_group.rb +2 -0
  30. data/lib/awspec/generator/doc/type/base.rb +11 -8
  31. data/lib/awspec/generator/doc/type/batch_compute_environment.rb +6 -4
  32. data/lib/awspec/generator/doc/type/batch_job_definition.rb +2 -0
  33. data/lib/awspec/generator/doc/type/batch_job_queue.rb +2 -0
  34. data/lib/awspec/generator/doc/type/cloudformation_stack.rb +2 -0
  35. data/lib/awspec/generator/doc/type/cloudfront_distribution.rb +4 -2
  36. data/lib/awspec/generator/doc/type/cloudtrail.rb +2 -0
  37. data/lib/awspec/generator/doc/type/cloudwatch_alarm.rb +3 -1
  38. data/lib/awspec/generator/doc/type/cloudwatch_event.rb +2 -0
  39. data/lib/awspec/generator/doc/type/cloudwatch_logs.rb +2 -0
  40. data/lib/awspec/generator/doc/type/codebuild.rb +2 -0
  41. data/lib/awspec/generator/doc/type/codedeploy.rb +2 -0
  42. data/lib/awspec/generator/doc/type/codedeploy_deployment_group.rb +2 -0
  43. data/lib/awspec/generator/doc/type/cognito_identity_pool.rb +2 -0
  44. data/lib/awspec/generator/doc/type/cognito_user_pool.rb +2 -0
  45. data/lib/awspec/generator/doc/type/customer_gateway.rb +4 -2
  46. data/lib/awspec/generator/doc/type/directconnect_virtual_interface.rb +4 -2
  47. data/lib/awspec/generator/doc/type/dynamodb_table.rb +4 -2
  48. data/lib/awspec/generator/doc/type/ebs.rb +4 -2
  49. data/lib/awspec/generator/doc/type/ec2.rb +4 -2
  50. data/lib/awspec/generator/doc/type/ec2_account_attributes.rb +2 -0
  51. data/lib/awspec/generator/doc/type/ecr_repository.rb +2 -0
  52. data/lib/awspec/generator/doc/type/ecs_cluster.rb +4 -2
  53. data/lib/awspec/generator/doc/type/ecs_container_instance.rb +4 -2
  54. data/lib/awspec/generator/doc/type/ecs_service.rb +4 -2
  55. data/lib/awspec/generator/doc/type/ecs_task_definition.rb +4 -2
  56. data/lib/awspec/generator/doc/type/efs.rb +2 -0
  57. data/lib/awspec/generator/doc/type/eip.rb +2 -0
  58. data/lib/awspec/generator/doc/type/eks.rb +4 -2
  59. data/lib/awspec/generator/doc/type/eks_nodegroup.rb +4 -2
  60. data/lib/awspec/generator/doc/type/elasticache.rb +4 -2
  61. data/lib/awspec/generator/doc/type/elasticache_cache_parameter_group.rb +2 -0
  62. data/lib/awspec/generator/doc/type/elasticsearch.rb +2 -0
  63. data/lib/awspec/generator/doc/type/elastictranscoder_pipeline.rb +4 -2
  64. data/lib/awspec/generator/doc/type/elb.rb +5 -3
  65. data/lib/awspec/generator/doc/type/emr.rb +4 -2
  66. data/lib/awspec/generator/doc/type/firehose.rb +2 -0
  67. data/lib/awspec/generator/doc/type/iam_group.rb +3 -1
  68. data/lib/awspec/generator/doc/type/iam_policy.rb +2 -0
  69. data/lib/awspec/generator/doc/type/iam_role.rb +3 -1
  70. data/lib/awspec/generator/doc/type/iam_user.rb +3 -1
  71. data/lib/awspec/generator/doc/type/internet_gateway.rb +2 -0
  72. data/lib/awspec/generator/doc/type/kinesis.rb +2 -0
  73. data/lib/awspec/generator/doc/type/kms.rb +2 -0
  74. data/lib/awspec/generator/doc/type/lambda.rb +3 -1
  75. data/lib/awspec/generator/doc/type/lambda_account_settings.rb +2 -0
  76. data/lib/awspec/generator/doc/type/launch_configuration.rb +2 -0
  77. data/lib/awspec/generator/doc/type/launch_template.rb +2 -0
  78. data/lib/awspec/generator/doc/type/mq.rb +5 -3
  79. data/lib/awspec/generator/doc/type/msk.rb +2 -0
  80. data/lib/awspec/generator/doc/type/nat_gateway.rb +4 -2
  81. data/lib/awspec/generator/doc/type/network_acl.rb +4 -2
  82. data/lib/awspec/generator/doc/type/network_interface.rb +4 -2
  83. data/lib/awspec/generator/doc/type/nlb.rb +4 -2
  84. data/lib/awspec/generator/doc/type/nlb_listener.rb +3 -1
  85. data/lib/awspec/generator/doc/type/nlb_target_group.rb +3 -1
  86. data/lib/awspec/generator/doc/type/rds.rb +5 -3
  87. data/lib/awspec/generator/doc/type/rds_account_attributes.rb +2 -0
  88. data/lib/awspec/generator/doc/type/rds_db_cluster_parameter_group.rb +2 -0
  89. data/lib/awspec/generator/doc/type/rds_db_parameter_group.rb +2 -0
  90. data/lib/awspec/generator/doc/type/redshift.rb +5 -3
  91. data/lib/awspec/generator/doc/type/redshift_cluster_parameter_group.rb +2 -0
  92. data/lib/awspec/generator/doc/type/route53_hosted_zone.rb +2 -0
  93. data/lib/awspec/generator/doc/type/route_table.rb +2 -0
  94. data/lib/awspec/generator/doc/type/s3_bucket.rb +3 -1
  95. data/lib/awspec/generator/doc/type/secretsmanager.rb +2 -0
  96. data/lib/awspec/generator/doc/type/security_group.rb +4 -2
  97. data/lib/awspec/generator/doc/type/ses_identity.rb +4 -2
  98. data/lib/awspec/generator/doc/type/ses_send_quota.rb +2 -0
  99. data/lib/awspec/generator/doc/type/sns_topic.rb +5 -3
  100. data/lib/awspec/generator/doc/type/sqs.rb +2 -0
  101. data/lib/awspec/generator/doc/type/ssm_parameter.rb +2 -0
  102. data/lib/awspec/generator/doc/type/subnet.rb +4 -2
  103. data/lib/awspec/generator/doc/type/transit_gateway.rb +2 -0
  104. data/lib/awspec/generator/doc/type/vpc.rb +4 -2
  105. data/lib/awspec/generator/doc/type/vpc_endpoints.rb +2 -0
  106. data/lib/awspec/generator/doc/type/vpn_connection.rb +4 -2
  107. data/lib/awspec/generator/doc/type/vpn_gateway.rb +4 -2
  108. data/lib/awspec/generator/doc/type/waf_web_acl.rb +3 -1
  109. data/lib/awspec/generator/doc/type/wafregional_web_acl.rb +3 -1
  110. data/lib/awspec/generator/doc/type.rb +5 -3
  111. data/lib/awspec/generator/spec/acm.rb +4 -2
  112. data/lib/awspec/generator/spec/alb.rb +6 -4
  113. data/lib/awspec/generator/spec/alb_listener.rb +6 -4
  114. data/lib/awspec/generator/spec/autoscaling_group.rb +6 -4
  115. data/lib/awspec/generator/spec/cloudwatch_alarm.rb +4 -2
  116. data/lib/awspec/generator/spec/cloudwatch_event.rb +4 -2
  117. data/lib/awspec/generator/spec/cloudwatch_logs.rb +4 -2
  118. data/lib/awspec/generator/spec/codebuild.rb +4 -2
  119. data/lib/awspec/generator/spec/directconnect.rb +4 -2
  120. data/lib/awspec/generator/spec/ebs.rb +5 -4
  121. data/lib/awspec/generator/spec/ec2.rb +5 -2
  122. data/lib/awspec/generator/spec/efs.rb +4 -2
  123. data/lib/awspec/generator/spec/eip.rb +4 -2
  124. data/lib/awspec/generator/spec/elasticache.rb +5 -2
  125. data/lib/awspec/generator/spec/elasticsearch.rb +4 -2
  126. data/lib/awspec/generator/spec/elb.rb +8 -6
  127. data/lib/awspec/generator/spec/iam_group.rb +4 -2
  128. data/lib/awspec/generator/spec/iam_policy.rb +3 -0
  129. data/lib/awspec/generator/spec/iam_role.rb +4 -2
  130. data/lib/awspec/generator/spec/iam_user.rb +4 -2
  131. data/lib/awspec/generator/spec/internet_gateway.rb +6 -4
  132. data/lib/awspec/generator/spec/kms.rb +4 -2
  133. data/lib/awspec/generator/spec/lambda.rb +4 -2
  134. data/lib/awspec/generator/spec/nat_gateway.rb +6 -4
  135. data/lib/awspec/generator/spec/network_acl.rb +15 -13
  136. data/lib/awspec/generator/spec/network_interface.rb +13 -10
  137. data/lib/awspec/generator/spec/nlb.rb +6 -4
  138. data/lib/awspec/generator/spec/nlb_listener.rb +6 -4
  139. data/lib/awspec/generator/spec/rds.rb +5 -2
  140. data/lib/awspec/generator/spec/rds_db_cluster_parameter_group.rb +3 -2
  141. data/lib/awspec/generator/spec/rds_db_parameter_group.rb +3 -2
  142. data/lib/awspec/generator/spec/redshift.rb +5 -2
  143. data/lib/awspec/generator/spec/redshift_cluster_parameter_group.rb +3 -2
  144. data/lib/awspec/generator/spec/route53_hosted_zone.rb +4 -2
  145. data/lib/awspec/generator/spec/route_table.rb +12 -14
  146. data/lib/awspec/generator/spec/s3_bucket.rb +9 -6
  147. data/lib/awspec/generator/spec/security_group.rb +9 -8
  148. data/lib/awspec/generator/spec/subnet.rb +6 -4
  149. data/lib/awspec/generator/spec/vpc.rb +5 -2
  150. data/lib/awspec/generator/template.rb +17 -15
  151. data/lib/awspec/generator.rb +4 -2
  152. data/lib/awspec/helper/client_wrap.rb +5 -1
  153. data/lib/awspec/helper/color.rb +2 -0
  154. data/lib/awspec/helper/finder/account_attributes.rb +8 -6
  155. data/lib/awspec/helper/finder/acm.rb +4 -0
  156. data/lib/awspec/helper/finder/alb.rb +7 -5
  157. data/lib/awspec/helper/finder/ami.rb +4 -0
  158. data/lib/awspec/helper/finder/apigateway.rb +2 -0
  159. data/lib/awspec/helper/finder/autoscaling.rb +3 -0
  160. data/lib/awspec/helper/finder/batch.rb +2 -0
  161. data/lib/awspec/helper/finder/cloudformation.rb +2 -0
  162. data/lib/awspec/helper/finder/cloudfront.rb +3 -0
  163. data/lib/awspec/helper/finder/cloudtrail.rb +2 -0
  164. data/lib/awspec/helper/finder/cloudwatch.rb +3 -0
  165. data/lib/awspec/helper/finder/cloudwatch_event.rb +2 -0
  166. data/lib/awspec/helper/finder/cloudwatch_logs.rb +10 -5
  167. data/lib/awspec/helper/finder/codebuild.rb +3 -0
  168. data/lib/awspec/helper/finder/codedeploy.rb +2 -0
  169. data/lib/awspec/helper/finder/cognito_identity_pool.rb +2 -0
  170. data/lib/awspec/helper/finder/cognito_user_pool.rb +2 -0
  171. data/lib/awspec/helper/finder/directconnect.rb +2 -0
  172. data/lib/awspec/helper/finder/dynamodb.rb +2 -0
  173. data/lib/awspec/helper/finder/ebs.rb +5 -0
  174. data/lib/awspec/helper/finder/ec2.rb +16 -10
  175. data/lib/awspec/helper/finder/ecr.rb +2 -0
  176. data/lib/awspec/helper/finder/ecs.rb +5 -2
  177. data/lib/awspec/helper/finder/efs.rb +5 -4
  178. data/lib/awspec/helper/finder/eks.rb +2 -0
  179. data/lib/awspec/helper/finder/elasticache.rb +3 -1
  180. data/lib/awspec/helper/finder/elasticsearch.rb +3 -1
  181. data/lib/awspec/helper/finder/elastictranscoder.rb +3 -0
  182. data/lib/awspec/helper/finder/elb.rb +6 -4
  183. data/lib/awspec/helper/finder/emr.rb +2 -0
  184. data/lib/awspec/helper/finder/firehose.rb +2 -0
  185. data/lib/awspec/helper/finder/iam.rb +16 -12
  186. data/lib/awspec/helper/finder/kinesis.rb +2 -0
  187. data/lib/awspec/helper/finder/kms.rb +3 -1
  188. data/lib/awspec/helper/finder/lambda.rb +3 -0
  189. data/lib/awspec/helper/finder/mq.rb +3 -1
  190. data/lib/awspec/helper/finder/msk.rb +2 -0
  191. data/lib/awspec/helper/finder/nlb.rb +11 -8
  192. data/lib/awspec/helper/finder/rds.rb +4 -1
  193. data/lib/awspec/helper/finder/redshift.rb +4 -1
  194. data/lib/awspec/helper/finder/route53.rb +4 -1
  195. data/lib/awspec/helper/finder/s3.rb +4 -2
  196. data/lib/awspec/helper/finder/secretsmanager.rb +2 -0
  197. data/lib/awspec/helper/finder/security_group.rb +2 -0
  198. data/lib/awspec/helper/finder/ses.rb +2 -0
  199. data/lib/awspec/helper/finder/sns_topic.rb +5 -3
  200. data/lib/awspec/helper/finder/sqs.rb +2 -0
  201. data/lib/awspec/helper/finder/ssm_parameter.rb +4 -1
  202. data/lib/awspec/helper/finder/subnet.rb +3 -0
  203. data/lib/awspec/helper/finder/vpc.rb +12 -6
  204. data/lib/awspec/helper/finder/vpc_endpoints.rb +2 -0
  205. data/lib/awspec/helper/finder/waf.rb +5 -0
  206. data/lib/awspec/helper/finder/wafregional.rb +5 -0
  207. data/lib/awspec/helper/finder.rb +3 -1
  208. data/lib/awspec/helper/states.rb +4 -2
  209. data/lib/awspec/helper/type.rb +8 -4
  210. data/lib/awspec/helper.rb +2 -0
  211. data/lib/awspec/matcher/be_allowed.rb +2 -0
  212. data/lib/awspec/matcher/be_allowed_action.rb +2 -0
  213. data/lib/awspec/matcher/be_attached_to.rb +3 -0
  214. data/lib/awspec/matcher/be_connected_to_vpc.rb +2 -0
  215. data/lib/awspec/matcher/be_denied.rb +2 -0
  216. data/lib/awspec/matcher/be_opened.rb +2 -0
  217. data/lib/awspec/matcher/be_opened_only.rb +2 -0
  218. data/lib/awspec/matcher/belong_to_alb.rb +4 -0
  219. data/lib/awspec/matcher/belong_to_cache_subnet_group.rb +2 -0
  220. data/lib/awspec/matcher/belong_to_cluster_subnet_group.rb +2 -0
  221. data/lib/awspec/matcher/belong_to_db_subnet_group.rb +2 -0
  222. data/lib/awspec/matcher/belong_to_domain.rb +2 -0
  223. data/lib/awspec/matcher/belong_to_iam_group.rb +2 -0
  224. data/lib/awspec/matcher/belong_to_metric.rb +2 -0
  225. data/lib/awspec/matcher/belong_to_nlb.rb +4 -0
  226. data/lib/awspec/matcher/belong_to_replication_group.rb +2 -0
  227. data/lib/awspec/matcher/belong_to_subnet.rb +5 -0
  228. data/lib/awspec/matcher/belong_to_subnets.rb +2 -0
  229. data/lib/awspec/matcher/belong_to_vpc.rb +4 -0
  230. data/lib/awspec/matcher/have_attribute_definition.rb +2 -0
  231. data/lib/awspec/matcher/have_cluster_parameter_group.rb +2 -0
  232. data/lib/awspec/matcher/have_custom_response_error_code.rb +3 -2
  233. data/lib/awspec/matcher/have_db_parameter_group.rb +2 -0
  234. data/lib/awspec/matcher/have_env_var.rb +2 -0
  235. data/lib/awspec/matcher/have_env_var_value.rb +2 -0
  236. data/lib/awspec/matcher/have_env_vars.rb +2 -0
  237. data/lib/awspec/matcher/have_inline_policy.rb +2 -0
  238. data/lib/awspec/matcher/have_key_policy.rb +2 -0
  239. data/lib/awspec/matcher/have_key_schema.rb +2 -0
  240. data/lib/awspec/matcher/have_metric_filter.rb +2 -0
  241. data/lib/awspec/matcher/have_network_interface.rb +2 -0
  242. data/lib/awspec/matcher/have_option_group.rb +2 -0
  243. data/lib/awspec/matcher/have_origin.rb +3 -2
  244. data/lib/awspec/matcher/have_private_ip_address.rb +2 -0
  245. data/lib/awspec/matcher/have_record_set.rb +3 -1
  246. data/lib/awspec/matcher/have_route.rb +5 -3
  247. data/lib/awspec/matcher/have_rule.rb +3 -0
  248. data/lib/awspec/matcher/have_subscription_attributes.rb +3 -0
  249. data/lib/awspec/matcher/have_subscription_filter.rb +2 -0
  250. data/lib/awspec/matcher/have_tag.rb +2 -0
  251. data/lib/awspec/matcher/have_vpc_peering_connection.rb +2 -0
  252. data/lib/awspec/matcher/include_subscribed.rb +2 -0
  253. data/lib/awspec/matcher.rb +2 -0
  254. data/lib/awspec/resource_reader.rb +3 -0
  255. data/lib/awspec/setup.rb +7 -5
  256. data/lib/awspec/shared_context.rb +3 -0
  257. data/lib/awspec/stub/account.rb +2 -0
  258. data/lib/awspec/stub/acm.rb +2 -0
  259. data/lib/awspec/stub/alb.rb +3 -1
  260. data/lib/awspec/stub/alb_listener.rb +4 -3
  261. data/lib/awspec/stub/alb_target_group.rb +3 -1
  262. data/lib/awspec/stub/ami.rb +2 -0
  263. data/lib/awspec/stub/apigateway.rb +2 -0
  264. data/lib/awspec/stub/autoscaling_group.rb +6 -4
  265. data/lib/awspec/stub/batch_compute_environment.rb +2 -0
  266. data/lib/awspec/stub/batch_job_definition.rb +2 -0
  267. data/lib/awspec/stub/batch_job_queue.rb +2 -0
  268. data/lib/awspec/stub/cloudformation_stack.rb +4 -2
  269. data/lib/awspec/stub/cloudfront_distribution.rb +6 -4
  270. data/lib/awspec/stub/cloudtrail.rb +2 -0
  271. data/lib/awspec/stub/cloudwatch_logs.rb +2 -0
  272. data/lib/awspec/stub/codebuild.rb +5 -3
  273. data/lib/awspec/stub/codedeploy.rb +2 -0
  274. data/lib/awspec/stub/codedeploy_deployment_group.rb +2 -0
  275. data/lib/awspec/stub/cognito_identity_pool.rb +2 -0
  276. data/lib/awspec/stub/cognito_user_pool.rb +2 -0
  277. data/lib/awspec/stub/directconnect_virtual_interface.rb +2 -0
  278. data/lib/awspec/stub/duplicated_resource_type.rb +2 -0
  279. data/lib/awspec/stub/dynamodb_table.rb +2 -0
  280. data/lib/awspec/stub/ebs.rb +2 -0
  281. data/lib/awspec/stub/ec2.rb +2 -0
  282. data/lib/awspec/stub/ec2_has_multi_security_groups.rb +2 -0
  283. data/lib/awspec/stub/ec2_non_existing.rb +2 -0
  284. data/lib/awspec/stub/ecr_repository.rb +2 -0
  285. data/lib/awspec/stub/ecs.rb +13 -22
  286. data/lib/awspec/stub/ecs_cluster.rb +4 -4
  287. data/lib/awspec/stub/ecs_container_instance.rb +3 -2
  288. data/lib/awspec/stub/ecs_service.rb +4 -4
  289. data/lib/awspec/stub/ecs_task_definition.rb +9 -14
  290. data/lib/awspec/stub/efs.rb +2 -0
  291. data/lib/awspec/stub/eip.rb +2 -0
  292. data/lib/awspec/stub/eks.rb +5 -3
  293. data/lib/awspec/stub/eks_nodegroup.rb +2 -0
  294. data/lib/awspec/stub/elasticache.rb +2 -0
  295. data/lib/awspec/stub/elasticache_cache_parameter_group.rb +2 -0
  296. data/lib/awspec/stub/elasticsearch.rb +2 -0
  297. data/lib/awspec/stub/elastictranscoder_pipeline.rb +2 -0
  298. data/lib/awspec/stub/elb.rb +2 -0
  299. data/lib/awspec/stub/emr.rb +2 -0
  300. data/lib/awspec/stub/firehose.rb +2 -0
  301. data/lib/awspec/stub/iam_group.rb +3 -2
  302. data/lib/awspec/stub/iam_policy.rb +2 -0
  303. data/lib/awspec/stub/iam_role.rb +3 -2
  304. data/lib/awspec/stub/iam_user.rb +3 -2
  305. data/lib/awspec/stub/internet_gateway.rb +2 -0
  306. data/lib/awspec/stub/kinesis.rb +8 -6
  307. data/lib/awspec/stub/kms.rb +2 -0
  308. data/lib/awspec/stub/lambda.rb +2 -0
  309. data/lib/awspec/stub/launch_configuration.rb +2 -0
  310. data/lib/awspec/stub/launch_template.rb +2 -0
  311. data/lib/awspec/stub/mq.rb +5 -3
  312. data/lib/awspec/stub/msk.rb +5 -3
  313. data/lib/awspec/stub/nat_gateway.rb +2 -0
  314. data/lib/awspec/stub/network_acl.rb +2 -0
  315. data/lib/awspec/stub/network_interface.rb +2 -0
  316. data/lib/awspec/stub/nlb.rb +3 -1
  317. data/lib/awspec/stub/nlb_listener.rb +4 -3
  318. data/lib/awspec/stub/nlb_target_group.rb +3 -1
  319. data/lib/awspec/stub/rds.rb +2 -0
  320. data/lib/awspec/stub/rds_db_cluster_parameter_group.rb +2 -0
  321. data/lib/awspec/stub/rds_db_parameter_group.rb +2 -0
  322. data/lib/awspec/stub/redshift.rb +2 -0
  323. data/lib/awspec/stub/redshift_cluster_parameter_group.rb +2 -0
  324. data/lib/awspec/stub/route53_hosted_zone.rb +2 -0
  325. data/lib/awspec/stub/route_table.rb +2 -0
  326. data/lib/awspec/stub/s3_bucket.rb +2 -0
  327. data/lib/awspec/stub/secretsmanager.rb +2 -0
  328. data/lib/awspec/stub/security_group.rb +2 -0
  329. data/lib/awspec/stub/ses_identity.rb +2 -0
  330. data/lib/awspec/stub/sns_topic.rb +3 -1
  331. data/lib/awspec/stub/sns_topic_error.rb +6 -2
  332. data/lib/awspec/stub/sqs.rb +2 -0
  333. data/lib/awspec/stub/ssm_parameter.rb +2 -0
  334. data/lib/awspec/stub/subnet.rb +2 -0
  335. data/lib/awspec/stub/transit_gateway.rb +2 -0
  336. data/lib/awspec/stub/vpc.rb +2 -0
  337. data/lib/awspec/stub/vpc_endpoints.rb +2 -0
  338. data/lib/awspec/stub/waf_web_acl.rb +2 -0
  339. data/lib/awspec/stub/wafregional_web_acl.rb +2 -0
  340. data/lib/awspec/stub.rb +3 -1
  341. data/lib/awspec/toolbox.rb +2 -0
  342. data/lib/awspec/type/account.rb +4 -2
  343. data/lib/awspec/type/account_attribute.rb +5 -2
  344. data/lib/awspec/type/account_attribute_base.rb +2 -0
  345. data/lib/awspec/type/acm.rb +8 -6
  346. data/lib/awspec/type/alb.rb +8 -3
  347. data/lib/awspec/type/alb_listener.rb +4 -0
  348. data/lib/awspec/type/alb_target_group.rb +3 -0
  349. data/lib/awspec/type/ami.rb +5 -3
  350. data/lib/awspec/type/apigateway.rb +9 -3
  351. data/lib/awspec/type/autoscaling_group.rb +3 -0
  352. data/lib/awspec/type/base.rb +6 -3
  353. data/lib/awspec/type/batch_compute_environment.rb +6 -4
  354. data/lib/awspec/type/batch_job_definition.rb +2 -0
  355. data/lib/awspec/type/batch_job_queue.rb +4 -2
  356. data/lib/awspec/type/cloudformation_stack.rb +2 -0
  357. data/lib/awspec/type/cloudfront_distribution.rb +11 -5
  358. data/lib/awspec/type/cloudtrail.rb +2 -0
  359. data/lib/awspec/type/cloudwatch_alarm.rb +2 -0
  360. data/lib/awspec/type/cloudwatch_event.rb +2 -0
  361. data/lib/awspec/type/cloudwatch_logs.rb +2 -0
  362. data/lib/awspec/type/codebuild.rb +2 -0
  363. data/lib/awspec/type/codedeploy.rb +2 -0
  364. data/lib/awspec/type/codedeploy_deployment_group.rb +4 -0
  365. data/lib/awspec/type/cognito_identity_pool.rb +2 -0
  366. data/lib/awspec/type/cognito_user_pool.rb +2 -0
  367. data/lib/awspec/type/customer_gateway.rb +5 -3
  368. data/lib/awspec/type/directconnect_virtual_interface.rb +5 -3
  369. data/lib/awspec/type/dynamodb_table.rb +5 -3
  370. data/lib/awspec/type/ebs.rb +6 -3
  371. data/lib/awspec/type/ec2.rb +10 -0
  372. data/lib/awspec/type/ec2_account_attributes.rb +2 -0
  373. data/lib/awspec/type/ecr_repository.rb +2 -0
  374. data/lib/awspec/type/ecs_cluster.rb +5 -2
  375. data/lib/awspec/type/ecs_container_instance.rb +4 -2
  376. data/lib/awspec/type/ecs_service.rb +5 -2
  377. data/lib/awspec/type/ecs_task_definition.rb +4 -2
  378. data/lib/awspec/type/efs.rb +3 -0
  379. data/lib/awspec/type/eip.rb +3 -0
  380. data/lib/awspec/type/eks.rb +4 -2
  381. data/lib/awspec/type/eks_nodegroup.rb +4 -2
  382. data/lib/awspec/type/elasticache.rb +7 -3
  383. data/lib/awspec/type/elasticache_cache_parameter_group.rb +3 -0
  384. data/lib/awspec/type/elasticsearch.rb +2 -0
  385. data/lib/awspec/type/elastictranscoder_pipeline.rb +5 -3
  386. data/lib/awspec/type/elb.rb +11 -3
  387. data/lib/awspec/type/emr.rb +8 -6
  388. data/lib/awspec/type/firehose.rb +4 -2
  389. data/lib/awspec/type/iam_group.rb +4 -0
  390. data/lib/awspec/type/iam_policy.rb +5 -0
  391. data/lib/awspec/type/iam_role.rb +3 -0
  392. data/lib/awspec/type/iam_user.rb +3 -0
  393. data/lib/awspec/type/internet_gateway.rb +2 -0
  394. data/lib/awspec/type/kinesis.rb +3 -0
  395. data/lib/awspec/type/kms.rb +3 -0
  396. data/lib/awspec/type/lambda.rb +2 -0
  397. data/lib/awspec/type/lambda_account_settings.rb +2 -0
  398. data/lib/awspec/type/launch_configuration.rb +3 -0
  399. data/lib/awspec/type/launch_template.rb +3 -0
  400. data/lib/awspec/type/mq.rb +7 -3
  401. data/lib/awspec/type/msk.rb +5 -3
  402. data/lib/awspec/type/nat_gateway.rb +5 -3
  403. data/lib/awspec/type/network_acl.rb +9 -2
  404. data/lib/awspec/type/network_interface.rb +9 -3
  405. data/lib/awspec/type/nlb.rb +6 -3
  406. data/lib/awspec/type/nlb_listener.rb +4 -0
  407. data/lib/awspec/type/nlb_target_group.rb +3 -0
  408. data/lib/awspec/type/rds.rb +7 -3
  409. data/lib/awspec/type/rds_account_attributes.rb +2 -0
  410. data/lib/awspec/type/rds_db_cluster_parameter_group.rb +3 -0
  411. data/lib/awspec/type/rds_db_parameter_group.rb +5 -1
  412. data/lib/awspec/type/redshift.rb +7 -3
  413. data/lib/awspec/type/redshift_cluster_parameter_group.rb +2 -0
  414. data/lib/awspec/type/resource_base.rb +2 -0
  415. data/lib/awspec/type/route53_hosted_zone.rb +7 -2
  416. data/lib/awspec/type/route_table.rb +12 -0
  417. data/lib/awspec/type/s3_bucket.rb +6 -3
  418. data/lib/awspec/type/secretsmanager.rb +2 -0
  419. data/lib/awspec/type/security_group.rb +14 -2
  420. data/lib/awspec/type/ses_identity.rb +8 -6
  421. data/lib/awspec/type/ses_send_quota.rb +2 -0
  422. data/lib/awspec/type/sns_topic.rb +4 -0
  423. data/lib/awspec/type/sqs.rb +4 -0
  424. data/lib/awspec/type/ssm_parameter.rb +3 -0
  425. data/lib/awspec/type/subnet.rb +6 -3
  426. data/lib/awspec/type/transit_gateway.rb +2 -0
  427. data/lib/awspec/type/vpc.rb +7 -3
  428. data/lib/awspec/type/vpc_endpoints.rb +5 -3
  429. data/lib/awspec/type/vpn_connection.rb +5 -3
  430. data/lib/awspec/type/vpn_gateway.rb +5 -3
  431. data/lib/awspec/type/waf_web_acl.rb +3 -0
  432. data/lib/awspec/type/wafregional_web_acl.rb +3 -0
  433. data/lib/awspec/version.rb +3 -1
  434. data/lib/awspec.rb +2 -0
  435. metadata +16 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 859f812366b731851141a0f2fb663d7861e537fbff4c349a2cf63468944eb142
4
- data.tar.gz: fc866492dce252ec352f1228adb45ceb27a9538f14052c903b054669774ad609
3
+ metadata.gz: 02cc903214e73de4d0d6ed6bee30b9bf987e9f5ef11387b17686ecb92675aae8
4
+ data.tar.gz: e890b372efb87f544a31a91caa358a6a313293edebb7fb66a24dd29fa636b34e
5
5
  SHA512:
6
- metadata.gz: 4c7680dfed99c2e4e85521f894a01cbc84c8fdbbbe27bb1b470b16e14e072bbe19974184c68d9c7f269178f325c8945c3f485947563d354346aad6d42b5c54c9
7
- data.tar.gz: 6c72be4d376fac4247265ae8372f7466316f529277eeb39e3d25d30a02aaef356b1928fe492d2b1e0f7ee2866b281a1fb8ba81d640031d702fda10368b239c5f
6
+ metadata.gz: db38f329352a2488a4fafc1c3f324f6653addb8e05585c90cf0644cacb64e75712cb14ac9095f7ca85c465606e9460f262e2438613ff844d99a5aaee79d3b3d8
7
+ data.tar.gz: 4655fa571461a651b73c6afd85aabff2c26ccdad639609b6f51a12df3fe09f8df3330d7b7909a67cfafc5c3dd8a89d85be118e17cf2c13ed4d575c95c54ba0de
@@ -17,14 +17,12 @@ jobs:
17
17
  - name: Set up Ruby
18
18
  uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: 2.7
20
+ ruby-version: 3.1
21
21
  bundler-cache: true
22
22
 
23
23
  - name: Run rubocop
24
24
  uses: reviewdog/action-rubocop@v1
25
25
  with:
26
- rubocop_version: 0.57.2
27
- rubocop_extensions: rubocop:0.57.2
28
26
  github_token: ${{ secrets.GITHUB_TOKEN }}
29
27
  reporter: github-pr-review
30
28
  fail_on_error: true
@@ -43,7 +41,8 @@ jobs:
43
41
  - '2.5'
44
42
  - '2.6'
45
43
  - '2.7'
46
- # - '3.0'
44
+ - '3.0'
45
+ - '3.1'
47
46
  runs-on: ubuntu-latest
48
47
  env:
49
48
  DISABLE_AWS_CLIENT_CHECK: true
@@ -58,9 +57,8 @@ jobs:
58
57
  ruby-version: ${{ matrix.ruby-version }}
59
58
  bundler-cache: true
60
59
 
61
- - name: Install xml lib
62
- run: gem install ox
63
- if: matrix.ruby-version == '3.0'
60
+ - name: Show Ruby version
61
+ run: ruby -v
64
62
 
65
63
  - name: Generate document
66
64
  run: bundle exec bin/toolbox docgen > doc/resource_types.md
data/.rubocop.yml CHANGED
@@ -1,35 +1,53 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.1
2
+ SuggestExtensions: false
3
3
 
4
- Layout/IndentHeredoc:
4
+ Layout/ClosingHeredocIndentation:
5
5
  Enabled: false
6
6
 
7
- Layout/MultilineOperationIndentation:
7
+ Layout/HashAlignment:
8
8
  Enabled: false
9
9
 
10
- Layout/MultilineMethodCallBraceLayout:
10
+ Layout/HeredocIndentation:
11
11
  Enabled: false
12
-
13
- Layout/ClosingHeredocIndentation:
12
+
13
+ Gemspec/RequiredRubyVersion:
14
14
  Enabled: false
15
15
 
16
- Layout/SpaceInsideArrayLiteralBrackets:
17
- Enabled: false
16
+ Lint/DuplicateMethods:
17
+ Exclude:
18
+ - 'lib/awspec/type/codedeploy_deployment_group.rb'
19
+ - 'lib/awspec/type/ecs_container_instance.rb'
20
+ - 'lib/awspec/type/ecs_service.rb'
21
+ - 'lib/awspec/type/eks_nodegroup.rb'
22
+ - 'lib/awspec/type/resource_base.rb'
18
23
 
19
- Lint/HandleExceptions:
24
+ Lint/ErbNewArguments:
20
25
  Enabled: false
21
26
 
22
- Lint/UselessAssignment:
27
+ Lint/MissingCopEnableDirective:
23
28
  Enabled: false
24
29
 
25
- Lint/DuplicateMethods:
26
- Enabled: false
30
+ Lint/MissingSuper:
31
+ Exclude:
32
+ - 'lib/awspec/generator/doc/type/account_attribute.rb'
33
+ - 'lib/awspec/generator/doc/type/account_attribute_base.rb'
34
+ - 'lib/awspec/type/account_attribute.rb'
35
+ - 'lib/awspec/type/resource_base.rb'
27
36
 
28
- Lint/MissingCopEnableDirective:
37
+ Lint/SuppressedException:
38
+ Exclude:
39
+ - 'Rakefile'
40
+
41
+ Lint/UnreachableLoop:
42
+ Exclude:
43
+ - 'lib/awspec/type/nat_gateway.rb'
44
+ - 'lib/awspec/type/route53_hosted_zone.rb'
45
+
46
+ Lint/UselessAssignment:
29
47
  Enabled: false
30
48
 
31
49
  Metrics/AbcSize:
32
- Max: 50
50
+ Max: 60
33
51
 
34
52
  Metrics/BlockLength:
35
53
  Max: 60
@@ -38,57 +56,72 @@ Metrics/ClassLength:
38
56
  Max: 130
39
57
 
40
58
  Metrics/CyclomaticComplexity:
41
- Max: 15
42
-
43
- Metrics/LineLength:
44
- Max: 120
59
+ Max: 30
45
60
 
46
61
  Metrics/MethodLength:
47
62
  Max: 30
48
63
 
49
64
  Metrics/ModuleLength:
50
- CountComments: false
51
65
  Max: 200
52
66
 
67
+ Metrics/ParameterLists:
68
+ MaxOptionalParameters: 4
69
+
53
70
  Metrics/PerceivedComplexity:
54
- Max: 15
71
+ Max: 30
55
72
 
56
- Naming/UncommunicativeMethodParamName:
73
+ Naming/HeredocDelimiterNaming:
57
74
  Enabled: false
58
75
 
59
- Naming/PredicateName:
60
- Enabled: false
76
+ Naming/MethodParameterName:
77
+ Exclude:
78
+ - 'lib/awspec/generator/spec/security_group.rb'
79
+ - 'lib/awspec/helper/client_wrap.rb'
80
+ - 'lib/awspec/type/network_acl.rb'
61
81
 
62
- Naming/HeredocDelimiterNaming:
82
+ Naming/PredicateName:
63
83
  Enabled: false
64
84
 
65
- Performance/StringReplacement:
85
+ Naming/VariableNumber:
66
86
  Enabled: false
67
87
 
68
88
  Security/Eval:
89
+ Exclude:
90
+ - 'lib/awspec/command/generate.rb'
91
+ - 'lib/awspec/generator/doc/type.rb'
92
+ - 'lib/awspec/helper/type.rb'
93
+ - 'lib/awspec/type/account.rb'
94
+ - 'lib/awspec/type/account_attribute.rb'
95
+ - 'spec/generator/doc/type_spec.rb'
96
+
97
+ Style/CaseLikeIf:
69
98
  Enabled: false
70
99
 
71
- Style/Alias:
100
+ Style/ClassAndModuleChildren:
72
101
  Enabled: false
73
102
 
74
- Style/BarePercentLiterals:
103
+ Style/Documentation:
75
104
  Enabled: false
76
105
 
77
- Style/BracesAroundHashParameters:
106
+ Style/EvalWithLocation:
78
107
  Enabled: false
79
108
 
80
- Style/ClassAndModuleChildren:
109
+ Style/HashSyntax:
81
110
  Enabled: false
82
111
 
83
- Style/Documentation:
112
+ Style/HashTransformKeys:
84
113
  Enabled: false
85
114
 
86
- Style/MethodMissingSuper:
115
+ Style/IfUnlessModifier:
87
116
  Enabled: false
88
117
 
89
118
  Style/MissingRespondToMissing:
90
119
  Enabled: false
91
120
 
121
+ Style/MixinUsage:
122
+ Exclude:
123
+ - 'lib/awspec/helper.rb'
124
+
92
125
  Style/MutableConstant:
93
126
  Enabled: false
94
127
 
@@ -98,41 +131,12 @@ Style/NumericLiteralPrefix:
98
131
  Style/NumericPredicate:
99
132
  Enabled: false
100
133
 
101
- Style/StabbyLambdaParentheses:
102
- Enabled: false
103
-
104
- Style/PercentLiteralDelimiters:
134
+ Style/SafeNavigation:
105
135
  Enabled: false
106
136
 
107
- Style/RedundantSelf:
137
+ Style/SoleNestedConditional:
108
138
  Enabled: false
109
139
 
110
140
  Style/SymbolProc:
111
141
  Enabled: false
112
142
 
113
- Style/YodaCondition:
114
- Enabled: false
115
-
116
- Style/RescueStandardError:
117
- Enabled: false
118
-
119
- Style/RedundantReturn:
120
- Enabled: false
121
-
122
- Style/ConditionalAssignment:
123
- Enabled: false
124
-
125
- Style/EvalWithLocation:
126
- Enabled: false
127
-
128
- Style/MixinUsage:
129
- Exclude:
130
- - 'lib/awspec/helper.rb'
131
-
132
- Style/StderrPuts:
133
- Exclude:
134
- - 'lib/awspec/generator/template.rb'
135
- - 'lib/awspec/setup.rb'
136
-
137
- Style/IfUnlessModifier:
138
- Enabled: false
data/Gemfile CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in awspec.gemspec
4
6
  gemspec
5
7
 
6
- # gem 'ox' if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.0.0')
8
+ gem 'ox' if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('3.0.0')
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
 
3
5
  begin
@@ -12,7 +14,7 @@ end
12
14
  require 'awspec'
13
15
 
14
16
  types = Awspec::Helper::Type::TYPES.map do |type|
15
- 'spec:' + type
17
+ "spec:#{type}"
16
18
  end
17
19
 
18
20
  if defined?(RSpec)
@@ -29,7 +31,7 @@ if defined?(RSpec)
29
31
 
30
32
  Awspec::Helper::Type::TYPES.map do |type|
31
33
  RSpec::Core::RakeTask.new(type) do |t|
32
- t.pattern = 'spec/type/' + type + '_spec.rb'
34
+ t.pattern = "spec/type/#{type}_spec.rb"
33
35
  end
34
36
  end
35
37
 
@@ -59,5 +61,5 @@ end
59
61
 
60
62
  task :generate_docs do
61
63
  docs = Awspec::Generator::Doc::Type.generate_doc
62
- File.write('doc/resource_types.md', docs + "\n")
64
+ File.write('doc/resource_types.md', "#{docs}\n")
63
65
  end
data/awspec.gemspec CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'awspec/version'
@@ -20,8 +22,8 @@ Gem::Specification.new do |spec|
20
22
 
21
23
  spec.required_ruby_version = '>= 2.1'
22
24
  spec.add_runtime_dependency 'addressable'
23
- spec.add_runtime_dependency 'aws-sdk', '~> 3'
24
25
  spec.add_runtime_dependency 'awsecrets', '~> 1'
26
+ spec.add_runtime_dependency 'aws-sdk', '~> 3'
25
27
  spec.add_runtime_dependency 'dry-inflector'
26
28
  spec.add_runtime_dependency 'ipaddress'
27
29
  spec.add_runtime_dependency 'rspec', '~> 3.0'
@@ -32,5 +34,5 @@ Gem::Specification.new do |spec|
32
34
  spec.add_development_dependency 'octorelease'
33
35
  spec.add_development_dependency 'pry'
34
36
  spec.add_development_dependency 'rake', '~> 12.0'
35
- spec.add_development_dependency 'rubocop', '~> 0.57.0'
37
+ spec.add_development_dependency 'rubocop'
36
38
  end
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'awspec'
data/bin/toolbox CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'awspec'
4
5
 
@@ -248,7 +248,7 @@ end
248
248
  ```
249
249
 
250
250
 
251
- ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type), its(:protocol_version)
251
+ ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type), its(:protocol_version), its(:ip_address_type)
252
252
  ## <a name="ami">ami</a>
253
253
 
254
254
  AMI resource type.
@@ -360,7 +360,7 @@ describe autoscaling_group('my-auto-scaling-group') do
360
360
  end
361
361
  ```
362
362
 
363
- ### 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)
363
+ ### 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)
364
364
  ## <a name="batch_compute_environment">batch_compute_environment</a>
365
365
 
366
366
  BatchComputeEnvironment resource type.
@@ -399,7 +399,7 @@ end
399
399
 
400
400
  ### be_unmanaged
401
401
 
402
- ### its(:compute_environment_name), its(:compute_environment_arn), its(:ecs_cluster_arn), its(:tags), its(:type), its(:state), its(:status), its(:status_reason), its(:service_role)
402
+ ### its(:compute_environment_name), its(:compute_environment_arn), its(:unmanagedv_cpus), its(:ecs_cluster_arn), its(:tags), its(:type), its(:state), its(:status), its(:status_reason), its(:service_role)
403
403
  ## <a name="batch_job_definition">batch_job_definition</a>
404
404
 
405
405
  BatchJobDefinition resource type.
@@ -412,7 +412,7 @@ describe batch_job_definition('my-batch-job-definition') do
412
412
  end
413
413
  ```
414
414
 
415
- ### its(:job_definition_name), its(:job_definition_arn), its(:revision), its(:status), its(:type), its(:parameters), its(:retry_strategy), its(:timeout), its(:node_properties), its(:tags), its(:propagate_tags), its(:platform_capabilities)
415
+ ### 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)
416
416
  ## <a name="batch_job_queue">batch_job_queue</a>
417
417
 
418
418
  BatchJobQueue resource type.
@@ -438,7 +438,7 @@ describe batch_job_queue('my-batch-job-queue') do
438
438
  end
439
439
  ```
440
440
 
441
- ### its(:job_queue_name), its(:job_queue_arn), its(:state), its(:status), its(:status_reason), its(:priority), its(:tags)
441
+ ### its(:job_queue_name), its(:job_queue_arn), its(:state), its(:scheduling_policy_arn), its(:status), its(:status_reason), its(:priority), its(:tags)
442
442
  ## <a name="cloudformation_stack">cloudformation_stack</a>
443
443
 
444
444
  CloudformationStack resource type.
@@ -845,7 +845,7 @@ describe directconnect_virtual_interface('my-directconnect-virtual-interface') d
845
845
  end
846
846
  ```
847
847
 
848
- ### 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)
848
+ ### 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)
849
849
  ## <a name="dynamodb_table">dynamodb_table</a>
850
850
 
851
851
  DynamodbTable resource type.
@@ -881,7 +881,7 @@ end
881
881
  ```
882
882
 
883
883
 
884
- ### 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)
884
+ ### 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)
885
885
  ### :unlock: Advanced use
886
886
 
887
887
  `dynamodb_table` can use `Aws::DynamoDB::Table` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Table.html).
@@ -1127,7 +1127,7 @@ end
1127
1127
  ```
1128
1128
 
1129
1129
 
1130
- ### 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), its(:enclave_options), its(:boot_mode), its(:platform_details), its(:usage_operation), its(:usage_operation_update_time)
1130
+ ### 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), 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)
1131
1131
  ### :unlock: Advanced use
1132
1132
 
1133
1133
  `ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
@@ -1248,7 +1248,7 @@ end
1248
1248
  ```
1249
1249
 
1250
1250
 
1251
- ### 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)
1251
+ ### 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), its(:health_status)
1252
1252
  ## <a name="ecs_service">ecs_service</a>
1253
1253
 
1254
1254
  ECS Service resource type.
@@ -1270,7 +1270,7 @@ describe ecs_service('my-ecs-service') do
1270
1270
  end
1271
1271
  ```
1272
1272
 
1273
- ### 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), its(:enable_execute_command)
1273
+ ### 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(:platform_family), 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), its(:enable_execute_command)
1274
1274
  ## <a name="ecs_task_definition">ecs_task_definition</a>
1275
1275
 
1276
1276
  ECS Task Definition resource type.
@@ -1292,7 +1292,7 @@ describe ecs_task_definition('my-ecs-task-definition') do
1292
1292
  end
1293
1293
  ```
1294
1294
 
1295
- ### 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), its(:registered_at), its(:deregistered_at), its(:registered_by), its(:ephemeral_storage)
1295
+ ### 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(:runtime_platform), its(:requires_compatibilities), its(:cpu), its(:memory), its(:inference_accelerators), its(:pid_mode), its(:ipc_mode), its(:proxy_configuration), its(:registered_at), its(:deregistered_at), its(:registered_by), its(:ephemeral_storage)
1296
1296
  ## <a name="efs">efs</a>
1297
1297
 
1298
1298
  EFS resource type.
@@ -2153,7 +2153,7 @@ describe kinesis('my-kinesis') do
2153
2153
  end
2154
2154
  ```
2155
2155
 
2156
- ### its(:stream_name), its(:stream_arn), its(:stream_status), its(:retention_period_hours), its(:stream_creation_timestamp), its(:encryption_type), its(:key_id), its(:open_shard_count), its(:consumer_count)
2156
+ ### its(:stream_name), its(:stream_arn), its(:stream_status), its(:stream_mode_details), its(:retention_period_hours), its(:stream_creation_timestamp), its(:encryption_type), its(:key_id), its(:open_shard_count), its(:consumer_count)
2157
2157
  ## <a name="kms">kms</a>
2158
2158
 
2159
2159
  Kms resource type.
@@ -2626,7 +2626,7 @@ describe network_interface('eni-12ab3cde') do
2626
2626
  end
2627
2627
  ```
2628
2628
 
2629
- ### 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(: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)
2629
+ ### 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(: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)
2630
2630
  ## <a name="nlb">nlb</a>
2631
2631
 
2632
2632
  NLB resource type.
@@ -2757,7 +2757,7 @@ end
2757
2757
  ```
2758
2758
 
2759
2759
 
2760
- ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type), its(:protocol_version)
2760
+ ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type), its(:protocol_version), its(:ip_address_type)
2761
2761
  ## <a name="rds">rds</a>
2762
2762
 
2763
2763
  RDS resource type.
@@ -2854,7 +2854,7 @@ end
2854
2854
  ```
2855
2855
 
2856
2856
 
2857
- ### 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(: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)
2857
+ ### 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(: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)
2858
2858
  ### :unlock: Advanced use
2859
2859
 
2860
2860
  `rds` can use `Aws::RDS::DBInstance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/RDS/DBInstance.html).
@@ -2986,7 +2986,7 @@ describe redshift('my-redshift') do
2986
2986
  end
2987
2987
  ```
2988
2988
 
2989
- ### its(:vpc_id), its(:cluster_identifier), its(:node_type), its(:cluster_status), its(:cluster_availability_status), its(:modify_status), its(:master_username), its(:db_name), its(:endpoint), its(:cluster_create_time), its(:automated_snapshot_retention_period), its(:manual_snapshot_retention_period), its(:cluster_security_groups), its(:cluster_subnet_group_name), its(:vpc_id), its(:availability_zone), its(:preferred_maintenance_window), its(:pending_modified_values), its(:cluster_version), its(:allow_version_upgrade), its(:number_of_nodes), its(:publicly_accessible), its(:encrypted), its(:restore_status), its(:data_transfer_progress), its(:hsm_status), its(:cluster_snapshot_copy_status), its(:cluster_public_key), its(:cluster_nodes), its(:elastic_ip_status), its(:cluster_revision_number), its(:kms_key_id), its(:enhanced_vpc_routing), its(:iam_roles), its(:pending_actions), its(:maintenance_track_name), its(:elastic_resize_number_of_node_options), its(:deferred_maintenance_windows), its(:snapshot_schedule_identifier), its(:snapshot_schedule_state), its(:expected_next_snapshot_schedule_time), its(:expected_next_snapshot_schedule_time_status), its(:next_maintenance_window_start_time), its(:resize_info), its(:availability_zone_relocation_status), its(:cluster_namespace_arn), its(:total_storage_capacity_in_mega_bytes), its(:aqua_configuration)
2989
+ ### its(:vpc_id), its(:cluster_identifier), its(:node_type), its(:cluster_status), its(:cluster_availability_status), its(:modify_status), its(:master_username), its(:db_name), its(:endpoint), its(:cluster_create_time), its(:automated_snapshot_retention_period), its(:manual_snapshot_retention_period), its(:cluster_security_groups), its(:cluster_subnet_group_name), its(:vpc_id), its(:availability_zone), its(:preferred_maintenance_window), its(:pending_modified_values), its(:cluster_version), its(:allow_version_upgrade), its(:number_of_nodes), its(:publicly_accessible), its(:encrypted), its(:restore_status), its(:data_transfer_progress), its(:hsm_status), its(:cluster_snapshot_copy_status), its(:cluster_public_key), its(:cluster_nodes), its(:elastic_ip_status), its(:cluster_revision_number), its(:kms_key_id), its(:enhanced_vpc_routing), its(:iam_roles), its(:pending_actions), its(:maintenance_track_name), its(:elastic_resize_number_of_node_options), its(:deferred_maintenance_windows), its(:snapshot_schedule_identifier), its(:snapshot_schedule_state), its(:expected_next_snapshot_schedule_time), its(:expected_next_snapshot_schedule_time_status), its(:next_maintenance_window_start_time), its(:resize_info), its(:availability_zone_relocation_status), its(:cluster_namespace_arn), its(:total_storage_capacity_in_mega_bytes), its(:aqua_configuration), its(:default_iam_role_arn), its(:reserved_node_exchange_status)
2990
2990
  ## <a name="redshift_cluster_parameter_group">redshift_cluster_parameter_group</a>
2991
2991
 
2992
2992
  RedshiftClusterParameterGroup resource type.
@@ -3834,7 +3834,7 @@ end
3834
3834
  ```
3835
3835
 
3836
3836
 
3837
- ### its(:customer_gateway_configuration), its(:customer_gateway_id), its(:category), its(:state), its(:type), its(:vpn_connection_id), its(:vpn_gateway_id), its(:transit_gateway_id), its(:options), its(:routes), its(:vgw_telemetry)
3837
+ ### its(:customer_gateway_configuration), its(:customer_gateway_id), its(:category), its(:state), its(:type), its(:vpn_connection_id), its(:vpn_gateway_id), its(:transit_gateway_id), its(:core_network_arn), its(:core_network_attachment_arn), its(:gateway_association_state), its(:options), its(:routes), its(:vgw_telemetry)
3838
3838
  ## <a name="vpn_gateway">vpn_gateway</a>
3839
3839
 
3840
3840
  VpnGateway resource type.
data/exe/awspec CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'awspec'
4
5
 
data/lib/awspec/cli.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thor'
2
4
  require 'awspec/setup'
3
5
  require 'awspec/command/generate'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thor'
2
4
  require 'awspec/setup'
3
5
 
@@ -7,13 +9,13 @@ module Awspec
7
9
  class_option :region
8
10
  class_option :secrets_path
9
11
 
10
- types = %w(
12
+ types = %w[
11
13
  vpc ec2 rds security_group elb network_acl route_table subnet nat_gateway network_interface alb nlb
12
14
  internet_gateway autoscaling_group alb_listener nlb_listener redshift
13
- )
15
+ ]
14
16
 
15
17
  types.each do |type|
16
- desc type + ' [vpc_id]', "Generate #{type} spec from VPC ID (or VPC \"Name\" tag)"
18
+ desc "#{type} [vpc_id]", "Generate #{type} spec from VPC ID (or VPC \"Name\" tag)"
17
19
  define_method type do |_vpc_id|
18
20
  Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
19
21
  eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate_by_vpc_id(_vpc_id)"
@@ -36,26 +38,26 @@ module Awspec
36
38
  end
37
39
  end
38
40
 
39
- types = %w(
41
+ types = %w[
40
42
  rds_db_parameter_group rds_db_cluster_parameter_group redshift_cluster_parameter_group
41
- )
43
+ ]
42
44
 
43
45
  types.each do |type|
44
- desc type + ' [parameter_group_name]', "Generate #{type} spec from parameter group name."
46
+ desc "#{type} [parameter_group_name]", "Generate #{type} spec from parameter group name."
45
47
  define_method type do |_parameter_group_name|
46
48
  Awsecrets.load(profile: options[:profile], region: options[:region], secrets_path: options[:secrets_path])
47
49
  eval "puts Awspec::Generator::Spec::#{type.camelize}.new.generate_by_parameter_group(_parameter_group_name)"
48
50
  end
49
51
  end
50
52
 
51
- types_for_generate_all = %w(
53
+ types_for_generate_all = %w[
52
54
  cloudwatch_alarm cloudwatch_event directconnect ebs efs
53
55
  elasticsearch iam_group iam_policy iam_role iam_user kms lambda
54
56
  acm cloudwatch_logs eip codebuild elasticache
55
- )
57
+ ]
56
58
 
57
59
  types_for_generate_all.each do |type|
58
- if %w(iam_policy ebs).include?(type)
60
+ if %w[iam_policy ebs].include?(type)
59
61
  desc type, "Generate attached #{type} spec"
60
62
  else
61
63
  desc type, "Generate #{type} spec"
data/lib/awspec/config.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'singleton'
2
4
 
3
5
  require 'awspec/error'
data/lib/awspec/error.rb CHANGED
@@ -1,8 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Awspec
2
4
  class DuplicatedResourceTypeError < StandardError
3
5
  end
6
+
4
7
  class InvalidAccountError < StandardError
5
8
  end
9
+
6
10
  ##
7
11
  # The exception when sending message to a unavailable AWS resource.
8
12
  #
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Array
2
4
  def single_resource(id = nil)
3
- if self.count > 1
5
+ if count > 1
4
6
  raise Awspec::DuplicatedResourceTypeError, "Duplicated resource type #{id}"
5
7
  end
6
- self.first if self.count == 1
8
+
9
+ first if count == 1
7
10
  end
8
11
  end
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Hash
2
4
  def to_struct
3
- st = Struct.new(*self.keys)
4
- maps = self.values.map do |s|
5
+ st = Struct.new(*keys)
6
+ maps = values.map do |s|
5
7
  next s.to_struct if s.is_a?(Hash)
8
+
6
9
  s
7
10
  end
8
11
  st.new(*maps)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class String
2
4
  def camelize
3
5
  Dry::Inflector.new.camelize(self)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Struct
2
4
  def tag_name
3
5
  tag = self[:tags].find do |t|
data/lib/awspec/ext.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'awspec/ext/array'
2
4
  require 'awspec/ext/hash'
3
5
  require 'awspec/ext/string'