A collection that provides access to IAM groups to which a particular user belongs.
user = AWS::IAM.new.users.first groups = user.groups groups.each { |g| puts g.name }
@attr_reader [User] The user.
@private
# File lib/aws/iam/user_group_collection.rb, line 32 def initialize(user, opts = {}) @user = user super end
Adds the user to a group.
@param [Group] group The group to which the user should be added.
# File lib/aws/iam/user_group_collection.rb, line 40 def add(group) client.add_user_to_group(:group_name => group.name, :user_name => user.name) nil end
Removes this user from all groups. @return [nil]
# File lib/aws/iam/user_group_collection.rb, line 57 def clear each do |group| remove(group) end end
Yields once for each group that the user is in.
@param [Hash] options
@option options [Integer] :limit Limits the number of groups
that are returned.
@option options [Integer] :batch_size Controls how many groups
are requested from the service at once.
@yieldparam [Group] group
@return [nil]
# File lib/aws/iam/user_group_collection.rb, line 76 def each(options = {}, &block) super(options.merge(:user_name => user.name), &block) end
Removes the user from a group.
@param [Group] group The group from which the user should be removed
# File lib/aws/iam/user_group_collection.rb, line 49 def remove(group) client.remove_user_from_group(:group_name => group.name, :user_name => user.name) nil end
@private
# File lib/aws/iam/user_group_collection.rb, line 88 def each_item response response.groups.each do |g| group = Group.new_from(:list_groups_for_user, g, g.group_name, :config => config) yield(group) end end
@private
# File lib/aws/iam/user_group_collection.rb, line 82 def request_method :list_groups_for_user end