AWS::Transfer::Agreement
Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an Amazon 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 Amazon 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:StringBaseDirectory:StringDescription:StringLocalProfileId:StringPartnerProfileId:StringServerId:StringStatus:StringTags:- Tag
Properties
AccessRole-
With AS2, you can send files by calling
StartFileTransferand 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, theAccessRoleneeds to provide read and write access to the parent directory of the file location used in theStartFileTransferrequest. 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:
20Maximum:
2048Pattern:
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:
1024Pattern:
^$|/.*Update requires: No interruption
Description-
The name or short description that's used to identify the agreement.
Required: No
Type: String
Minimum:
1Maximum:
200Pattern:
^[\p{Graph}]+Update requires: No interruption
LocalProfileId-
A unique identifier for the AS2 local profile.
Required: Yes
Type: String
Minimum:
19Maximum:
19Pattern:
^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:
19Maximum:
19Pattern:
^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:
19Maximum:
19Pattern:
^s-([0-9a-f]{17})$Update requires: Replacement
Status-
The current status of the agreement, either
ACTIVEorINACTIVE.Required: No
Type: String
Allowed values:
ACTIVE | INACTIVEUpdate requires: No interruption
Tags-
Key-value pairs that can be used to group and search for agreements.
Required: No
Type: List of Tag
Maximum:
50Update requires: No interruption
Return values
Ref
Fn::GetAtt
The Fn::GetAttintrinsic 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::GetAttintrinsic function, see Fn::GetAtt.