class Fog::AWS::IAM::Group
Public Instance Methods
add_user(user_or_name)
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 13 def add_user(user_or_name) requires :name user = if user_or_name.is_a?(Fog::AWS::IAM::User) user_or_name else service.users.new(:id => user_or_name) end service.add_user_to_group(self.name, user.identity) merge_attributes(:users => self.users + [user]) end
attach(policy_or_arn)
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 26 def attach(policy_or_arn) requires :name arn = if policy_or_arn.respond_to?(:arn) policy_or_arn.arn else policy_or_arn end service.attach_group_policy(self.name, arn) end
attached_policies()
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 38 def attached_policies requires :name service.managed_policies(:group_name => self.name) end
destroy()
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 44 def destroy requires :name service.delete_group(self.name) true end
detach(policy_or_arn)
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 51 def detach(policy_or_arn) requires :name arn = if policy_or_arn.respond_to?(:arn) policy_or_arn.arn else policy_or_arn end service.detach_group_policy(self.name, arn) end
policies()
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 86 def policies requires :name service.policies(:group_name => self.name) end
reload()
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 92 def reload requires :name data = begin collection.get(self.name) rescue Excon::Errors::SocketError nil end return unless data merge_attributes(data.attributes) self end
save()
click to toggle source
# File lib/fog/aws/models/iam/group.rb, line 63 def save if !persisted? requires :name merge_attributes( service.create_group(self.name, self.path).body["Group"] ) else params = {} if self.name params['NewGroupName'] = self.name end if self.path params['NewPath'] = self.path end service.update_group(self.name, params) true end end