Sha256: a2b63ed30acf2b7384e7f2a21bdfc237dd8b0f9b810b43cb306fe43b45580418

Contents?: true

Size: 916 Bytes

Versions: 79

Compression:

Stored size: 916 Bytes

Contents

module Awspec::Type
  class IamUser < ResourceBase
    aws_resource Aws::IAM::User

    def resource_via_client
      @resource_via_client ||= find_iam_user(@display_name)
    end

    def id
      @id ||= resource_via_client.user_name 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

79 entries across 79 versions & 2 rubygems

Version Path
awspec-1.15.2 lib/awspec/type/iam_user.rb
awspec-1.15.1 lib/awspec/type/iam_user.rb
awspec-1.15.0 lib/awspec/type/iam_user.rb
awspec-1.14.1 lib/awspec/type/iam_user.rb
awspec-1.14.0 lib/awspec/type/iam_user.rb
awspec-1.13.0 lib/awspec/type/iam_user.rb
awspec-1.12.7 lib/awspec/type/iam_user.rb
awspec-1.12.6 lib/awspec/type/iam_user.rb
awspec-1.12.5 lib/awspec/type/iam_user.rb
awspec-1.12.4 lib/awspec/type/iam_user.rb
awspec-1.12.3 lib/awspec/type/iam_user.rb
awspec-1.12.2 lib/awspec/type/iam_user.rb
awspec-1.12.1 lib/awspec/type/iam_user.rb
awspec-1.12.0 lib/awspec/type/iam_user.rb
awspec-1.11.1 lib/awspec/type/iam_user.rb
awspec-1.11.0 lib/awspec/type/iam_user.rb
awspec-1.10.0 lib/awspec/type/iam_user.rb
awspec-1.9.0 lib/awspec/type/iam_user.rb
awspec-1.8.0 lib/awspec/type/iam_user.rb
awspec-1.7.0 lib/awspec/type/iam_user.rb