awspec 1.18.5 → 1.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/awspec.gemspec +1 -0
- data/doc/_resource_types/msk.md +15 -0
- data/doc/_resource_types/transit_gateway.md +24 -0
- data/doc/resource_types.md +80 -8
- data/lib/awspec/generator/doc/type/msk.rb +17 -0
- data/lib/awspec/generator/doc/type/transit_gateway.rb +17 -0
- data/lib/awspec/helper/client_wrap.rb +4 -3
- data/lib/awspec/helper/finder.rb +4 -1
- data/lib/awspec/helper/finder/acm.rb +2 -2
- data/lib/awspec/helper/finder/apigateway.rb +8 -0
- data/lib/awspec/helper/finder/ec2.rb +10 -1
- data/lib/awspec/helper/finder/msk.rb +15 -0
- data/lib/awspec/helper/type.rb +1 -1
- data/lib/awspec/stub/apigateway.rb +39 -0
- data/lib/awspec/stub/msk.rb +84 -0
- data/lib/awspec/stub/transit_gateway.rb +52 -0
- data/lib/awspec/type/apigateway.rb +50 -0
- data/lib/awspec/type/msk.rb +27 -0
- data/lib/awspec/type/security_group.rb +44 -0
- data/lib/awspec/type/transit_gateway.rb +24 -0
- data/lib/awspec/version.rb +1 -1
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50e4f2db388c2466cf1cc06da613acd875dd5e6cc586087f07372f0a1e7145b1
|
4
|
+
data.tar.gz: 336ec6c6a6700edfbb1c66c0b164343a519eaf73d4fb2a6f8ff6a095e19b8640
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c357e4f6650a48b03bd1eb3a454526a93dd2a885852de2fb5ee589a2eb468c87a2351512f802718f627587d85948b659b5894adaa12056d97ed1b8ca6419b99c
|
7
|
+
data.tar.gz: c091e6ece098aa98600e43e4ae4cd6413516d4a59f20a17d2d5b6d596695037b202b6246dfc5321504c318e3623b5bd3babc3d1dd0c8ef4d9db26f68a528410b
|
data/awspec.gemspec
CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_runtime_dependency 'rspec-its'
|
30
30
|
spec.add_runtime_dependency 'term-ansicolor'
|
31
31
|
spec.add_runtime_dependency 'thor'
|
32
|
+
spec.add_runtime_dependency 'addressable'
|
32
33
|
spec.add_development_dependency 'bundler', '>= 1.9', '< 3.0'
|
33
34
|
spec.add_development_dependency 'octorelease'
|
34
35
|
spec.add_development_dependency 'pry'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe tgw('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 tgw('my-tgw') do
|
21
|
+
it { should exist }
|
22
|
+
its(:transit_gateway_id) { should eq 'tgw-1234567890abcdefg' }
|
23
|
+
end
|
24
|
+
```
|
data/doc/resource_types.md
CHANGED
@@ -50,6 +50,7 @@
|
|
50
50
|
| [launch_configuration](#launch_configuration)
|
51
51
|
| [launch_template](#launch_template)
|
52
52
|
| [mq](#mq)
|
53
|
+
| [msk](#msk)
|
53
54
|
| [nat_gateway](#nat_gateway)
|
54
55
|
| [network_acl](#network_acl)
|
55
56
|
| [network_interface](#network_interface)
|
@@ -71,6 +72,7 @@
|
|
71
72
|
| [sqs](#sqs)
|
72
73
|
| [ssm_parameter](#ssm_parameter)
|
73
74
|
| [subnet](#subnet)
|
75
|
+
| [transit_gateway](#transit_gateway)
|
74
76
|
| [vpc](#vpc)
|
75
77
|
| [vpn_connection](#vpn_connection)
|
76
78
|
| [vpn_gateway](#vpn_gateway)
|
@@ -198,7 +200,7 @@ describe alb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:li
|
|
198
200
|
end
|
199
201
|
```
|
200
202
|
|
201
|
-
### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy)
|
203
|
+
### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy), its(:alpn_policy)
|
202
204
|
## <a name="alb_target_group">alb_target_group</a>
|
203
205
|
|
204
206
|
AlbTargetGroup resource type.
|
@@ -284,6 +286,14 @@ describe apigateway('my-apigateway') do
|
|
284
286
|
end
|
285
287
|
```
|
286
288
|
|
289
|
+
### have_integration_method
|
290
|
+
|
291
|
+
### have_integration_path
|
292
|
+
|
293
|
+
### have_method
|
294
|
+
|
295
|
+
### have_path
|
296
|
+
|
287
297
|
### its(:id), its(:name), its(:description), its(:created_date), its(:version), its(:warnings), its(:binary_media_types), its(:minimum_compression_size), its(:api_key_source), its(:policy), its(:tags)
|
288
298
|
## <a name="autoscaling_group">autoscaling_group</a>
|
289
299
|
|
@@ -1319,7 +1329,7 @@ describe eks('my-eks') do
|
|
1319
1329
|
end
|
1320
1330
|
```
|
1321
1331
|
|
1322
|
-
### its(:name), its(:arn), its(:created_at), its(:version), its(:endpoint), its(:role_arn), its(:logging), its(:identity), its(:status), its(:client_request_token), its(:platform_version), its(:tags)
|
1332
|
+
### its(:name), its(:arn), its(:created_at), its(:version), its(:endpoint), its(:role_arn), its(:logging), its(:identity), its(:status), its(:client_request_token), its(:platform_version), its(:tags), its(:encryption_config)
|
1323
1333
|
## <a name="elasticache">elasticache</a>
|
1324
1334
|
|
1325
1335
|
Elasticache resource type.
|
@@ -1388,7 +1398,7 @@ describe elasticache('my-rep-group-001') do
|
|
1388
1398
|
end
|
1389
1399
|
```
|
1390
1400
|
|
1391
|
-
### its(:cache_cluster_id), its(:configuration_endpoint), its(:client_download_landing_page), its(:cache_node_type), its(:engine), its(:engine_version), its(:cache_cluster_status), its(:num_cache_nodes), its(:preferred_availability_zone), its(:cache_cluster_create_time), its(:preferred_maintenance_window), its(:notification_configuration), its(:cache_security_groups), its(:cache_subnet_group_name), its(:cache_nodes), its(:auto_minor_version_upgrade), its(:replication_group_id), its(:snapshot_retention_limit), its(:snapshot_window), its(:auth_token_enabled), its(:auth_token_last_modified_date), its(:transit_encryption_enabled), its(:at_rest_encryption_enabled)
|
1401
|
+
### 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)
|
1392
1402
|
## <a name="elasticache_cache_parameter_group">elasticache_cache_parameter_group</a>
|
1393
1403
|
|
1394
1404
|
ElasticacheCacheParameterGroup resource type.
|
@@ -1612,7 +1622,7 @@ describe emr('my-emr') do
|
|
1612
1622
|
end
|
1613
1623
|
```
|
1614
1624
|
|
1615
|
-
### its(:id), its(:name), its(:instance_collection_type), its(:log_uri), its(:requested_ami_version), its(:running_ami_version), its(:release_label), its(:auto_terminate), its(:termination_protected), its(:visible_to_all_users), its(:service_role), its(:normalized_instance_hours), its(:master_public_dns_name), its(:configurations), its(:security_configuration), its(:auto_scaling_role), its(:scale_down_behavior), its(:custom_ami_id), its(:ebs_root_volume_size), its(:repo_upgrade_on_boot), its(:cluster_arn), its(:
|
1625
|
+
### 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)
|
1616
1626
|
## <a name="firehose">firehose</a>
|
1617
1627
|
|
1618
1628
|
Firehose resource type.
|
@@ -2174,7 +2184,7 @@ end
|
|
2174
2184
|
|
2175
2185
|
This matcher does not support Amazon S3 event sources ([see SDK doc](http://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html#list_event_source_mappings-instance_method)).
|
2176
2186
|
|
2177
|
-
### its(:function_name), its(:function_arn), its(:runtime), its(:role), its(:handler), its(:code_size), its(:description), its(:timeout), its(:memory_size), its(:last_modified), its(:code_sha_256), its(:version), its(:vpc_config), its(:dead_letter_config), its(:kms_key_arn), its(:master_arn), its(:revision_id), its(:layers), its(:state), its(:state_reason), its(:state_reason_code), its(:last_update_status), its(:last_update_status_reason), its(:last_update_status_reason_code)
|
2187
|
+
### 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)
|
2178
2188
|
## <a name="launch_configuration">launch_configuration</a>
|
2179
2189
|
|
2180
2190
|
LaunchConfiguration resource type.
|
@@ -2297,6 +2307,30 @@ end
|
|
2297
2307
|
```
|
2298
2308
|
|
2299
2309
|
### 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)
|
2310
|
+
## <a name="msk">msk</a>
|
2311
|
+
|
2312
|
+
Msk resource type.
|
2313
|
+
|
2314
|
+
### exist
|
2315
|
+
|
2316
|
+
```ruby
|
2317
|
+
describe msk('my-msk') do
|
2318
|
+
it { should exist }
|
2319
|
+
end
|
2320
|
+
```
|
2321
|
+
|
2322
|
+
|
2323
|
+
### be_active
|
2324
|
+
|
2325
|
+
### be_creating
|
2326
|
+
|
2327
|
+
### be_deleting
|
2328
|
+
|
2329
|
+
### be_failed
|
2330
|
+
|
2331
|
+
### be_updating
|
2332
|
+
|
2333
|
+
### 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)
|
2300
2334
|
## <a name="nat_gateway">nat_gateway</a>
|
2301
2335
|
|
2302
2336
|
NatGateway resource type.
|
@@ -2583,7 +2617,7 @@ describe nlb_listener('arn:aws:elasticloadbalancing:ap-northeast-1:1234567890:li
|
|
2583
2617
|
end
|
2584
2618
|
```
|
2585
2619
|
|
2586
|
-
### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy)
|
2620
|
+
### its(:listener_arn), its(:load_balancer_arn), its(:port), its(:protocol), its(:certificates), its(:ssl_policy), its(:alpn_policy)
|
2587
2621
|
## <a name="nlb_target_group">nlb_target_group</a>
|
2588
2622
|
|
2589
2623
|
NlbTargetGroup resource type.
|
@@ -3192,6 +3226,10 @@ end
|
|
3192
3226
|
|
3193
3227
|
### be_outbound_opened_only
|
3194
3228
|
|
3229
|
+
### have_inbound_rule
|
3230
|
+
|
3231
|
+
### have_outbound_rule
|
3232
|
+
|
3195
3233
|
### have_tag
|
3196
3234
|
|
3197
3235
|
```ruby
|
@@ -3381,7 +3419,7 @@ end
|
|
3381
3419
|
```
|
3382
3420
|
|
3383
3421
|
|
3384
|
-
### its(:name), its(:type), its(:key_id), its(:last_modified_date), its(:last_modified_user), its(:description), its(:allowed_pattern), its(:version), its(:tier), its(:policies)
|
3422
|
+
### its(:name), its(:type), its(:key_id), its(:last_modified_date), its(:last_modified_user), its(:description), its(:allowed_pattern), its(:version), its(:tier), its(:policies), its(:data_type)
|
3385
3423
|
### :unlock: Advanced use
|
3386
3424
|
|
3387
3425
|
```ruby
|
@@ -3425,7 +3463,7 @@ end
|
|
3425
3463
|
```
|
3426
3464
|
|
3427
3465
|
|
3428
|
-
### its(:availability_zone), its(:availability_zone_id), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:state), its(:subnet_id), its(:vpc_id), its(:owner_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set), its(:subnet_arn), its(:outpost_arn)
|
3466
|
+
### its(:availability_zone), its(:availability_zone_id), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:map_customer_owned_ip_on_launch), its(:customer_owned_ipv_4_pool), its(:state), its(:subnet_id), its(:vpc_id), its(:owner_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set), its(:subnet_arn), its(:outpost_arn)
|
3429
3467
|
### :unlock: Advanced use
|
3430
3468
|
|
3431
3469
|
`subnet` can use `Aws::EC2::Subnet` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Subnet.html).
|
@@ -3444,6 +3482,40 @@ describe subnet('my-subnet') do
|
|
3444
3482
|
end
|
3445
3483
|
```
|
3446
3484
|
|
3485
|
+
## <a name="transit_gateway">transit_gateway</a>
|
3486
|
+
|
3487
|
+
TransitGateway resource type.
|
3488
|
+
|
3489
|
+
### exist
|
3490
|
+
|
3491
|
+
```ruby
|
3492
|
+
describe tgw('tgw-1234567890abcdefg') do
|
3493
|
+
it { should exist }
|
3494
|
+
it { should have_tag('Name').value('my-tgw') }
|
3495
|
+
it { should have_attachment('tgw-attach-1234567890abcdefg') }
|
3496
|
+
its('options.amazon_side_asn') { should eq 64_516 }
|
3497
|
+
its('options.auto_accept_shared_attachments') { should eq 'enable' }
|
3498
|
+
its('options.default_route_table_association') { should eq 'enable' }
|
3499
|
+
its('options.default_route_table_propagation') { should eq 'enable' }
|
3500
|
+
its('options.dns_support') { should eq 'enable' }
|
3501
|
+
its('options.vpn_ecmp_support') { should eq 'enable' }
|
3502
|
+
its('options.association_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
|
3503
|
+
its('options.propagation_default_route_table_id') { should eq 'tgw-rtb-0123456789abcdefg' }
|
3504
|
+
end
|
3505
|
+
```
|
3506
|
+
|
3507
|
+
```ruby
|
3508
|
+
describe tgw('my-tgw') do
|
3509
|
+
it { should exist }
|
3510
|
+
its(:transit_gateway_id) { should eq 'tgw-1234567890abcdefg' }
|
3511
|
+
end
|
3512
|
+
```
|
3513
|
+
|
3514
|
+
### have_attachment
|
3515
|
+
|
3516
|
+
### have_tag
|
3517
|
+
|
3518
|
+
### its(:transit_gateway_id), its(:transit_gateway_arn), its(:state), its(:owner_id), its(:description), its(:creation_time)
|
3447
3519
|
## <a name="vpc">vpc</a>
|
3448
3520
|
|
3449
3521
|
VPC resource type.
|
@@ -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, :
|
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
|
-
@
|
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 ==
|
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
|
data/lib/awspec/helper/finder.rb
CHANGED
@@ -47,6 +47,7 @@ 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/msk'
|
50
51
|
|
51
52
|
require 'awspec/helper/finder/account_attributes'
|
52
53
|
|
@@ -103,6 +104,7 @@ module Awspec::Helper
|
|
103
104
|
include Awspec::Helper::Finder::Codedeploy
|
104
105
|
include Awspec::Helper::Finder::Mq
|
105
106
|
include Awspec::Helper::Finder::Secretsmanager
|
107
|
+
include Awspec::Helper::Finder::Msk
|
106
108
|
|
107
109
|
CLIENTS = {
|
108
110
|
ec2_client: Aws::EC2::Client,
|
@@ -147,7 +149,8 @@ module Awspec::Helper
|
|
147
149
|
redshift_client: Aws::Redshift::Client,
|
148
150
|
codedeploy_client: Aws::CodeDeploy::Client,
|
149
151
|
mq_client: Aws::MQ::Client,
|
150
|
-
secretsmanager_client: Aws::SecretsManager::Client
|
152
|
+
secretsmanager_client: Aws::SecretsManager::Client,
|
153
|
+
msk_client: Aws::Kafka::Client
|
151
154
|
}
|
152
155
|
|
153
156
|
CLIENT_OPTIONS = {
|
@@ -3,8 +3,8 @@ module Awspec::Helper
|
|
3
3
|
module Acm
|
4
4
|
def find_certificate(id)
|
5
5
|
selected = []
|
6
|
+
req = {}
|
6
7
|
loop do
|
7
|
-
req = {}
|
8
8
|
res = acm_client.list_certificates(req)
|
9
9
|
selected += res.certificate_summary_list.select do |c|
|
10
10
|
c.certificate_arn == id || c.domain_name == id
|
@@ -19,8 +19,8 @@ module Awspec::Helper
|
|
19
19
|
|
20
20
|
def select_all_certificates
|
21
21
|
certs = []
|
22
|
+
req = {}
|
22
23
|
loop do
|
23
|
-
req = {}
|
24
24
|
res = acm_client.list_certificates(req)
|
25
25
|
res.certificate_summary_list.each do |c|
|
26
26
|
certs << c.certificate_arn
|
@@ -22,6 +22,14 @@ module Awspec::Helper
|
|
22
22
|
end
|
23
23
|
nil
|
24
24
|
end
|
25
|
+
|
26
|
+
def find_api_resources_by_id(api_id)
|
27
|
+
all_resources = []
|
28
|
+
apigateway_client.get_resources(rest_api_id: api_id, limit: 500, embed: ['methods']).each do |response|
|
29
|
+
all_resources += response.items
|
30
|
+
end
|
31
|
+
all_resources != [] ? all_resources : nil
|
32
|
+
end
|
25
33
|
end
|
26
34
|
end
|
27
35
|
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
|
@@ -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
|
data/lib/awspec/helper/type.rb
CHANGED
@@ -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
|
24
24
|
)
|
25
25
|
|
26
26
|
ACCOUNT_ATTRIBUTES = %w(
|
@@ -70,6 +70,45 @@ Aws.config[:apigateway] = {
|
|
70
70
|
}
|
71
71
|
}
|
72
72
|
]
|
73
|
+
},
|
74
|
+
get_resources: {
|
75
|
+
position: '1',
|
76
|
+
items: [
|
77
|
+
{
|
78
|
+
path: '/proxy',
|
79
|
+
resource_methods: {
|
80
|
+
'GET' => {
|
81
|
+
http_method: 'GET',
|
82
|
+
method_integration: { http_method: 'POST', uri: 'http://127.0.0.1:8080/hockey' }
|
83
|
+
}
|
84
|
+
}
|
85
|
+
},
|
86
|
+
{
|
87
|
+
path: '/zambonis',
|
88
|
+
resource_methods: {
|
89
|
+
'POST' => {
|
90
|
+
http_method: 'POST',
|
91
|
+
method_integration: { http_method: 'POST',
|
92
|
+
uri: 'http://127.0.0.1:8080/zambonis/{arena}?arena=Saddledome' }
|
93
|
+
}
|
94
|
+
}
|
95
|
+
},
|
96
|
+
{
|
97
|
+
path: '/zambonis/123',
|
98
|
+
resource_methods: {
|
99
|
+
'POST' => {
|
100
|
+
http_method: 'POST',
|
101
|
+
method_integration: { http_method: 'AWS',
|
102
|
+
uri: 'arn:aws:apigateway:us-east-1:cognito-idp:action/ListUsers' }
|
103
|
+
},
|
104
|
+
'GET' => {
|
105
|
+
http_method: 'GET',
|
106
|
+
method_integration: { http_method: 'AWS',
|
107
|
+
uri: 'arn:aws:apigateway:us-east-1:cognito-idp:action/SignUp?username=test' }
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
]
|
73
112
|
}
|
74
113
|
}
|
75
114
|
}
|
@@ -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
|
+
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'addressable/uri'
|
2
|
+
|
1
3
|
module Awspec::Type
|
2
4
|
class Apigateway < ResourceBase
|
3
5
|
aws_resource Aws::APIGateway::Client
|
@@ -11,5 +13,53 @@ module Awspec::Type
|
|
11
13
|
def id
|
12
14
|
@id ||= resource_via_client.id if resource_via_client
|
13
15
|
end
|
16
|
+
|
17
|
+
def api_resources
|
18
|
+
@api_resources.nil? ? @api_resources = find_api_resources_by_id(@id) : @api_resources
|
19
|
+
end
|
20
|
+
|
21
|
+
def has_path?(path)
|
22
|
+
check_existence
|
23
|
+
self.api_resources.each do |resource|
|
24
|
+
return resource if resource.path == path
|
25
|
+
end
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def has_integration_path?(path)
|
30
|
+
check_existence
|
31
|
+
self.api_resources.each do |resource|
|
32
|
+
next if resource.resource_methods.nil?
|
33
|
+
resource.resource_methods.each do |_, method|
|
34
|
+
if method.method_integration.http_method == 'AWS'
|
35
|
+
aws_path = method.method_integration.uri.match(%r{(\/[^\?]+)\??.*$}).captures[0] # Matches for ARN type path
|
36
|
+
return resource if aws_path == path
|
37
|
+
end
|
38
|
+
uri = Addressable::URI.parse(method.method_integration.uri)
|
39
|
+
return resource if uri.path == path
|
40
|
+
end
|
41
|
+
end
|
42
|
+
nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def has_method?(path, http_method)
|
46
|
+
check_existence
|
47
|
+
resource_to_check = has_path?(path)
|
48
|
+
return nil if resource_to_check.nil?
|
49
|
+
resource_to_check.resource_methods.each do |_, method|
|
50
|
+
return resource_to_check if method.http_method == http_method
|
51
|
+
end
|
52
|
+
nil
|
53
|
+
end
|
54
|
+
|
55
|
+
def has_integration_method?(integration_path, http_method)
|
56
|
+
check_existence
|
57
|
+
integration_resource_to_check = has_integration_path?(integration_path)
|
58
|
+
return nil if integration_resource_to_check.nil?
|
59
|
+
integration_resource_to_check.resource_methods.each do |_, method|
|
60
|
+
return integration_resource_to_check if method.method_integration.http_method == http_method
|
61
|
+
end
|
62
|
+
nil
|
63
|
+
end
|
14
64
|
end
|
15
65
|
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
|
data/lib/awspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: addressable
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: bundler
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -269,6 +283,7 @@ files:
|
|
269
283
|
- doc/_resource_types/launch_configuration.md
|
270
284
|
- doc/_resource_types/launch_template.md
|
271
285
|
- doc/_resource_types/mq.md
|
286
|
+
- doc/_resource_types/msk.md
|
272
287
|
- doc/_resource_types/nat_gateway.md
|
273
288
|
- doc/_resource_types/network_acl.md
|
274
289
|
- doc/_resource_types/network_interface.md
|
@@ -292,6 +307,7 @@ files:
|
|
292
307
|
- doc/_resource_types/sqs.md
|
293
308
|
- doc/_resource_types/ssm_parameter.md
|
294
309
|
- doc/_resource_types/subnet.md
|
310
|
+
- doc/_resource_types/transit_gateway.md
|
295
311
|
- doc/_resource_types/vpc.md
|
296
312
|
- doc/_resource_types/vpn_connection.md
|
297
313
|
- doc/_resource_types/vpn_gateway.md
|
@@ -368,6 +384,7 @@ files:
|
|
368
384
|
- lib/awspec/generator/doc/type/launch_configuration.rb
|
369
385
|
- lib/awspec/generator/doc/type/launch_template.rb
|
370
386
|
- lib/awspec/generator/doc/type/mq.rb
|
387
|
+
- lib/awspec/generator/doc/type/msk.rb
|
371
388
|
- lib/awspec/generator/doc/type/nat_gateway.rb
|
372
389
|
- lib/awspec/generator/doc/type/network_acl.rb
|
373
390
|
- lib/awspec/generator/doc/type/network_interface.rb
|
@@ -391,6 +408,7 @@ files:
|
|
391
408
|
- lib/awspec/generator/doc/type/sqs.rb
|
392
409
|
- lib/awspec/generator/doc/type/ssm_parameter.rb
|
393
410
|
- lib/awspec/generator/doc/type/subnet.rb
|
411
|
+
- lib/awspec/generator/doc/type/transit_gateway.rb
|
394
412
|
- lib/awspec/generator/doc/type/vpc.rb
|
395
413
|
- lib/awspec/generator/doc/type/vpn_connection.rb
|
396
414
|
- lib/awspec/generator/doc/type/vpn_gateway.rb
|
@@ -473,6 +491,7 @@ files:
|
|
473
491
|
- lib/awspec/helper/finder/kms.rb
|
474
492
|
- lib/awspec/helper/finder/lambda.rb
|
475
493
|
- lib/awspec/helper/finder/mq.rb
|
494
|
+
- lib/awspec/helper/finder/msk.rb
|
476
495
|
- lib/awspec/helper/finder/nlb.rb
|
477
496
|
- lib/awspec/helper/finder/rds.rb
|
478
497
|
- lib/awspec/helper/finder/redshift.rb
|
@@ -588,6 +607,7 @@ files:
|
|
588
607
|
- lib/awspec/stub/launch_configuration.rb
|
589
608
|
- lib/awspec/stub/launch_template.rb
|
590
609
|
- lib/awspec/stub/mq.rb
|
610
|
+
- lib/awspec/stub/msk.rb
|
591
611
|
- lib/awspec/stub/nat_gateway.rb
|
592
612
|
- lib/awspec/stub/network_acl.rb
|
593
613
|
- lib/awspec/stub/network_interface.rb
|
@@ -609,6 +629,7 @@ files:
|
|
609
629
|
- lib/awspec/stub/sqs.rb
|
610
630
|
- lib/awspec/stub/ssm_parameter.rb
|
611
631
|
- lib/awspec/stub/subnet.rb
|
632
|
+
- lib/awspec/stub/transit_gateway.rb
|
612
633
|
- lib/awspec/stub/vpc.rb
|
613
634
|
- lib/awspec/stub/vpn_connection.rb
|
614
635
|
- lib/awspec/stub/vpn_gateway.rb
|
@@ -671,6 +692,7 @@ files:
|
|
671
692
|
- lib/awspec/type/launch_configuration.rb
|
672
693
|
- lib/awspec/type/launch_template.rb
|
673
694
|
- lib/awspec/type/mq.rb
|
695
|
+
- lib/awspec/type/msk.rb
|
674
696
|
- lib/awspec/type/nat_gateway.rb
|
675
697
|
- lib/awspec/type/network_acl.rb
|
676
698
|
- lib/awspec/type/network_interface.rb
|
@@ -695,6 +717,7 @@ files:
|
|
695
717
|
- lib/awspec/type/sqs.rb
|
696
718
|
- lib/awspec/type/ssm_parameter.rb
|
697
719
|
- lib/awspec/type/subnet.rb
|
720
|
+
- lib/awspec/type/transit_gateway.rb
|
698
721
|
- lib/awspec/type/vpc.rb
|
699
722
|
- lib/awspec/type/vpn_connection.rb
|
700
723
|
- lib/awspec/type/vpn_gateway.rb
|