esod-client 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ pkg/*
data/README CHANGED
@@ -3,8 +3,11 @@ A simple tool to execute REST requests against an ESOD instance.
3
3
 
4
4
  == Examples ==
5
5
  Retrieving a resource as a Hash:
6
- ./esod-client.rb -u http://elasticserver.com -r server -i 18779 -a c15052 -a asdfasdfasdf
6
+ ./esod-client.rb -u http://elasticserver.com -r server -i 18779 -a c15052
7
7
 
8
8
  Retrieving a property of a resource using dotted notation
9
9
  ./esod-client.rb -u http://localhost:3000 -r server -i 18779 -a c15052 -p "elastic_server.bundles.first.packages.first.display_name"
10
-
10
+
11
+ Retrieving a custom resource path
12
+ ./esod-client.rb -u http://elasticserver.com -e api/admin/server/18779/iso -a c15052
13
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -0,0 +1,19 @@
1
+ $options = Trollop::options do
2
+ banner <<-EOS
3
+ #{File.read('README')}
4
+ Options:
5
+ EOS
6
+ opt :url, "Base url of ESOD service", :required => true, :type => :string
7
+ opt :resource, "Resource to retrieve (ex: server)", :type => :string
8
+ opt :id, "Id of resource to retrieve (ex: 12345)", :type => :string
9
+ opt :resource_path, "Full resource path (instead of resource & id, ex: server/12345)", :type => :string
10
+ opt :property, "Property of the resource, dotted notation (ex: vm_configuration_parameters.first.name)", :type => :string, :required => false
11
+ opt :api_token, "User authentication token", :type => :string, :required => true
12
+ end
13
+ if $options[:resource] || $options[:id]
14
+ Trollop::die :resource_path, "cannot be specified if --resource and --id options are used. Use either --resource-path OR --resource and --id."
15
+ elsif $options[:resource_path]
16
+ if $options[:resource] || $options[:id]
17
+ Trollop::die :resource, "cannot be specified if --resource-path option is used. Use either --resource-path OR --resource and --id."
18
+ end
19
+ end
data/esod-client.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{esod-client}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Yan Pritzker", "CohesiveFT"]
@@ -17,12 +17,14 @@ Gem::Specification.new do |s|
17
17
  "README.ruby"
18
18
  ]
19
19
  s.files = [
20
- "EXAMPLES",
20
+ ".gitignore",
21
+ "EXAMPLES",
21
22
  "GEM_RELEASE",
22
23
  "README",
23
24
  "README.ruby",
24
25
  "Rakefile",
25
26
  "VERSION",
27
+ "command_line_options.rb",
26
28
  "esod-client.gemspec",
27
29
  "esod-client.rb",
28
30
  "esodclient.rb",
@@ -100,8 +102,7 @@ Gem::Specification.new do |s|
100
102
  "lib/rest-client-1.2.0/spec/resource_spec.rb",
101
103
  "lib/rest-client-1.2.0/spec/response_spec.rb",
102
104
  "lib/rest-client-1.2.0/spec/restclient_spec.rb",
103
- "lib/trollop.rb",
104
- "pkg/esod-client-0.2.0.gem"
105
+ "lib/trollop.rb"
105
106
  ]
106
107
  s.homepage = %q{http://github.com/cohesive/esod-client}
107
108
  s.rdoc_options = ["--charset=UTF-8"]
data/esod-client.rb CHANGED
@@ -3,23 +3,17 @@
3
3
  require 'lib/trollop'
4
4
  require 'pp'
5
5
 
6
- $options = Trollop::options do
7
- banner <<-EOS
8
- #{File.read('README')}
9
- Options:
10
- EOS
11
- opt :url, "Base url of ESOD service", :required => true, :type => :string
12
- opt :resource, "Resource to retrieve (ex: server)", :type => :string, :required => true
13
- opt :id, "Id of resource to retrieve (ex: 12345)", :type => :string, :required => true
14
- opt :property, "Property of the resource, dotted notation (ex: vm_configuration_parameters.first.name)", :type => :string, :required => false
15
- opt :api_token, "User authentication token", :type => :string, :required => true
16
- end
17
-
6
+ require 'command_line_options'
18
7
  require 'esodclient'
19
8
 
20
9
  def main
21
10
  client = ESODClient.new($options[:url], $options[:api_token])
22
- response = client.get($options[:resource], $options[:id])
11
+
12
+ response = if $options[:resource_path]
13
+ client.get_path($options[:resource_path])
14
+ else
15
+ client.get($options[:resource], $options[:id])
16
+ end
23
17
 
24
18
  if $options[:property]
25
19
  response = response.value_of_dotted_property($options[:property])
@@ -13,8 +13,6 @@ class ESODClient
13
13
  get_path("#{resource}/#{id}")
14
14
  end
15
15
 
16
- protected
17
-
18
16
  def get_path(path)
19
17
  response = RestClient.get("#{@url}/#{path}.xml?key=#{@token}").to_s
20
18
  response_hash = Hash.from_xml(response)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esod-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yan Pritzker
@@ -24,12 +24,14 @@ extra_rdoc_files:
24
24
  - README
25
25
  - README.ruby
26
26
  files:
27
+ - .gitignore
27
28
  - EXAMPLES
28
29
  - GEM_RELEASE
29
30
  - README
30
31
  - README.ruby
31
32
  - Rakefile
32
33
  - VERSION
34
+ - command_line_options.rb
33
35
  - esod-client.gemspec
34
36
  - esod-client.rb
35
37
  - esodclient.rb
@@ -108,7 +110,6 @@ files:
108
110
  - lib/rest-client-1.2.0/spec/response_spec.rb
109
111
  - lib/rest-client-1.2.0/spec/restclient_spec.rb
110
112
  - lib/trollop.rb
111
- - pkg/esod-client-0.2.0.gem
112
113
  has_rdoc: true
113
114
  homepage: http://github.com/cohesive/esod-client
114
115
  licenses: []
Binary file