Class: SDM::AccountPermissions
- Inherits:
-
Object
- Object
- SDM::AccountPermissions
- Extended by:
- Gem::Deprecate
- Defined in:
- lib/svc.rb
Overview
AccountPermissions records the granular permissions accounts have, allowing them to execute relevant commands via StrongDM's APIs.
See AccountPermission.
Instance Method Summary collapse
-
#initialize(channel, parent) ⇒ AccountPermissions
constructor
A new instance of AccountPermissions.
-
#list(filter, *args, deadline: nil) ⇒ Object
List gets a list of Permission records matching a given set of criteria.
Constructor Details
#initialize(channel, parent) ⇒ AccountPermissions
Returns a new instance of AccountPermissions.
727 728 729 730 731 732 733 734 |
# File 'lib/svc.rb', line 727 def initialize(channel, parent) begin @stub = V1::AccountPermissions::Stub.new(nil, nil, channel_override: channel) rescue => exception raise Plumbing::convert_error_to_porcelain(exception) end @parent = parent end |
Instance Method Details
#list(filter, *args, deadline: nil) ⇒ Object
List gets a list of Permission records matching a given set of criteria.
737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 |
# File 'lib/svc.rb', line 737 def list( filter, *args, deadline: nil ) req = V1::AccountPermissionListRequest.new() req. = V1::ListRequestMetadata.new() if not @parent.page_limit.nil? req..limit = @parent.page_limit end if not @parent.snapshot_time.nil? req..snapshot_at = @parent.snapshot_time end 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.("AccountPermissions.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..each do |plumbing_item| g.yield Plumbing::(plumbing_item) end break if plumbing_response..next_cursor == "" req..cursor = plumbing_response..next_cursor end } resp end |