class GeoEngineer::Resources::AwsIamRolePolicy

AwsIamRolePolicy aws_iam_role_policy terrform resource,

{www.terraform.io/docs/providers/aws/r/iam_role_policy.html Terraform Docs}

Public Class Methods

_fetch_remote_resources(provider) click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 35
def self._fetch_remote_resources(provider)
  AwsClients
    .iam(provider)
    .list_roles
    .roles
    .map(&:to_h)
    .map { |role| _get_role_policies(provider, role) }
    .flatten
    .compact
    .map { |role_policy| _get_policy(provider, role_policy) }
end
_get_policy(provider, role_policy) click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 56
def self._get_policy(provider, role_policy)
  AwsClients
    .iam(provider)
    .get_role_policy(role_policy)
    .to_h
    .merge({ _terraform_id: "#{role_policy[:role_name]}:#{role_policy[:policy_name]}",
             _geo_id: "#{role_policy[:role_name]}:#{role_policy[:policy_name]}" })
end
_get_role_policies(provider, role) click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 47
def self._get_role_policies(provider, role)
  AwsClients
    .iam(provider)
    .list_role_policies({ role_name: role[:role_name] })
    .map(&:policy_names)
    .flatten
    .map { |policy| { role_name: role[:role_name], policy_name: policy } }
end

Public Instance Methods

_policy_file(path, binding_obj = nil) click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 31
def _policy_file(path, binding_obj = nil)
  _json_file(:policy, path, binding_obj)
end
support_tags?() click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 27
def support_tags?
  false
end
to_terraform_state() click to toggle source
# File lib/geoengineer/resources/aws_iam_role_policy.rb, line 14
def to_terraform_state
  tfstate = super
  attributes = {
    'policy' => policy,
    'role' => role,
    'name' => name
  }

  tfstate[:primary][:attributes] = attributes

  tfstate
end