The intrinsic function Fn::Join
appends a set of values into a single value,
separated by the specified delimiter. If a delimiter is the empty string, the set of values
are concatenated with no delimiter.
Declaration
JSON
{ "Fn::Join" : [ "delimiter
", [ comma-delimited list of values
] ] }
YAML
Syntax for the full function name:
Fn::Join: [ delimiter
, [ comma-delimited list of values
] ]
Syntax for the short form:
!Join [ delimiter
, [ comma-delimited list of values
] ]
Parameters
- delimiter
-
The value you want to occur between fragments. The delimiter will occur between fragments only. It won't terminate the final value.
- ListOfValues
-
The list of values you want combined.
Return value
The combined string.
Examples
Join a simple string array
The following example returns: "a:b:c"
.
JSON
"Fn::Join" : [ ":", [ "a", "b", "c" ] ]
YAML
!Join [ ":", [ a, b, c ] ]
Join using the ref function with parameters
The following example uses Fn::Join
to construct a string value. It uses
the Ref
function with the AWS::Partition
parameter and the
AWS::AccountId
pseudo parameter.
JSON
{
"Fn::Join": [
"", [
"arn:",
{
"Ref": "AWS::Partition"
},
":s3:::elasticbeanstalk-*-",
{
"Ref": "AWS::AccountId"
}
]
]
}
YAML
!Join
- ''
- - 'arn:'
- !Ref AWS::Partition
- ':s3:::elasticbeanstalk-*-'
- !Ref AWS::AccountId
Note
Also see the Fn::Sub function for similar functionality.
Supported functions
For the Fn::Join
delimiter, you can't use any functions. You must specify a
string value.
For the Fn::Join
list of values, you can use the following
functions:
-
Fn::Base64
-
Fn::FindInMap
-
Fn::GetAtt
-
Fn::GetAZs
-
Fn::If
-
Fn::ImportValue
-
Fn::Join
-
Fn::Split
-
Fn::Select
-
Fn::Sub
-
Ref