class SDM::RoleGrants
RoleGrants
represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.
Public Class Methods
new(host, insecure, parent)
click to toggle source
# File lib/svc.rb, line 1008 def initialize(host, insecure, parent) begin if insecure @stub = V1::RoleGrants::Stub.new(host, :this_channel_is_insecure) else cred = GRPC::Core::ChannelCredentials.new() @stub = V1::RoleGrants::Stub.new(host, cred) end rescue => exception raise Plumbing::convert_error_to_porcelain(exception) end @parent = parent end
Public Instance Methods
create( role_grant \ , deadline:nil)
click to toggle source
Create registers a new RoleGrant
.
# File lib/svc.rb, line 1022 def create( role_grant \ , deadline:nil) req = V1::RoleGrantCreateRequest.new() req.role_grant = Plumbing::convert_role_grant_to_plumbing(role_grant) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.create(req, metadata: @parent.get_metadata('RoleGrants.Create', req), deadline:deadline) rescue => exception if (@parent.shouldRetry(tries, exception)) tries++ @parent.jitterSleep(tries) next end raise Plumbing::convert_error_to_porcelain(exception) end break end resp = RoleGrantCreateResponse.new() resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta) resp.role_grant = Plumbing::convert_role_grant_to_porcelain(plumbing_response.role_grant) resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit) resp end
delete( id \ , deadline:nil)
click to toggle source
Delete removes a RoleGrant
by ID.
# File lib/svc.rb, line 1084 def delete( id \ , deadline:nil) req = V1::RoleGrantDeleteRequest.new() req.id = (id) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.delete(req, metadata: @parent.get_metadata('RoleGrants.Delete', req), deadline:deadline) rescue => exception if (@parent.shouldRetry(tries, exception)) tries++ @parent.jitterSleep(tries) next end raise Plumbing::convert_error_to_porcelain(exception) end break end resp = RoleGrantDeleteResponse.new() resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta) resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit) resp end
get( id \ , deadline:nil)
click to toggle source
Get reads one RoleGrant
by ID.
# File lib/svc.rb, line 1053 def get( id \ , deadline:nil) req = V1::RoleGrantGetRequest.new() req.id = (id) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.get(req, metadata: @parent.get_metadata('RoleGrants.Get', req), deadline:deadline) rescue => exception if (@parent.shouldRetry(tries, exception)) tries++ @parent.jitterSleep(tries) next end raise Plumbing::convert_error_to_porcelain(exception) end break end resp = RoleGrantGetResponse.new() resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta) resp.role_grant = Plumbing::convert_role_grant_to_porcelain(plumbing_response.role_grant) resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit) resp end
list( filter \ , *args, deadline:nil)
click to toggle source
List gets a list of RoleGrants
matching a given set of criteria.
# File lib/svc.rb, line 1114 def list( filter \ , *args, deadline:nil) req = V1::RoleGrantListRequest.new() req.meta = V1::ListRequestMetadata.new() page_size_option = @parent._test_options['PageSize'] if page_size_option.is_a? Integer req.meta.limit = page_size_option 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.get_metadata('RoleGrants.List', req), deadline:deadline) rescue => exception if (@parent.shouldRetry(tries, exception)) tries++ @parent.jitterSleep(tries) next end raise Plumbing::convert_error_to_porcelain(exception) end tries = 0 plumbing_response.role_grants.each do |plumbing_item| g.yield Plumbing::convert_role_grant_to_porcelain(plumbing_item) end break if plumbing_response.meta.next_cursor == "" req.meta.cursor = plumbing_response.meta.next_cursor end } resp end