civo 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/civo/template.rb +2 -0
- data/lib/civo/cli/commands/sshkeys.rb +1 -1
- data/lib/civo/cli/commands/templates.rb +62 -0
- data/lib/civo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1082d3b978ce84ff03add64d9a1f20883b83e2f9
|
4
|
+
data.tar.gz: 462382d9c3352af1d28fce02410df740db249f1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aec42aea434594ced9cb25461ad188e91dce2dad87dbbbce8dbcc6bb547dc5dc01d9ede072358036f3c63cb266a022948096610863507e1a0dd1954f0bdd5b98
|
7
|
+
data.tar.gz: 0cad5e94b3c539d411734043b6558fd6e7c566f5d9197e70533b08eae866b39f51a4441a3944e0bb910e15eda5af6cf8080a9d4e3685f5e80d458a00417bd9c4
|
data/app/models/civo/template.rb
CHANGED
@@ -15,7 +15,7 @@ command "sshkeys:upload" do |c|
|
|
15
15
|
c.description = "Upload an SSH public key for installing in to new instances"
|
16
16
|
c.example "Uploads an SSH public key, calling it 'default' from file '~/.ssh/id_rsa.pub'", 'civo sshkeys:upload default ~/.ssh/id_rsa.pub'
|
17
17
|
c.action do |args, options|
|
18
|
-
pub_key = File.read(args[1])
|
18
|
+
pub_key = File.read(File.expand_path(args[1]))
|
19
19
|
begin
|
20
20
|
Civo::SshKey.create(name: args.first, public_key: pub_key)
|
21
21
|
puts "SSH key '#{args.first}' uploaded."
|
@@ -10,3 +10,65 @@ command "templates" do |c|
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
alias_command "template", "templates"
|
13
|
+
|
14
|
+
if Civo::Config.admin?
|
15
|
+
command "templates:create" do |c|
|
16
|
+
c.description = "Create a template (the ID should be all lower-case, hyphens and full stops)"
|
17
|
+
c.option "--name STRING", String, "The name of the template"
|
18
|
+
c.option "--image-id STRING", String, "The Openstack Image ID"
|
19
|
+
c.option "--short-description STRING", String, "A short (one-line) description of this template"
|
20
|
+
c.option "--description STRING", String, "A longer (Markdown format) description of this template"
|
21
|
+
c.option "--cloud-init-file STRING", String, "The filename of a cloud init file"
|
22
|
+
c.example "Creates a template with the ID 'ubuntu-apache' with a cloud init file called 'my-cloud-config'", 'civo template:create ubuntu-apache --image-id 12345-67890-12345 --cloud-init-file=my-cloud-config'
|
23
|
+
c.action do |args, options|
|
24
|
+
params = {
|
25
|
+
id: args[0]
|
26
|
+
}
|
27
|
+
params[:name] = options.name if options.name
|
28
|
+
params[:image_id] = options.image_id if options.image_id
|
29
|
+
params[:short_description] = options.short_description if options.short_description
|
30
|
+
params[:description] = options.description if options.description
|
31
|
+
cloud_init_file = File.expand_path(options.cloud_init_file)
|
32
|
+
params[:cloud_config] = File.read(cloud_init_file) if options.cloud_init_file && File.exist?(cloud_init_file)
|
33
|
+
begin
|
34
|
+
Civo::Template.create(params)
|
35
|
+
puts "Template '#{args.first}' updated."
|
36
|
+
rescue Flexirest::HTTPUnauthorisedClientException, Flexirest::HTTPForbiddenClientException
|
37
|
+
puts "Access denied to your default token, ensure it's set correctly with 'civo tokens'"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
alias_command "template:create", "templates:create"
|
42
|
+
alias_command "template:new", "templates:create"
|
43
|
+
alias_command "templates:new", "templates:create"
|
44
|
+
|
45
|
+
command "templates:update" do |c|
|
46
|
+
c.description = "Update a template"
|
47
|
+
c.option "--name STRING", String, "The name of the template"
|
48
|
+
c.option "--image-id STRING", String, "The Openstack Image ID"
|
49
|
+
c.option "--short-description STRING", String, "A short (one-line) description of this template"
|
50
|
+
c.option "--description STRING", String, "A longer (Markdown format) description of this template"
|
51
|
+
c.option "--cloud-init-file STRING", String, "The filename of a cloud init file"
|
52
|
+
c.example "Updates a template with the ID 'ubuntu-apache' with a cloud init file called 'my-cloud-config'", 'civo template:update ubuntu-apache --cloud-init-file=my-cloud-config'
|
53
|
+
c.action do |args, options|
|
54
|
+
params = {
|
55
|
+
id: args[0]
|
56
|
+
}
|
57
|
+
cloud_init_file = File.expand_path(options.cloud_init_file)
|
58
|
+
params[:name] = options.name if options.name
|
59
|
+
params[:image_id] = options.image_id if options.image_id
|
60
|
+
params[:short_description] = options.short_description if options.short_description
|
61
|
+
params[:description] = options.description if options.description
|
62
|
+
params[:cloud_config] = File.read(cloud_init_file) if options.cloud_init_file && File.exist?(cloud_init_file)
|
63
|
+
begin
|
64
|
+
Civo::Template.save(params)
|
65
|
+
puts "Template '#{args.first}' updated."
|
66
|
+
rescue Flexirest::HTTPUnauthorisedClientException, Flexirest::HTTPForbiddenClientException
|
67
|
+
puts "Access denied to your default token, ensure it's set correctly with 'civo tokens'"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
alias_command "template:update", "templates:update"
|
72
|
+
alias_command "template:save", "templates:update"
|
73
|
+
alias_command "templates:save", "templates:update"
|
74
|
+
end
|
data/lib/civo/version.rb
CHANGED