Arn
Static Functions
| Name | Description |
|---|---|
extractResourceName | Extract the full resource name from an ARN. |
format | Creates an ARN from components. |
split | Splits the provided ARN into its components. |
extractResourceName
import com.aliyun.ros.cdk.core.Arn;
Arn.extractResourceName(java.lang.String arn, java.lang.String resourceType)
Extract the full resource name from an ARN.
Necessary for resource names (paths) that may contain the separator, like acs:ram::123456789012****:role/adminrole/alice.
Only works if we statically know the expected resourceType beforehand, since we're going to use that to split the string on ':
We can't extract the 'resourceType' from the ARN at hand, because ROS Expressions only allow literals in the 'separator' argument to { Fn::Split }, and so it can't be { Fn::Select: [5, { Fn::Split: [':', ARN] }}.
Only necessary for ARN formats for which the type-name separator is /.
- Type: java.lang.String
- Type: java.lang.String
format
import com.aliyun.ros.cdk.core.Arn;
Arn.format(ArnComponents components),Arn.format(ArnComponents components, Stack stack)
Creates an ARN from components.
If partition, region or account are not specified, the stack's partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope can be 'undefined'.
- Type: ArnComponents
- Type: Stack
split
import com.aliyun.ros.cdk.core.Arn;
Arn.split(java.lang.String OR IResolvable arn, ArnFormat arnFormat)
Splits the provided ARN into its components.
Works both if 'arn' is a string like 'acs:oss:::bucket', and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic ROS expressions, encoded as Tokens).
- Type: java.lang.String OR IResolvable
the ARN to split into its components.
- Type: ArnFormat
the expected format of 'arn' - depends on what format the service 'arn' represents uses.