AWS::Transfer::Agreement
Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an AWS Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.
The partner is identified with the PartnerProfileId
, and the AS2 process is identified with the LocalProfileId
.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Transfer::Agreement", "Properties" : { "AccessRole" :
String
, "BaseDirectory" :String
, "Description" :String
, "LocalProfileId" :String
, "PartnerProfileId" :String
, "ServerId" :String
, "Status" :String
, "Tags" :[ Tag, ... ]
} }
YAML
Type: AWS::Transfer::Agreement Properties: AccessRole:
String
BaseDirectory:String
Description:String
LocalProfileId:String
PartnerProfileId:String
ServerId:String
Status:String
Tags:- Tag
Properties
AccessRole
-
With AS2, you can send files by calling
StartFileTransfer
and specifying the file paths in the request parameter,SendFilePaths
. We use the file’s parent directory (for example, for--send-file-paths /bucket/dir/file.txt
, parent directory is/bucket/dir/
) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, theAccessRole
needs to provide read and write access to the parent directory of the file location used in theStartFileTransfer
request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send withStartFileTransfer
.Required: Yes
Type: String
Minimum:
20
Maximum:
2048
Pattern:
arn:.*role/.*
Update requires: No interruption
BaseDirectory
-
The landing directory (folder) for files that are transferred by using the AS2 protocol.
Required: Yes
Type: String
Maximum:
1024
Pattern:
^$|/.*
Update requires: No interruption
Description
-
The name or short description that's used to identify the agreement.
Required: No
Type: String
Minimum:
1
Maximum:
200
Pattern:
^[\p{Graph}]+
Update requires: No interruption
LocalProfileId
-
A unique identifier for the AS2 local profile.
Required: Yes
Type: String
Minimum:
19
Maximum:
19
Pattern:
^p-([0-9a-f]{17})$
Update requires: No interruption
PartnerProfileId
-
A unique identifier for the partner profile used in the agreement.
Required: Yes
Type: String
Minimum:
19
Maximum:
19
Pattern:
^p-([0-9a-f]{17})$
Update requires: No interruption
ServerId
-
A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.
Required: Yes
Type: String
Minimum:
19
Maximum:
19
Pattern:
^s-([0-9a-f]{17})$
Update requires: Replacement
Status
-
The current status of the agreement, either
ACTIVE
orINACTIVE
.Required: No
Type: String
Allowed values:
ACTIVE | INACTIVE
Update requires: No interruption
Tags
-
Key-value pairs that can be used to group and search for agreements.
Required: No
Type: List of Tag
Maximum:
50
Update requires: No interruption
Return values
Ref
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt.