Class: AWSCDK::CodePipelineActions::SelfManagedDeploymentProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
code_pipeline_actions/self_managed_deployment_props.rb

Overview

Properties for configuring self-managed permissions.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(administration_role: nil, execution_role_name: nil) ⇒ SelfManagedDeploymentProps

Returns a new instance of SelfManagedDeploymentProps.

Parameters:

  • administration_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The IAM role in the administrator account used to assume execution roles in the target accounts.

  • execution_role_name (String, nil) (defaults to: nil)

    The name of the IAM role in the target accounts used to perform stack set operations.



9
10
11
12
13
14
# File 'code_pipeline_actions/self_managed_deployment_props.rb', line 9

def initialize(administration_role: nil, execution_role_name: nil)
  @administration_role = administration_role
  Jsii::Type.check_type(@administration_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "administrationRole") unless @administration_role.nil?
  @execution_role_name = execution_role_name
  Jsii::Type.check_type(@execution_role_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRoleName") unless @execution_role_name.nil?
end

Instance Attribute Details

#administration_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - Assume an existing role named AWSCloudFormationStackSetAdministrationRole in the same account as the pipeline.

The IAM role in the administrator account used to assume execution roles in the target accounts.

You must create this role before using the StackSet action.

The role needs to be assumable by CloudFormation, and it needs to be able to sts:AssumeRole each of the execution roles (whose names are specified in the execution_role_name parameter) in each of the target accounts.

If you do not specify the role, we assume you have created a role named AWSCloudFormationStackSetAdministrationRole.



30
31
32
# File 'code_pipeline_actions/self_managed_deployment_props.rb', line 30

def administration_role
  @administration_role
end

#execution_role_nameString? (readonly)

Note:

Default: AWSCloudFormationStackSetExecutionRole

The name of the IAM role in the target accounts used to perform stack set operations.

You must create these roles in each of the target accounts before using the StackSet action.

The roles need to be assumable by by the administration_role, and need to have the permissions necessary to successfully create and modify the resources that the subsequent CloudFormation deployments need. Administrator permissions would be commonly granted to these, but if you can scope the permissions down frome there you would be safer.



45
46
47
# File 'code_pipeline_actions/self_managed_deployment_props.rb', line 45

def execution_role_name
  @execution_role_name
end

Class Method Details

.jsii_propertiesObject



47
48
49
50
51
52
# File 'code_pipeline_actions/self_managed_deployment_props.rb', line 47

def self.jsii_properties
  {
    :administration_role => "administrationRole",
    :execution_role_name => "executionRoleName",
  }
end

Instance Method Details

#to_jsiiObject



54
55
56
57
58
59
60
61
# File 'code_pipeline_actions/self_managed_deployment_props.rb', line 54

def to_jsii
  result = {}
  result.merge!({
    "administrationRole" => @administration_role,
    "executionRoleName" => @execution_role_name,
  })
  result.compact
end