Creates an ARN from components.
accountare 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:
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’.
parse(arn, sep_if_token=None, has_name=None)¶
Given an ARN, parses it and returns components.
If the ARN is a concrete string, it will be parsed and validated. The separator (
sep) will be set to ‘/’ if the 6th component includes a ‘/’, in which case,
resourcewill be set to the value before the ‘/’ and
resourceNamewill be the rest. In case there is no ‘/’,
resourcewill be set to the 6th components and
resourceNamewill be set to the rest of the string.
If the ARN includes tokens (or is a token), the ARN cannot be validated, since we don’t have the actual value yet at the time of this function call. You will have to know the separator and the type of ARN. The resulting
ArnComponentsobject will contain tokens for the subexpressions of the ARN, not string literals. In this case this function cannot properly parse the complete final resourceName (path) out of ARNs that use ‘/’ to both separate the ‘resource’ from the ‘resourceName’ AND to subdivide the resourceName further. For example, in S3 ARNs:
After parsing the resourceName will not contain ‘path/to/exampleobject.png’ but simply ‘path’. This is a limitation because there is no slicing functionality in CloudFormation templates.
str) – The ARN to parse.
str]) – The separator used to separate resource from resourceName.
bool]) – Whether there is a name component in the ARN at all. For example, SNS Topics ARNs have the ‘resource’ component contain the topic name, and no ‘resourceName’ component.
an ArnComponents object which allows access to the various components of the ARN.