Working with the Composition tab
The Service Composition tab has the following sections:
- A palette to drag the different service components.
- A canvas where you can draw your workflow.
- A Parameter details pane that changes based on the activity you select in the canvas.
Palette of service components
The palette includes templates, helm charts, flow components, notifications, and integration components that you can drag and drop on the canvas.
To work with the different service components, see Service components in the Composition tab. For details about the supported interpolation expression of these service components, see Supported interpolation expressions.
Canvas in the middle
The canvas has the following sections within it:
-
Provision action and Create action actions
When you create a service, you can define actions for the service from the composition tab. The actions drop-down list of the canvas includes Provision action and Create action options. You can create a bind action or custom actions by using the Create action option.
Note: The Provision action is displayed by default in the action list.
The Provision action provisions a resource instance. Optionally, if you want to execute some additional bind actions on a provisioned resource instance, you can create a bind or custom action.
Note: The bind and custom actions you define are applicable across all plans defined for that service.
Steps to create a action:
-
In the action drop-down, select Create action to create a new action. By default, Provision action is selected in the Composition tab.
-
In the Type drop-down, select the type of action.
- bind: The Name of the action is "Bind" and can not be modified.
- custom: Enter the name of the action in Name text box. The name can not be bind for the custom action.
-
Enter the Description for the action.
-
Click Create. You can create only one bind action. If you try to create a second bind action, the Create button is disabled. There is no limit for creating custom actions.
-
You can now include a Terraform templates or other activities in the bind canvas. These activities run on a deployed instance of a service. It is recommended that you include only Terraform templates that do not deploy a resource instance. You can view the details of the bind and provision in the Source code tab.
Note: You can also create and invoke stand-alone action independent of any service or service instance. For more information on the APIs, see Create Action and Invoke Action in the Common Managed services APIs page.
-
-
Primary flow and Error flow
The Primary flow and Error flow sections are positioned below the action drop-down list in the canvas. You can have primary flow and error flow for Provision, bind, and custom actions.
The Primary flow is initiated when you initially request a service. You can drag the service components of the workflow here. In the canvas they are generally termed as "activities."
The Error flow is initiated when an error occurs in the primary flow during deployment. Similar to the primary flow, you can drag service components from the palette.
Notes:
- You can collapse and expand the Primary flow and Error flow sections in the canvas.
- You can use retry or resume for failed deployments. For the procedure to retry or resume, see Resuming or retrying a service instance.
- The instance details and the activity log section of the Log file tab do not show details of the activities executed in the error flow. In the Log file tab, the error flow execution details are reported in the ON ERROR FLOW part of the service log section.
- The error flow is intended to notify you through email or slack or update a service now ticket about the error. As a result, it is not recommended to provision new resources in this flow. If new resources are provisioned, then the instances from the error flow do not get terminated during the 'Terminate' action. Also, an error that occurs in the error flow sequence is not handled separately.
- In error flows, for more information about interpolations that can be used to identify details around the activity that failed, see Service instance level parameters.
- You can use the OR (||) operator for the service activities in the error flow.
- If you use interpolation in the error flow around a non executed decision from the primary flow, the resultant value is an empty string.
- Limitations in the Error flow section:
- You cannot use a decision service component in the Error flow section.
- Whenever a service deployment fails in Terraform plan, the error flow is not executed. It is executed only when the Terraform plan gets executed successfully and some failure occurs during apply.
Parameters section
The parameters on the Composition tab vary based on the current activity that is selected in the canvas. To work with the activity parameters, see the following topics:
Additional features
-
You can hover over an activity in the canvas to clone or delete. Additionally, for a decision activity, you can collapse the activity view in the flow.
Note: Before you delete a component activity, ensure that it is not linked to other activities in the flow. If it is linked, then manually update all mapping either in the Composition tab or the Source tab, otherwise, the service breaks.
-
You can use the control buttons to search the canvas, fit-to-screen, and zoom.
-
If there are no errors or warnings in your service, then the page displays a No issues message. Whenever errors and warnings occur, a notification panel is displayed with the count of errors and warnings. Click for more information about the context of errors and warnings. In addition, in the composer canvas, a small icon (error and/or warning) is displayed against the related activity that has a validation problem. When you click Save, the API validation messages are displayed, however, they go away whenever you try to modify the service or move to other tabs. For more information about service validations, Managed services validation approaches, and behavior, see Service validations.