Class: SDM::RequestableResourceEntitlements

Inherits:
Object
  • Object
show all
Extended by:
Gem::Deprecate
Defined in:
lib/svc.rb

Overview

RequestableResourceEntitlements enumerates the accounts that are permitted to request access to a given resource. The RequestableResourceEntitlements service is read-only.

See RequestableResourceEntitlement.

Instance Method Summary collapse

Constructor Details

#initialize(channel, parent) ⇒ RequestableResourceEntitlements

Returns a new instance of RequestableResourceEntitlements.



7059
7060
7061
7062
7063
7064
7065
7066
# File 'lib/svc.rb', line 7059

def initialize(channel, parent)
  begin
    @stub = V1::RequestableResourceEntitlements::Stub.new(nil, nil, channel_override: channel)
  rescue => exception
    raise Plumbing::convert_error_to_porcelain(exception)
  end
  @parent = parent
end

Instance Method Details

#list(resource_id, filter, *args, deadline: nil) ⇒ Object

List gets a list of RequestableResourceEntitlement records matching a given set of criteria.



7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
# File 'lib/svc.rb', line 7069

def list(
  resource_id,
  filter,
  *args,
  deadline: nil
)
  req = V1::RequestableResourceEntitlementListRequest.new()
  req.meta = V1::ListRequestMetadata.new()
  if not @parent.page_limit.nil?
    req.meta.limit = @parent.page_limit
  end
  if not @parent.snapshot_time.nil?
    req.meta.snapshot_at = @parent.snapshot_time
  end

  req.resource_id = (resource_id)
  req.filter = Plumbing::quote_filter_args(filter, *args)
  resp = Enumerator::Generator.new { |g|
    tries = 0
    loop do
      begin
        plumbing_response = @stub.list(req, metadata: @parent.("RequestableResourceEntitlements.List", req), deadline: deadline)
      rescue => exception
        if (@parent.shouldRetry(tries, exception, deadline))
          tries + +sleep(@parent.exponentialBackoff(tries, deadline))
          next
        end
        raise Plumbing::convert_error_to_porcelain(exception)
      end
      tries = 0
      plumbing_response.requestable_resource_entitlements.each do |plumbing_item|
        g.yield Plumbing::convert_requestable_resource_entitlement_to_porcelain(plumbing_item)
      end
      break if plumbing_response.meta.next_cursor == ""
      req.meta.cursor = plumbing_response.meta.next_cursor
    end
  }
  resp
end