RosRefElement
Base class for referenceable template constructs which are not Resources.
These constructs are things like Conditions and Parameters, can be
referenced by taking the .ref
attribute.
Resource constructs do not inherit from RosRefElement because they have their own, more specific types returned from the .ref attribute. Also, some resources aren't referenceable at all (such as BucketPolicies or GatewayAttachments).
Initializers
using AlibabaCloud.SDK.ROS.CDK.Core;
new RosRefElement(Construct Scope, string Id);
Name | Type | Description |
---|---|---|
Scope |
Construct |
The parent construct. |
Id |
string |
No description. |
Scope
Required
- Type: Construct
The parent construct.
Id
Required
- Type: string
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. |
ToString
private string ToString()
Returns a string representation of this construct.
Synthesize
private void Synthesize(ISynthesisSession Session)
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: ISynthesisSession
The synthesis session.
OverrideLogicalId
private void OverrideLogicalId(string NewLogicalId)
Overrides the auto-generated logical ID with a specific ID.
- Type: string
The new logical ID to use for this stack element.
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). |
IsConstruct
using AlibabaCloud.SDK.ROS.CDK.Core;
RosRefElement.IsConstruct(object X);
Return whether the given object is a Construct.
- Type: object
IsRosElement
using AlibabaCloud.SDK.ROS.CDK.Core;
RosRefElement.IsRosElement(object X);
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: object
Properties
Name | Type | Description |
---|---|---|
Node |
ConstructNode |
The construct tree node associated with this construct. |
CreationStack |
string[] |
No description. |
LogicalId |
string |
The logical ID for this stack element. |
Stack |
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. |
Node
Required
public ConstructNode Node { get; }
- Type: ConstructNode
The construct tree node associated with this construct.
CreationStack
Required
public string[] CreationStack { get; }
- Type: string[]
LogicalId
Required
public string LogicalId { get; }
- 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 Stack Stack { get; }
- Type: Stack
The stack in which this element is defined.
RosElements must be defined within a stack scope (directly or indirectly).
Ref
Required
public string Ref { get; }
- 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 })
.