ansible_tower_client 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|