Class: Codebuild::Role
- Inherits:
-
Object
- Object
- Codebuild::Role
- Defined in:
- lib/codebuild/role.rb
Constant Summary
Constants included from Dsl::Role
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Role
constructor
A new instance of Role.
- #run ⇒ Object
Methods included from Variables
#load_variables, #load_variables_file
Methods included from Evaluate
Methods included from Dsl::Role
#iam_policy, #managed_iam_policy, #standardize_iam_policy, #standardize_managed_iam_policy
Constructor Details
#initialize(options = {}) ⇒ Role
Returns a new instance of Role.
9 10 11 12 13 14 |
# File 'lib/codebuild/role.rb', line 9 def initialize(={}) @options = @role_path = [:role_path] || get_role_path @properties = default_properties @iam_policy = {} end |
Instance Method Details
#run ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/codebuild/role.rb', line 16 def run load_variables evaluate(@role_path) if File.exist?(@role_path) @properties[:policies] = [{ policy_name: "CodeBuildAccess", policy_document: { version: "2012-10-17", statement: derived_iam_statements } }] if @managed_policy_arns && !@managed_policy_arns.empty? @properties[:managed_policy_arns] = @managed_policy_arns else @properties[:managed_policy_arns] = default_managed_policy_arns end resource = { IamRole: { type: "AWS::IAM::Role", properties: @properties } } CfnCamelizer.transform(resource) end |