class Vra::Request

Attributes

client[R]
id[R]

Public Class Methods

new(client, id) click to toggle source
# File lib/vra/request.rb, line 25
def initialize(client, id)
  @client = client
  @id     = id

  @request_data       = nil
  @status             = nil
  @completion_state   = nil
  @completion_details = nil
end

Public Instance Methods

completed?() click to toggle source
# File lib/vra/request.rb, line 56
def completed?
  successful? || failed?
end
completion_details() click to toggle source
# File lib/vra/request.rb, line 75
def completion_details
  refresh_if_empty
  return if request_empty?

  @request_data["requestCompletion"]["completionDetails"]
end
completion_state() click to toggle source
# File lib/vra/request.rb, line 68
def completion_state
  refresh_if_empty
  return if request_empty?

  @request_data["requestCompletion"]["requestCompletionState"]
end
failed?() click to toggle source
# File lib/vra/request.rb, line 64
def failed?
  status == "FAILED"
end
refresh() click to toggle source
# File lib/vra/request.rb, line 35
def refresh
  @request_data = client.get_parsed("/catalog-service/api/consumer/requests/#{@id}")
rescue Vra::Exception::HTTPNotFound
  raise Vra::Exception::NotFound, "request ID #{@id} is not found"
end
refresh_if_empty() click to toggle source
# File lib/vra/request.rb, line 41
def refresh_if_empty
  refresh if request_empty?
end
request_empty?() click to toggle source
# File lib/vra/request.rb, line 45
def request_empty?
  @request_data.nil?
end
resources() click to toggle source
# File lib/vra/request.rb, line 82
def 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.map { |resource| Vra::Resource.new(client, data: resource) }
end
status() click to toggle source
# File lib/vra/request.rb, line 49
def status
  refresh_if_empty
  return if request_empty?

  @request_data["phase"]
end
successful?() click to toggle source
# File lib/vra/request.rb, line 60
def successful?
  status == "SUCCESSFUL"
end