Dialog-oriented scenarios for Temporary deployment scenarios and Exposing arbitrary actions on RDF resources
A) Executing an action through a UI
Actors: user, consumer, provider
Steps:
- The user navigates to a page on the consumer’s UI which shows resources from the provider.
- The user selects a resource (e.g. AutomationResult)
- The consumer shows the user the list of actions that are available on that resource (e.g. including teardown)
- The user selects one to execute (e.g. teardown)
- The consumer displays, to the user, a dialog provided by the provider
- The user enters any parameters or input required (e.g. “This will <…>. Are you sure?”) and clicks a button on the dialog to execute the action.
- The provider executes the action
- (Simultaneously) the consumer is notified that the dialog has closed.
B) Configuring an action through a UI, executing it later. (Specific to the Automation profile).
(I want to consider these “execute later” scenarios in-scope, as they apply to the teardown scenario, but I hope that we can get the “for free” with minimal changes to the proposed spec, using the Automation Plan and template creation dialogs.)
Actors: user, consumer, provider
Steps:
- The user navigates to a page on the consumer’s UI which shows resources from the provider.
- The user selects a resource (e.g. AutomationResult)
- The consumer shows the user the list of actions that are available on that resource (e.g. including teardown)
- The user selects one (e.g. teardown) and opts to execute it later (e.g. on a schedule)
- The consumer displays, to the user, a dialog provided by the provider
- The user enters any parameters or input required and clicks a button on the dialog to submit their input.
- The provider creates a temporary AutoRequest with the user’s details - but does not queue it for execution - and returns the URL to the consumer. (Apologies for the technical details here, as most of these scenarios’ steps are technically agnostic. For a technically agnostic scenario, just omit steps 7 through 9 and skip straight to 10.)
- The consumer retrieves the temporary resource and stores it.
Later, when the scheduled time arrives (these steps are performed with no UI and no user present):
- The consumer submits the stored AutomationRequest to the provider.
- The provider executes the action (by executing the AutomationRequest).
C) Configuring through a UI an action on a resource that is not yet available, executing it later. (Specific to Automation profile)
Actors: user, consumer, provider
Steps:
- The consumer displays a list of deployment AutomationPlans from the provider to the user.
- The user selects one to add to a list of plans to execute at a later time.
- The consumer asks the user if they wish the deployment to be torn down when all the plans in the list have finished.
- The user indicates that they do.
- The consumer displays, to the user, a dialog provided by the provider which asks for parameters related to the teardown.
- The user enters the required information and submits the dialog.
- The user adds more plans to the list…
Later, when the scheduled time arrives (these steps are performed with no UI and no user present):
- All the plans on the list are executed
- When the list is finished, the consumer requests that the provider performs the “teardown” action on the resource that was deployed by the plan selected in steps 2-6.