Skip to content

Role

This class encapsulates and extends the ROS resource type ALIYUN::RAM::Role.

Initializers

import ros_cdk_ram
ros_cdk_ram.Role(
  scope: Construct,
  id: str,
  assume_role_policy_document: typing.Union[IResolvable, AssumeRolePolicyDocumentProperty],
  role_name: typing.Union[str, IResolvable],
  deletion_force: typing.Union[bool, IResolvable] = None,
  description: typing.Union[str, IResolvable] = None,
  ignore_existing: typing.Union[bool, IResolvable] = None,
  max_session_duration: typing.Union[typing.Union[int, float], IResolvable] = None,
  policies: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, PoliciesProperty]]] = None,
  policy_attachments: typing.Union[IResolvable, PolicyAttachmentsProperty] = None,
  tags: typing.List[TagsProperty] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
assume_role_policy_document typing.Union[ros_cdk_core.IResolvable, AssumeRolePolicyDocumentProperty] Property assumeRolePolicyDocument: The RAM assume role policy that is associated with this role.
role_name typing.Union[str, ros_cdk_core.IResolvable] Property roleName: Specifies the role name, containing up to 64 characters.
deletion_force typing.Union[bool, ros_cdk_core.IResolvable] Property deletionForce: Whether force detach the policies attached to the role.
description typing.Union[str, ros_cdk_core.IResolvable] Property description: Remark information, up to 1024 characters or Chinese characters.
ignore_existing typing.Union[bool, ros_cdk_core.IResolvable] Property ignoreExisting: Whether to ignore existing role False: ROS will perform a uniqueness check.If a role with the same name exists, an error will be reported when creating it. True: ROS will not check the uniqueness.If there is a role with the same name, the role creation process will be ignored. If the role is not created by ROS, it will be ignored during update and delete stage.
max_session_duration typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property maxSessionDuration: The maximum session duration of the RAM role.
policies typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, PoliciesProperty]]] Property policies: Describes what actions are allowed on what resources.
policy_attachments typing.Union[ros_cdk_core.IResolvable, PolicyAttachmentsProperty] Property policyAttachments: System and custom policy names to attach.
tags typing.List[TagsProperty] Property tags: Tags to attach to role.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

assume_role_policy_documentRequired

Property assumeRolePolicyDocument: The RAM assume role policy that is associated with this role.


role_nameRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property roleName: Specifies the role name, containing up to 64 characters.


deletion_forceOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property deletionForce: Whether force detach the policies attached to the role.

Default value is false.


descriptionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property description: Remark information, up to 1024 characters or Chinese characters.


ignore_existingOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property ignoreExisting: Whether to ignore existing role False: ROS will perform a uniqueness check.If a role with the same name exists, an error will be reported when creating it. True: ROS will not check the uniqueness.If there is a role with the same name, the role creation process will be ignored. If the role is not created by ROS, it will be ignored during update and delete stage.


max_session_durationOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property maxSessionDuration: The maximum session duration of the RAM role.

Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.


policiesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, PoliciesProperty]]]

Property policies: Describes what actions are allowed on what resources.


policy_attachmentsOptional

Property policyAttachments: System and custom policy names to attach.


tagsOptional

Property tags: Tags to attach to role.

Max support 20 tags to add during create role. Each tag with two properties Key and Value, and Key is required.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
fetch_condition No description.
fetch_dependency No description.
fetch_resource_desc No description.
get_att No description.
set_metadata No description.
add_to_policy Add to the policy of this principal.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

fetch_condition

def fetch_condition() -> RosCondition

fetch_dependency

def fetch_dependency() -> typing.List[str]

fetch_resource_desc

def fetch_resource_desc() -> str

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

add_to_policy

def add_to_policy(
  statement: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, StatementProperty]]],
  version: typing.Union[str, IResolvable]
) -> ManagedPolicy

Add to the policy of this principal.

statementRequired

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, StatementProperty]]]

versionRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_ram
ros_cdk_ram.Role.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
env ros_cdk_core.IResourceEnvironment The environment this resource belongs to.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_arn typing.Union[str, ros_cdk_core.IResolvable] Attribute Arn: Name of alicloud resource.
attr_role_id typing.Union[str, ros_cdk_core.IResolvable] Attribute RoleId: Id of ram role.
attr_role_name typing.Union[str, ros_cdk_core.IResolvable] Attribute RoleName: Name of ram role.
grant_principal IPrincipal The principal to grant permissions to.
principal_name typing.Union[str, ros_cdk_core.IResolvable] The principal to grant permissions to.
principal_type str The principal type, such as 'Group', 'Role', 'User'.
props RoleProps No description.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


envRequired

env: IResourceEnvironment
  • Type: ros_cdk_core.IResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_arnRequired

attr_arn: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute Arn: Name of alicloud resource.


attr_role_idRequired

attr_role_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute RoleId: Id of ram role.


attr_role_nameRequired

attr_role_name: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute RoleName: Name of ram role.


grant_principalRequired

grant_principal: IPrincipal

The principal to grant permissions to.


principal_nameRequired

principal_name: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

The principal to grant permissions to.


principal_typeRequired

principal_type: str
  • Type: str

The principal type, such as 'Group', 'Role', 'User'.


propsRequired

props: RoleProps