Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Lambda runs your code on high-availability compute infrastructure and performs all the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code and security patch deployment, and code monitoring and logging. All you need to do is supply the code.

overviewImage RemovedImage Added

Software Requirements

...

The input fields for this Universal Extension are described below.

FieldInput typeDefault valueTypeDescription
ActionRequiredTrigger Lambda functionChoiceThe action performed upon the task execution. Available action:
  • Trigger Lambda function
AWS RegionRequired-TextRegion for the Amazon Web Service. Find more information about the AWS Service endpoints and quotas here.
AWS CredentialsRequired-CredentialsThe AWS account credentials.
They are comprised of:
  • AWS access key ID
  • AWS secret access key
Role Based AccessOptionalFalseBooleanSpecial 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 ARNOptional-TextRole 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".
Function NameRequired-TextThe name of the Lambda function i.e my-function (name-only) or my-function:v1 (with alias) that will be triggered.
Invocation TypeRequiredRequest ResponseChoiceType of execution for the function being triggered. Available choices are:
  • Request Response (Synchronously)
  • Event (Asynchronously)
Payload SourceOptionalNoneChoiceSource of payload to be sent.
  • None
  • Script
Payload ScriptOptional-Script FieldScript field where the payload can be entered. The scripts must evaluate to a proper JSON format.

Required when Payload Source = "Script".
Client Context SourceOptionalNoneChoiceClient context that's provided to Lambda function by the client application.
  • None
  • Script
Client Context ScriptOptional-Script
Script passing parameters using the ClientContext object. The scripts must evaluate to a proper JSON format.

Required when Client Context Source= "Script".
Use ProxyOptionalFalseBooleanFlag to indicate whether Proxy shall be used in the communication with AWS.
Proxy TypeOptionalHTTPChoiceType of proxy connection to be used. Available options are:
  • HTTP
  • HTTPS
  • HTTPS with Credentials
Visible only when Use Proxy = "True".
ProxyOptional-TextComma separated list of Proxy servers. Valid formats:
http://proxyip:port or http://proxyip:port,https://proxyip:port.

Required when Use Proxy is checked.
Proxy CA Bundle FileOptional-TextThe 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".
Proxy CredentialsOptional-Credentials`Credentials to be used for the proxy communication.They are comprised of:
  • username
  • password
Required when "Proxy Type" is configured for "HTTPS" or "HTTPS With Credentials".
QualifierOptional-TextVersion or alias to invoke a published version of the function. Example for version 1 Qualifier = "1".

If empty default value is the latest version.

Extension Cancelation

When using a 7.0 or newer template, we must ensure that the “Always Cancel On Force Finish” is checked. This is to minimize leaving “orphan” processes on the OS without the option for the agent to see they are running.
Extension CancelationImage Removed
Image Added

Task Examples

Trigger Lambda Synchronously with Log

Triggering a Lambda function Sychronously with Log Type equals "Tail". Syncronously is set by Invocation Type equals "Request_Response".

Trigger Lambda Synchronously with LogImage RemovedImage Added

Trigger Lambda Asynchronously with Role Based Access and HTTPS Proxy

Triggering Lambda function Asychronously, with Role Based Access enabled and "HTTPS Proxy connection". Further input includes Payload Source and Client Context Source from JSON "script". Also Qualifier is set to "3" meaning the 3rd version of the Lambda function will be triggered. Asyncronously is set by Invocation Type equals "Event". "Proxy" needs to be on the correct format and "Proxy CA Bundle File" on correct format and path.

Trigger Lambda Asynchronously with Role Based Access and HTTPS ProxyImage RemovedImage Added

Trigger Lambda Synchronously with HTTPS with Credentials Proxy

Triggering a Lambda function Sychronously with "HTTPS with Credentials Proxy" connection. Note that the Log Type is set to "None" and Qualifier is blank, meaning that the latest version of the Lambda function will be called.

Trigger Lambda Synchronously with  HTTPS with Credentials ProxyImage RemovedImage Added

Exit Codes

The exit codes for AWS Lambda Extension are described below.

Exit CodeStatus Classification CodeStatus Classification DescriptionStatus Description
0SUCCESSSuccessful ExecutionSUCCESS: Successful Task execution
1FAILFailed ExecutionFAIL: < Error Description >
2AUTHENTICATION_ERRORBad credentialsAUTHENTICATION_ERROR: Account cannot be authenticated.
3AUTHORIZATION_ERRORInsufficient PermissionsAUTHORIZATION_ERROR: Account is not authorized to perform the requested action.
10CONNECTION_ERRORBad connection data or connection timed outCONNECTION_ERROR: < Error Description >
11CONNECTION_ERRORExtension specific connection errorCONNECTION_ERROR: ProxyConnectionError: Failed to connect to proxy URL <url>
20DATA_VALIDATION_ERRORInput fields validation errorDATA_VALIDATION_ERROR: Some of the input fields cannot be validated. See STDOUT for more details

Extension Output

The Extension Output for AWS Lambda Universal Task successful execution is described below.

...

The task instance with Status equals to "Success" and Exit Code equals "0".

Output Image RemovedImage Added

Document References

This document references the following documents:

NameLocationDescription
Universal Templateshttps://docs.stonebranch.com/confluence/display/U70/Universal+TemplatesUser documentation for creating Universal Templates in the Universal Controller user interface.
Universal Taskshttps://docs.stonebranch.com/confluence/display/UC70/Universal+TasksUser documentation for creating Universal Tasks in the Universal Controller user interface.
AWS Lambdahttps://docs.aws.amazon.com/lambda/?id=docs_gatewayDocumentation for AWS Lambda
IAM RBAC authorization modelhttps://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html#introduction_attribute-based-access-control_compare-rbacUser Documentation for Comparing ABAC to the traditional RBAC model