ansible_tower_client 0.7.0 → 0.8.0
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 +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/ansible_tower_client/api.rb +1 -7
- data/lib/ansible_tower_client/base_model.rb +11 -3
- data/lib/ansible_tower_client/base_models/job_template.rb +4 -0
- data/lib/ansible_tower_client/exception.rb +1 -1
- data/lib/ansible_tower_client/middleware/raise_tower_error.rb +8 -1
- data/lib/ansible_tower_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6943f87588512d9df4e5c0de28f5d4ce00f589c6
|
4
|
+
data.tar.gz: 633d9521bdaf669184f7598c12c374b58da329ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3025629f8bce8e4e3f58ced59d792ccd1bcb5544538e6d9dce87264e213223a96f2e912b7460424a505b58b2333c7bd476e115e6932aebe45ab1007efc7ee5d1
|
7
|
+
data.tar.gz: 93482e4dc818fa62bdc6d230055d14d574f80b2770cc43af492702083de31d737ee4ca5af9beefc0c9b01be92fedb30287a49e52a66a7babaa63106fe67a5cad
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,16 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [0.8.0] - 2017-02-23
|
7
|
+
### Added
|
8
|
+
- Expose the raw hash of the object [(#74)](https://github.com/ansible/ansible_tower_client_ruby/pull/74)
|
9
|
+
|
10
|
+
### Fixed
|
11
|
+
- Override RAW attributes [(#75)](https://github.com/ansible/ansible_tower_client_ruby/pull/75)
|
12
|
+
- Inherit all errors from StandardError [(#76)](https://github.com/ansible/ansible_tower_client_ruby/pull/76)
|
13
|
+
- Fix error logging after changing error response classes [(#72)](https://github.com/ansible/ansible_tower_client_ruby/pull/72)
|
14
|
+
|
15
|
+
|
6
16
|
## [0.7.0] - 2017-02-17
|
7
17
|
### Changed
|
8
18
|
- Rescue Faraday errors and re-brand them as AnsibleTowerClient Errors [(#71)](https://github.com/ansible/ansible_tower_client_ruby/pull/71)
|
@@ -83,13 +83,7 @@ module AnsibleTowerClient
|
|
83
83
|
rescue Faraday::SSLError => err
|
84
84
|
raise AnsibleTowerClient::SSLError, err
|
85
85
|
rescue Faraday::ClientError => err
|
86
|
-
raise
|
87
|
-
response = err.response
|
88
|
-
logger.debug { "#{self.class.name} #{err.class.name} #{response.pretty_inspect}" }
|
89
|
-
message = JSON.parse(response[:body])['detail'] rescue nil
|
90
|
-
message ||= DEFAULT_ERROR_MSG
|
91
|
-
logger.error("#{self.class.name} #{err.class.name} #{message}")
|
92
|
-
raise AnsibleTowerClient::ConnectionError, message
|
86
|
+
raise AnsibleTowerClient::ConnectionError, err
|
93
87
|
end
|
94
88
|
|
95
89
|
def respond_to_missing?(method, _include_private = false)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module AnsibleTowerClient
|
2
2
|
class BaseModel < HashModel
|
3
|
-
attr_reader :api
|
3
|
+
attr_reader :api, :raw_hash
|
4
4
|
|
5
5
|
def self.base_class
|
6
6
|
superclass == AnsibleTowerClient::BaseModel ? self : superclass.base_class
|
@@ -35,7 +35,7 @@ module AnsibleTowerClient
|
|
35
35
|
def initialize(api, json_or_hash)
|
36
36
|
@api = api
|
37
37
|
|
38
|
-
raw_hash = json_or_hash.kind_of?(Hash) ? json_or_hash : JSON.parse(json_or_hash)
|
38
|
+
@raw_hash = json_or_hash.kind_of?(Hash) ? json_or_hash : JSON.parse(json_or_hash)
|
39
39
|
self.class.send(:id_attr, *raw_hash['related'].keys) if raw_hash.key?('related')
|
40
40
|
|
41
41
|
super(raw_hash)
|
@@ -82,7 +82,11 @@ module AnsibleTowerClient
|
|
82
82
|
def update_attributes!(attributes)
|
83
83
|
@api.patch(url, attributes.to_json)
|
84
84
|
attributes.each do |method_name, value|
|
85
|
-
|
85
|
+
if override_raw_attributes[method_name]
|
86
|
+
send("#{override_raw_attributes[method_name]}=", value)
|
87
|
+
else
|
88
|
+
send("#{method_name}=", value)
|
89
|
+
end
|
86
90
|
end
|
87
91
|
true
|
88
92
|
end
|
@@ -145,6 +149,10 @@ module AnsibleTowerClient
|
|
145
149
|
false
|
146
150
|
end
|
147
151
|
|
152
|
+
def override_raw_attributes
|
153
|
+
{}
|
154
|
+
end
|
155
|
+
|
148
156
|
def hashify(attribute)
|
149
157
|
YAML.safe_load(send(attribute))
|
150
158
|
end
|
@@ -1,9 +1,16 @@
|
|
1
1
|
module AnsibleTowerClient
|
2
2
|
module Middleware
|
3
3
|
class RaiseTowerError < Faraday::Response::Middleware
|
4
|
+
include Logging
|
4
5
|
CLIENT_ERROR_STATUSES = 400...600
|
5
6
|
|
6
7
|
def on_complete(env)
|
8
|
+
return unless CLIENT_ERROR_STATUSES.include?(env[:status])
|
9
|
+
logger.debug { "#{self.class.name} Raw Response:\n#{env.pretty_inspect}" }
|
10
|
+
message = JSON.parse(env.body).pretty_inspect rescue nil
|
11
|
+
message ||= env.body
|
12
|
+
logger.error("#{self.class.name} Response Body:\n#{message}")
|
13
|
+
|
7
14
|
case env[:status]
|
8
15
|
when 402
|
9
16
|
raise AnsibleTowerClient::UnlicensedFeatureError
|
@@ -12,7 +19,7 @@ module AnsibleTowerClient
|
|
12
19
|
when 407
|
13
20
|
# mimic the behavior that we get with proxy requests with HTTPS
|
14
21
|
raise AnsibleTowerClient::ConnectionError, %(407 "Proxy Authentication Required ")
|
15
|
-
|
22
|
+
else
|
16
23
|
raise AnsibleTowerClient::ClientError, env.body
|
17
24
|
end
|
18
25
|
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.
|
4
|
+
version: 0.8.0
|
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: 2017-02-
|
12
|
+
date: 2017-02-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|