Class: Vra::Request
- Inherits:
-
Object
- Object
- Vra::Request
- Defined in:
- lib/vra-restapi/request.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Instance Method Summary collapse
- #completed? ⇒ Boolean
- #completion_details ⇒ Object
- #completion_state ⇒ Object
- #failed? ⇒ Boolean
-
#initialize(client, id) ⇒ Request
constructor
A new instance of Request.
- #refresh ⇒ Object
- #refresh_if_empty ⇒ Object
- #request_empty? ⇒ Boolean
- #resources ⇒ Object
- #status ⇒ Object
- #successful? ⇒ Boolean
Constructor Details
#initialize(client, id) ⇒ Request
Returns a new instance of Request.
24 25 26 27 28 29 30 31 32 |
# File 'lib/vra-restapi/request.rb', line 24 def initialize(client, id) @client = client @id = id @request_data = nil @status = nil @completion_state = nil @completion_details = nil end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
23 24 25 |
# File 'lib/vra-restapi/request.rb', line 23 def client @client end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23 24 25 |
# File 'lib/vra-restapi/request.rb', line 23 def id @id end |
Instance Method Details
#completed? ⇒ Boolean
55 56 57 |
# File 'lib/vra-restapi/request.rb', line 55 def completed? successful? || failed? end |
#completion_details ⇒ Object
74 75 76 77 78 79 |
# File 'lib/vra-restapi/request.rb', line 74 def completion_details refresh_if_empty return if request_empty? @request_data['requestCompletion']['completionDetails'] end |
#completion_state ⇒ Object
67 68 69 70 71 72 |
# File 'lib/vra-restapi/request.rb', line 67 def completion_state refresh_if_empty return if request_empty? @request_data['requestCompletion']['requestCompletionState'] end |
#failed? ⇒ Boolean
63 64 65 |
# File 'lib/vra-restapi/request.rb', line 63 def failed? status == 'FAILED' end |
#refresh ⇒ Object
34 35 36 37 38 |
# File 'lib/vra-restapi/request.rb', line 34 def refresh @request_data = JSON.parse(client.http_get!("/catalog-service/api/consumer/requests/#{@id}")) rescue Vra::Exception::HTTPNotFound raise Vra::Exception::NotFound, "request ID #{@id} is not found" end |
#refresh_if_empty ⇒ Object
40 41 42 |
# File 'lib/vra-restapi/request.rb', line 40 def refresh_if_empty refresh if request_empty? end |
#request_empty? ⇒ Boolean
44 45 46 |
# File 'lib/vra-restapi/request.rb', line 44 def request_empty? @request_data.nil? end |
#resources ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/vra-restapi/request.rb', line 81 def resources resources = [] begin request_resources = client.http_get_paginated_array!("/catalog-service/api/consumer/requests/#{@id}/resources") rescue Vra::Exception::HTTPNotFound raise Vra::Exception::NotFound, "resources for request ID #{@id} are not found" end request_resources.each do |resource| resources << Vra::Resource.new(client, data: resource) end resources end |
#status ⇒ Object
48 49 50 51 52 53 |
# File 'lib/vra-restapi/request.rb', line 48 def status refresh_if_empty return if request_empty? @request_data['phase'] end |
#successful? ⇒ Boolean
59 60 61 |
# File 'lib/vra-restapi/request.rb', line 59 def successful? status == 'SUCCESSFUL' end |