Class: AWSCDK::CodePipelineActions::SelfManagedDeploymentProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CodePipelineActions::SelfManagedDeploymentProps
- Defined in:
- code_pipeline_actions/self_managed_deployment_props.rb
Overview
Properties for configuring self-managed permissions.
Instance Attribute Summary collapse
-
#administration_role ⇒ AWSCDK::IAM::IRole?
readonly
The IAM role in the administrator account used to assume execution roles in the target accounts.
-
#execution_role_name ⇒ String?
readonly
The name of the IAM role in the target accounts used to perform stack set operations.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(administration_role: nil, execution_role_name: nil) ⇒ SelfManagedDeploymentProps
constructor
A new instance of SelfManagedDeploymentProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(administration_role: nil, execution_role_name: nil) ⇒ SelfManagedDeploymentProps
Returns a new instance of SelfManagedDeploymentProps.
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_role ⇒ AWSCDK::IAM::IRole? (readonly)
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_name ⇒ String? (readonly)
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_properties ⇒ Object
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_jsii ⇒ Object
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 |