elbas 0.27.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +25 -35
- data/elbas.gemspec +15 -12
- data/lib/elbas.rb +15 -9
- data/lib/elbas/aws/ami.rb +71 -0
- data/lib/elbas/aws/autoscale_group.rb +43 -0
- data/lib/elbas/aws/base.rb +39 -0
- data/lib/elbas/aws/instance.rb +24 -0
- data/lib/elbas/aws/instance_collection.rb +36 -0
- data/lib/elbas/aws/launch_template.rb +32 -0
- data/lib/elbas/aws/snapshot.rb +21 -0
- data/lib/elbas/aws/taggable.rb +18 -0
- data/lib/elbas/capistrano.rb +14 -12
- data/lib/elbas/errors/no_launch_template.rb +6 -0
- data/lib/elbas/logger.rb +10 -2
- data/lib/elbas/retryable.rb +34 -9
- data/lib/elbas/tasks/elbas.rake +19 -10
- data/lib/elbas/version.rb +1 -1
- data/spec/aws/ami_spec.rb +140 -0
- data/spec/aws/autoscale_group_spec.rb +53 -0
- data/spec/aws/instance_collection_spec.rb +28 -0
- data/spec/aws/instance_spec.rb +30 -0
- data/spec/aws/launch_template_spec.rb +52 -0
- data/spec/aws/taggable_spec.rb +53 -0
- data/spec/spec_helper.rb +14 -24
- data/spec/support/stubs/CreateLaunchTemplateVersion.200.xml +16 -0
- data/spec/support/stubs/DescribeAutoScalingGroups.200.xml +60 -0
- data/spec/support/stubs/DescribeImages.200.xml +36 -1
- data/spec/support/stubs/DescribeInstances.200.xml +109 -2
- metadata +60 -21
- data/lib/elbas/ami.rb +0 -56
- data/lib/elbas/aws/autoscaling.rb +0 -21
- data/lib/elbas/aws/credentials.rb +0 -20
- data/lib/elbas/aws/ec2.rb +0 -13
- data/lib/elbas/aws_resource.rb +0 -36
- data/lib/elbas/launch_configuration.rb +0 -64
- data/lib/elbas/taggable.rb +0 -9
- data/spec/ami_spec.rb +0 -10
- data/spec/elbas_spec.rb +0 -69
@@ -0,0 +1,53 @@
|
|
1
|
+
describe Elbas::AWS::Taggable do
|
2
|
+
TestTaggable = Class.new do
|
3
|
+
include Elbas::AWS::Taggable
|
4
|
+
|
5
|
+
def aws_counterpart
|
6
|
+
@aws_counterpart ||= ::Aws::EC2::Instance.new 'test'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
let(:subject) { TestTaggable.new }
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
context 'Tagging fails because resource is not created yet' do
|
15
|
+
before do
|
16
|
+
stub_request(:post, %r{amazonaws.com\/\z}).
|
17
|
+
to_raise(StandardError).then.
|
18
|
+
to_raise(StandardError).then.
|
19
|
+
to_return(body: '')
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#tag' do
|
23
|
+
it 'retries the tag up to 3 times' do
|
24
|
+
expect(subject.aws_counterpart).to receive(:create_tags).exactly(3).times.and_call_original
|
25
|
+
subject.tag 'test', 'true'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'Tagging succeeds' do
|
32
|
+
before do
|
33
|
+
webmock :post, %r{amazonaws.com\/\z} => 'CreateTags.200.xml',
|
34
|
+
with: Hash[body: /Action=CreateTags/]
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#tag' do
|
38
|
+
it 'hits the CreateTags API' do
|
39
|
+
subject.tag 'test', 'true'
|
40
|
+
expect(WebMock)
|
41
|
+
.to have_requested(:post, /aws/)
|
42
|
+
.with body: /Action=CreateTags/
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'sends the resource, key, and value' do
|
46
|
+
subject.tag 'test', 'true'
|
47
|
+
expect(WebMock)
|
48
|
+
.to have_requested(:post, /aws/)
|
49
|
+
.with body: /ResourceId.1=test&Tag.1.Key=test&Tag.1.Value=true/
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,32 +1,22 @@
|
|
1
1
|
require 'webmock'
|
2
2
|
require 'capistrano/all'
|
3
|
-
require 'elbas'
|
4
|
-
require 'webmock/rspec'
|
5
|
-
|
6
|
-
WebMock.disable_net_connect!
|
7
|
-
|
8
|
-
Dir[File.join(File.expand_path('../..', __FILE__), 'spec', 'support', '**', '*.rb')].each { |f| require f }
|
9
3
|
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
ENV['AWS_REGION'] = 'us-east-1'
|
5
|
+
ENV['AWS_ACCESS_KEY_ID'] = 'test-access'
|
6
|
+
ENV['AWS_SECRET_ACCESS_KEY'] = 'test-secret'
|
13
7
|
|
14
|
-
|
15
|
-
|
16
|
-
status = filename[/\.(\d+)\./, 1] || 200
|
17
|
-
body = File.read File.join(File.expand_path('../..', __FILE__), 'spec', 'support', 'stubs', filename)
|
18
|
-
if block_given? && with_options = yield
|
19
|
-
WebMock.stub_request(method, regex).with(with_options).to_return status: status.to_i, body: body
|
20
|
-
else
|
21
|
-
WebMock.stub_request(method, regex).to_return status: status.to_i, body: body
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
8
|
+
require 'elbas'
|
9
|
+
require 'webmock/rspec'
|
25
10
|
|
26
|
-
|
11
|
+
# Hack for webmock-rspec-helper
|
12
|
+
Rails = Class.new do
|
13
|
+
def self.root
|
14
|
+
Pathname.new(__dir__).join('..')
|
27
15
|
end
|
28
16
|
end
|
29
17
|
|
30
|
-
|
31
|
-
|
32
|
-
|
18
|
+
require 'webmock-rspec-helper'
|
19
|
+
|
20
|
+
WebMock.disable_net_connect!
|
21
|
+
|
22
|
+
Dir[File.join(File.expand_path('../..', __FILE__), 'spec', 'support', '**', '*.rb')].each { |f| require f }
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<CreateLaunchTemplateVersionResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">
|
2
|
+
<requestId>6657423a-2616-461a-9ce5-3c65example</requestId>
|
3
|
+
<launchTemplateVersion>
|
4
|
+
<createTime>2017-10-31T11:56:00.000Z</createTime>
|
5
|
+
<createdBy>arn:aws:iam::123456789012:root</createdBy>
|
6
|
+
<defaultVersion>false</defaultVersion>
|
7
|
+
<launchTemplateData>
|
8
|
+
<imageId>ami-aabbccdd</imageId>
|
9
|
+
<instanceType>t2.micro</instanceType>
|
10
|
+
</launchTemplateData>
|
11
|
+
<launchTemplateId>lt-1234567890</launchTemplateId>
|
12
|
+
<launchTemplateName>elbas-test</launchTemplateName>
|
13
|
+
<versionDescription>VersionWithNewAMI</versionDescription>
|
14
|
+
<versionNumber>123</versionNumber>
|
15
|
+
</launchTemplateVersion>
|
16
|
+
</CreateLaunchTemplateVersionResponse>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<DescribeAutoScalingGroupsResponse xmlns="http://autoscaling.amazonaws.com/doc/2011-01-01/">
|
2
|
+
<DescribeAutoScalingGroupsResult>
|
3
|
+
<AutoScalingGroups>
|
4
|
+
<member>
|
5
|
+
<HealthCheckType>ELB</HealthCheckType>
|
6
|
+
<LoadBalancerNames>
|
7
|
+
<member>my-loadbalancer</member>
|
8
|
+
</LoadBalancerNames>
|
9
|
+
<Instances>
|
10
|
+
<member>
|
11
|
+
<LaunchConfigurationName>my-lc</LaunchConfigurationName>
|
12
|
+
<LifecycleState>InService</LifecycleState>
|
13
|
+
<InstanceId>i-1234567890</InstanceId>
|
14
|
+
<ProtectedFromScaleIn>false</ProtectedFromScaleIn>
|
15
|
+
<AvailabilityZone>us-east-1c</AvailabilityZone>
|
16
|
+
</member>
|
17
|
+
<member>
|
18
|
+
<LaunchConfigurationName>my-lc</LaunchConfigurationName>
|
19
|
+
<LifecycleState>Terminating</LifecycleState>
|
20
|
+
<InstanceId>i-500</InstanceId>
|
21
|
+
<ProtectedFromScaleIn>false</ProtectedFromScaleIn>
|
22
|
+
<AvailabilityZone>us-east-1c</AvailabilityZone>
|
23
|
+
</member>
|
24
|
+
</Instances>
|
25
|
+
<TerminationPolicies>
|
26
|
+
<member>Default</member>
|
27
|
+
</TerminationPolicies>
|
28
|
+
<DefaultCooldown>300</DefaultCooldown>
|
29
|
+
<AutoScalingGroupARN>arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:12345678-1234-1234-1234-123456789012:autoScalingGroupName/test-asg</AutoScalingGroupARN>
|
30
|
+
<EnabledMetrics />
|
31
|
+
<AvailabilityZones>
|
32
|
+
<member>us-east-1b</member>
|
33
|
+
<member>us-east-1a</member>
|
34
|
+
</AvailabilityZones>
|
35
|
+
<Tags>
|
36
|
+
<member>
|
37
|
+
<ResourceId>test-asg</ResourceId>
|
38
|
+
<PropagateAtLaunch>true</PropagateAtLaunch>
|
39
|
+
<Value>test</Value>
|
40
|
+
<Key>environment</Key>
|
41
|
+
<ResourceType>auto-scaling-group</ResourceType>
|
42
|
+
</member>
|
43
|
+
</Tags>
|
44
|
+
<LaunchConfigurationName>my-lc</LaunchConfigurationName>
|
45
|
+
<AutoScalingGroupName>test-asg</AutoScalingGroupName>
|
46
|
+
<HealthCheckGracePeriod>300</HealthCheckGracePeriod>
|
47
|
+
<NewInstancesProtectedFromScaleIn>false</NewInstancesProtectedFromScaleIn>
|
48
|
+
<SuspendedProcesses />
|
49
|
+
<CreatedTime>2015-05-06T17:47:15.107Z</CreatedTime>
|
50
|
+
<MinSize>2</MinSize>
|
51
|
+
<MaxSize>10</MaxSize>
|
52
|
+
<DesiredCapacity>2</DesiredCapacity>
|
53
|
+
<VPCZoneIdentifier>subnet-12345678,subnet-98765432</VPCZoneIdentifier>
|
54
|
+
</member>
|
55
|
+
</AutoScalingGroups>
|
56
|
+
</DescribeAutoScalingGroupsResult>
|
57
|
+
<ResponseMetadata>
|
58
|
+
<RequestId>7c6e177f-f082-11e1-ac58-3714bEXAMPLE</RequestId>
|
59
|
+
</ResponseMetadata>
|
60
|
+
</DescribeAutoScalingGroupsResponse>
|
@@ -2,7 +2,42 @@
|
|
2
2
|
<requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
|
3
3
|
<imagesSet>
|
4
4
|
<item>
|
5
|
-
<imageId>ami-
|
5
|
+
<imageId>ami-1234567890</imageId>
|
6
|
+
<imageLocation>amazon/getting-started</imageLocation>
|
7
|
+
<imageState>available</imageState>
|
8
|
+
<imageOwnerId>123456789012</imageOwnerId>
|
9
|
+
<isPublic>true</isPublic>
|
10
|
+
<architecture>i386</architecture>
|
11
|
+
<imageType>machine</imageType>
|
12
|
+
<kernelId>aki-1a2b3c4d</kernelId>
|
13
|
+
<ramdiskId>ari-1a2b3c4d</ramdiskId>
|
14
|
+
<imageOwnerAlias>amazon</imageOwnerAlias>
|
15
|
+
<name>getting-started</name>
|
16
|
+
<description>Image Description</description>
|
17
|
+
<rootDeviceType>ebs</rootDeviceType>
|
18
|
+
<rootDeviceName>/dev/sda</rootDeviceName>
|
19
|
+
<blockDeviceMapping>
|
20
|
+
<item>
|
21
|
+
<deviceName>/dev/sda1</deviceName>
|
22
|
+
<ebs>
|
23
|
+
<snapshotId>snap-1a2b3c4d</snapshotId>
|
24
|
+
<volumeSize>15</volumeSize>
|
25
|
+
<deleteOnTermination>false</deleteOnTermination>
|
26
|
+
<volumeType>standard</volumeType>
|
27
|
+
</ebs>
|
28
|
+
</item>
|
29
|
+
</blockDeviceMapping>
|
30
|
+
<virtualizationType>paravirtual</virtualizationType>
|
31
|
+
<tagSet>
|
32
|
+
<item>
|
33
|
+
<key>ELBAS-Deploy-id</key>
|
34
|
+
<value>test</value>
|
35
|
+
</item>
|
36
|
+
</tagSet>
|
37
|
+
<hypervisor>xen</hypervisor>
|
38
|
+
</item>
|
39
|
+
<item>
|
40
|
+
<imageId>ami-999</imageId>
|
6
41
|
<imageLocation>amazon/getting-started</imageLocation>
|
7
42
|
<imageState>available</imageState>
|
8
43
|
<imageOwnerId>123456789012</imageOwnerId>
|
@@ -12,14 +12,121 @@
|
|
12
12
|
</groupSet>
|
13
13
|
<instancesSet>
|
14
14
|
<item>
|
15
|
-
<instanceId>i-
|
15
|
+
<instanceId>i-1234567890</instanceId>
|
16
16
|
<imageId>ami-1a2b3c4d</imageId>
|
17
17
|
<instanceState>
|
18
18
|
<code>16</code>
|
19
19
|
<name>running</name>
|
20
20
|
</instanceState>
|
21
21
|
<privateDnsName/>
|
22
|
-
<dnsName
|
22
|
+
<dnsName>ec2-1234567890.amazonaws.com</dnsName>
|
23
|
+
<reason/>
|
24
|
+
<keyName>my-key-pair</keyName>
|
25
|
+
<amiLaunchIndex>0</amiLaunchIndex>
|
26
|
+
<productCodes/>
|
27
|
+
<instanceType>c1.medium</instanceType>
|
28
|
+
<launchTime>Y2035-02-09T23:17:13Z+0000</launchTime>
|
29
|
+
<placement>
|
30
|
+
<availabilityZone>us-west-2a</availabilityZone>
|
31
|
+
<groupName/>
|
32
|
+
<tenancy>default</tenancy>
|
33
|
+
</placement>
|
34
|
+
<platform>windows</platform>
|
35
|
+
<monitoring>
|
36
|
+
<state>disabled</state>
|
37
|
+
</monitoring>
|
38
|
+
<subnetId>subnet-1a2b3c4d</subnetId>
|
39
|
+
<vpcId>vpc-1a2b3c4d</vpcId>
|
40
|
+
<privateIpAddress>10.0.0.12</privateIpAddress>
|
41
|
+
<ipAddress>46.51.219.63</ipAddress>
|
42
|
+
<sourceDestCheck>true</sourceDestCheck>
|
43
|
+
<groupSet>
|
44
|
+
<item>
|
45
|
+
<groupId>sg-1a2b3c4d</groupId>
|
46
|
+
<groupName>my-security-group</groupName>
|
47
|
+
</item>
|
48
|
+
</groupSet>
|
49
|
+
<architecture>x86_64</architecture>
|
50
|
+
<rootDeviceType>ebs</rootDeviceType>
|
51
|
+
<rootDeviceName>/dev/sda1</rootDeviceName>
|
52
|
+
<blockDeviceMapping>
|
53
|
+
<item>
|
54
|
+
<deviceName>/dev/sda1</deviceName>
|
55
|
+
<ebs>
|
56
|
+
<volumeId>vol-1a2b3c4d</volumeId>
|
57
|
+
<status>attached</status>
|
58
|
+
<attachTime>2035-02-09T23:17:13Z</attachTime>
|
59
|
+
<deleteOnTermination>true</deleteOnTermination>
|
60
|
+
</ebs>
|
61
|
+
</item>
|
62
|
+
</blockDeviceMapping>
|
63
|
+
<virtualizationType>hvm</virtualizationType>
|
64
|
+
<clientToken>ABCDE1234567890123</clientToken>
|
65
|
+
<tagSet>
|
66
|
+
<item>
|
67
|
+
<key>Name</key>
|
68
|
+
<value>Windows Instance</value>
|
69
|
+
</item>
|
70
|
+
</tagSet>
|
71
|
+
<hypervisor>xen</hypervisor>
|
72
|
+
<networkInterfaceSet>
|
73
|
+
<item>
|
74
|
+
<networkInterfaceId>eni-1a2b3c4d</networkInterfaceId>
|
75
|
+
<subnetId>subnet-1a2b3c4d</subnetId>
|
76
|
+
<vpcId>vpc-1a2b3c4d</vpcId>
|
77
|
+
<description>Primary network interface</description>
|
78
|
+
<ownerId>123456789012</ownerId>
|
79
|
+
<status>in-use</status>
|
80
|
+
<macAddress>1b:2b:3c:4d:5e:6f</macAddress>
|
81
|
+
<privateIpAddress>10.0.0.12</privateIpAddress>
|
82
|
+
<sourceDestCheck>true</sourceDestCheck>
|
83
|
+
<groupSet>
|
84
|
+
<item>
|
85
|
+
<groupId>sg-1a2b3c4d</groupId>
|
86
|
+
<groupName>my-security-group</groupName>
|
87
|
+
</item>
|
88
|
+
</groupSet>
|
89
|
+
<attachment>
|
90
|
+
<attachmentId>eni-attach-1a2b3c4d</attachmentId>
|
91
|
+
<deviceIndex>0</deviceIndex>
|
92
|
+
<status>attached</status>
|
93
|
+
<attachTime>2035-02-09T23:17:13Z</attachTime>
|
94
|
+
<deleteOnTermination>true</deleteOnTermination>
|
95
|
+
</attachment>
|
96
|
+
<association>
|
97
|
+
<publicIp>198.51.100.63</publicIp>
|
98
|
+
<ipOwnerId>123456789012</ipOwnerId>
|
99
|
+
</association>
|
100
|
+
<privateIpAddressesSet>
|
101
|
+
<item>
|
102
|
+
<privateIpAddress>10.0.0.12</privateIpAddress>
|
103
|
+
<primary>true</primary>
|
104
|
+
<association>
|
105
|
+
<publicIp>198.51.100.63</publicIp>
|
106
|
+
<ipOwnerId>123456789012</ipOwnerId>
|
107
|
+
</association>
|
108
|
+
</item>
|
109
|
+
<item>
|
110
|
+
<privateIpAddress>10.0.0.14</privateIpAddress>
|
111
|
+
<primary>false</primary>
|
112
|
+
<association>
|
113
|
+
<publicIp>198.51.100.177</publicIp>
|
114
|
+
<ipOwnerId>123456789012</ipOwnerId>
|
115
|
+
</association>
|
116
|
+
</item>
|
117
|
+
</privateIpAddressesSet>
|
118
|
+
</item>
|
119
|
+
</networkInterfaceSet>
|
120
|
+
</item>
|
121
|
+
<item>
|
122
|
+
<instanceId>i-500</instanceId>
|
123
|
+
<imageId>ami-1a2b3c4d</imageId>
|
124
|
+
<instanceState>
|
125
|
+
<code>32</code>
|
126
|
+
<name>shutting-down</name>
|
127
|
+
</instanceState>
|
128
|
+
<privateDnsName/>
|
129
|
+
<dnsName>ec2-500.amazonaws.com</dnsName>
|
23
130
|
<reason/>
|
24
131
|
<keyName>my-key-pair</keyName>
|
25
132
|
<amiLaunchIndex>0</amiLaunchIndex>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elbas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Logan Serman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,7 +67,35 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: webmock-rspec-helper
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: aws-sdk-autoscaling
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: aws-sdk-ec2
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - "~>"
|
@@ -108,11 +136,9 @@ dependencies:
|
|
108
136
|
- - ">="
|
109
137
|
- !ruby/object:Gem::Version
|
110
138
|
version: 4.0.0
|
111
|
-
description: Capistrano plugin for deploying to AWS AutoScale Groups.
|
112
|
-
instances in a group, creates a fresh AMI post-deploy, and attaches the AMI to your
|
113
|
-
AutoScale Group.
|
139
|
+
description: Capistrano plugin for deploying to AWS AutoScale Groups.
|
114
140
|
email:
|
115
|
-
-
|
141
|
+
- loganserman@gmail.com
|
116
142
|
executables: []
|
117
143
|
extensions: []
|
118
144
|
extra_rdoc_files: []
|
@@ -126,27 +152,35 @@ files:
|
|
126
152
|
- Rakefile
|
127
153
|
- elbas.gemspec
|
128
154
|
- lib/elbas.rb
|
129
|
-
- lib/elbas/ami.rb
|
130
|
-
- lib/elbas/aws/
|
131
|
-
- lib/elbas/aws/
|
132
|
-
- lib/elbas/aws/
|
133
|
-
- lib/elbas/
|
155
|
+
- lib/elbas/aws/ami.rb
|
156
|
+
- lib/elbas/aws/autoscale_group.rb
|
157
|
+
- lib/elbas/aws/base.rb
|
158
|
+
- lib/elbas/aws/instance.rb
|
159
|
+
- lib/elbas/aws/instance_collection.rb
|
160
|
+
- lib/elbas/aws/launch_template.rb
|
161
|
+
- lib/elbas/aws/snapshot.rb
|
162
|
+
- lib/elbas/aws/taggable.rb
|
134
163
|
- lib/elbas/capistrano.rb
|
135
|
-
- lib/elbas/
|
164
|
+
- lib/elbas/errors/no_launch_template.rb
|
136
165
|
- lib/elbas/logger.rb
|
137
166
|
- lib/elbas/retryable.rb
|
138
|
-
- lib/elbas/taggable.rb
|
139
167
|
- lib/elbas/tasks/elbas.rake
|
140
168
|
- lib/elbas/version.rb
|
141
|
-
- spec/ami_spec.rb
|
142
|
-
- spec/
|
169
|
+
- spec/aws/ami_spec.rb
|
170
|
+
- spec/aws/autoscale_group_spec.rb
|
171
|
+
- spec/aws/instance_collection_spec.rb
|
172
|
+
- spec/aws/instance_spec.rb
|
173
|
+
- spec/aws/launch_template_spec.rb
|
174
|
+
- spec/aws/taggable_spec.rb
|
143
175
|
- spec/spec_helper.rb
|
144
176
|
- spec/support/stubs/CreateImage.200.xml
|
145
177
|
- spec/support/stubs/CreateLaunchConfiguration.200.xml
|
178
|
+
- spec/support/stubs/CreateLaunchTemplateVersion.200.xml
|
146
179
|
- spec/support/stubs/CreateTags.200.xml
|
147
180
|
- spec/support/stubs/DeleteLaunchConfiguration.200.xml
|
148
181
|
- spec/support/stubs/DeleteSnapshot.200.xml
|
149
182
|
- spec/support/stubs/DeregisterImage.200.xml
|
183
|
+
- spec/support/stubs/DescribeAutoScalingGroups.200.xml
|
150
184
|
- spec/support/stubs/DescribeImages.200.xml
|
151
185
|
- spec/support/stubs/DescribeInstances.200.xml
|
152
186
|
- spec/support/stubs/DescribeLaunchConfigurations.200.xml
|
@@ -154,7 +188,7 @@ files:
|
|
154
188
|
- spec/support/stubs/DescribeTags.200.xml
|
155
189
|
- spec/support/stubs/UpdateAutoScalingGroup.200.xml
|
156
190
|
- spec/support/stubs/security-credentials.200.json
|
157
|
-
homepage:
|
191
|
+
homepage: https://github.com/lserman/capistrano-elbas
|
158
192
|
licenses:
|
159
193
|
- MIT
|
160
194
|
metadata: {}
|
@@ -173,21 +207,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
207
|
- !ruby/object:Gem::Version
|
174
208
|
version: '0'
|
175
209
|
requirements: []
|
176
|
-
|
177
|
-
rubygems_version: 2.4.5
|
210
|
+
rubygems_version: 3.0.2
|
178
211
|
signing_key:
|
179
212
|
specification_version: 4
|
180
213
|
summary: Capistrano plugin for deploying to AWS AutoScale Groups.
|
181
214
|
test_files:
|
182
|
-
- spec/ami_spec.rb
|
183
|
-
- spec/
|
215
|
+
- spec/aws/ami_spec.rb
|
216
|
+
- spec/aws/autoscale_group_spec.rb
|
217
|
+
- spec/aws/instance_collection_spec.rb
|
218
|
+
- spec/aws/instance_spec.rb
|
219
|
+
- spec/aws/launch_template_spec.rb
|
220
|
+
- spec/aws/taggable_spec.rb
|
184
221
|
- spec/spec_helper.rb
|
185
222
|
- spec/support/stubs/CreateImage.200.xml
|
186
223
|
- spec/support/stubs/CreateLaunchConfiguration.200.xml
|
224
|
+
- spec/support/stubs/CreateLaunchTemplateVersion.200.xml
|
187
225
|
- spec/support/stubs/CreateTags.200.xml
|
188
226
|
- spec/support/stubs/DeleteLaunchConfiguration.200.xml
|
189
227
|
- spec/support/stubs/DeleteSnapshot.200.xml
|
190
228
|
- spec/support/stubs/DeregisterImage.200.xml
|
229
|
+
- spec/support/stubs/DescribeAutoScalingGroups.200.xml
|
191
230
|
- spec/support/stubs/DescribeImages.200.xml
|
192
231
|
- spec/support/stubs/DescribeInstances.200.xml
|
193
232
|
- spec/support/stubs/DescribeLaunchConfigurations.200.xml
|