knife-joyent 0.0.10 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,33 +1,34 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
+ class Chef
4
+ class Knife
5
+ class JoyentServerReboot < Knife
3
6
 
4
- module KnifeJoyent
5
- class JoyentServerReboot < Chef::Knife
7
+ include Knife::JoyentBase
6
8
 
7
- include KnifeJoyent::Base
9
+ banner 'knife joyent server reboot <server_id>'
8
10
 
9
- banner 'knife joyent server reboot <server_id>'
11
+ def run
12
+ unless name_args.size === 1
13
+ show_usage
14
+ exit 1
15
+ end
10
16
 
11
- def run
12
- unless name_args.size === 1
13
- show_usage
14
- exit 1
15
- end
16
-
17
- id = name_args.first
17
+ id = name_args.first
18
18
 
19
- server = self.connection.servers.get(id)
20
- unless server
21
- puts ui.error("Server with id: #{id} not found")
22
- exit 1
23
- end
19
+ server = self.connection.servers.get(id)
20
+ unless server
21
+ puts ui.error("Server with id: #{id} not found")
22
+ exit 1
23
+ end
24
24
 
25
- if server.reboot
26
- puts ui.color("Rebooted Server #{id}", :cyan)
27
- exit 0
28
- else
29
- puts ui.error("Reboot server failed")
30
- exit 1
25
+ if server.reboot
26
+ puts ui.color("Rebooted Server #{id}", :cyan)
27
+ exit 0
28
+ else
29
+ puts ui.error("Reboot server failed")
30
+ exit 1
31
+ end
31
32
  end
32
33
  end
33
34
  end
@@ -1,43 +1,44 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
2
-
3
-
4
- module KnifeJoyent
5
- class JoyentServerResize < Chef::Knife
6
-
7
- include KnifeJoyent::Base
8
-
9
- banner 'knife joyent server resize <server_id> -f <flavor>'
10
-
11
- option :flavor,
12
- :short => "-f <flavor>",
13
- :long => "--flavor <flavor>",
14
- :description => "name of flavor/package to resize to"
15
-
16
- def run
17
- unless config[:flavor]
18
- show_usage
19
- exit 1
20
- end
21
-
22
- unless name_args.size === 1
23
- show_usage
24
- exit 1
25
- end
26
-
27
- id = name_args.first
28
-
29
- server = self.connection.servers.get(id)
30
- unless server
31
- puts ui.error("Server with id: #{id} not found")
32
- exit 1
33
- end
34
-
35
- if self.connection.resize_machine(id, config[:flavor])
36
- puts ui.color("Resized server #{id}", :cyan)
37
- exit 0
38
- else
39
- puts ui.error("Resize server failed")
40
- exit 1
1
+ require 'chef/knife/joyent_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class JoyentServerResize < Knife
6
+
7
+ include Knife::JoyentBase
8
+
9
+ banner 'knife joyent server resize <server_id> -f <flavor>'
10
+
11
+ option :flavor,
12
+ :short => "-f <flavor>",
13
+ :long => "--flavor <flavor>",
14
+ :description => "name of flavor/package to resize to"
15
+
16
+ def run
17
+ unless config[:flavor]
18
+ show_usage
19
+ exit 1
20
+ end
21
+
22
+ unless name_args.size === 1
23
+ show_usage
24
+ exit 1
25
+ end
26
+
27
+ id = name_args.first
28
+
29
+ server = self.connection.servers.get(id)
30
+ unless server
31
+ puts ui.error("Server with id: #{id} not found")
32
+ exit 1
33
+ end
34
+
35
+ if self.connection.resize_machine(id, config[:flavor])
36
+ puts ui.color("Resized server #{id}", :cyan)
37
+ exit 0
38
+ else
39
+ puts ui.error("Resize server failed")
40
+ exit 1
41
+ end
41
42
  end
42
43
  end
43
44
  end
@@ -1,39 +1,41 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
- module KnifeJoyent
4
- class JoyentServerStart < Chef::Knife
3
+ class Chef
4
+ class Knife
5
+ class JoyentServerStart < Knife
5
6
 
6
- include KnifeJoyent::Base
7
+ include Knife::JoyentBase
7
8
 
8
- banner 'knife joyent server start <server_id>'
9
+ banner 'knife joyent server start <server_id>'
9
10
 
10
- def run
11
- unless name_args.size === 1
12
- show_usage
13
- exit 1
14
- end
11
+ def run
12
+ unless name_args.size === 1
13
+ show_usage
14
+ exit 1
15
+ end
15
16
 
16
- id = name_args.first
17
+ id = name_args.first
17
18
 
18
- server = self.connection.servers.get(id)
19
+ server = self.connection.servers.get(id)
19
20
 
20
- unless server
21
- puts ui.error("Unable to locate server: #{id}")
22
- exit 1
23
- end
21
+ unless server
22
+ puts ui.error("Unable to locate server: #{id}")
23
+ exit 1
24
+ end
24
25
 
25
- if server.ready?
26
- puts ui.error("Server is already started")
27
- exit 1
28
- end
26
+ if server.ready?
27
+ puts ui.error("Server is already started")
28
+ exit 1
29
+ end
29
30
 
30
- if server.start
31
- puts ui.color("Started server: #{id}", :cyan)
32
- exit 0
33
- else
34
- puts ui.error("Start server failed")
35
- exit 1
31
+ if server.start
32
+ puts ui.color("Started server: #{id}", :cyan)
33
+ exit 0
34
+ else
35
+ puts ui.error("Start server failed")
36
+ exit 1
37
+ end
36
38
  end
37
- end
39
+ end
38
40
  end
39
41
  end
@@ -1,39 +1,40 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
+ class Chef
4
+ class Knife
5
+ class JoyentServerStop < Knife
3
6
 
4
- module KnifeJoyent
5
- class JoyentServerStop < Chef::Knife
7
+ include Knife::JoyentBase
6
8
 
7
- include KnifeJoyent::Base
9
+ banner 'knife joyent server stop <server_id>'
8
10
 
9
- banner 'knife joyent server stop <server_id>'
11
+ def run
12
+ unless name_args.size === 1
13
+ show_usage
14
+ exit 1
15
+ end
10
16
 
11
- def run
12
- unless name_args.size === 1
13
- show_usage
14
- exit 1
15
- end
16
-
17
- id = name_args.first
17
+ id = name_args.first
18
18
 
19
- server = self.connection.servers.get(id)
19
+ server = self.connection.servers.get(id)
20
20
 
21
- unless server
22
- puts ui.error("Unable to locate server: #{id}")
23
- exit 1
24
- end
21
+ unless server
22
+ puts ui.error("Unable to locate server: #{id}")
23
+ exit 1
24
+ end
25
25
 
26
- if server.stopped?
27
- puts ui.error("Server #{id} is already stopped")
28
- exit 1
29
- end
26
+ if server.stopped?
27
+ puts ui.error("Server #{id} is already stopped")
28
+ exit 1
29
+ end
30
30
 
31
- if server.stop
32
- puts ui.color("Stopped server: #{id}", :cyan)
33
- exit 0
34
- else
35
- puts ui.error("Failed to stop server")
36
- exit 1
31
+ if server.stop
32
+ puts ui.color("Stopped server: #{id}", :cyan)
33
+ exit 0
34
+ else
35
+ puts ui.error("Failed to stop server")
36
+ exit 1
37
+ end
37
38
  end
38
39
  end
39
40
  end
@@ -1,9 +1,10 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
- module KnifeJoyent
4
- class JoyentSnapshotCreate < Chef::Knife
3
+ class Chef
4
+ class Knife
5
+ class JoyentSnapshotCreate < Knife
5
6
 
6
- include KnifeJoyent::Base
7
+ include Knife::JoyentBase
7
8
 
8
9
  banner 'knife joyent snapshot create <server> <snapshot_name>'
9
10
 
@@ -25,19 +26,19 @@ module KnifeJoyent
25
26
  :created => snapshot.created
26
27
  })
27
28
  exit 0
28
- rescue Excon::Errors::Conflict => e
29
- if e.response && e.response.body.kind_of?(String)
30
- error = MultiJson.decode(e.response.body)
31
- puts ui.error(error['message'])
32
- exit 1
33
- else
34
- puts ui.error(e.message)
29
+ rescue Excon::Errors::Conflict => e
30
+ if e.response && e.response.body.kind_of?(String)
31
+ error = MultiJson.decode(e.response.body)
32
+ puts ui.error(error['message'])
33
+ exit 1
34
+ else
35
+ puts ui.error(e.message)
36
+ exit 1
37
+ end
38
+ rescue => e
39
+ puts ui.error('Unexpected Error Occured:' + e.message)
35
40
  exit 1
36
41
  end
37
- rescue => e
38
- puts ui.error('Unexpected Error Occured:' + e.message)
39
- exit 1
40
42
  end
41
-
42
43
  end
43
44
  end
@@ -1,41 +1,42 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
- module KnifeJoyent
4
- class JoyentSnapshotDelete < Chef::Knife
3
+ class Chef
4
+ class Knife
5
+ class JoyentSnapshotDelete < Knife
5
6
 
6
- include KnifeJoyent::Base
7
+ include Knife::JoyentBase
7
8
 
8
- banner 'knife joyent snapshot delete <server> <snapshot_name>'
9
+ banner 'knife joyent snapshot delete <server> <snapshot_name>'
9
10
 
10
- def run
11
- unless name_args.size == 2
12
- show_usage
13
- exit 1
14
- end
11
+ def run
12
+ unless name_args.size == 2
13
+ show_usage
14
+ exit 1
15
+ end
15
16
 
16
- server = name_args[0]
17
- ssname = name_args[1]
17
+ server = name_args[0]
18
+ ssname = name_args[1]
18
19
 
19
- snapshot = self.connection.snapshots.get(server, ssname)
20
- snapshot.destroy
21
- puts ui.color("Deleted snapshot #{snapshot.name}", :cyan)
22
- exit 0
23
- rescue Excon::Errors::NotFound => e
24
- puts ui.error("Snapshot #{ssname} on server #{server} not found")
25
- exit 1
26
- rescue Excon::Errors::Conflict => e
27
- if e.response && e.response.body.kind_of?(String)
28
- error = MultiJson.decode(e.response.body)
29
- puts ui.error(error['message'])
20
+ snapshot = self.connection.snapshots.get(server, ssname)
21
+ snapshot.destroy
22
+ puts ui.color("Deleted snapshot #{snapshot.name}", :cyan)
23
+ exit 0
24
+ rescue Excon::Errors::NotFound => e
25
+ puts ui.error("Snapshot #{ssname} on server #{server} not found")
30
26
  exit 1
31
- else
32
- puts ui.error(e.message)
27
+ rescue Excon::Errors::Conflict => e
28
+ if e.response && e.response.body.kind_of?(String)
29
+ error = MultiJson.decode(e.response.body)
30
+ puts ui.error(error['message'])
31
+ exit 1
32
+ else
33
+ puts ui.error(e.message)
34
+ exit 1
35
+ end
36
+ rescue => e
37
+ puts ui.error('Unexpected Error Occured:' + e.message)
33
38
  exit 1
34
39
  end
35
- rescue => e
36
- puts ui.error('Unexpected Error Occured:' + e.message)
37
- exit 1
38
40
  end
39
-
40
41
  end
41
42
  end
@@ -1,44 +1,45 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
+ class Chef
4
+ class Knife
5
+ class JoyentSnapshotList < Knife
3
6
 
4
- module KnifeJoyent
5
- class JoyentSnapshotList < Chef::Knife
7
+ include Knife::JoyentBase
6
8
 
7
- include KnifeJoyent::Base
9
+ banner "knife joyent snapshot list <server_id>"
8
10
 
9
- banner "knife joyent snapshot list <server_id>"
11
+ def run
10
12
 
11
- def run
12
-
13
- unless name_args.size == 1
14
- show_usage
15
- exit 1
16
- end
13
+ unless name_args.size == 1
14
+ show_usage
15
+ exit 1
16
+ end
17
17
 
18
- server = name_args.first
19
-
20
- snapshots = [
21
- ui.color('ID', :bold),
22
- ui.color('State', :bold),
23
- ui.color('Created', :bold),
24
- ]
25
-
26
- self.connection.snapshots.all(server).each do |s|
27
- snapshots << ui.color(s.name, :bold)
28
- snapshots << case s.state
29
- when "queued" then
30
- ui.color(s.state, :yellow)
31
- when "success" then
32
- ui.color(s.state, :green)
33
- else
34
- ui.color(s.state, :red)
18
+ server = name_args.first
19
+
20
+ snapshots = [
21
+ ui.color('ID', :bold),
22
+ ui.color('State', :bold),
23
+ ui.color('Created', :bold),
24
+ ]
25
+
26
+ self.connection.snapshots.all(server).each do |s|
27
+ snapshots << ui.color(s.name, :bold)
28
+ snapshots << case s.state
29
+ when "queued" then
30
+ ui.color(s.state, :yellow)
31
+ when "success" then
32
+ ui.color(s.state, :green)
33
+ else
34
+ ui.color(s.state, :red)
35
+ end
36
+ snapshots << s.created.to_s
35
37
  end
36
- snapshots << s.created.to_s
37
- end
38
38
 
39
- puts ui.list(snapshots, :uneven_columns_across, 3)
40
- rescue Fog::Compute::Joyent::Errors::NotFound
41
- puts ui.error("Server #{server} not found.")
39
+ puts ui.list(snapshots, :uneven_columns_across, 3)
40
+ rescue Fog::Compute::Joyent::Errors::NotFound
41
+ puts ui.error("Server #{server} not found.")
42
+ end
42
43
  end
43
44
  end
44
45
  end
@@ -1,38 +1,40 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
- module KnifeJoyent
4
- class JoyentTagCreate < Chef::Knife
3
+ class Chef
4
+ class Knife
5
+ class JoyentTagCreate < Knife
5
6
 
6
- include KnifeJoyent::Base
7
+ include Knife::JoyentBase
7
8
 
8
- banner "knife joyent tag create <server_id> <tag> <value>"
9
+ banner "knife joyent tag create <server_id> <tag> <value>"
9
10
 
10
- def run
11
- server = name_args[0]
12
- tagkey = name_args[1]
13
- tagvalue = name_args[2]
11
+ def run
12
+ server = name_args[0]
13
+ tagkey = name_args[1]
14
+ tagvalue = name_args[2]
14
15
 
15
- unless server || tagkey || tagvalue
16
- show_usage
17
- exit 1
18
- end
16
+ unless server || tagkey || tagvalue
17
+ show_usage
18
+ exit 1
19
+ end
19
20
 
20
- tags = [
21
- ui.color('Name', :bold),
22
- ui.color('Value', :bold),
23
- ]
21
+ tags = [
22
+ ui.color('Name', :bold),
23
+ ui.color('Value', :bold),
24
+ ]
24
25
 
25
- self.connection.servers.get(server).add_tags({tagkey => tagvalue}).each do |k, v|
26
- tags << k
27
- tags << v
28
- end
26
+ self.connection.servers.get(server).add_tags({tagkey => tagvalue}).each do |k, v|
27
+ tags << k
28
+ tags << v
29
+ end
29
30
 
30
- puts ui.color("Updated tags for #{server}", :cyan)
31
- puts ui.list(tags, :uneven_columns_across, 2)
32
- exit 0
33
- rescue Excon::Errors::NotFound => e
34
- puts ui.error("Server #{server} not found")
35
- exit 1
31
+ puts ui.color("Updated tags for #{server}", :cyan)
32
+ puts ui.list(tags, :uneven_columns_across, 2)
33
+ exit 0
34
+ rescue Excon::Errors::NotFound => e
35
+ puts ui.error("Server #{server} not found")
36
+ exit 1
37
+ end
36
38
  end
37
39
  end
38
40
  end
@@ -1,62 +1,64 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/base')
1
+ require 'chef/knife/joyent_base'
2
2
 
3
- module KnifeJoyent
4
- class JoyentTagDelete < Chef::Knife
3
+ class Chef
4
+ class Knife
5
+ class JoyentTagDelete < Knife
5
6
 
6
- include KnifeJoyent::Base
7
+ include Knife::JoyentBase
7
8
 
8
- banner ["knife joyent tag delete <server_id> <tag>",
9
- "knife joyent tag delete <server_id> -A"].join("\n")
9
+ banner ["knife joyent tag delete <server_id> <tag>",
10
+ "knife joyent tag delete <server_id> -A"].join("\n")
10
11
 
11
12
 
12
- option :all,
13
- :short => "-A",
14
- :long => "--all",
15
- :boolean => true,
16
- :description => "delete all tags on the machine"
13
+ option :all,
14
+ :short => "-A",
15
+ :long => "--all",
16
+ :boolean => true,
17
+ :description => "delete all tags on the machine"
17
18
 
18
- def run
19
- server_id = name_args[0]
20
- tagname = name_args[1]
21
- all = config[:all]
19
+ def run
20
+ server_id = name_args[0]
21
+ tagname = name_args[1]
22
+ all = config[:all]
22
23
 
23
- if !server_id || (all == false && !tagname) || (all && tagname)
24
- show_usage
25
- exit 1
26
- end
27
-
28
- begin
29
- server = self.connection.servers.get(server_id)
30
- rescue Excon::Errors::NotFound => e
31
- puts ui.error("Server #{server_id} not found")
32
- exit 1
33
- end
24
+ if !server_id || (all == false && !tagname) || (all && tagname)
25
+ show_usage
26
+ exit 1
27
+ end
34
28
 
35
- if all
36
- server.delete_all_tags
37
- puts ui.color("Deleted all tags for #{server_id}", :cyan)
38
- exit 0
39
- else
40
29
  begin
41
- server.delete_tag(tagname)
30
+ server = self.connection.servers.get(server_id)
42
31
  rescue Excon::Errors::NotFound => e
43
- puts ui.error("Tag #{tagname} on server #{server_id} not found")
32
+ puts ui.error("Server #{server_id} not found")
44
33
  exit 1
45
34
  end
46
35
 
47
- tags = [
48
- ui.color('Name', :bold),
49
- ui.color('Value', :bold),
50
- ]
36
+ if all
37
+ server.delete_all_tags
38
+ puts ui.color("Deleted all tags for #{server_id}", :cyan)
39
+ exit 0
40
+ else
41
+ begin
42
+ server.delete_tag(tagname)
43
+ rescue Excon::Errors::NotFound => e
44
+ puts ui.error("Tag #{tagname} on server #{server_id} not found")
45
+ exit 1
46
+ end
51
47
 
52
- server.reload.tags.each do |k, v|
53
- tags << k
54
- tags << v
48
+ tags = [
49
+ ui.color('Name', :bold),
50
+ ui.color('Value', :bold),
51
+ ]
52
+
53
+ server.reload.tags.each do |k, v|
54
+ tags << k
55
+ tags << v
56
+ end
57
+ puts ui.color("Deleted tag #{tagname} for #{server_id}", :cyan)
58
+ puts ui.list(tags, :uneven_columns_across, 2)
55
59
  end
56
- puts ui.color("Deleted tag #{tagname} for #{server_id}", :cyan)
57
- puts ui.list(tags, :uneven_columns_across, 2)
60
+ exit 0
58
61
  end
59
- exit 0
60
62
  end
61
63
  end
62
64
  end