Class: SDM::GrantedResourceEntitlements

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

Overview

GrantedResourceEntitlements enumerates the accounts that have been granted access to a given resource. The GrantedResourceEntitlements service is read-only.

See GrantedResourceEntitlement.

Instance Method Summary collapse

Constructor Details

#initialize(channel, parent) ⇒ GrantedResourceEntitlements

Returns a new instance of GrantedResourceEntitlements.



2843
2844
2845
2846
2847
2848
2849
2850
# File 'lib/svc.rb', line 2843

def initialize(channel, parent)
  begin
    @stub = V1::GrantedResourceEntitlements::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 GrantedResourceEntitlement records matching a given set of criteria.



2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
# File 'lib/svc.rb', line 2853

def list(
  resource_id,
  filter,
  *args,
  deadline: nil
)
  req = V1::GrantedResourceEntitlementListRequest.new()
  req.meta = V1::.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.("GrantedResourceEntitlements.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.granted_resource_entitlements.each do |plumbing_item|
        g.yield Plumbing::convert_granted_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