Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.
Software Requirements Universal Agent
Both Windows and Linux agents are supported:
Universal Agent for Windows x64 Version 126.96.36.199 and later.
Universal Agent for Linux Version 188.8.131.52 and later.
Software Requirements Universal Controller
Universal Controller Version 184.108.40.206 and later.
Network and Connectivity Requirements
Extension's Universal Agent host should be able to reach AWS SQS Queue Message REST endpoints. The AWS Credentials provided in the Amazon SQS Queue Message Universal Task, should have sufficient permissions on AWS to send messages.
Send an AWS SQS message towards a Standard or a FIFO queue.
IAM Role-Based Access Control (RBAC) strategy.
Capability to Print the JSON Response .
Communication through Proxy with use of HTTP or HTTPS.
Import Universal Template
To use the Universal Template, you first must perform the following steps.
To import the Universal Template into your Controller, follow the instructions here.
When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
The input fields for this Universal Extension are described in the following table.
The action performed upon the task execution.
Optional since version 1.1.0
Region for the Amazon Web Service.
Find more information about the AWS Service endpoints and quotas here.
When AWS Region is not populated as part of the task definition, during task execution the integration will look for AWS Region on the task execution environment. Refer to configuration options for more information.
Optional since version 1.1.0
The Credentials definition should be as follows.
AWS Access Key ID as "Runtime User".
AWS Secret Access Key as "Runtime Password".
When AWS Credentials are not populated as part of the task definition, during task execution the integration will look for AWS Credentials on the task execution environment. Refer to configuration options for more information.
Dynamic fetched list of queue names.
The user can select the required queue name from a drop-down list.
Queue Name Prefix
A prefix to use for filtering the Queue Names list results.
Only those queues whose name begins with the specified string are returned.
Queue Names are case-sensitive.
Role Based Access
Special type of authorization is provided by Role Assumption where the client sends his own credentials and the role he wants to assume from another user.
If allowed, the client receives temporary credentials with limited time access to some resources.
Role Arn: Amazon Role, which is applied for the connection.
Role ARN format: Example RoleArn: arn:aws:iam::119322085622:role.
Required when Role Based Access="True".
Message Body Source
Type of message to be sent.
Available options are:
The message attributes to send alongside the message body. Each message attribute consists of a Name, Type, and Value. It should be in JSON format and can have up to 10 attributes.
The path to a custom certificate bundle to use when establishing SSL/TLS connections with proxy.
Used when Proxy Type is configured for "HTTPS" or "HTTPS With Credentials".
Credentials to be used for the proxy communication.
The credential definition should be as follows.
Proxy Username as "Runtime User".
Proxy Password as "Runtime Password".
Required when Proxy Type is configured for "HTTPS With Credentials".
Send Message to Standard Queue
Example of Universal Task for sending a message towards a standard queue with minimum parameters.
Send Message to FIFO Queue with all optional input arguments
Example of Universal Task for sending a message via script towards a FIFO queue, with all optional input argument.
Send Message with Environment Variables as Region
Example of Universal Task for sending a message to StandardQueue providing no AWS Credentials in task definition and providing AWS Region as Environment Variable, leaving the respective input fields empty. AWS Credentials are expected in this case to be configured on the task execution environment. Please refer to AWS Credentials input field for more information.
The exit codes for this Universal Extension are described below.
Status Classification Code
Status Classification Description
SUCCESS: Successful Task execution
FAIL: < Error Description >
AUTHORIZATION_ERROR: The authorization credentials provided for the request are invalid.
Bad connection data or connection timed out
CONNECTION_ERROR: < Error Description >
Bad input fields validation
DATA_VALIDATION_ERROR: Some of the input fields cannot be validated. See STDERR for more details.
Upon Task's successful completion, the extension always produces an Extension Output.
This Universal Extension sends a message towards a Standard or FIFO queue. When the message is sent successfully, related information is published as Extension Output.
Attribute changed is populated as follows.
true in case the message was sent successfully.
An example of the Extension Output for a successful triggering job is presented below.
MD5 digest of the non-URL-encoded message body string.
MD5 digest of the non-URL-encoded message attribute string.
Attribute containing the MessageId of the message sent to the queue.
Non-consecutive number that Amazon SQS assigns to each message of FIFO queues.
Response Metadata of the REST API.
The following is an example of Extension Output for this Universal Extension.