With Cloud Assembly, you can create extensibility actions for use in extensibility subscriptions.

Extensibility actions are highly customizable, lightweight, and flexible ways to extend application life cycles by using user-defined script code and action templates. Action templates contain predefined parameters that help set up the foundation of your extensibility action.

There are two methods of creating an extensibility action:

The following steps describe the procedure for creating an extensibility action that uses Amazon Web Services as a FaaS provider.

Prerequisites

  • Membership in an active and valid project.
  • Configured Amazon Web Services role for Lambda functions. For example, AWSLambdaBasicExecutionRole.
  • Cloud administrator role or iam:PassRole permissions enabled.

Procedure

  1. Select Extensibility > Library > Actions.
  2. Click New Action.
  3. Enter a name for your action and select a project.
  4. (Optional) Add a description for your action.
  5. Click Next.
  6. Search and select an action template.
    Note: To create a custom action without using an action template, select Custom script.
    New configurable parameters appear.
  7. Select Write script or Import package.
  8. Select the action runtime.
  9. Enter an Main function name for the action's entry point.
    Note: For actions imported from a ZIP package, the main function must also include the name of the script file that contains the entry point. For example, if your main script file is titled main.py and your entry point is handler (context, inputs), the name of the main function must be main.handler.
  10. Define the input and output parameters of the action.
  11. (Optional) Add secrets or extensibility action constants to your default inputs.
    Note: For more information on secrets and extensibiltity action constants, see How can I create secrets for use in extensibility actions and How can I create extensibility action constants.
  12. (Optional) Add application dependencies to the action.
    Note: For PowerShell scripts, you can define your application dependencies so they are resolved against the PowerShell Gallery repository. To define your application dependencies so, they are resolvable from the public repository use the following format:
    @{
                    Name = 'Version'
     }
     
     e.g.
     
    @{
        Pester = '4.3.1'
    }
    
    Note: For actions imported from a ZIP package, application dependencies are added automatically.
  13. To define timeout and memory limits, enable the Set custom timeout and limits option.
  14. To test your action, click Save and then Test.

What to do next

After your extensibility action is created and verified, you can assign it to a subscription.
Note: Extensibility subscriptions use the latest released version of an extensibility action. After creating a new version of an action, click Versions on the top-right of the editor window. To release the version of the action you want to use in your subscription, click Release.