module Pipedream::Dsl::Role
Constants
- PROPERTIES
Public Instance Methods
iam_policy(*definitions)
click to toggle source
convenience wrapper methods
# File lib/pipedream/dsl/role.rb, line 19 def iam_policy(*definitions) @iam_statements = definitions.map { |definition| standardize_iam_policy(definition) } end
managed_iam_policy(*definitions)
click to toggle source
# File lib/pipedream/dsl/role.rb, line 39 def managed_iam_policy(*definitions) @managed_policy_arns = definitions.map { |definition| standardize_managed_iam_policy(definition) } end
standardize_iam_policy(definition)
click to toggle source
Returns standarized IAM statement
# File lib/pipedream/dsl/role.rb, line 24 def standardize_iam_policy(definition) case definition when String # Expands simple string from: logs => logs:* definition = "#{definition}:*" unless definition.include?(':') { action: [definition], effect: "Allow", resource: "*", } when Hash definition end end
standardize_managed_iam_policy(definition)
click to toggle source
AmazonEC2ReadOnlyAccess => arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
# File lib/pipedream/dsl/role.rb, line 44 def standardize_managed_iam_policy(definition) return definition if definition.include?('iam::aws:policy') "arn:aws:iam::aws:policy/#{definition}" end