class SDM::RoleAttachments
RoleAttachments
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 937 def initialize(host, insecure, parent) begin if insecure @stub = V1::RoleAttachments::Stub.new(host, :this_channel_is_insecure) else cred = GRPC::Core::ChannelCredentials.new() @stub = V1::RoleAttachments::Stub.new(host, cred) end rescue => exception raise Plumbing::convert_error_to_porcelain(exception) end @parent = parent end
Public Instance Methods
create( role_attachment \ , deadline:nil)
click to toggle source
Create registers a new RoleAttachment
.
# File lib/svc.rb, line 951 def create( role_attachment \ , deadline:nil) req = V1::RoleAttachmentCreateRequest.new() req.role_attachment = Plumbing::convert_role_attachment_to_plumbing(role_attachment) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.create(req, metadata: @parent.get_metadata('RoleAttachments.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 = RoleAttachmentCreateResponse.new() resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta) resp.role_attachment = Plumbing::convert_role_attachment_to_porcelain(plumbing_response.role_attachment) 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 RoleAttachment
by ID.
# File lib/svc.rb, line 1013 def delete( id \ , deadline:nil) req = V1::RoleAttachmentDeleteRequest.new() req.id = (id) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.delete(req, metadata: @parent.get_metadata('RoleAttachments.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 = RoleAttachmentDeleteResponse.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 RoleAttachment
by ID.
# File lib/svc.rb, line 982 def get( id \ , deadline:nil) req = V1::RoleAttachmentGetRequest.new() req.id = (id) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.get(req, metadata: @parent.get_metadata('RoleAttachments.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 = RoleAttachmentGetResponse.new() resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta) resp.role_attachment = Plumbing::convert_role_attachment_to_porcelain(plumbing_response.role_attachment) 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 RoleAttachments
matching a given set of criteria.
# File lib/svc.rb, line 1043 def list( filter \ , *args, deadline:nil) req = V1::RoleAttachmentListRequest.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('RoleAttachments.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_attachments.each do |plumbing_item| g.yield Plumbing::convert_role_attachment_to_porcelain(plumbing_item) end break if plumbing_response.meta.next_cursor == "" req.meta.cursor = plumbing_response.meta.next_cursor end } resp end