class AWS::IAM::UserCollection
A collection that provides access to IAM
users belonging to this account.
iam = AWS::IAM.new users = iam.users
## Creating A User
To create an IAM
user you need only provide a user name.
user = users.create('username')
You can also provide an optional `:path` that can be used to organize users.
user = users.create('johndoe', :path => '/staff/customer_support/')
## Getting a User
by Name
You can get a referene to a user by using array notation:
user = users['username']
## Enumerating Users
A user collection can also be used to enumerate users:
users.each do |user| puts user.name end
## Path Prefixes
You can also find/enumerate users who's path begins with a given prefix:
users.each(:path_prefix => '/staff/developers/ruby').each do |ruby_dev| puts "#{ruby_dev.name} is awesome!" end
Public Instance Methods
Returns a reference to the user with the given name:
user = iam.users['username']
@param [String] name Name of the user to return a reference for. @return [User] Returns a reference to the named user.
# File lib/aws/iam/user_collection.rb, line 80 def [] name User.new(name.to_s, :config => config) end
@param [String] name Name of the user to create. @option options [String] :path ('/') The path for the user name.
For more information about paths, see [Identifiers for IAM Entities](http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
@return [User] Returns the newly created user.
# File lib/aws/iam/user_collection.rb, line 65 def create name, options = {} create_opts = {} create_opts[:user_name] = name create_opts[:path] = options[:path] if options[:path] resp = client.create_user(create_opts) User.new_from(:create_user, resp.user, resp.user.user_name, :config => config) end
Yields once for each user.
You can limit the number of users yielded using `:limit` and `:path_prefix`.
@param [Hash] options
@option options [String] :path_prefix ('/') A path prefix that
filters according to the path of the user.
@option options [Integer] :limit The maximum number of users to yield.
@option options [Integer] :batch_size The maximum number of users
to retrieve with each service request.
@yieldparam [User] user @return [nil]
# File lib/aws/iam/user_collection.rb, line 101 def each options = {}, &block super(options, &block) end
Returns an enumerable object for this collection. This can be useful if you want to call an enumerable method that does not accept options (e.g. `collect`, `first`, etc).
users.enumerator(:path_prefix => '/admin').collect(&:name)
@param (see each
) @option (see each
) @return [Enumerator]
# File lib/aws/iam/user_collection.rb, line 114 def enumerator options = {} super(options) end
Protected Instance Methods
@api private
# File lib/aws/iam/user_collection.rb, line 120 def each_item response, &block response.users.each do |item| user = User.new_from(:list_users, item, item.user_name, :config => config) yield(user) end end