Example: Post-provision cloud script
This example shows a cloud script that runs after a user provisions a virtual machine.
Before you begin
- Role required: cloud_admin
- OS resource profile that is mapped to an image template. The user provisions a resource using the profile. You must add basic authentication credentials to the image.
- Compute resource profile that is mapped to a hardware type.
About this task
In this example, you create a cloud init script, customize a resource block, and provision a VM from the Cloud User Portal.
Procedure
Create a cloud script template and a cloud script that refers to the template.
Open the virtual server resource block, and then follow these steps:
- Set the Draft/Published switch to Draft.
Image omitted: virtual-server-rb.png
Virtual Server
Virtual Server
2. On the **Operations** tab, select **Virtual Server Interface** from the **Interface** list.
Image omitted: virtual-server-interface.png
Virtual Server Interface
Virtual Server Interface
3. In the **Operation** field, verify that these operations exist:
- **Block Until Ready**
- **Execute Script**: This operation tells the blueprint to run a script.
Image omitted: blockuntilready-operation.png
Block Until Ready
Block Until Ready
Image omitted: execute-script-operation.png
Execute Script operation
Execute Script operation
4. Click the **Input Parameters** tab to view the inputs for each operation.
5. On the **Steps** tab, add steps as needed.
6. For the **Script** parameter on each step, clear the **Script** check box and change the expression in the **Mapping** column to the following text: `$(CloudScript.scripts.scriptname)`, where `scriptname` is the name of the script, not the script template, that you created earlier.
Image omitted: script-parameters-input-parameters.png
Script parameter
Script parameter
Publish the virtual server resource block, and use it in a blueprint that in turn is published to a catalog item.
Launch a new stack to provision a VM and specify the OS profile and Compute profile that you created as a prerequisite.
Result
The Stack Status page runs through the CreateNode, BlockUntilReady, and ExecuteShellScript operations. The last operation kicked off the script you created.