factor-connector-tutum 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e206706a75e632408d86913164433980305da088
4
+ data.tar.gz: 370233599862c52224bf5a684ad30a612ade53a5
5
+ SHA512:
6
+ metadata.gz: 2517dc56b473be6df235f63f36d6604e6375391918c6edce72f44539fd98d205577812bb6f306124f63bad703629a7162782a6acc30fa6fe747166c9e362d1b8
7
+ data.tar.gz: 1e1cc640fe4692f5ad17b2e9fdc443a6903435896b1061db90ee45f24769e7d2f78b6f363f37854883f890ededb68ffc8160c29b39203dead6356dd004076aac
@@ -0,0 +1,85 @@
1
+ require 'factor-connector-api'
2
+ require 'tutum'
3
+
4
+ Factor::Connector.service 'tutum_cluster' do
5
+ action 'list' do |params|
6
+
7
+ username = params['username']
8
+ api_key = params['api_key']
9
+
10
+ fail 'A username is required' unless username
11
+ fail 'An API key (api_key) is required' unless api_key
12
+
13
+ info 'Initializing connection to Tutum'
14
+ begin
15
+ session = Tutum.new(username, api_key)
16
+ response = session.node_clusters.list
17
+ info 'Parsing list response'
18
+ content = JSON.parse(response)
19
+ rescue
20
+ fail 'Failed to list clusters'
21
+ end
22
+
23
+ action_callback content
24
+ end
25
+
26
+ action 'get' do |params|
27
+
28
+ username = params['username']
29
+ api_key = params['api_key']
30
+ uuid = params['cluster_id']
31
+
32
+ fail 'A username is required' unless username
33
+ fail 'An API key (api_key) is required' unless api_key
34
+ fail 'A cluster UUID (cluster_id) is required' unless uuid
35
+
36
+ info 'Initializing connection to Tutum'
37
+ begin
38
+ session = Tutum.new(username, api_key)
39
+ response = session.node_clusters.get(uuid)
40
+ info 'Parsing cluster response'
41
+ content = JSON.parse(response)
42
+ rescue
43
+ fail 'Failed to retrieve cluster'
44
+ end
45
+
46
+ action_callback content
47
+ end
48
+
49
+ action 'create' do |params|
50
+
51
+ username = params['username']
52
+ api_key = params['api_key']
53
+ name = params['name']
54
+ node_type = params['node_type']
55
+ region = params['region']
56
+ target_num_nodes = params['target_num_nodes']
57
+
58
+ fail 'A username is required' unless username
59
+ fail 'An API key (api_key) is required' unless api_key
60
+ fail 'A cluster name is required' unless name
61
+ fail 'A node type (node_type) is required' unless node_type
62
+ fail 'A region is required' unless region
63
+ target_num_nodes ||= 1
64
+
65
+ params = {
66
+ name: name,
67
+ node_type: node_type,
68
+ region: region,
69
+ target_num_nodes: target_num_nodes
70
+ }
71
+
72
+ info 'Initializing connection to Tutum'
73
+ begin
74
+ session = Tutum.new(username, api_key)
75
+ response = session.node_clusters.create(params)
76
+ info 'Parsing creation response'
77
+ content = JSON.parse(response)
78
+ rescue
79
+ fail 'Failed to create cluster'
80
+ end
81
+
82
+ action_callback content
83
+ end
84
+ end
85
+
@@ -0,0 +1,48 @@
1
+ require 'factor-connector-api'
2
+ require 'tutum'
3
+
4
+ Factor::Connector.service 'tutum_container' do
5
+ action 'list' do |params|
6
+
7
+ username = params['username']
8
+ api_key = params['api_key']
9
+
10
+ fail 'A username is required' unless username
11
+ fail 'An API key (api_key) is required' unless api_key
12
+
13
+ info 'Initializing connection to Tutum'
14
+ begin
15
+ session = Tutum.new(username, api_key)
16
+ response = session.containers.list
17
+ info 'Parsing list response'
18
+ content = JSON.parse(response)
19
+ rescue
20
+ fail 'Failed to list containers'
21
+ end
22
+
23
+ action_callback content
24
+ end
25
+
26
+ action 'get' do |params|
27
+
28
+ username = params['username']
29
+ api_key = params['api_key']
30
+ uuid = params['container_id']
31
+
32
+ fail 'A username is required' unless username
33
+ fail 'An API key (api_key) is required' unless api_key
34
+ fail 'A container UUID (container_id) is required' unless uuid
35
+
36
+ info 'Initializing connection to Tutum'
37
+ begin
38
+ session = Tutum.new(username, api_key)
39
+ response = session.containers.get(uuid)
40
+ info 'Parsing container response'
41
+ content = JSON.parse(response)
42
+ rescue
43
+ fail "Failed to retrieve the container's information"
44
+ end
45
+
46
+ action_callback content
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ require 'factor-connector-api'
2
+ require 'tutum'
3
+
4
+ Factor::Connector.service 'tutum_node' do
5
+ action 'list' do |params|
6
+
7
+ username = params['username']
8
+ api_key = params['api_key']
9
+
10
+ fail 'A username is required' unless username
11
+ fail 'An API key (api_key) is required' unless api_key
12
+
13
+ info 'Initializing connection to Tutum'
14
+ begin
15
+ session = Tutum.new(username, api_key)
16
+ response = session.nodes.list
17
+ info 'Parsing list response'
18
+ content = JSON.parse(response)
19
+ rescue
20
+ fail 'Failed to list nodes'
21
+ end
22
+
23
+ action_callback content
24
+ end
25
+
26
+ action 'get' do |params|
27
+
28
+ username = params['username']
29
+ api_key = params['api_key']
30
+ uuid = params['node_id']
31
+
32
+ fail 'A username is required' unless username
33
+ fail 'An API key (api_key) is required' unless api_key
34
+ fail 'A node UUID (node_id) is required' unless uuid
35
+
36
+ info 'Initializing connection to Tutum'
37
+ begin
38
+ session = Tutum.new(username, api_key)
39
+ response = session.nodes.get(uuid)
40
+ info 'Parsing node information'
41
+ content = JSON.parse(response)
42
+ rescue
43
+ fail 'Failed to list nodes'
44
+ end
45
+
46
+ action_callback content
47
+ end
48
+ end
@@ -0,0 +1,94 @@
1
+ require 'factor-connector-api'
2
+ require 'tutum'
3
+
4
+ Factor::Connector.service 'tutum_service' do
5
+ action 'list' do |params|
6
+
7
+ username = params['username']
8
+ api_key = params['api_key']
9
+
10
+ fail 'A username is required' unless username
11
+ fail 'An API key (api_key) is required' unless api_key
12
+
13
+ info 'Initializing connection to Tutum'
14
+ begin
15
+ session = Tutum.new(username, api_key)
16
+ response = session.services.list
17
+ info 'Parsing list response'
18
+ content = JSON.parse(response)
19
+ rescue
20
+ fail 'Failed to list services'
21
+ end
22
+
23
+ action_callback content
24
+ end
25
+
26
+ action 'get' do |params|
27
+
28
+ username = params['username']
29
+ api_key = params['api_key']
30
+ uuid = params['service_id']
31
+
32
+ fail 'A username is required' unless username
33
+ fail 'An API key (api_key) is required' unless api_key
34
+ fail 'A service UUID (service_id) is required' unless uuid
35
+
36
+ info 'Initializing connection to Tutum'
37
+ begin
38
+ session = Tutum.new(username, api_key)
39
+ response = session.services.get(uuid)
40
+ info 'Parsing service response'
41
+ content = JSON.parse(response)
42
+ rescue
43
+ fail "Failed to retreive the service's information"
44
+ end
45
+
46
+ action_callback content
47
+ end
48
+
49
+ action 'logs' do |params|
50
+
51
+ username = params['username']
52
+ api_key = params['api_key']
53
+ uuid = params['service_id']
54
+
55
+ fail 'A username is required' unless username
56
+ fail 'An API key (api_key) is required' unless api_key
57
+ fail 'A service UUID (service_id) is required' unless uuid
58
+
59
+ info 'Initializing connection to Tutum'
60
+ begin
61
+ session = Tutum.new(username, api_key)
62
+ response = session.services.logs(uuid)
63
+ info 'Parsing service response'
64
+ content = JSON.parse(response)
65
+ rescue
66
+ fail "Failed to retreive the service's information"
67
+ end
68
+
69
+ action_callback content
70
+ end
71
+
72
+ action 'start' do |params|
73
+
74
+ username = params['username']
75
+ api_key = params['api_key']
76
+ uuid = params['service_id']
77
+
78
+ fail 'A username is required' unless username
79
+ fail 'An API key (api_key) is required' unless api_key
80
+ fail 'A service UUID (service_id) is required' unless uuid
81
+
82
+ info 'Initializing connection to Tutum'
83
+ begin
84
+ session = Tutum.new(username, api_key)
85
+ response = session.services.start(uuid)
86
+ info 'Parsing commencement response'
87
+ content = JSON.parse(response)
88
+ rescue
89
+ fail "Failed to retreive the service's information"
90
+ end
91
+
92
+ action_callback content
93
+ end
94
+ end
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: factor-connector-tutum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Josie Wright
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: factor-connector-api
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: tutum-api
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: codeclimate-test-reporter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.1.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.1.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 10.3.2
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 10.3.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: wrong
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.1
97
+ description:
98
+ email:
99
+ - jozwright@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - lib/factor/connector/tutum_cluster.rb
105
+ - lib/factor/connector/tutum_container.rb
106
+ - lib/factor/connector/tutum_node.rb
107
+ - lib/factor/connector/tutum_service.rb
108
+ homepage: https://factor.io
109
+ licenses: []
110
+ metadata: {}
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.2.2
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: Tutum Factor.io Connector
131
+ test_files: []