ubuntu_ami 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/chef/knife/ec2_amis_ubuntu.rb +21 -5
- data/lib/ubuntu_ami/version.rb +1 -1
- metadata +13 -17
- data/README.md +0 -53
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3039ba721b7243cce3b8640dd09b159fa5ac8e860c891fb2baca7baa86100c94
|
4
|
+
data.tar.gz: 64f805d6a62788653a7908503a3006e73f6f8e77d46c47759574c502469b71d0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 591e7d865f2df1db256f3253242588bc39551c642df87e1010be270b8b6be4273a96574cc051ca604292032a6c51916975d7e640508ad3dbc1a90a4e48dc5665
|
7
|
+
data.tar.gz: c7606d65627eb7fa7d509d6495a001c609bff771f83ed11e219c1233b027fe414a971ecbbc269ef2d6a0114771631a3448774c7a29e380c2bba87b242c8e0248
|
@@ -43,15 +43,31 @@ module KnifePlugins
|
|
43
43
|
region.gsub(/-1/,'').gsub(/-/,'_')
|
44
44
|
end
|
45
45
|
|
46
|
+
# Identifies the virtualization type as HVM if image is HVM.
|
47
|
+
#
|
48
|
+
# === Parameters
|
49
|
+
# type<String>:: comes from Ubuntu::Ami#virtualization_type
|
50
|
+
#
|
51
|
+
# === Returns
|
52
|
+
# String:: "_hvm" if the #virtualization_type is HVM, otherwise empty.
|
53
|
+
def virt_type(type)
|
54
|
+
type =~ /hvm/ ? "_hvm" : ''
|
55
|
+
end
|
56
|
+
|
46
57
|
# Indicates whether a particular image has EBS root volume.
|
47
58
|
#
|
48
59
|
# === Parameters
|
49
60
|
# store<String>:: comes from Ubuntu::Ami#root_store
|
50
61
|
#
|
51
62
|
# === Returns
|
52
|
-
# String:: "_ebs" if the #root_store is EBS,
|
63
|
+
# String:: "_ebs" if the #root_store is EBS, _ebs_ssd if ebs-ssd,
|
64
|
+
# _ebs_io1 if provisioned IOPS, etc. Otherwise empty.
|
53
65
|
def disk_store(store)
|
54
|
-
store =~ /ebs/
|
66
|
+
if store =~ /ebs/
|
67
|
+
"_#{store.tr('-', '_')}"
|
68
|
+
else
|
69
|
+
''
|
70
|
+
end
|
55
71
|
end
|
56
72
|
|
57
73
|
# Indicates whether the architecture type is a large or small AMI.
|
@@ -80,8 +96,8 @@ module KnifePlugins
|
|
80
96
|
# === Returns
|
81
97
|
# String:: The region, arch and root_store (if EBS) concatenated
|
82
98
|
# with underscore (_).
|
83
|
-
def build_type(region, arch, root_store)
|
84
|
-
"#{region_fix(region)}_#{size_of(arch)}#{disk_store(root_store)}"
|
99
|
+
def build_type(region, arch, root_store, type)
|
100
|
+
"#{region_fix(region)}_#{size_of(arch)}#{disk_store(root_store)}#{virt_type(type)}"
|
85
101
|
end
|
86
102
|
|
87
103
|
# Iterates over the AMIs available for the specified distro.
|
@@ -94,7 +110,7 @@ module KnifePlugins
|
|
94
110
|
def list_amis(distro)
|
95
111
|
amis = Hash.new
|
96
112
|
Ubuntu.release(distro).amis.each do |ami|
|
97
|
-
amis[build_type(ami.region, ami.arch, ami.root_store)] = ami.name
|
113
|
+
amis[build_type(ami.region, ami.arch, ami.root_store, ami.virtualization_type)] = ami.name
|
98
114
|
end
|
99
115
|
amis
|
100
116
|
end
|
data/lib/ubuntu_ami/version.rb
CHANGED
metadata
CHANGED
@@ -1,52 +1,48 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ubuntu_ami
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Joshua Timberman
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2018-12-10 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Retrieves AMI information from Canonical's Ubuntu release list.Also provides
|
15
14
|
a knife plugin to retrieve the list.
|
16
|
-
email: joshua@
|
15
|
+
email: joshua@chef.io
|
17
16
|
executables: []
|
18
17
|
extensions: []
|
19
|
-
extra_rdoc_files:
|
20
|
-
- README.md
|
21
|
-
- LICENSE
|
18
|
+
extra_rdoc_files: []
|
22
19
|
files:
|
23
20
|
- LICENSE
|
24
|
-
- README.md
|
25
21
|
- lib/chef/knife/ec2_amis_ubuntu.rb
|
26
|
-
- lib/ubuntu_ami/version.rb
|
27
22
|
- lib/ubuntu_ami.rb
|
28
|
-
|
29
|
-
|
23
|
+
- lib/ubuntu_ami/version.rb
|
24
|
+
homepage: https://github.com/jtimberman/ubuntu_ami
|
25
|
+
licenses:
|
26
|
+
- Apache-2.0
|
27
|
+
metadata: {}
|
30
28
|
post_install_message:
|
31
29
|
rdoc_options: []
|
32
30
|
require_paths:
|
33
31
|
- lib
|
34
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
33
|
requirements:
|
37
|
-
- -
|
34
|
+
- - ">="
|
38
35
|
- !ruby/object:Gem::Version
|
39
36
|
version: '0'
|
40
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - ">="
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '0'
|
46
42
|
requirements: []
|
47
43
|
rubyforge_project:
|
48
|
-
rubygems_version:
|
44
|
+
rubygems_version: 2.7.6
|
49
45
|
signing_key:
|
50
|
-
specification_version:
|
46
|
+
specification_version: 4
|
51
47
|
summary: Retrieves AMI information from Canonical's Ubuntu release list.
|
52
48
|
test_files: []
|
data/README.md
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
This gem provides a library for retrieving Canonical's Ubuntu AMI
|
2
|
-
release list for Amazon EC2.
|
3
|
-
|
4
|
-
It also includes a knife plugin to easily retrieve AMIs for launching
|
5
|
-
instances with Chef.
|
6
|
-
|
7
|
-
# Usage
|
8
|
-
|
9
|
-
Find an AMI based on criteria:
|
10
|
-
|
11
|
-
ami = Ubuntu.release("lucid").amis.find do |ami|
|
12
|
-
ami.arch == "amd64" and
|
13
|
-
ami.root_store == "instance-store" and
|
14
|
-
ami.region == "us-east-1"
|
15
|
-
end
|
16
|
-
|
17
|
-
Return certain information about the AMIs:
|
18
|
-
|
19
|
-
Ubuntu.release("lucid").amis.each do |ami|
|
20
|
-
puts "#{ami.region} #{ami.name} (#{ami.arch}, #{ami.root_store})"
|
21
|
-
end
|
22
|
-
|
23
|
-
Use the knife plugin with Knife, from Chef. Pass just a distro name
|
24
|
-
for the list of available AMIs by type:
|
25
|
-
|
26
|
-
knife ec2 amis ubuntu lucid
|
27
|
-
|
28
|
-
The first column will be the available types, and the second is the
|
29
|
-
associated AMI. Specify the type to return just the AMI.
|
30
|
-
|
31
|
-
knife ec2 amis ubuntu lucid us_east_small
|
32
|
-
|
33
|
-
The type is made up of the region, the architecture size (small for 32
|
34
|
-
bit, large for 64 bit). If the AMI is an EBS root store, that will be indicated.
|
35
|
-
|
36
|
-
# License and Authors
|
37
|
-
|
38
|
-
Author:: Joshua Timberman (<joshua@housepub.org>)
|
39
|
-
Author:: Michael Hale (<mike@hales.ws>)
|
40
|
-
|
41
|
-
Copyright:: 2011, Joshua Timberman
|
42
|
-
|
43
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
44
|
-
you may not use this file except in compliance with the License.
|
45
|
-
You may obtain a copy of the License at
|
46
|
-
|
47
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
48
|
-
|
49
|
-
Unless required by applicable law or agreed to in writing, software
|
50
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
51
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
52
|
-
See the License for the specific language governing permissions and
|
53
|
-
limitations under the License.
|