awspec 0.81.1 → 0.82.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/doc/_resource_types/s3_bucket.md +2 -0
- data/doc/_resource_types/sqs.md +9 -0
- data/doc/resource_types.md +31 -13
- data/lib/awspec/generator/doc/type/sqs.rb +17 -0
- data/lib/awspec/helper/finder.rb +4 -1
- data/lib/awspec/helper/finder/sqs.rb +12 -0
- data/lib/awspec/helper/type.rb +1 -1
- data/lib/awspec/stub/sqs.rb +25 -0
- data/lib/awspec/type/sqs.rb +31 -0
- data/lib/awspec/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bf3b3b5b1169aa506af43ab8313049de7108685
|
4
|
+
data.tar.gz: 288116aac0f59e7afc2140c62991d4fcebd0c6d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb0ee16cbc5441eb85bf1ee0d1e6fc38175064abb48ac105ce93e68635af85ab878ccb42814b06168ad487d6dd48ecad924ed9211cf44edaa9f797170849b64a
|
7
|
+
data.tar.gz: b6c4783251da19a5ba6a15b57122cdd35f5d46645efad4f97f082ac557eaa88b2abb975aab8ee26742b13b95460d210dd6c02a850fd7dd8231abc02ee4010a6c
|
@@ -79,6 +79,8 @@ describe s3_bucket('my-bucket') do
|
|
79
79
|
should have_lifecycle_rule(
|
80
80
|
id: 'MyRuleName',
|
81
81
|
noncurrent_version_expiration: { noncurrent_days: 1 },
|
82
|
+
expiration: { days: 2 },
|
83
|
+
transitions: { days: 3, storage_class: 'GLACIER' },
|
82
84
|
status: 'Enabled'
|
83
85
|
)
|
84
86
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
### exist
|
2
|
+
|
3
|
+
```ruby
|
4
|
+
describe sqs('my-queue') do
|
5
|
+
it { should exist }
|
6
|
+
its(:queue_url) { should eq 'https://sqs.ap-northeast-1.amazonaws.com/123456789012/my-queue' }
|
7
|
+
its(:queue_arn) { should eq 'arn:aws:sqs:ap-northeast-1:123456789012:my-queue' }
|
8
|
+
end
|
9
|
+
```
|
data/doc/resource_types.md
CHANGED
@@ -45,6 +45,7 @@
|
|
45
45
|
| [s3_bucket](#s3_bucket)
|
46
46
|
| [security_group](#security_group)
|
47
47
|
| [ses_identity](#ses_identity)
|
48
|
+
| [sqs](#sqs)
|
48
49
|
| [subnet](#subnet)
|
49
50
|
| [vpc](#vpc)
|
50
51
|
| [vpn_connection](#vpn_connection)
|
@@ -123,7 +124,7 @@ end
|
|
123
124
|
```
|
124
125
|
|
125
126
|
|
126
|
-
### its(:
|
127
|
+
### its(:architecture), its(:creation_date), its(:image_id), its(:image_location), its(:image_type), its(:public), its(:kernel_id), its(:owner_id), its(:platform), its(:ramdisk_id), its(:state), its(:description), its(:ena_support), its(:hypervisor), its(:image_owner_alias), its(:name), its(:root_device_name), its(:root_device_type), its(:sriov_net_support), its(:state_reason), its(:tags), its(:virtualization_type)
|
127
128
|
### :unlock: Advanced use
|
128
129
|
|
129
130
|
`ami` can use `Aws::EC2::Image` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Image.html).
|
@@ -413,7 +414,7 @@ end
|
|
413
414
|
```
|
414
415
|
|
415
416
|
|
416
|
-
### its(:
|
417
|
+
### its(:bgp_asn), its(:customer_gateway_id), its(:ip_address), its(:state), its(:type), its(:tags)
|
417
418
|
## <a name="directconnect_virtual_interface">directconnect_virtual_interface</a>
|
418
419
|
|
419
420
|
DirectconnectVirtualInterface resource type.
|
@@ -545,7 +546,7 @@ end
|
|
545
546
|
```
|
546
547
|
|
547
548
|
|
548
|
-
### its(:
|
549
|
+
### its(:availability_zone), its(:create_time), its(:encrypted), its(:kms_key_id), its(:size), its(:snapshot_id), its(:state), its(:volume_id), its(:iops), its(:volume_type)
|
549
550
|
### :unlock: Advanced use
|
550
551
|
|
551
552
|
`ebs` can use `Aws::EC2::Volume` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Volume.html).
|
@@ -720,7 +721,7 @@ end
|
|
720
721
|
```
|
721
722
|
|
722
723
|
|
723
|
-
### its(:
|
724
|
+
### 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(: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)
|
724
725
|
### :unlock: Advanced use
|
725
726
|
|
726
727
|
`ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
|
@@ -1600,7 +1601,7 @@ describe nat_gateway('nat-7ff7777f') do
|
|
1600
1601
|
end
|
1601
1602
|
```
|
1602
1603
|
|
1603
|
-
### its(:
|
1604
|
+
### its(:create_time), its(:delete_time), its(:failure_code), its(:failure_message), its(:nat_gateway_id), its(:provisioned_bandwidth), its(:state), its(:subnet_id), its(:vpc_id)
|
1604
1605
|
## <a name="network_acl">network_acl</a>
|
1605
1606
|
|
1606
1607
|
NetworkAcl resource type.
|
@@ -1654,7 +1655,7 @@ end
|
|
1654
1655
|
```
|
1655
1656
|
|
1656
1657
|
|
1657
|
-
### its(:inbound_entries_count), its(:outbound_entries_count), its(:
|
1658
|
+
### its(:inbound_entries_count), its(:outbound_entries_count), its(:is_default), its(:network_acl_id), its(:vpc_id)
|
1658
1659
|
### :unlock: Advanced use
|
1659
1660
|
|
1660
1661
|
`network_acl` can use `Aws::EC2::NetworkAcl` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/NetworkAcl.html).
|
@@ -1751,7 +1752,7 @@ describe network_interface('eni-12ab3cde') do
|
|
1751
1752
|
end
|
1752
1753
|
```
|
1753
1754
|
|
1754
|
-
### its(:
|
1755
|
+
### its(:association), its(:availability_zone), its(:description), its(:interface_type), its(:ipv_6_addresses), its(:mac_address), its(:network_interface_id), its(:owner_id), its(:private_dns_name), its(:private_ip_address), its(:requester_id), its(:requester_managed), its(:source_dest_check), its(:status), its(:subnet_id), its(:vpc_id)
|
1755
1756
|
## <a name="rds">rds</a>
|
1756
1757
|
|
1757
1758
|
RDS resource type.
|
@@ -1976,7 +1977,7 @@ end
|
|
1976
1977
|
```
|
1977
1978
|
|
1978
1979
|
|
1979
|
-
### its(:
|
1980
|
+
### its(:propagating_vgws), its(:route_table_id), its(:vpc_id)
|
1980
1981
|
### :unlock: Advanced use
|
1981
1982
|
|
1982
1983
|
`route_table` can use `Aws::EC2::RouteTable` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/RouteTable.html).
|
@@ -2052,6 +2053,8 @@ describe s3_bucket('my-bucket') do
|
|
2052
2053
|
should have_lifecycle_rule(
|
2053
2054
|
id: 'MyRuleName',
|
2054
2055
|
noncurrent_version_expiration: { noncurrent_days: 1 },
|
2056
|
+
expiration: { days: 2 },
|
2057
|
+
transitions: { days: 3, storage_class: 'GLACIER' },
|
2055
2058
|
status: 'Enabled'
|
2056
2059
|
)
|
2057
2060
|
end
|
@@ -2178,7 +2181,7 @@ end
|
|
2178
2181
|
```
|
2179
2182
|
|
2180
2183
|
|
2181
|
-
### its(:inbound_rule_count), its(:outbound_rule_count), its(:inbound_permissions_count), its(:outbound_permissions_count), its(:
|
2184
|
+
### its(:inbound_rule_count), its(:outbound_rule_count), its(:inbound_permissions_count), its(:outbound_permissions_count), its(:description), its(:group_name), its(:owner_id), its(:group_id), its(:vpc_id)
|
2182
2185
|
### :unlock: Advanced use
|
2183
2186
|
|
2184
2187
|
`security_group` can use `Aws::EC2::SecurityGroup` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/SecurityGroup.html).
|
@@ -2222,6 +2225,21 @@ end
|
|
2222
2225
|
```
|
2223
2226
|
|
2224
2227
|
### its(:dkim_enabled), its(:dkim_verification_status), its(:bounce_topic), its(:complaint_topic), its(:delivery_topic), its(:forwarding_enabled), its(:verification_status), its(:verification_token)
|
2228
|
+
## <a name="sqs">sqs</a>
|
2229
|
+
|
2230
|
+
SQS resource type.
|
2231
|
+
|
2232
|
+
### exist
|
2233
|
+
|
2234
|
+
```ruby
|
2235
|
+
describe sqs('my-queue') do
|
2236
|
+
it { should exist }
|
2237
|
+
its(:queue_url) { should eq 'https://sqs.ap-northeast-1.amazonaws.com/123456789012/my-queue' }
|
2238
|
+
its(:queue_arn) { should eq 'arn:aws:sqs:ap-northeast-1:123456789012:my-queue' }
|
2239
|
+
end
|
2240
|
+
```
|
2241
|
+
|
2242
|
+
|
2225
2243
|
## <a name="subnet">subnet</a>
|
2226
2244
|
|
2227
2245
|
Subnet resource type.
|
@@ -2255,7 +2273,7 @@ end
|
|
2255
2273
|
```
|
2256
2274
|
|
2257
2275
|
|
2258
|
-
### its(:
|
2276
|
+
### its(:availability_zone), 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(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set)
|
2259
2277
|
### :unlock: Advanced use
|
2260
2278
|
|
2261
2279
|
`subnet` can use `Aws::EC2::Subnet` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Subnet.html).
|
@@ -2325,7 +2343,7 @@ end
|
|
2325
2343
|
```
|
2326
2344
|
|
2327
2345
|
|
2328
|
-
### its(:
|
2346
|
+
### its(:cidr_block), its(:dhcp_options_id), its(:state), its(:vpc_id), its(:instance_tenancy), its(:ipv_6_cidr_block_association_set), its(:is_default)
|
2329
2347
|
### :unlock: Advanced use
|
2330
2348
|
|
2331
2349
|
`vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
|
@@ -2375,7 +2393,7 @@ end
|
|
2375
2393
|
```
|
2376
2394
|
|
2377
2395
|
|
2378
|
-
### its(:
|
2396
|
+
### its(:customer_gateway_configuration), its(:customer_gateway_id), its(:state), its(:type), its(:vpn_connection_id), its(:vpn_gateway_id), its(:options), its(:routes), its(:tags), its(:vgw_telemetry)
|
2379
2397
|
## <a name="vpn_gateway">vpn_gateway</a>
|
2380
2398
|
|
2381
2399
|
VpnGateway resource type.
|
@@ -2407,7 +2425,7 @@ end
|
|
2407
2425
|
```
|
2408
2426
|
|
2409
2427
|
|
2410
|
-
### its(:
|
2428
|
+
### its(:availability_zone), its(:state), its(:type), its(:vpc_attachments), its(:vpn_gateway_id), its(:tags)
|
2411
2429
|
## <a name="waf_web_acl">waf_web_acl</a>
|
2412
2430
|
|
2413
2431
|
WafWebAcl resource type.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Awspec::Generator
|
2
|
+
module Doc
|
3
|
+
module Type
|
4
|
+
class Sqs < Base
|
5
|
+
def initialize
|
6
|
+
super
|
7
|
+
@type_name = 'SQS'
|
8
|
+
@type = Awspec::Type::Sqs.new('my-queue')
|
9
|
+
@ret = @type.resource_via_client
|
10
|
+
@matchers = []
|
11
|
+
@ignore_matchers = []
|
12
|
+
@describes = []
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/awspec/helper/finder.rb
CHANGED
@@ -30,6 +30,7 @@ require 'awspec/helper/finder/waf'
|
|
30
30
|
require 'awspec/helper/finder/acm'
|
31
31
|
require 'awspec/helper/finder/cloudwatch_logs'
|
32
32
|
require 'awspec/helper/finder/dynamodb'
|
33
|
+
require 'awspec/helper/finder/sqs'
|
33
34
|
|
34
35
|
require 'awspec/helper/finder/account_attributes'
|
35
36
|
|
@@ -67,6 +68,7 @@ module Awspec::Helper
|
|
67
68
|
include Awspec::Helper::Finder::AccountAttributes
|
68
69
|
include Awspec::Helper::Finder::CloudwatchLogs
|
69
70
|
include Awspec::Helper::Finder::Dynamodb
|
71
|
+
include Awspec::Helper::Finder::Sqs
|
70
72
|
|
71
73
|
CLIENTS = {
|
72
74
|
ec2_client: Aws::EC2::Client,
|
@@ -95,7 +97,8 @@ module Awspec::Helper
|
|
95
97
|
sts_client: Aws::STS::Client,
|
96
98
|
acm_client: Aws::ACM::Client,
|
97
99
|
cloudwatch_logs_client: Aws::CloudWatchLogs::Client,
|
98
|
-
dynamodb_client: Aws::DynamoDB::Client
|
100
|
+
dynamodb_client: Aws::DynamoDB::Client,
|
101
|
+
sqs_client: Aws::SQS::Client
|
99
102
|
}
|
100
103
|
|
101
104
|
CLIENT_OPTIONS = {
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Awspec::Helper
|
2
|
+
module Finder
|
3
|
+
module Sqs
|
4
|
+
def find_queue(queue_name)
|
5
|
+
res = sqs_client.list_queues(queue_name_prefix: queue_name).queue_urls.select do |url|
|
6
|
+
url.split('/').last == queue_name
|
7
|
+
end
|
8
|
+
res.single_resource(queue_name)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/awspec/helper/type.rb
CHANGED
@@ -15,7 +15,7 @@ module Awspec
|
|
15
15
|
network_acl network_interface rds rds_db_cluster_parameter_group rds_db_parameter_group route53_hosted_zone
|
16
16
|
route_table s3_bucket security_group ses_identity subnet vpc cloudfront_distribution
|
17
17
|
elastictranscoder_pipeline waf_web_acl customer_gateway vpn_gateway vpn_connection internet_gateway acm
|
18
|
-
cloudwatch_logs dynamodb_table eip
|
18
|
+
cloudwatch_logs dynamodb_table eip sqs
|
19
19
|
)
|
20
20
|
|
21
21
|
ACCOUNT_ATTRIBUTES = %w(
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Aws.config[:sqs] = {
|
2
|
+
stub_responses: {
|
3
|
+
list_queues: {
|
4
|
+
queue_urls: [
|
5
|
+
'https://sqs.ap-northeast-1.amazonaws.com/123456789012/my-queue',
|
6
|
+
'https://sqs.ap-northeast-1.amazonaws.com/123456789012/my-queue2'
|
7
|
+
]
|
8
|
+
},
|
9
|
+
get_queue_attributes: {
|
10
|
+
attributes: {
|
11
|
+
'QueueArn' => 'arn:aws:sqs:ap-northeast-1:123456789012:my-queue',
|
12
|
+
'ApproximateNumberOfMessages' => '0',
|
13
|
+
'ApproximateNumberOfMessagesNotVisible' => '0',
|
14
|
+
'ApproximateNumberOfMessagesDelayed' => '0',
|
15
|
+
'CreatedTimestamp' => '1499422322',
|
16
|
+
'LastModifiedTimestamp' => '1499422322',
|
17
|
+
'VisibilityTimeout' => '30',
|
18
|
+
'MaximumMessageSize' => '262144',
|
19
|
+
'MessageRetentionPeriod' => '345600',
|
20
|
+
'DelaySeconds' => '0',
|
21
|
+
'ReceiveMessageWaitTimeSeconds' => '0'
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Awspec::Type
|
2
|
+
class Sqs < ResourceBase
|
3
|
+
def resource_via_client
|
4
|
+
return @resource_via_client if @resource_via_client
|
5
|
+
queue_url = id
|
6
|
+
attributes = {}
|
7
|
+
res = sqs_client.get_queue_attributes({
|
8
|
+
queue_url: queue_url,
|
9
|
+
attribute_names: ['All']
|
10
|
+
})
|
11
|
+
res.attributes.each do |key, value|
|
12
|
+
attributes[key.underscore] = value
|
13
|
+
end
|
14
|
+
attributes['queue_url'] = queue_url
|
15
|
+
@resource_via_client ||= attributes
|
16
|
+
end
|
17
|
+
|
18
|
+
def id
|
19
|
+
@id ||= find_queue(@display_name)
|
20
|
+
end
|
21
|
+
|
22
|
+
def method_missing(name)
|
23
|
+
param_name = name.to_s
|
24
|
+
if resource_via_client.include?(param_name)
|
25
|
+
resource_via_client[param_name]
|
26
|
+
else
|
27
|
+
super
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
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: 0.
|
4
|
+
version: 0.82.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -253,6 +253,7 @@ files:
|
|
253
253
|
- doc/_resource_types/security_group.md
|
254
254
|
- doc/_resource_types/ses_identity.md
|
255
255
|
- doc/_resource_types/ses_send_quota.md
|
256
|
+
- doc/_resource_types/sqs.md
|
256
257
|
- doc/_resource_types/subnet.md
|
257
258
|
- doc/_resource_types/vpc.md
|
258
259
|
- doc/_resource_types/vpn_connection.md
|
@@ -324,6 +325,7 @@ files:
|
|
324
325
|
- lib/awspec/generator/doc/type/security_group.rb
|
325
326
|
- lib/awspec/generator/doc/type/ses_identity.rb
|
326
327
|
- lib/awspec/generator/doc/type/ses_send_quota.rb
|
328
|
+
- lib/awspec/generator/doc/type/sqs.rb
|
327
329
|
- lib/awspec/generator/doc/type/subnet.rb
|
328
330
|
- lib/awspec/generator/doc/type/vpc.rb
|
329
331
|
- lib/awspec/generator/doc/type/vpn_connection.rb
|
@@ -391,6 +393,7 @@ files:
|
|
391
393
|
- lib/awspec/helper/finder/s3.rb
|
392
394
|
- lib/awspec/helper/finder/security_group.rb
|
393
395
|
- lib/awspec/helper/finder/ses.rb
|
396
|
+
- lib/awspec/helper/finder/sqs.rb
|
394
397
|
- lib/awspec/helper/finder/subnet.rb
|
395
398
|
- lib/awspec/helper/finder/vpc.rb
|
396
399
|
- lib/awspec/helper/finder/waf.rb
|
@@ -475,6 +478,7 @@ files:
|
|
475
478
|
- lib/awspec/stub/s3_bucket.rb
|
476
479
|
- lib/awspec/stub/security_group.rb
|
477
480
|
- lib/awspec/stub/ses_identity.rb
|
481
|
+
- lib/awspec/stub/sqs.rb
|
478
482
|
- lib/awspec/stub/subnet.rb
|
479
483
|
- lib/awspec/stub/vpc.rb
|
480
484
|
- lib/awspec/stub/vpn_connection.rb
|
@@ -535,6 +539,7 @@ files:
|
|
535
539
|
- lib/awspec/type/security_group.rb
|
536
540
|
- lib/awspec/type/ses_identity.rb
|
537
541
|
- lib/awspec/type/ses_send_quota.rb
|
542
|
+
- lib/awspec/type/sqs.rb
|
538
543
|
- lib/awspec/type/subnet.rb
|
539
544
|
- lib/awspec/type/vpc.rb
|
540
545
|
- lib/awspec/type/vpn_connection.rb
|