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
to_terraform_state()
click to toggle source
Calls superclass method
GeoEngineer::Resource#to_terraform_state
# 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