RosRule
This class is a base encapsulation around the ROS resource type ALIYUN::PVTZ::Rule, which is used to add a forwarding rule.
Initializers
import com.aliyun.ros.cdk.pvtz.RosRule;
RosRule.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
    .endpointId(java.lang.String)
    .endpointId(IResolvable)
    .forwardIp(IResolvable)
    .forwardIp(java.util.List<IResolvable)
    .forwardIp(ForwardIpProperty>)
    .ruleName(java.lang.String)
    .ruleName(IResolvable)
    .type(java.lang.String)
    .type(IResolvable)
    .zoneName(java.lang.String)
    .zoneName(IResolvable)
    .build();
| Name | Type | Description | 
|---|---|---|
scope | 
com.aliyun.ros.cdk.core.Construct | 
- scope in which this resource is defined. | 
id | 
java.lang.String | 
- scoped id of the resource. | 
enableResourcePropertyConstraint | 
java.lang.Boolean | 
No description. | 
endpointId | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
forwardIp | 
com.aliyun.ros.cdk.core.IResolvable OR java.util.List | 
No description. | 
ruleName | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
type | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
zoneName | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
scopeRequired 
- Type: com.aliyun.ros.cdk.core.Construct
 
scope in which this resource is defined.
idRequired 
- Type: java.lang.String
 
scoped id of the resource.
enableResourcePropertyConstraintRequired 
- Type: java.lang.Boolean
 
endpointIdRequired 
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
forwardIpRequired 
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
ForwardIpProperty>  
ruleNameRequired 
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
typeRequired 
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
zoneNameRequired 
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
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 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.
- Type: com.aliyun.ros.cdk.core.ISynthesisSession
 
The synthesis session.
overrideLogicalId 
public void overrideLogicalId(java.lang.String newLogicalId)
Overrides the auto-generated logical ID with a specific ID.
- Type: java.lang.String
 
The new logical ID to use for this stack element.
addCondition 
public void addCondition(RosCondition con)
- Type: com.aliyun.ros.cdk.core.RosCondition
 
addCount 
public void addCount(java.lang.Number OR IResolvable count)
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
 
addDeletionOverride 
public void addDeletionOverride(java.lang.String path)
Syntactic sugar for addOverride(path, undefined).
- Type: java.lang.String
 
The path of the value to delete.
addDependsOn 
public void addDependsOn(RosResource target)
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: com.aliyun.ros.cdk.core.RosResource
 
addDesc 
public void addDesc(java.lang.String desc)
- Type: java.lang.String
 
addMetaData 
public void addMetaData(java.lang.String key, java.lang.Object value)
- Type: java.lang.String
 
- Type: java.lang.Object
 
addOverride 
public void addOverride(java.lang.String path, java.lang.Object value)
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: java.lang.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: java.lang.Object
 
The value.
Could be primitive or complex.
addPropertyDeletionOverride 
public void addPropertyDeletionOverride(java.lang.String propertyPath)
Adds an override that deletes the value of a property from the resource definition.
- Type: java.lang.String
 
The path to the property.
addPropertyOverride 
public void addPropertyOverride(java.lang.String propertyPath, java.lang.Object value)
Adds an override to a resource property.
Syntactic sugar for addOverride("Properties.<...>", value).
- Type: java.lang.String
 
The path of the property.
- Type: java.lang.Object
 
The value.
addRosDependency 
public void addRosDependency(java.lang.String target)
- Type: java.lang.String
 
applyRemovalPolicy 
public void applyRemovalPolicy()
public void applyRemovalPolicy(RemovalPolicy policy)
public void applyRemovalPolicy(RemovalPolicy policy, RemovalPolicyOptions options)
Sets the deletion policy of the resource based on the removal policy specified.
- Type: com.aliyun.ros.cdk.core.RemovalPolicy
 
- Type: com.aliyun.ros.cdk.core.RemovalPolicyOptions
 
getAtt 
public Reference getAtt(java.lang.String attributeName)
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: java.lang.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 com.aliyun.ros.cdk.pvtz.RosRule;
RosRule.isConstruct(java.lang.Object x)
Return whether the given object is a Construct.
- Type: java.lang.Object
 
isRosElement 
import com.aliyun.ros.cdk.pvtz.RosRule;
RosRule.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.
- Type: java.lang.Object
 
isRosResource 
import com.aliyun.ros.cdk.pvtz.RosRule;
RosRule.isRosResource(IConstruct construct)
Check whether the given construct is a RosResource.
- Type: com.aliyun.ros.cdk.core.IConstruct
 
Properties
| Name | Type | Description | 
|---|---|---|
node | 
com.aliyun.ros.cdk.core.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 | 
com.aliyun.ros.cdk.core.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. | 
rosOptions | 
com.aliyun.ros.cdk.core.IRosResourceOptions | 
Options for this resource, such as condition, update policy etc. | 
rosResourceType | 
java.lang.String | 
ROS resource type. | 
attrCreateTime | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrEndpointId | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrEndpointName | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrForwardIp | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrRuleName | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrType | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrVpcs | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
attrZoneName | 
com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
enableResourcePropertyConstraint | 
java.lang.Boolean | 
No description. | 
endpointId | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
forwardIp | 
com.aliyun.ros.cdk.core.IResolvable OR java.util.List | 
No description. | 
ruleName | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
type | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
zoneName | 
java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | 
No description. | 
nodeRequired 
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
 
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();
- Type: com.aliyun.ros.cdk.core.Stack
 
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 }).
rosOptionsRequired 
public IRosResourceOptions getRosOptions();
- Type: com.aliyun.ros.cdk.core.IRosResourceOptions
 
Options for this resource, such as condition, update policy etc.
rosResourceTypeRequired 
public java.lang.String getRosResourceType();
- Type: java.lang.String
 
ROS resource type.
attrCreateTimeRequired 
public IResolvable getAttrCreateTime();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrEndpointIdRequired 
public IResolvable getAttrEndpointId();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrEndpointNameRequired 
public IResolvable getAttrEndpointName();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrForwardIpRequired 
public IResolvable getAttrForwardIp();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrRuleNameRequired 
public IResolvable getAttrRuleName();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrTypeRequired 
public IResolvable getAttrType();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrVpcsRequired 
public IResolvable getAttrVpcs();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
attrZoneNameRequired 
public IResolvable getAttrZoneName();
- Type: com.aliyun.ros.cdk.core.IResolvable
 
enableResourcePropertyConstraintRequired 
public java.lang.Boolean getEnableResourcePropertyConstraint();
- Type: java.lang.Boolean
 
endpointIdRequired 
public java.lang.Object getEndpointId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
forwardIpRequired 
public java.lang.Object getForwardIp();
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
ForwardIpProperty>  
ruleNameRequired 
public java.lang.Object getRuleName();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
typeRequired 
public java.lang.Object getType();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
zoneNameRequired 
public java.lang.Object getZoneName();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
 
Constants
| Name | Type | Description | 
|---|---|---|
ROS_RESOURCE_TYPE_NAME | 
java.lang.String | 
The resource type name for this resource class. | 
ROS_RESOURCE_TYPE_NAMERequired 
public java.lang.String getRosResourceTypeName();
- Type: java.lang.String
 
The resource type name for this resource class.