Sha256: 5f54271eada9857c8e8d06f266c54cd80b8f7b1c12c5d3d86fec4c15d2fc637c

Contents?: true

Size: 849 Bytes

Versions: 4

Compression:

Stored size: 849 Bytes

Contents

module Awspec::Type
  class IamUser < Base
    def initialize(id)
      super
      @resource_via_client = find_iam_user(id)
      @id = @resource_via_client.user_id if @resource_via_client
    end

    def has_iam_policy?(policy_id)
      policies = select_iam_policy_by_user_name(@resource_via_client.user_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_user_policy({
                                         user_name: @resource_via_client.user_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

4 entries across 4 versions & 1 rubygems

Version Path
awspec-0.37.3 lib/awspec/type/iam_user.rb
awspec-0.37.2 lib/awspec/type/iam_user.rb
awspec-0.37.1 lib/awspec/type/iam_user.rb
awspec-0.37.0 lib/awspec/type/iam_user.rb