Features | Pricing | Documentation | Contact | Blog

Custom::ProxylityUdpGatewayListener Destination

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.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

    {
        "Name" : String,
        "Description" : String,
        "Role" : Role,
        "Batching" : Batching,
        "DestinationArn" : String or Map,
        "MetricsEnabled" : Boolean,
        "Formatter" : String (enum)
    }
    

YAML

    Name: String
    Description: String
    Role: Role
    Batching: Batching
    DestinationArn: String
    MetricsEnabled: Boolean
    Formatter: String (enum)
    

Properties

Name

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

Description

Short description of the destination for user reference.

Required: No

Type: String

Update requires: No interruption

Role

Indicates the execution role to be assumed by Proxylity, allowing use of the destination resource.

Required: No

Type: Role

Update requires: No interruption

Batching

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

DestinationArn

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

MetricsEnabled

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

Formatter

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.