Skip to content

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

import com.aliyun.ros.cdk.core.RosRefElement;
new RosRefElement(Construct scope, java.lang.String id);
Name Type Description
scope Construct The parent construct.
id java.lang.String No description.

scopeRequired

The parent construct.


idRequired

  • Type: java.lang.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

public java.lang.String toString()

Returns a string representation of this construct.

synthesize

public 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.

sessionRequired

The synthesis session.


overrideLogicalId

public void overrideLogicalId(java.lang.String newLogicalId)

Overrides the auto-generated logical ID with a specific ID.

newLogicalIdRequired

  • Type: java.lang.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

import com.aliyun.ros.cdk.core.RosRefElement;
RosRefElement.isConstruct(java.lang.Object x)

Return whether the given object is a Construct.

xRequired

  • Type: java.lang.Object

isRosElement

import com.aliyun.ros.cdk.core.RosRefElement;
RosRefElement.isRosElement(java.lang.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.

xRequired

  • Type: java.lang.Object

Properties

Name Type Description
node ConstructNode The construct tree node associated with this construct.
creationStack java.util.List No description.
logicalId java.lang.String The logical ID for this stack element.
stack Stack The stack in which this element is defined.
ref java.lang.String Return a string that will be resolved to a RosTemplate { Ref } for this element.

nodeRequired

public ConstructNode getNode();

The construct tree node associated with this construct.


creationStackRequired

public java.util.List<java.lang.String> getCreationStack();
  • Type: java.util.List

logicalIdRequired

public java.lang.String getLogicalId();
  • Type: java.lang.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).


stackRequired

public Stack getStack();

The stack in which this element is defined.

RosElements must be defined within a stack scope (directly or indirectly).


refRequired

public java.lang.String getRef();
  • Type: java.lang.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 }).