Sha256: e287bef2c2d71463c24edf7ddacc98f4f7de2045e38b670de2a7a174bc87b3f8

Contents?: true

Size: 1.13 KB

Versions: 26

Compression:

Stored size: 1.13 KB

Contents

module Awspec::Type
  class IamGroup < Base
    aws_resource Aws::IAM::Group

    def initialize(id)
      super
      @resource_via_client = find_iam_group(id)
      @id = @resource_via_client.group_id if @resource_via_client
    end

    def has_iam_user?(user_id)
      user = find_iam_user(user_id)
      return false unless user
      user_name = user.user_name
      groups = select_iam_group_by_user_name(user_name)
      groups.find do |group|
        group.group_id == @id
      end
    end

    def has_iam_policy?(policy_id)
      policies = select_iam_policy_by_group_name(@resource_via_client.group_name)
      policies.find do |policy|
        policy.policy_arn == policy_id || policy.policy_name == policy_id
      end
    end

    def has_inline_policy?(policy_name, document = nil)
      res = iam_client.get_group_policy({
                                          group_name: @resource_via_client.group_name,
                                          policy_name: policy_name
                                        })
      return JSON.parse(URI.decode(res.policy_document)) == JSON.parse(document) if document
      res
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
awspec-0.55.0 lib/awspec/type/iam_group.rb
awspec-0.54.0 lib/awspec/type/iam_group.rb
awspec-0.52.4 lib/awspec/type/iam_group.rb
awspec-0.52.3 lib/awspec/type/iam_group.rb
awspec-0.52.2 lib/awspec/type/iam_group.rb
awspec-0.52.1 lib/awspec/type/iam_group.rb
awspec-0.52.0 lib/awspec/type/iam_group.rb
awspec-0.51.0 lib/awspec/type/iam_group.rb
awspec-0.50.0 lib/awspec/type/iam_group.rb
awspec-0.49.0 lib/awspec/type/iam_group.rb
awspec-0.48.0 lib/awspec/type/iam_group.rb
awspec-0.47.0 lib/awspec/type/iam_group.rb
awspec-0.46.0 lib/awspec/type/iam_group.rb
awspec-0.45.0 lib/awspec/type/iam_group.rb
awspec-0.44.0 lib/awspec/type/iam_group.rb
awspec-0.43.0 lib/awspec/type/iam_group.rb
awspec-0.42.0 lib/awspec/type/iam_group.rb
awspec-0.41.0 lib/awspec/type/iam_group.rb
awspec-0.40.0 lib/awspec/type/iam_group.rb
awspec-0.39.0 lib/awspec/type/iam_group.rb