RosRoles
This class is a base encapsulation around the ROS resource type DATASOURCE::RAM::Roles
, which is used to query the details of RAM roles.
Initializers
import { datasource } from '@alicloud/ros-cdk-ram'
new datasource.RosRoles(scope: Construct, id: string, props: RosRolesProps, enableResourcePropertyConstraint: boolean)
Name | Type | Description |
---|---|---|
scope |
@alicloud/ros-cdk-core.Construct |
- scope in which this resource is defined. |
id |
string |
- scoped id of the resource. |
props |
RosRolesProps |
- resource properties. |
enableResourcePropertyConstraint |
boolean |
No description. |
scope
Required
- Type: @alicloud/ros-cdk-core.Construct
scope in which this resource is defined.
id
Required
- Type: string
scoped id of the resource.
props
Required
- Type: RosRolesProps
resource properties.
enableResourcePropertyConstraint
Required
- Type: boolean
Methods
Name | Description |
---|---|
toString |
Returns a string representation of this construct. |
synthesize |
Allows this construct to emit artifacts into the cloud assembly during synthesis. |
overrideLogicalId |
Overrides the auto-generated logical ID with a specific ID. |
addCondition |
No description. |
addCount |
No description. |
addDeletionOverride |
Syntactic sugar for addOverride(path, undefined) . |
addDependsOn |
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. |
addDesc |
No description. |
addMetaData |
No description. |
addOverride |
Adds an override to the synthesized ROS resource. |
addPropertyDeletionOverride |
Adds an override that deletes the value of a property from the resource definition. |
addPropertyOverride |
Adds an override to a resource property. |
addRosDependency |
No description. |
applyRemovalPolicy |
Sets the deletion policy of the resource based on the removal policy specified. |
getAtt |
Returns a token for an runtime attribute of this resource. |
toString
public toString(): string
Returns a string representation of this construct.
synthesize
public synthesize(session: ISynthesisSession): void
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.
- Type: @alicloud/ros-cdk-core.ISynthesisSession
The synthesis session.
overrideLogicalId
public overrideLogicalId(newLogicalId: string): void
Overrides the auto-generated logical ID with a specific ID.
- Type: string
The new logical ID to use for this stack element.
addCondition
public addCondition(con: RosCondition): void
- Type: @alicloud/ros-cdk-core.RosCondition
addCount
public addCount(count: number | IResolvable): void
- Type: number | @alicloud/ros-cdk-core.IResolvable
addDeletionOverride
public addDeletionOverride(path: string): void
Syntactic sugar for addOverride(path, undefined)
.
- Type: string
The path of the value to delete.
addDependsOn
public addDependsOn(target: RosResource): void
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Type: @alicloud/ros-cdk-core.RosResource
addDesc
public addDesc(desc: string): void
- Type: string
addMetaData
public addMetaData(key: string, value: any): void
- Type: string
- Type: any
addOverride
public addOverride(path: string, value: any): void
Adds an override to the synthesized ROS resource.
To add a
property override, either use addPropertyOverride
or prefix path
with
"Properties." (i.e. Properties.TopicName
).
If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
For example,
addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute'])
addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE')
would add the overrides
"Properties": {
"GlobalSecondaryIndexes": [
{
"Projection": {
"NonKeyAttributes": [ "myattribute" ]
...
}
...
},
{
"ProjectionType": "INCLUDE"
...
},
]
...
}
- Type: string
The path of the property, you can use dot notation to override values in complex types.
Any intermdediate keys will be created as needed.
- Type: any
The value.
Could be primitive or complex.
addPropertyDeletionOverride
public addPropertyDeletionOverride(propertyPath: string): void
Adds an override that deletes the value of a property from the resource definition.
- Type: string
The path to the property.
addPropertyOverride
public addPropertyOverride(propertyPath: string, value: any): void
Adds an override to a resource property.
Syntactic sugar for addOverride("Properties.<...>", value)
.
- Type: string
The path of the property.
- Type: any
The value.
addRosDependency
public addRosDependency(target: string): void
- Type: string
applyRemovalPolicy
public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void
Sets the deletion policy of the resource based on the removal policy specified.
- Type: @alicloud/ros-cdk-core.RemovalPolicy
- Type: @alicloud/ros-cdk-core.RemovalPolicyOptions
getAtt
public getAtt(attributeName: string): Reference
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g. resource.arn
), but this can be used for future compatibility
in case there is no generated attribute.
- Type: string
The name of the attribute.
Static Functions
Name | Description |
---|---|
isConstruct |
Return whether the given object is a Construct. |
isRosElement |
Returns true if a construct is a stack element (i.e. part of the synthesized template). |
isRosResource |
Check whether the given construct is a RosResource. |
isConstruct
import { datasource } from '@alicloud/ros-cdk-ram'
datasource.RosRoles.isConstruct(x: any)
Return whether the given object is a Construct.
- Type: any
isRosElement
import { datasource } from '@alicloud/ros-cdk-ram'
datasource.RosRoles.isRosElement(x: any)
Returns true
if a construct is a stack element (i.e. part of the synthesized template).
Uses duck-typing instead of instanceof
to allow stack elements from different
versions of this library to be included in the same stack.
- Type: any
isRosResource
import { datasource } from '@alicloud/ros-cdk-ram'
datasource.RosRoles.isRosResource(construct: IConstruct)
Check whether the given construct is a RosResource.
- Type: @alicloud/ros-cdk-core.IConstruct
Properties
Name | Type | Description |
---|---|---|
node |
@alicloud/ros-cdk-core.ConstructNode |
The construct tree node associated with this construct. |
creationStack |
string[] |
No description. |
logicalId |
string |
The logical ID for this stack element. |
stack |
@alicloud/ros-cdk-core.Stack |
The stack in which this element is defined. |
ref |
string |
Return a string that will be resolved to a RosTemplate { Ref } for this element. |
rosOptions |
@alicloud/ros-cdk-core.IRosResourceOptions |
Options for this resource, such as condition, update policy etc. |
rosResourceType |
string |
ROS resource type. |
attrRoleNames |
@alicloud/ros-cdk-core.IResolvable |
No description. |
attrRoles |
@alicloud/ros-cdk-core.IResolvable |
No description. |
enableResourcePropertyConstraint |
boolean |
No description. |
refreshOptions |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
roleName |
string | @alicloud/ros-cdk-core.IResolvable |
No description. |
node
Required
public readonly node: ConstructNode;
- Type: @alicloud/ros-cdk-core.ConstructNode
The construct tree node associated with this construct.
creationStack
Required
public readonly creationStack: string[];
- Type: string[]
logicalId
Required
public readonly logicalId: string;
- Type: string
The logical ID for this stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use overrideLogicalId(newLogicalId)
.
stack
Required
public readonly stack: Stack;
- Type: @alicloud/ros-cdk-core.Stack
The stack in which this element is defined.
RosElements must be defined within a stack scope (directly or indirectly).
ref
Required
public readonly ref: string;
- Type: string
Return a string that will be resolved to a RosTemplate { Ref }
for this element.
If, by any chance, the intrinsic reference of a resource is not a string, you could
coerce it to an IResolvable through Lazy.any({ produce: resource.ref })
.
rosOptions
Required
public readonly rosOptions: IRosResourceOptions;
- Type: @alicloud/ros-cdk-core.IRosResourceOptions
Options for this resource, such as condition, update policy etc.
rosResourceType
Required
public readonly rosResourceType: string;
- Type: string
ROS resource type.
attrRoleNames
Required
public readonly attrRoleNames: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
attrRoles
Required
public readonly attrRoles: IResolvable;
- Type: @alicloud/ros-cdk-core.IResolvable
enableResourcePropertyConstraint
Required
public readonly enableResourcePropertyConstraint: boolean;
- Type: boolean
refreshOptions
Optional
public readonly refreshOptions: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
roleName
Optional
public readonly roleName: string | IResolvable;
- Type: string | @alicloud/ros-cdk-core.IResolvable
Constants
Name | Type | Description |
---|---|---|
ROS_RESOURCE_TYPE_NAME |
string |
The resource type name for this resource class. |
ROS_RESOURCE_TYPE_NAME
Required
public readonly ROS_RESOURCE_TYPE_NAME: string;
- Type: string
The resource type name for this resource class.