Scripting
4 minute read
To learn more about this OneFuse module, refer to Scripting.
Prerequisites
- Configure OneFuse Property Set(s) and OneFuse Module Policies.
- Install OneFuse XUI per CloudBolt CMP.
- Review an overview on OneFuse Modules with CloudBolt CMP.
- Create a new Blueprint (if none exist) or determine which existing Blueprint(s) will utilize this OneFuse Module. Resource: Blueprints.
Configure the Blueprint
- Know the name of the OneFuse Connection Info created via OneFuse XUI initial setup.
- Determine which OneFuse Scripting Policies to run for this Blueprint.
- Determine when to run each OneFuse Scripting Policy for the deployment provisioning lifecycle with CMP’s Trigger Points.
- Update the Blueprint to add in necessary parameters to invoke OneFuse Scripting Policies.
- Deploy the Blueprint to provision a deployment and run Provision Script(s).
- Destroy the Deployment to run Deprovision Script(s), if any.
Update the Blueprint
- Log in to CloudBolt CMP.
- If not already on the Catalog page, select Catalog from the main menu.
- Search and find the desired CloudBolt Blueprint.
- Edit the Blueprint by selecting the gear icon on the bottom-right of the Catalog Item.
Add in necessary parameters
The following Parameters need to exist on the Blueprint.
Learn more about CloudBolt Parameters for: Blueprints, Environments, and Groups.
Call a Scripting Policy:
| Parameter Name Format | Parameter Value or Format |
|---|---|
OneFuse_ScriptingPolicy_<ExecutionString>_<CustomID> |
<OneFuse Connection Info Name>:<Scripting Policy Name> |
Parameter name components:
- Replace
<ExecutionString>with an appropriate Trigger Point state (see table below) - Replace
<CustomID>with a unique, user-defined friendly label
Example parameter:
OneFuse_ScriptingPolicy_HostnameOverwrite_001MyScript: 'ConnectionInfoName:ScriptingPolicyName'
OneFuse_ScriptingPolicy_PostProvision_002MyScript: 'ConnectionInfoName:ScriptingPolicyName'
Scripting Trigger Point States
ExecutionString refers to a specific Trigger Point for the OneFuse Module’s policy to execute on.
Replace the <ExecutionString> variable with one of the following values in the Trigger Point Execution String column:
| Job / Process | Trigger Point Name | Trigger Point Execution String | Run Sequence | Plugin Action Name |
|---|---|---|---|---|
| Provision Server | Generated Hostname Overwrite | HostnameOverwrite |
1005 | OneFuse - Provision Scripting |
| Provision Server | Pre-Create Resource | PreCreateResource |
1005 | OneFuse - Provision Scripting |
| Provision Server | Pre-Application Installation | PreApplication |
1005 | OneFuse - Provision Scripting |
| Provision Server | Post-Provision | PostProvision |
1005 | OneFuse - Provision Scripting |
| Delete Server | Post-Delete | - | 10 | OneFuse - De-Provision Scripting |
CustomID
CustomID refers to a user-specified text string to identify and can set an order of precedence for execution when calling multiple Policies for the OneFuse Module in the same Trigger Point.
Replace the <CustomID> variable with a unique custom identifier:
- Format is alphanumeric characters only
A-Z, a-z, 0-9. No spaces, underscores, hyphens, nor special characters. - Must be unique across all Trigger Point Execution Strings for the OneFuse Module on the specific resource for the Blueprint.
- Is reusable either between different VM components of the same Blueprint or between different Blueprints.
Specify sorting with CustomID:
When executing multiple different OneFuse Module’s Policies in the same Trigger Point, prefix the <CustomID> with a numeric value (for example, 001, 002, etc).
The <CustomID> is sorted prior to executing the OneFuse module’s policies.
# Example CustomID with sorting
001Apache
002WebApp
003BackupClient
Additional helpful properties passed to OneFuse module
Purpose: Relate OneFuse Policy executions from different OneFuse Modules together with a Tracking ID.
| Property and Parameter | Value Format |
|---|---|
OneFuse_Tracking_Id |
A GUID (globally unique identifier) that links OneFuse Policy Executions and the resulting Managed Objects together for a given resource on a deployment. The first OneFuse Module Policy execution will populate this Parameter and it will be passed into other OneFuse Modules automatically. Learn more about OneFuse Tracking ID. |
When a Tracking ID is not provided, a Tracking ID gets generated for the Policy execution.
Purpose: Reference a specific NIC’s values to get hostname, IP Address, etc.
| Property Format | Example |
|---|---|
OneFuse_VmNic<#>.<value> |
See examples below |
Replace <#> with a number from 0 to 9, one for each NIC.
Replace <value> with an appropriate key: assignment, dnsServers, dnsSuffix, fqdn, gateway, hostname, ipAddress, label, mac, network, nicLabel, target
For most use cases, NIC 0 is the primary network interface and the target hostname is a Fully Qualified Domain Name (FQDN).
Examples:
OneFuse_VmNic0.dnsSuffixOneFuse_VmNic0.fqdnOneFuse_VmNic0.hostnameOneFuse_VmNic0.ipAddressOneFuse_VmNic0.target: when DNS Suffix is provided, will be the FQDN; otherwise, will be the hostname (without domain).
Purpose: Reference VM hardware information: cpu, memory, etc.
| Property Format | Example |
|---|---|
OneFuse_VmHardware.<value> |
See examples below |
Replace <value> with an appropriate key: cpuCount, memoryGB, memoryMB, platformUuid, powerState, totalStorageGB
Examples:
OneFuse_VmHardware.cpuCountOneFuse_VmHardware.memoryGBOneFuse_VmHardware.platformUuidOneFuse_VmHardware.powerStateOneFuse_VmHardware.totalStorageGB
Provision
Deploy a Blueprint with the OneFuse Scripting module configured. Provisioning Script(s) will run on the resource(s).
Outputs
The following parameter will have the generated OneFuse Script Managed Object as a JSON string on the resource.
| Parameter Name | Parameter Value Format |
|---|---|
OneFuse_Scripting_<CustomID> |
JSON string of OneFuse Script Managed Object |
Deprovision
Destroy an existing resource with the OneFuse Scripting Module configured. Deprovisioning Script(s) will run on the resource(s) prior to deprovisioning.
Trigger Points
| Job / Process | Trigger Point Name | Trigger Point Execution String | Run Sequence | Plugin Action Name |
|---|---|---|---|---|
| Provision Server | Generated Hostname Overwrite | HostnameOverwrite |
1005 | OneFuse - Provision Scripting |
| Provision Server | Pre-Create Resource | PreCreateResource |
1005 | OneFuse - Provision Scripting |
| Provision Server | Pre-Application Installation | PreApplication |
1005 | OneFuse - Provision Scripting |
| Provision Server | Post-Provision | PostProvision |
1005 | OneFuse - Provision Scripting |
| Delete Server | Post-Delete | - | 10 | OneFuse - De-Provision Scripting |