Life Cycle Extensibility vRealize Automation 7.
Life Cycle Extensibility You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to docfeedback@vmware.com VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com Copyright © 2008–2017 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc.
Contents 1 Life Cycle Extensibility 7 2 Machine Extensibility Overview 8 Machine Life Cycle Extensibility 8 Choosing a Life Cycle Extensibility Scenario 9 3 Extending Machine Lifecycles By Using vRealize Orchestrator 11 Extending Machine Lifecycles by Using vRealize Orchestrator Checklist Configuring the vRealize Automation Plug-in for Machine Extensibility Add a vRealize Automation Host Add an IaaS Host 11 12 12 13 Install vRealize Orchestrator Customization Create a vRealize Orchestrator Endpoint
Life Cycle Extensibility Troubleshooting a vRealize Orchestrator Workflow That Does Not Run for an Approval Request 53 Troubleshooting a Rejected Approval Request That Should Be Approved Troubleshooting a Rejected Approval Request 54 54 5 Extending Machine Life Cycles By Using vRealize Automation Designer 56 Extending Machine Life Cycles By Using vRealize Automation Designer Checklist Installing and Configuring vRealize Automation Designer Installing vRealize Automation Designer 57 Configuring vReal
Life Cycle Extensibility Skill Commands 86 Skill-Install Skill-List 86 87 Skill-Uninstall 87 Workflow Commands 88 Workflow-Add-Skills 88 Workflow-List 88 Workflow-Remove-Skills Workflow-Rollback Workflow-Update Import Commands 89 89 90 90 Machine-BulkRegisterExport 90 Machine-BulkRegisterImport 91 8 vRealize Automation Workflow Activity Reference 93 DynamicOps.Repository.
Life Cycle Extensibility SetWorkflowResult VMware, Inc.
Life Cycle Extensibility 1 Using vRealize Orchestrator with vRealize Automation, you can extend how you the manage the life cycle of IaaS machines. Extending vRealize Automation requires you to use provided vRealize Orchestrator workflows and to create custom workflows. VMware, Inc.
Machine Extensibility Overview 2 Provisioning or decommissioning a new machine, especially for mission-critical systems, typically requires interacting with a number of different management systems, including DNS servers, load balancers, CMDBs, IP Address Management and other systems.
Life Cycle Extensibility Figure 2‑1. Master workflow states for provisioning machines Figure 2‑2. Master workflow states for importing machines Figure 2‑3. Master workflow states for machine lease expiration Figure 2‑4. Master workflow states for disposing a machine Table 2‑1. Customizable State Change Workflows Master Workflow State Customizable Workflow Name Extensibility Examples BuildingMachine WFStubBuildingMachine Prepare for the machine to be created on the hypervisor.
Life Cycle Extensibility You can extend machine lifecycles by using vRealize Automation Designer to call out to vRealize Orchestrator, or by using vRealize Orchestrator directly. Both approaches allow you to inject custom logic into predetermined stages of the IaaS machine lifecycle by creating custom vRealize Orchestrator workflows and then insert the custom workflows into the state change workflow stubs.
Extending Machine Lifecycles By Using vRealize Orchestrator 3 You can inject custom logic into predetermined stages of the IaaS machine lifecycle by creating custom vRealize Orchestrator workflows and then using vRealize Orchestrator to insert the custom workflows into the lifecycle of machines built from specific blueprints.
Life Cycle Extensibility Table 3‑1. Extending Machine Lifecycles by Using vRealize Orchestrator Checklist (Continued) Task Details Use the workflow template provided in the Extensibility subdirectory of the vRealize Automation plug-in library to create a custom vRealize Orchestrator workflow to run during the machine lifecycle. You can run multiple workflows in the same state for the same blueprint as long as you nest them under a single wrapper workflow.
Life Cycle Extensibility 7 Enter the name of the tenant in the Tenant text box. To use the full functionality of the plug-in for a tenant, create a dedicated vRealize Automation host for each tenant. 8 Select whether to install the SSL certificates automatically without user confirmation.
Life Cycle Extensibility 9 To use a proxy to access your model manager machine, select Yes. If you select this option, you must provide the proxy host and the proxy port on the following page. 10 Click Next. 11 If you are configuring an explicit proxy, provide the proxy host URL and the port. 12 Click Next. 13 To configure your own timeout values, click No.
Life Cycle Extensibility 5 Select an IaaS host. 6 Click Next. 7 Choose the lifecycle stages to which you want to add custom logic by selecting one or more state change workflow stubs to install. 8 Click Submit. Create a vRealize Orchestrator Endpoint You can configure multiple endpoints to connect to different vRealize Orchestrator servers, but you must configure a priority for each endpoint.
Life Cycle Extensibility Customizing IaaS Workflows By Using vRealize Orchestrator You use a single workflow in vRealize Orchestrator to inject your custom logic into the IaaS workflow stubs and assign your customized life cycles to machine blueprints. Note The workflow stubs are replaced by the event broker workflow subscriptions. They are still available, supported, and they can be used, but expect them to be removed in a future version of vRealize Automation.
Life Cycle Extensibility 6 Select an IaaS host. 7 Click Next. 8 Select the blueprint to which you want to assign the workflow. 9 Choose whether or not to apply these workflows to existing machines provisioned by using this blueprint. 10 Select the workflow you want to run during the machine lifecycle. 11 Configure which workflow input values are added as custom properties to the machine. a Add vCO workflow inputs as blueprint properties.
Configuring Workflow Subscriptions to Extend vRealize Automation 4 You create workflow subscriptions that use the event broker service to monitor the registered services for event messages in vRealize Automation, and then run a specified vRealize Orchestrator workflow when the conditions in the subscription are met. To configure the subscription you specify the event topic, the triggering conditions, and the workflow that runs when triggered.
Life Cycle Extensibility Table 4‑1. Event Topics Event Topic Name Description Service Blueprint component completed A blueprint component that is part of a composite blueprint finishes provisioning. The component is any blueprint that is part of a composite blueprint. composition-service Blueprint component requested A blueprint component that is part of a composite blueprint is requested. The component is any blueprint that is part of a composite blueprint.
Life Cycle Extensibility Table 4‑1. Event Topics (Continued) Event Topic Name Description Service Orchestration server configuration (XaaS) - Obsolete A vRealize Orchestrator server configuration is created, updated, deleted, or modified to use a different default instance. advanced-designer-service Post Approval A post-approval policy level is configured to use the event subscription option.
Life Cycle Extensibility Table 4‑2. Workflow Subscription and Event Broker Terminology (Continued) Term Description Tenant Administrator The user with privileges to create, read, update, and delete tenant workflow subscriptions for their tenant. Workflow Subscription Specifies the event topic and conditions that trigger a vRealize Orchestrator workflow. System Workflow Subscription A specialized workflow subscription that reacts to system events and to events in all the tenants.
Life Cycle Extensibility subscription. When a machine is provisioned, the ChangeProperty subscription begins running. Because the RecordProperty subscription conditions are based on a post-provisioning conditions, a message triggers the RecordProperty subscription. However, because the ChangeProperty workflow is a blocking workflow, the message is not received until it is finished. When the name is changed and the first workflow is finished, the second workflow runs, recording the name in the file system.
Life Cycle Extensibility Workflow Output Parameters The custom workflow that you create can include output parameters that are relevant to subsequent events necessary for a reply event topic type. If an event topic expects a reply, the workflow output parameters must match the reply schema. Workflow Subscription Settings The subscription options determine when a workflow runs based on event messages in vRealize Automation. Use the options to manage your subscriptions.
Life Cycle Extensibility n Workflow Subscription Workflow Tab Settings The vRealize Orchestrator workflow that you select runs when the subscription conditions are evaluated as true. n Workflow Subscription Details Tab Settings The subscription details determine how the subscription is processed. Workflow Subscription Event Topic Tab Settings Event topics are classes of events provided in vRealize Automation. You select the event topic on which to define the subscription. This page is informational.
Life Cycle Extensibility If you select Run based on conditions, the available options can include n Data. Information in the event message that is specific to the selected event topic. For example, if you create a condition for the machine life cycle event topic, the data fields are related to blueprints and machines compared to a pre-approval event topic where the data fields are related to approval policies.
Life Cycle Extensibility Table 4‑6. Workflow Tab Options Option Description Select a Workflow Navigate to the workflow. Selected Workflow Displays information about the workflow, including input and output parameters, so that you can verify it is the one that you want to run. Workflow Subscription Details Tab Settings The subscription details determine how the subscription is processed. To manage your workflow subscriptions, select Administration > Events > Subscriptions. Click New.
Life Cycle Extensibility Table 4‑7. Details Tab Options (Continued) Options Descriptions Description By default, the displayed description is the workflow description. Blocking Determines if the workflow can block subsequent workflows for the same event topic from receiving an event message while waiting for a reply. Subscriptions with blocking enabled receive messages before subscriptions that are not configured as blocking for the same event topic, based on priority order.
Life Cycle Extensibility Machine lifecycle. Create workflow subscriptions that run workflows related to management actions that an owning user runs on the provisioned machine. n Configuring vRealize Orchestrator Workflows for Provisioning and Life Cycle Workflows You must configure your vRealize Orchestrator workflows to support the IaaS service message. Provisioning and Life Cycle Event Topic Schema The machine provisioning and machine life cycle event topics use the same life cycle schema.
Life Cycle Extensibility When you use virtualMachineEvent and workflowNextState as output parameters, the values that you provide must represent a state or event from the workflow that triggered the event and started the current vRealize Orchestrator workflow. To review the possible life cycle states and events, see VMPS Master Workflow Life Cycle States and Provisioning Life Cycle States by Machine Type.
Life Cycle Extensibility Workflow Subscription Life Cycle State Definitions If you configure workflow subscription conditions based on life cycle states, the following definitions might help you identify the values. Each message contains a lifecycleState element that is based on the IaaS machine state changes. The element has the following structure in the message. lifecycleState : { state : STRING, phase : STRING, event : STRING } Table 4‑9.
Life Cycle Extensibility These basic stages are included in the master workflow. You can use the VMPSMasterWorkflow32 states when you create conditions for the following event topics: n Machine life cycle n Machine provisioning The global event states are messages sent to the event broker by the VMPS Master Workflow. Global events can be triggered at any time. Table 4‑10.
Life Cycle Extensibility Table 4‑12.
Life Cycle Extensibility Table 4‑12.
Life Cycle Extensibility VMPS Master Workflow 32 Requested PRE VMPSMaster Workflow32 EVENT OnBuildSuccess MachineProvisioned PRE DeactivateMachine PRE BuildingMachine POST MachineProvisioned POST DeactivateMachine POST BasicVmWorkflow Requested EVENT OnProvisionMachine CreatingMachine PRE Requested POST CreatingMachine EVENT OnCreating MachineComplete MachineActivated PRE UnprovisionMachine PRE WaitingToBuild PRE AddingDisks PRE MachineActivated EVENT OnCatalog RegistrationComplete Unprovis
Life Cycle Extensibility Opsware Bare Metal State (Topic) Events (Topic) BuildFinished n Pre(Provision) OpswareRegister n n OnOpswareRegister(Provision) Pre(Provision) Cloud Provisioning Workflow State (Topic) Events (Topic) BuildComplete n Pre(Provision) CloudProvisioning n n OnCloudProvisioningTimeout(Provision) Pre(Provision) FailedProvisioning n Pre(Provision) App Service Provisioning Workflow State (Topic) Events (Topic) AppServiceProvisioning n n OnAppServiceProvisioningTimeout
Life Cycle Extensibility Opsware Virtual State (Topic) Events (Topic) AddingDisks n OnAddingDisksComplete(Provision) n OnAddingDisksTimeout(Provision) n OnCreateVMComplete(Provision) n OnCreateVMTimeout(Provision) n OnInitialPowerOnComplete(Provision) n OnInitialPowerOnTimeout(Provision) n OnOpswareRegister(Provision) n Pre(Provision) BuildFinished n Pre(Provision) CreatingVM n Pre(Provision) InitialPowerOn n Pre(Provision) OpswareRegister n Pre(Provision) Cloud Linux Kickstart W
Life Cycle Extensibility State (Topic) Events (Topic) EjectCD n OnEjectCDComplete(Provision) n OnEjectCDTimeout(Provision) n OnFinalizeComplete(Provision) n OnFinalizeTimeout(Provision) n Pre(Provision) FailedProvisioning n Pre(Provision) FinalizeProvisioning n Pre(Provision) InitialPowerOn n Pre(Provision) InstallSoftware n Pre(Provision) MountCD n Pre(Provision) n OnInitialPowerOnComplete(Provision) n OnInitialPowerOnTimeout(Provision) n OnInstallSoftwareComplete(Provision) n
Life Cycle Extensibility External Provisioning Workflow State (Topic) Events (Topic) AddingDisks n OnAddingDisksComplete(Provision) n OnAddingDisksTimeout(Provision) n OnCreatingMachineComplete(Provision) n OnCreatingMachineTimeout(Provision) n OnEpiRegisterComplete(Provision) n Pre(Provision) BuildComplete n Pre(Provision) CreatingMachine n Pre(Provision) EpiRegister n Pre(Provision) FailedProvisioning n Pre(Provision) InitialPowerOn n Pre(Provision) n OnInitialPowerOnComplete(Pr
Life Cycle Extensibility Physical Provisioning Workflow State (Topic) Events (Topic) FailedProvisioning n Pre(Provision) FinalizeProvisioning n Pre(Provision) Reboot n Pre(Provision) SetupOS n OnInitializeProvisioningTimeout(Provision) n OnInitialPowerOnTimeout(Provision) Pre(Provision) InstallOS n n Pre(Provision) InitialPowerOn n OnFinalizeProvisioningTimeout(Provision) Pre(Provision) InitializeProvisioning n n Pre(Provision) n OnInstallOSComplete(Provision) n OnInstallOSTimeout(
Life Cycle Extensibility Physical SCCM Provisioning Workflow State (Topic) Events (Topic) CheckHardwareType n Pre(Provision) Complete n OnCompleteProvisioningComplete(Provision) Pre(Provision) n OnCompleteProvisioningTimeout(Provision) FailedProvisioning n OnFailedProvisioningTimeout(Provision) n OnFinalizeProvisioningTimeout(Provision) n OnInitializeProvisioningTimeout(Provision) n OnInitialPowerOnTimeout(Provision) n OnSccmRegistrationTimeout(Provision) n n Pre(Provision) Finalize
Life Cycle Extensibility vApp Clone Workflow State (Topic) Events [Triggering String] (Topic) Global n OnFailProvisioning [FailProvisioning] (Provision) n OnMasterProvisioned [MasterProvisioned] (Provision) n OnCloneMachineComplete(Provision) n OnCloneMachineTimeout(Provision) n OnCustomizeMachineComplete(Provision) n OnCustomizeMachineTimeout(Provision) BuildComplete n Pre(Provision) CloneMachine n Pre(Provision) CustomizeMachine n Pre(Provision) CustomizeOS n OnCustomizeOS(Provisio
Life Cycle Extensibility State (Topic) InstallingOS n Pre(Provision) SccmRegistration n Events (Topic) n OnInstallingOSComplete(Provision) n OnInstallingOSTimeout(Provision) n OnSccmRegistrationTimeout(Provision) Pre(Provision) WIM Image Workflow State (Topic) Events (Topic) AddingDisks n OnAddingDisksComplete(Provision) n OnAddingDisksTimeout(Provision) n OnCreatingMachineComplete(Provision) n OnCreatingMachineTimeout(Provision) n OnEjectingCDComplete(Provision) n OnEjectingCDTimeo
Life Cycle Extensibility To configure individual timeout values, add the workflow or event property to the appSetting section of the ManagerService.exe.config file, located on the IaaS server. The file is typically located in the %System-Drive%\Program Files x86\VMware\vCAC\Server directory. You should always make a copy of the file before editing it. If you make changes to the individual settings, you must restart the manager service. The basic format for the keys is similar to the following examples.
Life Cycle Extensibility To customize the timeout or error behavior, you can add custom properties to the machine for any events or states where you want to trigger an event or force a state change. Use the following examples to configure the custom properties. n Extensibility.Lifecycle.Error.Event.{Workflow}.{State}. The value of the property is the name of the event to be triggered on in the workflow in case of timeout or error. n Extensibility.Lifecycle.Error.State.{Workflow}.{State}.
Life Cycle Extensibility 4 Add a scriptable task that accepts the input parameter and creates a virtual machine snapshot. 5 Save the workflow. What to do next You create a workflow subscription that runs your Automation Post-Provisioning Snapshot workflow. Scenario: Create a Post-Provisioning Snapshot Workflow Subscription. Scenario: Create a Post-Provisioning Snapshot Workflow Subscription As a tenant administrator, you want to create a snapshot of each virtual machine after it is created.
Life Cycle Extensibility c d Configure the following conditions: Property Operator Value Data > Machine > Machine type Equals Constant > Virtual Machine Data > Lifecycle state > Lifecycle state name Equals Constant > VMPSMasterWorkflow32.MachineActivated Data > Lifecycle state > State phase Equals Constant > POST Click Next. 6 On the Workflow tab, browse the Orchestrator tree and select your Automation Post-Provisioning Snapshot workflow. 7 Click Next.
Life Cycle Extensibility If you have a published workflow subscription, but the criteria do not match, you unpublished the workflow subscription, or you do not have a published subscription, the approval level is approved and the approval process goes to the next approval level. n The approval workflow subscription receives messages from the approval service and compares the messages to the configured criteria for approval subscriptions.
Life Cycle Extensibility serviceId : STRING, externalClassId : STRING // Identifier of the service which initiated the approval // Identifier of the class to which the source object belongs } } Property names and property values can be the custom properties or system properties that you configure in the approval policy level. These properties are configured in the approval policy to allow the approver to change the values during an approval process.
Life Cycle Extensibility Procedure 1 Scenario: Create a vRealize Orchestrator Workflow for Approval Workflow Subscriptions You create a vRealize Orchestrator workflow that accepts the required approval input parameters from vRealize Automation and returns the necessary output parameters to complete the approval process.
Life Cycle Extensibility 4 Save the workflow. What to do next You create an approval policy that uses the workflow subscription as an approver. Scenario: Create an Approval Policy for External Approval Scenario: Create an Approval Policy for External Approval As a tenant administrator, you create an approval policy that generates an event message that is published by the approval service.
Life Cycle Extensibility What to do next n Create a pre-approval workflow subscription that receives event messages based on the configured approval level. See Scenario: Create a Pre-Approval Workflow Subscription. n Apply the approval policy to a software component in an entitlement. See Entitle Users to Services, Catalog Items, and Actions.
Life Cycle Extensibility 9 In the Timeout (min) text box, enter 120. The amount of time you specify until the subscription workflow times out depends on the target system. If vRealize Automation does not process a reply from the target system in the specified number of minutes, the request is automatically rejected. If you do not provide a value, the default timeout is 24 hours. 10 Click Finish. 11 Select the Software External row and click Publish.
Life Cycle Extensibility Solution 1 Verify that you published the workflow subscription. 2 Verify that the workflow subscription conditions are configured correctly. 3 Verify that the vRealize Orchestrator server has the specified workflow. Troubleshooting Provisioning Requests That Take Too Much Time An IaaS machine take ten or more hours to provision.
Life Cycle Extensibility Solution 1 Verify that the approval policy is active and that you selected Use event subscription for an approval level in the policy. 2 Verify that the approval policy is correctly applied in your entitlement. 3 Verify that your workflow subscription is correctly configured and published. 4 Review the event logs for messages related to approvals.
Life Cycle Extensibility 2 Review the logs for messages related to approvals. VMware, Inc.
Extending Machine Life Cycles By Using vRealize Automation Designer 5 You can inject custom logic into predetermined stages of the IaaS machine life cycle by using vRealize Automation Designer to directly edit the state change workflow stubs and, optionally, call out to custom vRealize Orchestrator workflows. Note The workflow stubs are replaced by the event broker workflow subscriptions.
Life Cycle Extensibility Table 5‑1. Extending Machine Lifecycles By Using vRealize Automation Designer Checklist (Continued) Task Details Using vRealize Automation Designer activities, customize an IaaS Workflow stub. Customize an IaaS Workflow Note The workflow stubs are replaced by the event broker workflow subscriptions. They are still available, supported, and they can be used, but expect them to be removed in a future version of vRealize Automation.
Life Cycle Extensibility n The vRealize Automation Designer host must have network access to the IaaS Website components (specifically, the Model Manager Web component). n If the Model Manager is installed remotely, the certificate used for the Model Manager Web component must be trusted on the vRealize Automation Designer host. Download the vRealize Automation Designer Installer You can download the vRealize Automation Designer installer from the vRealize Automation appliance.
Life Cycle Extensibility 7 Specify the Model Manager service user credentials. 8 Click Next. The installer validates the combination of Model Manager host and credentials by attempting to access to the Model Manager. If an error is returned, you must provide the correct combination of Model Manager host and credentials before proceeding. 9 Click Install. 10 Click Finish.
Life Cycle Extensibility When executing vRealize Orchestrator workflows, vRealize Automation tries the highest priority vRealize Orchestrator endpoint first. If that endpoint is not reachable, then it proceeds to try the next highest priority endpoint until a vRealize Orchestrator server is available to run the workflow. Prerequisites n Log in to the vRealize Automation console as an IaaS administrator. n Store User Credentials. Procedure 1 Select Infrastructure > Endpoints > Endpoints.
Life Cycle Extensibility 2 Create a new blueprint or edit an existing blueprint. If you are editing an existing blueprint, the vRealize Orchestrator endpoint you specify only applies to new machines provisioned from the updated blueprint. Existing machines provisioned from the blueprint continue to use the highest priority endpoint unless you manually add this property to the machine. 3 Click the Properties tab. a Click New Property. b Type VMware.VCenterOrchestrator.
Life Cycle Extensibility The Toolbox pane on the left provides access to the vRealize Automation workflow activity library. You can drag activities from the toolbox onto the Designer pane to add them to a workflow. The Properties pane displays the configurable properties of the currently selected activity on the Designer pane. This interface is very similar to the workflow designer in Visual Studio.
Life Cycle Extensibility The Imports tab displays imported namespaces from which you can select entity types to add to the workflow. The collapsible Information pane at the bottom of the console displays any errors in configuring activities and provides access to the XAML representation of the workflow. IaaS Workflow Types You can customize two types of workflows by using vRealize Automation Designer: state change workflows and menu operation workflows.
Life Cycle Extensibility vRealize Automation Designer provides a customizable workflow for each of these states. Table 5‑2.
Life Cycle Extensibility In addition to the workflow definition, a menu operation workflow depends on an operation configuration file, which defines the aspects of the custom menu option such as the display text, which roles have access to it, and the machine states for which the operation is available. Note An XaaS architect can define custom actions for any catalog item by using the XaaS.
Life Cycle Extensibility 2 3 Select the workflow that you want to customize.
Life Cycle Extensibility Synchronous Execution The InvokeVcoWorkflow activity calls a vRealize Orchestrator workflow and blocks further execution of its parent IaaS workflow until the vRealize Orchestrator workflow completes. The activity returns the output parameters for the vRealize Orchestrator workflow. In addition, the synchronous execution supports the following property: n WorkflowTimeout is a timeout value in seconds.
Life Cycle Extensibility 2 Drag the InvokeVcoWorkflow or the InvokeVcoWorkflowAsync activity into the Designer pane. 3 Select the vCenter Orchestrator workflow to execute. a Under General, click the ellipsis next to Workflow. b In the Browse for vCO workflow dialog box, select a workflow. c Click OK. The Inputs and Outputs sections display the input and output parameters of the selected workflow. 4 In the Properties pane, specify one of the following target parameters.
Life Cycle Extensibility Prerequisites Call a vRealize Orchestrator Workflow using the InvokeVcoWorkflowAsync activity. Procedure 1 In vRealize Automation Designer, open a workflow where you have used the InvokeVcoWorkflowAsync activity. 2 Navigate to the context where you want to check the status of the vRealize Orchestrator workflow. 3 Drag the GetVcoWorkflowExecutionStatus activity into the Designer pane.
Life Cycle Extensibility 3 Drag the WaitForVcoWorkflowCompletion activity into the Designer pane. 4 In the Properties pane, specify the name of the variable representing the virtual machine ID in VirtualMachineId. The customizable workflows contain a variable by default named virtualMachineId that is set during initialization. 5 Create a variable of type DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken. 6 Create a variable of type DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken.
Life Cycle Extensibility Table 5‑3. vRealize Orchestrator and IaaS Object Types (Continued) vRealize Orchestrator Type IaaS Type Date DateTime VC:VirtualMachine VirtualMachine Note If you are using vRealize Orchestrator 5.1, you must have installed the vRealize Automation integration package to enable the conversion of VC:VirtualMachine object types to VirtualMachine. All other vRealize Orchestrator types are converted to the IaaS type VcoSdkObject.
Life Cycle Extensibility 6 Leave the Value text box blank. The workflow depends on the presence of the property, not on any particular value. 7 Click the Save icon ( 8 Click OK. ). The workflow is now enabled for new machines that are provisioned from this blueprint. Configuring a Menu Operation Workflow After you customize a menu operation workflow, additional configuration is required before it is available to users in the vRealize Automation console.
Life Cycle Extensibility 2 Create the root element customOperations. The element must specify the XML namespace http://www.dynamicops.com/schemas/2009/OperationConfig/. 3 For each operation you want to define, add an operation element within customOperations.
Life Cycle Extensibility 5 (Optional) Specify the machine states for which the operation is available. a Add the machineStates element. b For each state in which the operation should be available, add a state element. On Off The value may be any of the possible machine states.
Life Cycle Extensibility 2 Run the CloudUtil.exe command with the following arguments. n n CloudUtil.exe Operation-Create -c Optionally, you can specify a Model Manager host and request a stack trace in case of error. CloudUtil.
Life Cycle Extensibility Procedure 1 Select Design > Blueprints. 2 Point to the name of a blueprint and click Edit. 3 Click the Actions tab. 4 Select the checkbox that corresponds to the operation that you want to enable. 5 Click OK. The menu operation is now enabled for machines provisioned from this blueprint and available to all user roles specified in the operation configuration file.
Workflows and Distributed Execution Management 6 You can use skills to restrict execution of workflows to specific Distributed Execution Managers. A skill is similar to a tag that you can apply to both workflows and DEM Worker instances. If a workflow is not associated with any skills, any DEM Worker can execute it. If a workflow is associated with one or more skills, then only DEM Workers that are associated with all of the same skills can execute it.
Life Cycle Extensibility 3 Select the name of the skill in the list on the left. 4 Associate the skill with one or more DEM Workers. 5 a Click the Add icon ( b In the Select DEMs dialog, select one or more DEM Worker instances. c Click OK. ) next to Distributed Execution Managers. Associate the skill with one or more Workflows. a Click the Add icon ( b In the Select Workflows dialog, select one or more workflows. c Click OK. ) next to Workflows.
Life Cycle Extensibility 2 In the Manage Skills dialog, select the name of the skill in the list on the left. 3 Select the name of one or more workflows from the Workflows list and click the Remove icon ( 4 Click OK to close the Manage Skills dialog and save your changes to the Model Manager. ). Remove a Skill Removing a skill also removes its associations to any DEM Workers and workflows. Prerequisites Launch the vRealize Automation Designer console.
CloudUtil Command Reference 7 This section provides a reference to the commands in the CloudUtil command line interface. CloudUtil is the command line interface for the vRealize Automation Designer. You run the commands on the Windows machine on which you are running the designer. The default installation location on the Windows machine is C:\Program Files (x86)\VMware\vCAC\Design Center.
Life Cycle Extensibility DEM-Add-Skills Arguments Argument Description -n | - -name Name of a registered Distributed Execution Manager. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository. Default is specified in the CloudUtil config file in the repositoryAddress key under the section. -s | - -skills Comma-delimited list of skills to associate with this Distributed Execution Manager.
Life Cycle Extensibility Argument Description -s | - -skills Comma-delimited list of skills to remove from this Distributed Execution Manager. -v | - -verbose (Optional) If an error occurs, outputs a stack trace instead of just the exception message. File Commands The File commands enable you to store and manage files (typically scripts) in the Model Manager. File-Export Exports a file from the Model Manager. Synopsis CloudUtil.
Life Cycle Extensibility Argument Description -n | - -name Friendly name to assign to the file in the Model Manager. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository. Default is specified in the CloudUtil config file in the repositoryAddress key under the section. -v | - -verbose (Optional) If an error occurs, outputs a stack trace instead of just the exception message. File-List Lists all files imported into the Model Manager.
Life Cycle Extensibility File-Remove-Rev Removes a specific revision of a file from the Model Manager. Synopsis CloudUtil.exe File-Remove-Rev -n|--name -r|--revision [-i|--iteration ] [--repository ] [-v|--verbose] File-Export Arguments Argument Description -i | - -iteration (Optional) Version string of the file in the Model Manager. Default is 0.0. -n | - -name Friendly name of the file in the Model Manager.
Life Cycle Extensibility File-Update Updates a previously imported file in the Model Manager with a new revision. Synopsis CloudUtil.exe File-Update -n|--name -f|--filename [-i|--iteration ] [-repository ] [-v|--verbose] File-Update Arguments Argument Description -f | - -filename Path to the updated file. -i | - -iteration (Optional) Version string of the file in the Model Manager. Default is 0.0.
Life Cycle Extensibility Operation-Delete Deletes a custom operation from the Model Manager. Synopsis CloudUtil.exe Operation-Delete -n|--name [--force] [--repository ] [-v|--verbose] Operation-Delete Arguments Argument Description - -force (Optional) Force deletion of the operation. -n | - -name Name of the custom operation in the Model Manager. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository.
Life Cycle Extensibility Synopsis CloudUtil.exe Skill-Install -n|--name [--repository ] [-v|--verbose] Skill-Install Arguments Argument Description -n | - -name Name for the skill in the Model Manager. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository. Default is specified in the CloudUtil config file in the repositoryAddress key under the section.
Life Cycle Extensibility Skill-Uninstall Arguments Argument Description -n | - -name Name of the skill to uninstall from the Model Manager. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository. Default is specified in the CloudUtil config file in the repositoryAddress key under the section. -v | - -verbose (Optional) If an error occurs, outputs a stack trace instead of just the exception message.
Life Cycle Extensibility Table 7‑4. Workflow-List Arguments Argument Description - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository. Default is specified in the CloudUtil config file in the repositoryAddress key under the section. -v | - -verbose (Optional) If an error occurs, outputs a stack trace instead of just the exception message. Workflow-Remove-Skills Removes association between skills and a workflow in the Model Manager.
Life Cycle Extensibility Argument Description -r | - -revision Revision of the workflow to revert to. -v | - -verbose (Optional) If an error occurs, outputs a stack trace instead of just the exception message. Workflow-Update Update a customizable workflow with a new revision. CloudUtil.exe Workflow-Update -f|--filename -n|--name [-d|--description ] [--repository ] [-v|--verbose] Table 7‑5.
Life Cycle Extensibility Table 7‑6. (Continued) Argument Description -f | - -filename Specify the name of the CSV data file containing a list of machine names, for example, filename.csv. File is saved in the current path by default. You can also specify the complete path to a preferred directory. -g | - -group (Optional) Specify business group name, for example, Engineering. -i | - -ignore (Optional) Ignore invalid arguments. -m | - -managed (Optional) Export managed virtual machines.
Life Cycle Extensibility Machine-BulkRegisterImport Arguments Table 7‑7. Argument Description -b | - -batch (Optional) Batch size. -d | - -delay (Optional) Specify processing delay time in this format: hh:mm:ss, for example, 02:20:10. -f | - -filename Specify the CSV data file name containing the list of machine names. For example, filename.csv. -h | --humanreadable (Optional) Input file contains the virtual machine names and not the GUIDs.
vRealize Automation Workflow Activity Reference 8 VMware provides a library of workflow activities with vRealize Automation Designer for use in customizing workflows. Note The CDK is deprecated beginning with vRealize Automation 7.0. You can use the vRealize Orchestrator workflows to address use cases that you previously addressed with CDK.
Life Cycle Extensibility Table 8‑1. AddLink Activity Input Parameters Argument Type Description DataServiceContext RepositoryServiceContext The DataServiceContext to which to add the link. Source Object The source object for the new link. SourceProperty String The name of the navigation property on the source object that returns the related object. Target Object The object related to the source object by the new link.
Life Cycle Extensibility DeleteLink Changes the state of the link to deleted in the list of links being tracked by the DataServiceContext. Table 8‑6. DeleteLink Activity Input Parameters Argument Type Description DataServiceContext RepositoryServiceContext The DataServiceContext from which to delete the link. Source Object The source object in the link to be marked for deletion.
Life Cycle Extensibility Table 8‑9. LoadProperty Activity Input Parameters Argument Type Description DataServiceContext RepositoryServiceContext The DataServiceContext from which to load the property. Instance Object The entity that contains the property to load. InstanceProperty String The name of the property of the specified entity to load. SaveChanges Saves the changes that the DataServiceContext is tracking to storage. Table 8‑10.
Life Cycle Extensibility DynamicOps.Cdk.Activities The DynamicOps.Cdk.Activities namespace contains advanced activities for IaaS workflows. Note The CDK is deprecated beginning with vRealize Automation 7.0. You can use the vRealize Orchestrator workflows to address use cases that you previously addressed with CDK. ExecutePowerShellScript Executes a PowerShell script stored in the Model Manager under the specified name.
Life Cycle Extensibility Before you use the ExecuteSshScript activity, you must first load the script that you want to execute into the Model Manager using the CloudUtil File-Import command. Table 8‑15. ExecuteSshScript Activity Input Parameters Argument Type Description ScriptName String Name in the Model Manager of the script to execute. Host String Server name against which to execute the script. Username String Username to use in connecting to the host.
Life Cycle Extensibility GetMachineProperties Gets the list of custom properties associated with a machine. Table 8‑21. GetMachineProperties Activity Input Parameters Argument Type Description MachineId Guid The machine whose properties to retrieve. Table 8‑22. GetMachineProperties Activity Output Parameters Argument Type Description Properties Dictionary List of the machine’s properties. Values are returned decrypted if they were stored encrypted.
Life Cycle Extensibility InvokePowerShell Executes a PowerShell command. Table 8‑27. InvokePowerShell Activity Input Parameters Argument Type Description CommandText String Command to execute. Arguments IEnumerable (Optional) Arguments to the command. Input IEnumerable (Optional) The input pipeline. IsScript bool (Optional) Indicates whether CommandText is a script. Default is False. This option is only available in the Properties pane and not in the Designer pane.
Life Cycle Extensibility InvokeSshCommand Executes an SSH command. Table 8‑29. InvokeSshCommand Activity Input Parameters Argument Type Description CommandText String Command to execute. Host String Server name against which to execute the command. Username String Username to use in connecting to the host. Password String Password to use in connecting to the host. Timeout TimeSpan (Optional) Period of time after which execution of the command times out. Default is 30 minutes. Table 8‑30.
Life Cycle Extensibility RunProcess Executes a process on the same machine as the DEM that executes this activity. Note vRealize Automation cannot present the UI from processes launched by the RunProcess activity to the user, therefore these process must be non-interactive. In order to avoid leaving orphaned processes on the DEM machine, the processes must also be self-terminating. Table 8‑33.
Life Cycle Extensibility Table 8‑34. SendEmail Activity Input Parameters (Continued) Argument Type Description EnableSsl bool (Optional) Indicates whether to use SSL. This option is only available in the Properties pane and not in the Designer pane. UserName String The user name with which to authenticate with the SMTP server specified in Host . This option is only available in the Properties pane and not in the Designer pane. Password String The password of the user specified in UserName.