ansible_tower_client 0.20.1 → 0.21.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8544b17b193a7505b5452faa90a79279fdb989046bd70c450f510ede064704e
4
- data.tar.gz: b338cb0c79843daf7b25083c95bce106a22333021860500f6bd07a578ba30d05
3
+ metadata.gz: 8a36902a09e1b64b2dc5f02ff68abaed21a14c679977ecfe6b4d295ef89b2750
4
+ data.tar.gz: 718a142b64f0c6b832430e5af4bd993aba979864d5c6d0dcd344f7496c0d943d
5
5
  SHA512:
6
- metadata.gz: 11514f0b355912240f8db68a22bc8d5b7c27c840255b34c97a8b851b36cc42cad147bf86f9cc447cf3e23ee9602e8780847819f2efb91e804277c3015b219bc9
7
- data.tar.gz: 0677ddd8d7649eed1c6c28d7269d90ab623eb8a8dead13c2afdf5520af71465bda8d2a755c7f153779242eee3580843b8aaf2a5f7c344a6992dd0ccd4e0a6fe7
6
+ metadata.gz: 977e42aa1aede8343a1244e2e645dbeea23877c6c10f85f80d72cf9bca6019ef15318a5c4daca4f1dc8f874b60f5b62c896b028bacd75a1fe79d7630c334d9ed
7
+ data.tar.gz: aa83aabdaacfe8e3d194a591a80885262dce295884730ed75e05cde9e60e7e40d22d7baefcfb15fce5a2ff4f992d35cd43458cbd3b3660a447061c436d7ec3f3
@@ -5,6 +5,34 @@ This project adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.21.3] - 2020-07-09
9
+ ### Fixed
10
+ - Update dependency on more_core_extensions [(#145)](https://github.com/ansible/ansible_tower_client_ruby/pull/145)
11
+
12
+ ## [0.21.2] - 2020-06-09
13
+ ### Fixed
14
+ - Return AnsibleTowerClient::ConnectionError if not able to parse response in #verify_credentials [(#144)](https://github.com/ansible/ansible_tower_client_ruby/pull/144)
15
+
16
+ ## [0.21.1] - 2020-02-17
17
+ ### Fixed
18
+ - Revert removal of trailing "/" on get of "config" [(#141)](https://github.com/ansible/ansible_tower_client_ruby/pull/141)
19
+
20
+ ## [0.21.0] - 2020-02-12
21
+ ### Added
22
+ - Add support for connection headers and proxy [(#134)](https://github.com/ansible/ansible_tower_client_ruby/pull/134)
23
+ - Allow request options to be passed to Faraday [(#140)](https://github.com/ansible/ansible_tower_client_ruby/pull/140)
24
+ - Add usage documentation to the README [(#138)](https://github.com/ansible/ansible_tower_client_ruby/pull/138)
25
+
26
+ ### Fixed
27
+ - Fix issue where passing no options gives a NilError [(#136)](https://github.com/ansible/ansible_tower_client_ruby/pull/136)
28
+
29
+ ### Changed
30
+ - Extract MockApi responses into JSON files [(#137)](https://github.com/ansible/ansible_tower_client_ruby/pull/137)
31
+
32
+ ## [0.20.2] - 2019-08-19
33
+ ### Fixed
34
+ - Ensure #vault_password is never nil [(#132)](https://github.com/ansible/ansible_tower_client_ruby/pull/132)
35
+
8
36
  ## [0.20.1] - 2019-06-20
9
37
  ### Fixed
10
38
  - Only attempt to find a related job if there is a reference to one [(#131)](https://github.com/ansible/ansible_tower_client_ruby/pull/131)
@@ -122,7 +150,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
122
150
  ### Fixed
123
151
  - Adjusted project_spec to test on a Project [(#63)](https://github.com/ansible/ansible_tower_client_ruby/pull/63)
124
152
 
125
- [Unreleased]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.20.1...master
153
+ [Unreleased]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.21.3...master
154
+ [0.21.3]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.21.2...v0.21.3
155
+ [0.21.2]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.21.1...v0.21.2
156
+ [0.21.1]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.21.0...v0.21.1
157
+ [0.21.0]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.20.2...v0.21.0
158
+ [0.20.2]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.20.1...v0.20.2
126
159
  [0.20.1]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.20.0...v0.20.1
127
160
  [0.20.0]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.19.1...v0.20.0
128
161
  [0.19.1]: https://github.com/ansible/ansible_tower_client_ruby/compare/v0.19.0...v0.19.1
data/Gemfile CHANGED
@@ -1,11 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ plugin "bundler-inject", "~> 1.1"
4
+ require File.join(Bundler::Plugin.index.load_paths("bundler-inject")[0], "bundler-inject") rescue nil
5
+
3
6
  # Specify your gem's dependencies in ansible_tower_client.gemspec
4
7
  gemspec
5
-
6
- # Pull in a development Gemfile if one exists
7
- eval_gemfile('Gemfile.dev.rb') if File.exists?('Gemfile.dev.rb')
8
-
9
- # HACK: Rails 5 dropped support for Ruby < 2.2.2
10
- active_support_version = "< 5" if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.2.2")
11
- gem "activesupport", active_support_version
data/README.md CHANGED
@@ -23,6 +23,36 @@ Or install it yourself as:
23
23
 
24
24
  $ gem install ansible_tower_client
25
25
 
26
+ ## Usage
27
+
28
+ ```ruby
29
+ require 'ansible_tower_client'
30
+
31
+ # Optionally set a global logger
32
+ AnsibleTowerClient.logger = Logger.new(STDOUT)
33
+
34
+ # Create a connection
35
+ conn = AnsibleTowerClient::Connection.new(
36
+ :base_url => "https://awx.example.com/",
37
+ :username => "admin",
38
+ :password => "pa$$w0rd!",
39
+ :verify_ssl => OpenSSL::SSL::VERIFY_PEER # Optional: an OpenSSL::SSL::VERIFY_* constant
40
+ )
41
+
42
+ # Query the config
43
+ conn.api.config
44
+ # => {"eula"=>"text"
45
+ # "version"=>"3.2.2",
46
+ # "project_base_dir"=>"/var/lib/awx/projects",
47
+ # "ansible_version"=>"2.4.1.0",
48
+ # ...}
49
+
50
+ # Query a collection
51
+ conn.api.job_templates.all
52
+ # => [<AnsibleTowerClient::JobTemplate id=580, type="job_template", url="/api/v1/job_templates/580/", name="ems_refresh_spec-job_template", description="EmsRefreshSpec JobTemplate", ...>
53
+ # <AnsibleTowerClient::JobTemplate id=585, type="job_template", url="/api/v1/job_templates/585/", name="ems_refresh_spec-job_template2", description="EmsRefreshSpec JobTemplate", ...>]
54
+ ```
55
+
26
56
  ## Development
27
57
 
28
58
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.add_runtime_dependency "activesupport"
20
20
  spec.add_runtime_dependency "faraday"
21
21
  spec.add_runtime_dependency "faraday_middleware"
22
- spec.add_runtime_dependency "more_core_extensions", "~> 3.0"
22
+ spec.add_runtime_dependency "more_core_extensions", "~> 4.0"
23
23
 
24
24
  spec.add_development_dependency "factory_bot", "~> 4.11"
25
25
  spec.add_development_dependency "rake", "~> 12.3"
@@ -20,7 +20,10 @@ module AnsibleTowerClient
20
20
  end
21
21
 
22
22
  def verify_credentials
23
- JSON.parse(get("me/").body).fetch_path("results", 0, "username")
23
+ results = get("me/").body
24
+ JSON.parse(results).fetch_path("results", 0, "username")
25
+ rescue JSON::ParserError
26
+ raise AnsibleTowerClient::ConnectionError, "unexpected response"
24
27
  end
25
28
 
26
29
  def activity_stream
@@ -39,7 +39,10 @@ module AnsibleTowerClient
39
39
  end
40
40
 
41
41
  def vault_password
42
- @data['vault_password'] ||= inputs.vault_password.to_s
42
+ @data['vault_password'] ||= begin
43
+ has_vault_password = respond_to?(:inputs) && inputs.respond_to?(:vault_password)
44
+ (inputs.vault_password if has_vault_password).to_s
45
+ end
43
46
  end
44
47
  end
45
48
  end
@@ -5,8 +5,9 @@ module AnsibleTowerClient
5
5
  attr_reader :connection
6
6
 
7
7
  def initialize(options = nil)
8
- raise "Credentials are required" unless options[:username] && options[:password]
8
+ raise ":username and :password are required" if options.nil? || !options[:username] || !options[:password]
9
9
  raise ":base_url is required" unless options[:base_url]
10
+
10
11
  logger = options[:logger] || AnsibleTowerClient.logger
11
12
  verify_ssl = options[:verify_ssl] || OpenSSL::SSL::VERIFY_PEER
12
13
  verify_ssl = verify_ssl == OpenSSL::SSL::VERIFY_NONE ? false : true
@@ -15,7 +16,13 @@ module AnsibleTowerClient
15
16
  require 'faraday_middleware'
16
17
  require 'ansible_tower_client/middleware/raise_tower_error'
17
18
  Faraday::Response.register_middleware :raise_tower_error => -> { Middleware::RaiseTowerError }
18
- @connection = Faraday.new(options[:base_url], :ssl => {:verify => verify_ssl}) do |f|
19
+
20
+ connection_opts = { :ssl => {:verify => verify_ssl} }
21
+ connection_opts[:proxy] = options[:proxy] if options[:proxy].present?
22
+ connection_opts[:headers] = options[:headers] if options[:headers].present?
23
+ connection_opts[:request] = options[:request] if options[:request].present?
24
+
25
+ @connection = Faraday.new(options[:base_url], connection_opts) do |f|
19
26
  f.use(FaradayMiddleware::EncodeJson)
20
27
  f.use(FaradayMiddleware::FollowRedirects, :limit => 3, :standards_compliant => true)
21
28
  f.request(:url_encoded)
@@ -1,3 +1,3 @@
1
1
  module AnsibleTowerClient
2
- VERSION = "0.20.1".freeze
2
+ VERSION = "0.21.3".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansible_tower_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.1
4
+ version: 0.21.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Dunne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-06-20 00:00:00.000000000 Z
12
+ date: 2020-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '4.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '3.0'
69
+ version: '4.0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: factory_bot
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -183,8 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.7.6.2
186
+ rubygems_version: 3.0.6
188
187
  signing_key:
189
188
  specification_version: 4
190
189
  summary: Ansible Tower REST API wrapper gem