awspec 1.19.0 → 1.21.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 104554ac52e531f7d2ddbca1c80dad6f767bdbffad5fe37d389c8a067cfb51d8
4
- data.tar.gz: d07bc9d59cad74e8e965c93a5e8921a1705c29ae2560e1a560c441056e7e37a7
3
+ metadata.gz: e80f68b8b745754eb273e3826b3c577fec784d55459f94bc169787768ab45a6a
4
+ data.tar.gz: 6fc0e5ee0ec92981dd60d8f1fc140e3354ca1b5e3f04b4367633369060509d96
5
5
  SHA512:
6
- metadata.gz: 84b19f725a887d11227d951cffbb82c6f22f02154154f2c722bcbfe24cfaeac9a13a7317b8daf0a1160417d28f7723945d9a6d3ee41bff506ebdb73ab87e89b2
7
- data.tar.gz: dde35d185574f58977c4327e619b533a342db008d6af9e499b9344e11dc4314a6bea6c2798ac721be38c58c1d5685383257a71d5275f35d1f2848dc5d9e56154
6
+ metadata.gz: 0ad3f68adf8e7bdc8664d45d9b63d7252cfcb5ac1dafb3d84acb70b537c79bec3fe86e510052890309509f06e1a5ea1dcc6d943f36f411a059785445126629eb
7
+ data.tar.gz: a27df4bf4b9e4dbf71377d4354e69d5be54831d18839fcbde1e7b77b78a69194eacf46fe886042e43948374b237a455578ca040a5543624d8612b6364e20d119
@@ -0,0 +1,7 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe cognito_identity_pool('my-cognito-identity-pool') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -0,0 +1,7 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe cognito_user_pool('my-cognito-user-pool') do
5
+ it { should exist }
6
+ end
7
+ ```
@@ -0,0 +1,15 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe msk('my-msk') do
5
+ it { should exist }
6
+ end
7
+ ```
8
+
9
+ ### should be_active, be_creating, be_updating, be_deleting, be_failed
10
+
11
+ ```ruby
12
+ describe msk('my-msk') do
13
+ it { should be_active }
14
+ end
15
+ ```
@@ -0,0 +1,24 @@
1
+ ### exist
2
+
3
+ ```ruby
4
+ describe transit_gateway('tgw-1234567890abcdefg') do
5
+ it { should exist }
6
+ it { should have_tag('Name').value('my-tgw') }
7
+ it { should have_attachment('tgw-attach-1234567890abcdefg') }
8
+ its('options.amazon_side_asn') { should eq 64_516 }
9
+ its('options.auto_accept_shared_attachments') { should eq 'enable' }
10
+ its('options.default_route_table_association') { should eq 'enable' }
11
+ its('options.default_route_table_propagation') { should eq 'enable' }
12
+ its('options.dns_support') { should eq 'enable' }
13
+ its('options.vpn_ecmp_support') { should eq 'enable' }
14
+ its('options.association_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
15
+ its('options.propagation_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
16
+ end
17
+ ```
18
+
19
+ ```ruby
20
+ describe transit_gateway('my-tgw') do
21
+ it { should exist }
22
+ its(:transit_gateway_id) { should eq 'tgw-1234567890abcdefg' }
23
+ end
24
+ ```
@@ -19,6 +19,8 @@
19
19
  | [codebuild](#codebuild)
20
20
  | [codedeploy](#codedeploy)
21
21
  | [codedeploy_deployment_group](#codedeploy_deployment_group)
22
+ | [cognito_identity_pool](#cognito_identity_pool)
23
+ | [cognito_user_pool](#cognito_user_pool)
22
24
  | [customer_gateway](#customer_gateway)
23
25
  | [directconnect_virtual_interface](#directconnect_virtual_interface)
24
26
  | [dynamodb_table](#dynamodb_table)
@@ -50,6 +52,7 @@
50
52
  | [launch_configuration](#launch_configuration)
51
53
  | [launch_template](#launch_template)
52
54
  | [mq](#mq)
55
+ | [msk](#msk)
53
56
  | [nat_gateway](#nat_gateway)
54
57
  | [network_acl](#network_acl)
55
58
  | [network_interface](#network_interface)
@@ -71,6 +74,7 @@
71
74
  | [sqs](#sqs)
72
75
  | [ssm_parameter](#ssm_parameter)
73
76
  | [subnet](#subnet)
77
+ | [transit_gateway](#transit_gateway)
74
78
  | [vpc](#vpc)
75
79
  | [vpn_connection](#vpn_connection)
76
80
  | [vpn_gateway](#vpn_gateway)
@@ -198,7 +202,7 @@ describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:li
198
202
  end
199
203
  ```
200
204
 
201
- ### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy)
205
+ ### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy), its(:alpn_policy)
202
206
  ## <a name="alb_target_group">alb_target_group</a>
203
207
 
204
208
  AlbTargetGroup resource type.
@@ -739,6 +743,30 @@ end
739
743
  ```
740
744
 
741
745
  ### its(:application_name), its(:deployment_group_id), its(:deployment_group_name), its(:deployment_config_name), its(:on_premises_instance_tag_filters), its(:service_role_arn), its(:target_revision), its(:trigger_configurations), its(:alarm_configuration), its(:deployment_style), its(:load_balancer_info), its(:last_successful_deployment), its(:last_attempted_deployment), its(:ec2_tag_set), its(:on_premises_tag_set), its(:compute_platform), its(:ecs_services)
746
+ ## <a name="cognito_identity_pool">cognito_identity_pool</a>
747
+
748
+ CognitoIdentityPool resource type.
749
+
750
+ ### exist
751
+
752
+ ```ruby
753
+ describe cognito_identity_pool('my-cognito-identity-pool') do
754
+ it { should exist }
755
+ end
756
+ ```
757
+ ### its(:identity_pool_id), its(:identity_pool_name)
758
+ ## <a name="cognito_user_pool">cognito_user_pool</a>
759
+
760
+ CognitoUserPool resource type.
761
+
762
+ ### exist
763
+
764
+ ```ruby
765
+ describe cognito_user_pool('my-cognito-user-pool') do
766
+ it { should exist }
767
+ end
768
+ ```
769
+ ### its(:id), its(:name), its(:status), its(:last_modified_date), its(:creation_date)
742
770
  ## <a name="customer_gateway">customer_gateway</a>
743
771
 
744
772
  CustomerGateway resource type.
@@ -1275,7 +1303,7 @@ describe efs('my-efs') do
1275
1303
  end
1276
1304
  ```
1277
1305
 
1278
- ### its(:owner_id), its(:creation_token), its(:file_system_id), its(:creation_time), its(:life_cycle_state), its(:name), its(:number_of_mount_targets), its(:performance_mode), its(:encrypted), its(:kms_key_id), its(:throughput_mode), its(:provisioned_throughput_in_mibps)
1306
+ ### its(:owner_id), its(:creation_token), its(:file_system_id), its(:file_system_arn), its(:creation_time), its(:life_cycle_state), its(:name), its(:number_of_mount_targets), its(:performance_mode), its(:encrypted), its(:kms_key_id), its(:throughput_mode), its(:provisioned_throughput_in_mibps)
1279
1307
  ## <a name="elastic_ip">elastic_ip</a>
1280
1308
 
1281
1309
  Elastic IP resource type.
@@ -1396,7 +1424,7 @@ describe elasticache('my-rep-group-001') do
1396
1424
  end
1397
1425
  ```
1398
1426
 
1399
- ### 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)
1427
+ ### 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), its(:arn)
1400
1428
  ## <a name="elasticache_cache_parameter_group">elasticache_cache_parameter_group</a>
1401
1429
 
1402
1430
  ElasticacheCacheParameterGroup resource type.
@@ -1620,7 +1648,7 @@ describe emr('my-emr') do
1620
1648
  end
1621
1649
  ```
1622
1650
 
1623
- ### 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(:outpost_arn), its(:step_concurrency_level)
1651
+ ### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:log_encryption_kms_key_id), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), its(:visible_to_all_users), its(:service_role), its(:normalized_instance_hours), its(:master_public_dns_name), its(:configurations), its(:security_configuration), its(:auto_scaling_role), its(:scale_down_behavior), its(:custom_ami_id), its(:ebs_root_volume_size), its(:repo_upgrade_on_boot), its(:cluster_arn), its(:outpost_arn), its(:step_concurrency_level)
1624
1652
  ## <a name="firehose">firehose</a>
1625
1653
 
1626
1654
  Firehose resource type.
@@ -2182,7 +2210,7 @@ end
2182
2210
 
2183
2211
  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)).
2184
2212
 
2185
- ### 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)
2213
+ ### 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), its(:file_system_configs)
2186
2214
  ## <a name="launch_configuration">launch_configuration</a>
2187
2215
 
2188
2216
  LaunchConfiguration resource type.
@@ -2206,7 +2234,7 @@ describe launch_configuration('my-lc') do
2206
2234
  end
2207
2235
  ```
2208
2236
 
2209
- ### its(:launch_configuration_name), its(:launch_configuration_arn), its(:image_id), its(:key_name), its(:security_groups), its(:classic_link_vpc_id), its(:classic_link_vpc_security_groups), its(:user_data), its(:instance_type), its(:kernel_id), its(:ramdisk_id), its(:spot_price), its(:iam_instance_profile), its(:created_time), its(:ebs_optimized), its(:associate_public_ip_address), its(:placement_tenancy)
2237
+ ### its(:launch_configuration_name), its(:launch_configuration_arn), its(:image_id), its(:key_name), its(:security_groups), its(:classic_link_vpc_id), its(:classic_link_vpc_security_groups), its(:user_data), its(:instance_type), its(:kernel_id), its(:ramdisk_id), its(:spot_price), its(:iam_instance_profile), its(:created_time), its(:ebs_optimized), its(:associate_public_ip_address), its(:placement_tenancy), its(:metadata_options)
2210
2238
  ## <a name="launch_template">launch_template</a>
2211
2239
 
2212
2240
  LaunchTemplate resource type.
@@ -2304,7 +2332,31 @@ describe mq('my-mq') do
2304
2332
  end
2305
2333
  ```
2306
2334
 
2307
- ### 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)
2335
+ ### its(:vpc_id), its(:authentication_strategy), 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(:ldap_server_metadata), its(:pending_authentication_strategy), its(:pending_engine_version), its(:pending_host_instance_type), its(:pending_ldap_server_metadata), its(:pending_security_groups), its(:publicly_accessible), its(:security_groups), its(:storage_type), its(:subnet_ids)
2336
+ ## <a name="msk">msk</a>
2337
+
2338
+ Msk resource type.
2339
+
2340
+ ### exist
2341
+
2342
+ ```ruby
2343
+ describe msk('my-msk') do
2344
+ it { should exist }
2345
+ end
2346
+ ```
2347
+
2348
+
2349
+ ### be_active
2350
+
2351
+ ### be_creating
2352
+
2353
+ ### be_deleting
2354
+
2355
+ ### be_failed
2356
+
2357
+ ### be_updating
2358
+
2359
+ ### its(:active_operation_arn), its(:client_authentication), its(:cluster_arn), its(:cluster_name), its(:creation_time), its(:current_version), its(:enhanced_monitoring), its(:number_of_broker_nodes), its(:state), its(:zookeeper_connect_string)
2308
2360
  ## <a name="nat_gateway">nat_gateway</a>
2309
2361
 
2310
2362
  NatGateway resource type.
@@ -2591,7 +2643,7 @@ describe nlb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:li
2591
2643
  end
2592
2644
  ```
2593
2645
 
2594
- ### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy)
2646
+ ### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy), its(:alpn_policy)
2595
2647
  ## <a name="nlb_target_group">nlb_target_group</a>
2596
2648
 
2597
2649
  NlbTargetGroup resource type.
@@ -3180,7 +3232,7 @@ describe secretsmanager('my-secret') do
3180
3232
  end
3181
3233
  ```
3182
3234
 
3183
- ### its(:arn), its(:name), its(:description), its(:kms_key_id), its(:rotation_enabled), its(:rotation_lambda_arn), its(:last_rotated_date), its(:last_changed_date), its(:last_accessed_date), its(:deleted_date), its(:owning_service)
3235
+ ### its(:arn), its(:name), its(:description), its(:kms_key_id), its(:rotation_enabled), its(:rotation_lambda_arn), its(:last_rotated_date), its(:last_changed_date), its(:last_accessed_date), its(:deleted_date), its(:owning_service), its(:created_date)
3184
3236
  ## <a name="security_group">security_group</a>
3185
3237
 
3186
3238
  SecurityGroup resource type.
@@ -3200,6 +3252,10 @@ end
3200
3252
 
3201
3253
  ### be_outbound_opened_only
3202
3254
 
3255
+ ### have_inbound_rule
3256
+
3257
+ ### have_outbound_rule
3258
+
3203
3259
  ### have_tag
3204
3260
 
3205
3261
  ```ruby
@@ -3452,6 +3508,40 @@ describe subnet('my-subnet') do
3452
3508
  end
3453
3509
  ```
3454
3510
 
3511
+ ## <a name="transit_gateway">transit_gateway</a>
3512
+
3513
+ TransitGateway resource type.
3514
+
3515
+ ### exist
3516
+
3517
+ ```ruby
3518
+ describe transit_gateway('tgw-1234567890abcdefg') do
3519
+ it { should exist }
3520
+ it { should have_tag('Name').value('my-tgw') }
3521
+ it { should have_attachment('tgw-attach-1234567890abcdefg') }
3522
+ its('options.amazon_side_asn') { should eq 64_516 }
3523
+ its('options.auto_accept_shared_attachments') { should eq 'enable' }
3524
+ its('options.default_route_table_association') { should eq 'enable' }
3525
+ its('options.default_route_table_propagation') { should eq 'enable' }
3526
+ its('options.dns_support') { should eq 'enable' }
3527
+ its('options.vpn_ecmp_support') { should eq 'enable' }
3528
+ its('options.association_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
3529
+ its('options.propagation_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
3530
+ end
3531
+ ```
3532
+
3533
+ ```ruby
3534
+ describe transit_gateway('my-tgw') do
3535
+ it { should exist }
3536
+ its(:transit_gateway_id) { should eq 'tgw-1234567890abcdefg' }
3537
+ end
3538
+ ```
3539
+
3540
+ ### have_attachment
3541
+
3542
+ ### have_tag
3543
+
3544
+ ### its(:transit_gateway_id), its(:transit_gateway_arn), its(:state), its(:owner_id), its(:description), its(:creation_time)
3455
3545
  ## <a name="vpc">vpc</a>
3456
3546
 
3457
3547
  VPC resource type.
@@ -0,0 +1,17 @@
1
+ module Awspec::Generator
2
+ module Doc
3
+ module Type
4
+ class CognitoIdentityPool < Base
5
+ def initialize
6
+ super
7
+ @type_name = 'CognitoIdentityPool'
8
+ @type = Awspec::Type::CognitoIdentityPool.new('my-cognito-identity-pool')
9
+ @ret = @type.resource_via_client
10
+ @matchers = []
11
+ @ignore_matchers = []
12
+ @describes = []
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Awspec::Generator
2
+ module Doc
3
+ module Type
4
+ class CognitoUserPool < Base
5
+ def initialize
6
+ super
7
+ @type_name = 'CognitoUserPool'
8
+ @type = Awspec::Type::CognitoUserPool.new('my-cognito-user-pool')
9
+ @ret = @type.resource_via_client
10
+ @matchers = []
11
+ @ignore_matchers = []
12
+ @describes = []
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Awspec::Generator
2
+ module Doc
3
+ module Type
4
+ class Msk < Base
5
+ def initialize
6
+ super
7
+ @type_name = 'Msk'
8
+ @type = Awspec::Type::Msk.new('my-msk')
9
+ @ret = @type.resource_via_client
10
+ @matchers = []
11
+ @ignore_matchers = []
12
+ @describes = []
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Awspec::Generator
2
+ module Doc
3
+ module Type
4
+ class TransitGateway < Base
5
+ def initialize
6
+ super
7
+ @type_name = 'TransitGateway'
8
+ @type = Awspec::Type::TransitGateway.new('my-transit-gateway')
9
+ @ret = @type.resource_via_client
10
+ @matchers = []
11
+ @ignore_matchers = []
12
+ @describes = []
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,7 +2,7 @@ require 'awspec/config'
2
2
 
3
3
  module Awspec::Helper
4
4
  class ClientWrap
5
- attr_reader :client, :backoff, :iteration, :backoff_limit, :symbol
5
+ attr_reader :client, :backoff, :iteration, :backoff_limit, :symbol1, :symbol2
6
6
  def initialize(real_client = nil)
7
7
  raise ArgumentError, 'Client can not be nil' if real_client.nil?
8
8
  config = Awspec::Config.instance
@@ -14,7 +14,8 @@ module Awspec::Helper
14
14
  @backoff_limit = config[:client_backoff_limit]
15
15
  # build the symbol we'll use to compare to any errors caught in method_missing
16
16
  # below.
17
- @symbol = real_client.class.to_s.split('::').shift(2).push('Errors', 'RequestLimitExceeded').join('::').to_sym
17
+ @symbol1 = real_client.class.to_s.split('::').shift(2).push('Errors', 'RequestLimitExceeded').join('::').to_sym
18
+ @symbol2 = real_client.class.to_s.split('::').shift(2).push('Errors', 'Throttling').join('::').to_sym
18
19
  end
19
20
 
20
21
  protected
@@ -28,7 +29,7 @@ module Awspec::Helper
28
29
  begin
29
30
  results = client.send(m, *args, &block)
30
31
  rescue Exception => e # rubocop:disable Lint/RescueException
31
- raise unless e.class.to_s == symbol.to_s && backoff < backoff_limit
32
+ raise unless (e.class.to_s == symbol1.to_s || e.class.to_s == symbol2.to_s) && backoff < backoff_limit
32
33
 
33
34
  @backoff = backoff + (iteration * iteration * 0.5)
34
35
  @iteration += 1
@@ -47,6 +47,9 @@ require 'awspec/helper/finder/redshift'
47
47
  require 'awspec/helper/finder/codedeploy'
48
48
  require 'awspec/helper/finder/mq'
49
49
  require 'awspec/helper/finder/secretsmanager'
50
+ require 'awspec/helper/finder/cognito_user_pool'
51
+ require 'awspec/helper/finder/msk'
52
+ require 'awspec/helper/finder/cognito_identity_pool'
50
53
 
51
54
  require 'awspec/helper/finder/account_attributes'
52
55
 
@@ -103,6 +106,9 @@ module Awspec::Helper
103
106
  include Awspec::Helper::Finder::Codedeploy
104
107
  include Awspec::Helper::Finder::Mq
105
108
  include Awspec::Helper::Finder::Secretsmanager
109
+ include Awspec::Helper::Finder::CognitoUserPool
110
+ include Awspec::Helper::Finder::Msk
111
+ include Awspec::Helper::Finder::CognitoIdentityPool
106
112
 
107
113
  CLIENTS = {
108
114
  ec2_client: Aws::EC2::Client,
@@ -147,7 +153,10 @@ module Awspec::Helper
147
153
  redshift_client: Aws::Redshift::Client,
148
154
  codedeploy_client: Aws::CodeDeploy::Client,
149
155
  mq_client: Aws::MQ::Client,
150
- secretsmanager_client: Aws::SecretsManager::Client
156
+ secretsmanager_client: Aws::SecretsManager::Client,
157
+ msk_client: Aws::Kafka::Client,
158
+ cognito_identity_client: Aws::CognitoIdentity::Client,
159
+ cognito_identity_provider_client: Aws::CognitoIdentityProvider::Client
151
160
  }
152
161
 
153
162
  CLIENT_OPTIONS = {
@@ -0,0 +1,15 @@
1
+ module Awspec::Helper
2
+ module Finder
3
+ module CognitoIdentityPool
4
+ def find_identitypool_by_name(pool_name)
5
+ cognito_identity_client.list_identity_pools(max_results: 60).each do |response|
6
+ pools = response.identity_pools
7
+ pools.each do |pool|
8
+ return pool if pool.identity_pool_name == pool_name
9
+ end
10
+ end
11
+ nil
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Awspec::Helper
2
+ module Finder
3
+ module CognitoUserPool
4
+ def find_userpool_by_name(pool_name)
5
+ cognito_identity_provider_client.list_user_pools(max_results: 60).each do |response|
6
+ pools = response.user_pools
7
+ pools.each do |pool|
8
+ return pool if pool.name == pool_name
9
+ end
10
+ end
11
+ nil
12
+ end
13
+ end
14
+ end
15
+ end
@@ -43,7 +43,7 @@ module Awspec::Helper
43
43
  end
44
44
 
45
45
  # find_internet_gateway find_vpn_gateway find_customer_gateway
46
- gateway_types = %w(internet vpn customer)
46
+ gateway_types = %w(internet vpn customer transit)
47
47
  gateway_types.each do |type|
48
48
  define_method 'find_' + type + '_gateway' do |*args|
49
49
  gateway_id = args.first
@@ -198,6 +198,15 @@ module Awspec::Helper
198
198
  launch_template_name: id
199
199
  })
200
200
  end
201
+
202
+ def find_tgw_attachments_by_tgw_id(tgw_id)
203
+ res = ec2_client.describe_transit_gateway_attachments({
204
+ filters: [
205
+ { name: 'transit-gateway-id', values: [tgw_id] }
206
+ ]
207
+ })
208
+ res.transit_gateway_attachments
209
+ end
201
210
  end
202
211
  end
203
212
  end
@@ -5,6 +5,10 @@ module Awspec::Helper
5
5
  res = ecr_client.describe_repositories(repository_names: [repository_name])
6
6
  res.repositories.first if res.repositories.count == 1
7
7
  end
8
+
9
+ def get_policy_text(repository_name)
10
+ res = ecr_client.get_repository_policy(repository_name: repository_name)[:policy_text]
11
+ end
8
12
  end
9
13
  end
10
14
  end
@@ -0,0 +1,15 @@
1
+ module Awspec::Helper
2
+ module Finder
3
+ module Msk
4
+ def find_msk_cluster_by_name(cluster_name)
5
+ res = msk_client.list_clusters(
6
+ {
7
+ cluster_name_filter: cluster_name,
8
+ max_results: 1
9
+ }
10
+ )
11
+ res.cluster_info_list[0]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -20,7 +20,7 @@ module Awspec
20
20
  elastictranscoder_pipeline waf_web_acl wafregional_web_acl customer_gateway vpn_gateway vpn_connection
21
21
  internet_gateway acm cloudwatch_logs dynamodb_table eip sqs ssm_parameter cloudformation_stack
22
22
  codebuild sns_topic redshift redshift_cluster_parameter_group codedeploy codedeploy_deployment_group
23
- secretsmanager
23
+ secretsmanager msk transit_gateway cognito_identity_pool cognito_user_pool
24
24
  )
25
25
 
26
26
  ACCOUNT_ATTRIBUTES = %w(
@@ -0,0 +1,16 @@
1
+ Aws.config[:cognitoidentity] = {
2
+ stub_responses: {
3
+ list_identity_pools: {
4
+ identity_pools: [
5
+ {
6
+ identity_pool_id: 'us-east-1:adsfkjaekljnfg234',
7
+ identity_pool_name: 'my-cognito-identity-pool'
8
+ },
9
+ {
10
+ identity_pool_id: 'us-east-1:gfdksjg87sfna943knbj',
11
+ identity_pool_name: 'My_Identity_Pool'
12
+ }
13
+ ], next_token: 'akvjnkjndgoierhteuh7sfdnre9erglkwnroijsdfinewr=='
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,47 @@
1
+ Aws.config[:cognitoidentityprovider] = {
2
+ stub_responses: {
3
+ list_user_pools: {
4
+ user_pools: [
5
+ {
6
+ id: 'us-east-1_6adfkj4ju',
7
+ name: 'my-cognito-user-pool',
8
+ lambda_config: {
9
+ pre_sign_up: nil,
10
+ custom_message: nil,
11
+ post_confirmation: nil,
12
+ pre_authentication: nil,
13
+ post_authentication: nil,
14
+ define_auth_challenge: nil,
15
+ create_auth_challenge: nil,
16
+ verify_auth_challenge_response: nil,
17
+ pre_token_generation: nil,
18
+ user_migration: nil
19
+ },
20
+ status: nil,
21
+ last_modified_date: Time.new(2016, 5, 5, 5, 00, 00, '+00:00'),
22
+ creation_date: Time.new(2015, 1, 2, 10, 00, 00, '+00:00')
23
+ },
24
+ {
25
+ id: 'us-east-1_12345adsf',
26
+ name: 'test-pool',
27
+ lambda_config: {
28
+ pre_sign_up: nil,
29
+ custom_message: nil,
30
+ post_confirmation: nil,
31
+ pre_authentication: nil,
32
+ post_authentication: nil,
33
+ define_auth_challenge: nil,
34
+ create_auth_challenge: nil,
35
+ verify_auth_challenge_response: nil,
36
+ pre_token_generation: nil,
37
+ user_migration: nil
38
+ },
39
+ status: nil,
40
+ last_modified_date: Time.new(2019, 1, 2, 10, 00, 00, '+00:00'),
41
+ creation_date: Time.new(2018, 1, 2, 10, 00, 00, '+00:00')
42
+ }
43
+ ],
44
+ next_token: 'aoeijfasdnvakldsjfgoai'
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,84 @@
1
+ Aws.config[:kafka] = {
2
+ stub_responses: {
3
+ list_clusters: {
4
+ cluster_info_list: [
5
+ {
6
+ active_operation_arn: nil,
7
+ broker_node_group_info: {
8
+ broker_az_distribution: 'DEFAULT',
9
+ client_subnets: [
10
+ 'subnet-12345678909876543',
11
+ 'subnet-90876543212345678'
12
+ ],
13
+ instance_type: 'kafka.t3.small',
14
+ security_groups: [
15
+ 'sg-65432123456789098'
16
+ ],
17
+ storage_info: {
18
+ ebs_storage_info: {
19
+ volume_size: 1
20
+ }
21
+ }
22
+ },
23
+ client_authentication: nil,
24
+ cluster_arn: 'arn:aws:kafka:us-east-1:123456789098:cluster/did-inventory/\
25
+ a12345b6-123c-1de2-1234-f1g23h45i678-9',
26
+ cluster_name: 'my-msk',
27
+ creation_time: Time.new(2019, 1, 2, 10, 10, 00, '+00:00'),
28
+ current_broker_software_info: {
29
+ configuration_arn: nil,
30
+ configuration_revision: nil,
31
+ kafka_version: '2.2.1'
32
+ },
33
+ logging_info: {
34
+ broker_logs: {
35
+ cloud_watch_logs: {
36
+ enabled: false,
37
+ log_group: nil
38
+ },
39
+ firehose: {
40
+ delivery_stream: nil,
41
+ enabled: false
42
+ },
43
+ s3: {
44
+ bucket: nil,
45
+ enabled: false,
46
+ prefix: nil
47
+ }
48
+ }
49
+ },
50
+ current_version: 'A1BCDEFGHI23JK',
51
+ encryption_info: {
52
+ encryption_at_rest: {
53
+ data_volume_kms_key_id: 'arn:aws:kms:us-east-1:123456789098:key/ab1c2345-6789-01d2-3ee4-f56gh7i890jk'
54
+ },
55
+ encryption_in_transit: {
56
+ client_broker: 'TLS_PLAINTEXT',
57
+ in_cluster: true
58
+ }
59
+ },
60
+ enhanced_monitoring: 'DEFAULT',
61
+ number_of_broker_nodes: 2,
62
+ open_monitoring: {
63
+ prometheus: {
64
+ jmx_exporter: {
65
+ enabled_in_broker: false
66
+ },
67
+ node_exporter: {
68
+ enabled_in_broker: false
69
+ }
70
+ }
71
+ },
72
+ state: 'ACTIVE',
73
+ tags: {
74
+ 'Name' => 'my-msk'
75
+ },
76
+ zookeeper_connect_string: 'z-3.my-msk.1a23bc.d4.kafka.us-east-1.amazonaws.com:\
77
+ 1234,z-2.my-msk.1a23bc.d4.kafka.us-east-1.amazonaws.com:1234,z-1.my-msk.\
78
+ 1a23bc.d4.kafka.us-east-1.amazonaws.com:1234'
79
+ }
80
+ ],
81
+ next_token: nil
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,52 @@
1
+ Aws.config[:ec2] = {
2
+ stub_responses: {
3
+ describe_transit_gateways: {
4
+ transit_gateways: [
5
+ {
6
+ transit_gateway_id: 'tgw-1234567890abcdefg',
7
+ transit_gateway_arn: 'arn:aws:ec2:us-east-2:123456789012:transit-gateway/tgw-1234567890abcdefg',
8
+ owner_id: '123456789012',
9
+ options: {
10
+ amazon_side_asn: 64_516,
11
+ auto_accept_shared_attachments: 'enable',
12
+ default_route_table_association: 'enable',
13
+ default_route_table_propagation: 'enable',
14
+ dns_support: 'enable',
15
+ vpn_ecmp_support: 'enable',
16
+ association_default_route_table_id: 'tgw-rtb-0123456789abcdefg',
17
+ propagation_default_route_table_id: 'tgw-rtb-0123456789abcdefg'
18
+ },
19
+ tags: [
20
+ {
21
+ key: 'Name',
22
+ value: 'my-transit-gateway'
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ },
28
+ describe_transit_gateway_attachments: {
29
+ transit_gateway_attachments: [
30
+ {
31
+ transit_gateway_attachment_id: 'tgw-attach-1234567890abcdefg',
32
+ transit_gateway_id: 'tgw-1234567890abcdefg',
33
+ transit_gateway_owner_id: '123456789012',
34
+ resource_owner_id: '123456789012',
35
+ resource_type: 'vpc',
36
+ resource_id: 'vpc-12345678',
37
+ state: 'available',
38
+ association: {
39
+ transit_gateway_route_table_id: 'tgw-rtb-0123456789abcdefg',
40
+ state: 'associated'
41
+ },
42
+ tags: [
43
+ {
44
+ key: 'Name',
45
+ value: 'my-transit-gateway-attachment'
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,11 @@
1
+ module Awspec::Type
2
+ class CognitoIdentityPool < ResourceBase
3
+ def resource_via_client
4
+ @resource_via_client ||= find_identitypool_by_name(@display_name)
5
+ end
6
+
7
+ def id
8
+ @id ||= resource_via_client.identity_pool_id if resource_via_client
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Awspec::Type
2
+ class CognitoUserPool < ResourceBase
3
+ def resource_via_client
4
+ @resource_via_client ||= find_userpool_by_name(@display_name)
5
+ end
6
+
7
+ def id
8
+ @id ||= resource_via_client.id if resource_via_client
9
+ end
10
+ end
11
+ end
@@ -14,5 +14,9 @@ module Awspec::Type
14
14
  def id
15
15
  @id ||= resource_via_client.repository_name if resource_via_client
16
16
  end
17
+
18
+ def policy_text
19
+ @policy_text ||= get_policy_text(@display_name)
20
+ end
17
21
  end
18
22
  end
@@ -0,0 +1,27 @@
1
+ module Awspec::Type
2
+ class Msk < ResourceBase
3
+ def initialize(name)
4
+ super
5
+ @desplay_name = name
6
+ end
7
+
8
+ def resource_via_client
9
+ @resource_via_client ||= find_msk_cluster_by_name(@display_name)
10
+ end
11
+
12
+ def id
13
+ @id ||= resource_via_client.cluster_arn if resource_via_client
14
+ end
15
+
16
+ STATES = %w(
17
+ active creating updating
18
+ deleting failed
19
+ )
20
+
21
+ STATES.each do |state|
22
+ define_method state + '?' do
23
+ resource_via_client.state == state.upcase
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,4 +1,5 @@
1
1
  module Awspec::Type
2
+ # rubocop:disable Metrics/ClassLength
2
3
  class SecurityGroup < ResourceBase
3
4
  aws_resource Aws::EC2::SecurityGroup
4
5
  tags_allowed
@@ -75,12 +76,24 @@ module Awspec::Type
75
76
  end
76
77
  alias_method :outbound_permissions_count, :ip_permissions_egress_count
77
78
 
79
+ def has_inbound_rule?(rule)
80
+ resource_via_client.ip_permissions.find do |permission|
81
+ sg_rule_match?(permission, rule)
82
+ end
83
+ end
84
+
78
85
  def inbound_rule_count
79
86
  resource_via_client.ip_permissions.reduce(0) do |sum, permission|
80
87
  sum += permission.ip_ranges.count + permission.user_id_group_pairs.count
81
88
  end
82
89
  end
83
90
 
91
+ def has_outbound_rule?(rule)
92
+ resource_via_client.ip_permissions_egress.find do |permission|
93
+ sg_rule_match?(permission, rule)
94
+ end
95
+ end
96
+
84
97
  def outbound_rule_count
85
98
  resource_via_client.ip_permissions_egress.reduce(0) do |sum, permission|
86
99
  sum += permission.ip_ranges.count + permission.user_id_group_pairs.count
@@ -144,5 +157,36 @@ module Awspec::Type
144
157
  port.between?(from_port, to_port)
145
158
  end
146
159
  end
160
+
161
+ def sg_rule_match?(permission, rule)
162
+ rule[:ip_protocol] = '-1' if rule[:ip_protocol] == 'all'
163
+ return false unless permission.ip_protocol == rule[:ip_protocol]
164
+ return false unless permission.ip_protocol == '-1' || permission.from_port == rule[:from_port]
165
+ return false unless permission.ip_protocol == '-1' || permission.to_port == rule[:to_port]
166
+
167
+ if rule[:ip_range]
168
+ return false unless permission.ip_ranges.find do |ip_range|
169
+ ip_range.cidr_ip == rule[:ip_range]
170
+ end
171
+ elsif rule[:group_pair]
172
+ return false unless permission.user_id_group_pairs.find do |pair|
173
+ group_pair_match?(pair, rule[:group_pair])
174
+ end
175
+ end
176
+ true
177
+ end
178
+
179
+ def group_pair_match?(actual_pair, rule_pair)
180
+ return false unless actual_pair.group_id == rule_pair[:group_id] || rule_pair[:group_id].nil?
181
+ return false unless actual_pair.group_name == rule_pair[:group_name] || rule_pair[:group_name].nil?
182
+ return false unless actual_pair.user_id == rule_pair[:user_id] || rule_pair[:user_id].nil?
183
+ return false unless actual_pair.vpc_id == rule_pair[:vpc_id] || rule_pair[:vpc_id].nil?
184
+ return false unless
185
+ actual_pair.vpc_peering_connection_id == rule_pair[:vpc_peering_connection_id] ||
186
+ rule_pair[:vpc_peering_connection_id].nil?
187
+ return false unless actual_pair.peering_status == rule_pair[:peering_status] || rule_pair[:peering_status].nil?
188
+ true
189
+ end
147
190
  end
191
+ # rubocop:enable Metrics/ClassLength
148
192
  end
@@ -0,0 +1,24 @@
1
+ module Awspec::Type
2
+ class TransitGateway < ResourceBase
3
+ aws_resource Aws::EC2::Types::TransitGateway
4
+ tags_allowed
5
+
6
+ def resource_via_client
7
+ @resource_via_client ||= find_transit_gateway(@display_name)
8
+ end
9
+
10
+ def id
11
+ @id ||= resource_via_client.transit_gateway_id if resource_via_client
12
+ end
13
+
14
+ def options
15
+ resource_via_client.options
16
+ end
17
+
18
+ def has_attachment?(att_id)
19
+ atts = find_tgw_attachments_by_tgw_id(@id)
20
+ ret = atts.find_all { |att| att.transit_gateway_attachment_id == att_id }
21
+ ret.any?
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Awspec
2
- VERSION = '1.19.0'
2
+ VERSION = '1.21.1'
3
3
  end
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.19.0
4
+ version: 1.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-13 00:00:00.000000000 Z
11
+ date: 2020-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -251,6 +251,8 @@ files:
251
251
  - doc/_resource_types/codebuild.md
252
252
  - doc/_resource_types/codedeploy.md
253
253
  - doc/_resource_types/codedeploy_deployment_group.md
254
+ - doc/_resource_types/cognito_identity_pool.md
255
+ - doc/_resource_types/cognito_user_pool.md
254
256
  - doc/_resource_types/customer_gateway.md
255
257
  - doc/_resource_types/directconnect_virtual_interface.md
256
258
  - doc/_resource_types/dynamodb_table.md
@@ -283,6 +285,7 @@ files:
283
285
  - doc/_resource_types/launch_configuration.md
284
286
  - doc/_resource_types/launch_template.md
285
287
  - doc/_resource_types/mq.md
288
+ - doc/_resource_types/msk.md
286
289
  - doc/_resource_types/nat_gateway.md
287
290
  - doc/_resource_types/network_acl.md
288
291
  - doc/_resource_types/network_interface.md
@@ -306,6 +309,7 @@ files:
306
309
  - doc/_resource_types/sqs.md
307
310
  - doc/_resource_types/ssm_parameter.md
308
311
  - doc/_resource_types/subnet.md
312
+ - doc/_resource_types/transit_gateway.md
309
313
  - doc/_resource_types/vpc.md
310
314
  - doc/_resource_types/vpn_connection.md
311
315
  - doc/_resource_types/vpn_gateway.md
@@ -349,6 +353,8 @@ files:
349
353
  - lib/awspec/generator/doc/type/codebuild.rb
350
354
  - lib/awspec/generator/doc/type/codedeploy.rb
351
355
  - lib/awspec/generator/doc/type/codedeploy_deployment_group.rb
356
+ - lib/awspec/generator/doc/type/cognito_identity_pool.rb
357
+ - lib/awspec/generator/doc/type/cognito_user_pool.rb
352
358
  - lib/awspec/generator/doc/type/customer_gateway.rb
353
359
  - lib/awspec/generator/doc/type/directconnect_virtual_interface.rb
354
360
  - lib/awspec/generator/doc/type/dynamodb_table.rb
@@ -382,6 +388,7 @@ files:
382
388
  - lib/awspec/generator/doc/type/launch_configuration.rb
383
389
  - lib/awspec/generator/doc/type/launch_template.rb
384
390
  - lib/awspec/generator/doc/type/mq.rb
391
+ - lib/awspec/generator/doc/type/msk.rb
385
392
  - lib/awspec/generator/doc/type/nat_gateway.rb
386
393
  - lib/awspec/generator/doc/type/network_acl.rb
387
394
  - lib/awspec/generator/doc/type/network_interface.rb
@@ -405,6 +412,7 @@ files:
405
412
  - lib/awspec/generator/doc/type/sqs.rb
406
413
  - lib/awspec/generator/doc/type/ssm_parameter.rb
407
414
  - lib/awspec/generator/doc/type/subnet.rb
415
+ - lib/awspec/generator/doc/type/transit_gateway.rb
408
416
  - lib/awspec/generator/doc/type/vpc.rb
409
417
  - lib/awspec/generator/doc/type/vpn_connection.rb
410
418
  - lib/awspec/generator/doc/type/vpn_gateway.rb
@@ -468,6 +476,8 @@ files:
468
476
  - lib/awspec/helper/finder/cloudwatch_logs.rb
469
477
  - lib/awspec/helper/finder/codebuild.rb
470
478
  - lib/awspec/helper/finder/codedeploy.rb
479
+ - lib/awspec/helper/finder/cognito_identity_pool.rb
480
+ - lib/awspec/helper/finder/cognito_user_pool.rb
471
481
  - lib/awspec/helper/finder/directconnect.rb
472
482
  - lib/awspec/helper/finder/dynamodb.rb
473
483
  - lib/awspec/helper/finder/ebs.rb
@@ -487,6 +497,7 @@ files:
487
497
  - lib/awspec/helper/finder/kms.rb
488
498
  - lib/awspec/helper/finder/lambda.rb
489
499
  - lib/awspec/helper/finder/mq.rb
500
+ - lib/awspec/helper/finder/msk.rb
490
501
  - lib/awspec/helper/finder/nlb.rb
491
502
  - lib/awspec/helper/finder/rds.rb
492
503
  - lib/awspec/helper/finder/redshift.rb
@@ -568,6 +579,8 @@ files:
568
579
  - lib/awspec/stub/codebuild.rb
569
580
  - lib/awspec/stub/codedeploy.rb
570
581
  - lib/awspec/stub/codedeploy_deployment_group.rb
582
+ - lib/awspec/stub/cognito_identity_pool.rb
583
+ - lib/awspec/stub/cognito_user_pool.rb
571
584
  - lib/awspec/stub/customer_gateway.rb
572
585
  - lib/awspec/stub/directconnect_virtual_interface.rb
573
586
  - lib/awspec/stub/duplicated_resource_type.rb
@@ -602,6 +615,7 @@ files:
602
615
  - lib/awspec/stub/launch_configuration.rb
603
616
  - lib/awspec/stub/launch_template.rb
604
617
  - lib/awspec/stub/mq.rb
618
+ - lib/awspec/stub/msk.rb
605
619
  - lib/awspec/stub/nat_gateway.rb
606
620
  - lib/awspec/stub/network_acl.rb
607
621
  - lib/awspec/stub/network_interface.rb
@@ -623,6 +637,7 @@ files:
623
637
  - lib/awspec/stub/sqs.rb
624
638
  - lib/awspec/stub/ssm_parameter.rb
625
639
  - lib/awspec/stub/subnet.rb
640
+ - lib/awspec/stub/transit_gateway.rb
626
641
  - lib/awspec/stub/vpc.rb
627
642
  - lib/awspec/stub/vpn_connection.rb
628
643
  - lib/awspec/stub/vpn_gateway.rb
@@ -652,6 +667,8 @@ files:
652
667
  - lib/awspec/type/codebuild.rb
653
668
  - lib/awspec/type/codedeploy.rb
654
669
  - lib/awspec/type/codedeploy_deployment_group.rb
670
+ - lib/awspec/type/cognito_identity_pool.rb
671
+ - lib/awspec/type/cognito_user_pool.rb
655
672
  - lib/awspec/type/customer_gateway.rb
656
673
  - lib/awspec/type/directconnect_virtual_interface.rb
657
674
  - lib/awspec/type/dynamodb_table.rb
@@ -685,6 +702,7 @@ files:
685
702
  - lib/awspec/type/launch_configuration.rb
686
703
  - lib/awspec/type/launch_template.rb
687
704
  - lib/awspec/type/mq.rb
705
+ - lib/awspec/type/msk.rb
688
706
  - lib/awspec/type/nat_gateway.rb
689
707
  - lib/awspec/type/network_acl.rb
690
708
  - lib/awspec/type/network_interface.rb
@@ -709,6 +727,7 @@ files:
709
727
  - lib/awspec/type/sqs.rb
710
728
  - lib/awspec/type/ssm_parameter.rb
711
729
  - lib/awspec/type/subnet.rb
730
+ - lib/awspec/type/transit_gateway.rb
712
731
  - lib/awspec/type/vpc.rb
713
732
  - lib/awspec/type/vpn_connection.rb
714
733
  - lib/awspec/type/vpn_gateway.rb