Features
| Pricing | Documentation | Contact | Blog
A destination specified an AWS resource that will be used to handle UDP packets. The resource specification may
be a single ARN, or a map of ARNs by AWS Region name. The properties also specify the batching configuration and
the IAM Role to be used (via sts:AssumeRole
) by Proxylity to make use of the resource.
To declare this entity in your AWS CloudFormation template, use the following syntax:
{ "Name" : String, "Description" : String, "Role" : Role, "Batching" : Batching, "DestinationArn" : String or Map, "MetricsEnabled" : Boolean, "Formatter" : String (enum) }
Name: String Description: String Role: Role Batching: Batching DestinationArn: String MetricsEnabled: Boolean Formatter: String (enum)
Name of destination which must be unique within the AWS account. If no name is specified one will be generated.
Required: No
Type: String
Pattern: [a-zA-Z0-9\-]+
Update requires: No interruption
Short description of the destination for user reference.
Required: No
Type: String
Update requires: No interruption
Indicates the execution role to be assumed by Proxylity, allowing use of the destination resource.
Required: No
Type: Role
Update requires: No interruption
Determines the number of packets that will be passed to the destination in each batch. Can be specified in count, time or total size.
Required: No
Type: Batching
Update requires: No interruption
AWS resource ARN(s) to which packet batches will be delivered. A string value can be used when all packets, regardless of where they originate, will be handled by a single global resource.
A Map can be provided where each key is the name of an AWS region and the value is an ARN in that region. When a Map is used, all ARN values must specify the same AWS service.
Required: Yes
Type: String
Pattern: .*
Update requires: No interruption
Set to true to track ingress and egress traffic (packet count and bytes) through the destination sent to your account as CloudWatch metrics. The default is false (no metrics).
Required: No
Type: Boolean
Update requires: No interruption
Specifies the formatter to be used for the packets sent to (and responses from) the destination. The default is
base64
.
The other options are hex
, ascii
, and utf8
. In the case of synchronous
response destinations (Lamnda and StepFunctions) the formatter applies to both the request and response, so
destination code needs to produce the appropriate format. Note that
when using CloudWatch Logs as a destination the delivery format will always be utf-8
.
In some use cases it may be convenient to use hex or text formatting of the packet content rather than the default base64 encoding. For example, AWS StepFunctions isn't able to work with binary content, and base64 content is inconvenient, but hex encoding (a character per 4 bit 'nibble') can be parsed via JSONata expressions. Likewise, for a protocols like [SYSLOG](https://en.wikipedia.org/wiki/Syslog) or [RTSP](https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol) it may be convenient to deliver packet data as UTF-8 strings.