Class: Aws::IAM::Group
- Inherits:
-
Object
- Object
- Aws::IAM::Group
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-iam/group.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
-
#arn ⇒ String
The Amazon Resource Name (ARN) specifying the group.
-
#create_date ⇒ Time
The date and time, in [ISO 8601 date-time format], when the group was created.
-
#group_id ⇒ String
The stable and unique string identifying the group.
- #name ⇒ String (also: #group_name)
-
#path ⇒ String
The path to the group.
Actions collapse
- #add_user(options = {}) ⇒ EmptyStructure
- #attach_policy(options = {}) ⇒ EmptyStructure
- #create(options = {}) ⇒ Group
- #create_policy(options = {}) ⇒ GroupPolicy
- #delete(options = {}) ⇒ EmptyStructure
- #detach_policy(options = {}) ⇒ EmptyStructure
- #remove_user(options = {}) ⇒ EmptyStructure
- #update(options = {}) ⇒ Group
Associations collapse
- #attached_policies(options = {}) ⇒ Policy::Collection
- #identifiers ⇒ Object deprecated private Deprecated.
- #policies(options = {}) ⇒ GroupPolicy::Collection
- #policy(name) ⇒ GroupPolicy
- #users(options = {}) ⇒ User::Collection
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::Group
Returns the data for this Group.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ Group
constructor
A new instance of Group.
- #load ⇒ self (also: #reload)
Constructor Details
#initialize(name, options = {}) ⇒ Group #initialize(options = {}) ⇒ Group
Returns a new instance of Group.
19 20 21 22 23 24 |
# File 'lib/aws-sdk-iam/group.rb', line 19 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @name = extract_name(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() end |
Instance Method Details
#add_user(options = {}) ⇒ EmptyStructure
135 136 137 138 139 |
# File 'lib/aws-sdk-iam/group.rb', line 135 def add_user( = {}) = .merge(group_name: @name) resp = @client.add_user_to_group() resp.data end |
#arn ⇒ String
The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see [IAM Identifiers] in the *Using IAM* guide.
[1]: docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
65 66 67 |
# File 'lib/aws-sdk-iam/group.rb', line 65 def arn data.arn end |
#attach_policy(options = {}) ⇒ EmptyStructure
157 158 159 160 161 |
# File 'lib/aws-sdk-iam/group.rb', line 157 def attach_policy( = {}) = .merge(group_name: @name) resp = @client.attach_group_policy() resp.data end |
#attached_policies(options = {}) ⇒ Policy::Collection
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 |
# File 'lib/aws-sdk-iam/group.rb', line 365 def attached_policies( = {}) batches = Enumerator.new do |y| = .merge(group_name: @name) resp = @client.list_attached_group_policies() resp.each_page do |page| batch = [] page.data.attached_policies.each do |a| batch << Policy.new( arn: a.policy_arn, client: @client ) end y.yield(batch) end end Policy::Collection.new(batches) end |
#create(options = {}) ⇒ Group
188 189 190 191 192 193 194 195 196 |
# File 'lib/aws-sdk-iam/group.rb', line 188 def create( = {}) = .merge(group_name: @name) resp = @client.create_group() Group.new( name: [:group_name], data: resp.data.group, client: @client ) end |
#create_date ⇒ Time
The date and time, in [ISO 8601 date-time format], when the group was created.
76 77 78 |
# File 'lib/aws-sdk-iam/group.rb', line 76 def create_date data.create_date end |
#create_policy(options = {}) ⇒ GroupPolicy
231 232 233 234 235 236 237 238 239 |
# File 'lib/aws-sdk-iam/group.rb', line 231 def create_policy( = {}) = .merge(group_name: @name) resp = @client.put_group_policy() GroupPolicy.new( group_name: @name, name: [:policy_name], client: @client ) end |
#data ⇒ Types::Group
Returns the data for this Aws::IAM::Group. Calls Client#get_group if #data_loaded? is ‘false`.
103 104 105 106 |
# File 'lib/aws-sdk-iam/group.rb', line 103 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
111 112 113 |
# File 'lib/aws-sdk-iam/group.rb', line 111 def data_loaded? !!@data end |
#delete(options = {}) ⇒ EmptyStructure
246 247 248 249 250 |
# File 'lib/aws-sdk-iam/group.rb', line 246 def delete( = {}) = .merge(group_name: @name) resp = @client.delete_group() resp.data end |
#detach_policy(options = {}) ⇒ EmptyStructure
268 269 270 271 272 |
# File 'lib/aws-sdk-iam/group.rb', line 268 def detach_policy( = {}) = .merge(group_name: @name) resp = @client.detach_group_policy() resp.data end |
#group_id ⇒ String
The stable and unique string identifying the group. For more information about IDs, see [IAM Identifiers] in the *Using IAM* guide.
[1]: docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
53 54 55 |
# File 'lib/aws-sdk-iam/group.rb', line 53 def group_id data.group_id end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
443 444 445 |
# File 'lib/aws-sdk-iam/group.rb', line 443 def identifiers { name: @name } end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::IAM::Group. Returns ‘self` making it possible to chain methods.
group.reload.data
93 94 95 96 97 |
# File 'lib/aws-sdk-iam/group.rb', line 93 def load resp = @client.get_group(group_name: @name) @data = resp.group self end |
#name ⇒ String Also known as: group_name
29 30 31 |
# File 'lib/aws-sdk-iam/group.rb', line 29 def name @name end |
#path ⇒ String
The path to the group. For more information about paths, see [IAM Identifiers] in the *Using IAM* guide.
[1]: docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
41 42 43 |
# File 'lib/aws-sdk-iam/group.rb', line 41 def path data.path end |
#policies(options = {}) ⇒ GroupPolicy::Collection
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 |
# File 'lib/aws-sdk-iam/group.rb', line 388 def policies( = {}) batches = Enumerator.new do |y| = .merge(group_name: @name) resp = @client.list_group_policies() resp.each_page do |page| batch = [] page.data.policy_names.each do |p| batch << GroupPolicy.new( group_name: @name, name: p, client: @client ) end y.yield(batch) end end GroupPolicy::Collection.new(batches) end |
#policy(name) ⇒ GroupPolicy
409 410 411 412 413 414 415 |
# File 'lib/aws-sdk-iam/group.rb', line 409 def policy(name) GroupPolicy.new( group_name: @name, name: name, client: @client ) end |
#remove_user(options = {}) ⇒ EmptyStructure
292 293 294 295 296 |
# File 'lib/aws-sdk-iam/group.rb', line 292 def remove_user( = {}) = .merge(group_name: @name) resp = @client.remove_user_from_group() resp.data end |
#update(options = {}) ⇒ Group
332 333 334 335 336 337 338 339 |
# File 'lib/aws-sdk-iam/group.rb', line 332 def update( = {}) = .merge(group_name: @name) resp = @client.update_group() Group.new( name: [:new_group_name], client: @client ) end |
#users(options = {}) ⇒ User::Collection
422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 |
# File 'lib/aws-sdk-iam/group.rb', line 422 def users( = {}) batches = Enumerator.new do |y| = .merge(group_name: @name) resp = @client.get_group() resp.each_page do |page| batch = [] page.data.users.each do |u| batch << User.new( name: u.user_name, data: u, client: @client ) end y.yield(batch) end end User::Collection.new(batches) end |