Life Cycle Extensibility 12 April 2018 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–2018 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc.
Contents 1 Life Cycle Extensibility 4 Machine Extensibility Overview 4 Machine Life Cycle Extensibility 4 Choosing a Life Cycle Extensibility Scenario 6 Extending Machine Lifecycles By Using vRealize Orchestrator 7 Extending Machine Lifecycles by Using vRealize Orchestrator Checklist Configuring the vRealize Automation Plug-in for Machine Extensibility Customizing IaaS Workflows By Using vRealize Orchestrator 13 13 Workflow Subscriptions and Event Broker Terminology Blockable and Replyable Event
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.
Life Cycle Extensibility Creating a state change workflow enables you to trigger the execution of a workflow before the IaaS master workflow enters a specific state. For example, you can create custom workflows to integrate with an external database and record information at different stages of the machine life cycle. n Create a custom workflow that runs before the master workflow enters the MachineProvisioned state to record such information as machine owner, approvers, and so on.
Life Cycle Extensibility Table 1‑1. Customizable State Change Workflows (Continued) Master Workflow State Customizable Workflow Name Extensibility Examples Expired WFStubMachineExpired Move an expired machine to low cost storage to reduce archival costs and update the CMDB record and billing system to reflect storage and cost changes. UnprovisionMachine WFStubUnprovisionMachine Remove machines from active directory accounts.
Life Cycle Extensibility Extending Machine Lifecycles By Using vRealize Orchestrator 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 Configuring the vRealize Automation Plug-in for Machine Extensibility You configure your vRealize Automation and IaaS hosts, install the customizations for machine extensibility, and create a vRealize Automation endpoint for your vRealize Orchestrator instance. Add a vRealize Automation Host You can run a workflow to add a vRealize Automation host and configure the host connection parameters. Procedure 1 From the drop-down menu in the Orchestrator client, select Run or Design.
Life Cycle Extensibility What to do next Add a vRealize Automation Infrastructure Administration host. Add an IaaS Host You can run a workflow to add the IaaS host of a vRealize Automation host and configure the connection parameters. Procedure 1 From the drop-down menu in the Orchestrator client, select Run or Design. 2 Click the Workflows view. 3 Expand Library > vRealize Automation > Infrastructure Administration > Configuration. 4 Right-click Add an IaaS host and select Start workflow.
Life Cycle Extensibility 17 If you selected NTLM, click Next and enter the name of the Workstation machine and the NetBIOS domain name. 18 Click Submit. Install vRealize Orchestrator Customization You can run a workflow to install the customized state change workflow stubs and Orchestrator menu operation workflows. Note The workflow stubs are replaced by the event broker workflow subscriptions.
Life Cycle Extensibility 2 Select New > Orchestration > vRealize Orchestrator. 3 Enter a name and, optionally, a description. 4 Enter a URL with the fully qualified name or IP address of the vRealize Orchestrator server and the vRealize Orchestrator port number. The transport protocol must be HTTPS. If no port is specified, the default port 443 is used.
Life Cycle Extensibility Assign a State Change Workflow to a Blueprint and Its Virtual Machines You configure custom vRealize Orchestrator workflows to run at specific stages in the master machine workflow by associating your custom workflow with a state change workflow stub and assigning the workflows to a blueprint. Note The workflow stubs are replaced by the event broker workflow subscriptions.
Life Cycle Extensibility Configuring Workflow Subscriptions to Extend vRealize Automation 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 1‑4. Event Topics (Continued) Event Topic Name Description Service Deployment action completed An action on a deployed blueprint finished running, including running all the component actions. composition-service Deployment action requested An action on a deployed blueprint is requested. composition-service EventLog default event A standard entry is added to the event log. eventlog-service The log entry is not distributed to subscribers.
Life Cycle Extensibility Table 1‑5. Workflow Subscription and Event Broker Terminology (Continued) Term Description Message Transports information about the event between the various services and components. For example, from the producer to the event broker service, or from the event broker service to the subscribers. Event Broker Service The service that dispatches messages that are published by a producer to the subscribed consumers. Payload The event data.
Life Cycle Extensibility Blockable Event Topics Some event topics support blocking. If a workflow subscription is marked as blocking, then all messages that meet the configured conditions are not received by any other workflow subscriptions with matching conditions until the first workflow is finished. If you have multiple blocking workflow subscriptions for the same event topic, you prioritize the subscriptions. Blocking subscriptions run in priority order. The highest priority value is 0 (zero).
Life Cycle Extensibility Best Practices for Creating vRealize Orchestrator Workflows for Workflow Subscriptions A workflow subscription is based on a specific topic schema. To ensure that the subscriptions can start the vRealize Orchestrator workflows, you must configure them with the correct input parameters so that they work with the event data. Workflow Input Parameters The custom workflow that you create can include all the parameters or a single parameter that consumes all the data in the payload.
Life Cycle Extensibility Table 1‑6. Workflow Subscription options (Continued) Option Description Publish Make the subscription active. The events from the event broker service are processed and the subscription conditions are evaluated. If a configured condition is true, the workflow is triggered. Unpublish Return a subscription to a draft state. The subscription is no longer active in your environment and no longer receives events.
Life Cycle Extensibility Table 1‑7. Event Topic Options (Continued) Option Description Blockable Indicates whether you can create a blocking subscription for this event topic. Blocking subscriptions are used to change the event's payload or to synchonously run your custom logic when the results of a second workflow for the same event depend on the results of the first workflow.
Life Cycle Extensibility Table 1‑8. Conditions Tab Options Option Description Run for all events The selected workflow runs when the message for this event topic is received. Run based on conditions The selected workflow runs when the event message is detected and the event meets the configured conditions. If you select this option, you must specify conditions based on the event data to trigger the selected workflow for this subscription. n Single condition.
Life Cycle Extensibility To manage your workflow subscriptions, select Administration > Events > Subscriptions. Click New. The options vary depending on the type of event topic. Table 1‑10. Details Tab Options Options Descriptions Name By default, the displayed name is the name of the selected workflow. This name is displayed in the subscription list. The name must be unique in the tenant. Priority The order in which the blocking subscriptions run. Zero is the highest priority.
Life Cycle Extensibility Table 1‑10. 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 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. The differences are in the triggering states.
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 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 1‑12. LifecycleState Elements Property Description Format and Values Examples state Contains workflow name and state name. {workflowName}.{stateName} n VMPSMasterWorkflow32.Requested n VMPSMasterWorkflow32.MachineActivated n BasicVmWorkflow.
Life Cycle Extensibility 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 1‑13. Global Events State(Topic) Global Events [Triggering String] (Topic) n onBuildFailure [BuildFailure] (Provision) n OnBuildSuccess [BuildSuccess] (Provision) n OnFinalizeMachine [Destroy] (Provision) n OnForceUnregisterEvent [ForceUnregister] (Provision) n ReconfigureVM.Pending [ReconfigureVM.Pending] (Active) n ReconfigureVM.
Life Cycle Extensibility Table 1‑15.
Life Cycle Extensibility Table 1‑15.
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 The basic format for the keys is similar to the following examples. n For a workflow. Extensibility.{workflow}.Timeout n For events. Extensibility.{workflow}.{state}.EVENT.{event}.Timeout n For states. Extensibility.{workflow}.{state}.(PRE/POST).Timeout Use the following as examples when adding keys to the appSetting section. The timeout value format is D.HH:mm:ss.ms. D is day and ms is milliseconds. Day and milliseconds are optional. Hours, minutes, and seconds are required.
Life Cycle Extensibility n Extensibility.Lifecycle.Error.State.{Workflow}.{State}. The value of the property is the name of the state in which the workflow will forcibly transition to in case of timeout or error. Scenario: Take a Post-Provisioning Snapshot of a Virtual Machine As a tenant administrator, you want your service catalog users to have a post-provisioning snapshot of their virtual machines so that they can revert to the fresh machine rather than requesting a new one.
Life Cycle Extensibility 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. You configure a workflow subscription based on the machine provisioning event topic, and publish it to make it active. You configure the workflow subscription to run a create snapshot workflow when a virtual machine is provisioned and the detected event message is in the activated state.
Life Cycle Extensibility 8 On the Details tab, enter the Name and Description. In this scenario, enter Post-Provisioning Virtual Machine Snapshot as the name and Create a snapshot when new virtual machine is provisioned and activated as the description. 9 Click Finish. 10 Select the Post-Provisioning Virtual Machine Snapshot row and click Publish.
Life Cycle Extensibility Configuring vRealize Orchestrator Workflows for Approval Event Topics You must configure your custom vRealize Orchestrator workflow to support the approval message and to reply with correctly formatted information that vRealize Automation can process. Approval Event Topic Schema The pre-approval and post-approval event message schema includes the field names and values, the information included in the request, and information about the source of the request.
Life Cycle Extensibility The reply event data payload is the information that it returned to vRealize Automation by the workflow. The contents of the reply payload determines whether the request is approved or rejected. { approved : BOOLEAN, // Property values fieldValues : Properties } The approved parameter in the reply event payload is either true, for approved, or false, for rejected requests.
Life Cycle Extensibility 3 Scenario: Create a Pre-Approval Workflow Subscription As a tenant administrator, you create a pre-approval workflow subscription that runs a vRealize Orchestrator workflow when a service catalog request generates an approval request that matches the configured conditions.
Life Cycle Extensibility Prerequisites n Log in to vRealize Automation as a tenant administrator or approval administrator. Procedure 1 Select Administration > Approval Policies. 2 Create an approval policy for your software components. a Click the New icon ( b Select Select an approval policy type. c In the list, select Service Catalog - Catalog Item Request - Software Component. d Click OK. e Configure the following options: ).
Life Cycle Extensibility Prerequisites n Log in to vRealize Automation as a tenant administrator. n Configure an approval policy level named External level for software. See Scenario: Create an Approval Policy for External Approval. n Create a custom vRealize Orchestrator workflow that sends the request to your external system. In this scenario, use the Automation Approval Request workflow. Procedure 1 Select Administration > Events > Subscriptions 2 Click the New icon ( 3 Click Pre Approval.
Life Cycle Extensibility What to do next n If you applied the approval policy to a software component in an active entitlement, request the item in the service catalog and verify that your approval policy and workflow subscription work as designed. Troubleshooting Workflow Subscriptions Troubleshooting workflow subscriptions includes some common problems. You might also need to examine various logs.
Life Cycle Extensibility Solution u Verify that you have only one instance of the manager services is active. If both are on you will also see errors like this in the logs. If you have more than one, an error similar to the following error message appears in the manager services logs. [EventBrokerService] Failed resuming workflow b6e9276a-f20f-40f1-99ad-6d9524560cc2 on queue 3679fa71-ac2a-42d5-8626-f98ea096f0d3. System.Workflow.Runtime.
Life Cycle Extensibility Solution 1 2 Review the workflow in vRealize Orchestrator. a Log in to vRealize Orchestrator as with administrator privileges. b Verify that the workflow ran without errors. c Verify that the expected values were returned for the approval and fieldValues parameters. Review the request in vRealize Automation. a Log in to vRealize Automation as the user who requested the rejected item. b Click the Requests tab. c Open the rejected request.
Life Cycle Extensibility Extending Machine Life Cycles By Using vRealize Automation Designer 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 1‑17. 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 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. What to do next You can launch the vRealize Automation Designer from the Windows Start menu by navigating to the installation directory.
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 vRealize Automation as an IaaS administrator. 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 1‑18.
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 3 Option Description WFStubMachineDisposing Customizable state change workflow that executes before a machine enters the Disposing state WFStubMachineExpired Customizable state change workflow that executes before a machine enters the Expired state WFStubMachineProvisioned Customizable state change workflow that executes before a machine enters the MachineProvisioned state WFStubMachineRegistered Customizable state change workflow that executes before a machine enters the
Life Cycle Extensibility In addition, the synchronous execution supports the following property: n WorkflowTimeout is a timeout value in seconds. If the vRealize Orchestrator workflow does not finish in the specified time, an exception is generated rather than blocking the workflow until a response is returned. If no value is defined or a value of zero is supplied, the timeout is not activated.
Life Cycle Extensibility 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. n VirtualMachineId is the name of the variable representing the virtual machine ID. A virtual machine with this ID is selected and the value that is retrieved from the VMware.VCenterOrchestrator.EndpointName custom property for a virtual machine is used as the vRealize Orchestrator endpoint name.
Life Cycle Extensibility 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 Specify the name of the token variable as the executionToken output parameter on the InvokeVcoWorkflowAsync activity.
Life Cycle Extensibility 7 Specify the name of the token variable as the executionToken output parameter on the InvokeVcoWorkflowAsync activity. 8 Specify the same variable name as the WorkflowExecutionToken property of the WaitForVcoWorkflowCompletion activity. 9 Retrieve the output of the vRealize Orchestrator workflow. a Create a variable of type DynamicOps.VcoModel.Common.VcoWorkflowExecutionResult.
Life Cycle Extensibility Each state change workflow is associated with a specific custom property. When a machine is entering a state with a corresponding state change workflow, IaaS checks to see if the machine has the corresponding custom property; if so, the associated workflow is executed. For example, if a machine has the custom property ExternalWFStubs.MachineProvisioned, the WFStubMachineProvisioned workflow is executed before the master workflow enters the MachineProvisioned state.
Life Cycle Extensibility Configure a Menu Operation To configure a menu operation, you create an operation configuration file and install it in the Model Manager. Procedure 1 Create an Operation Configuration File The operation configuration file is required for menu operation workflows. It specifies the aspects of the custom menu option in the vRealize Automation console such as the display text, which roles have access to the option, and the machine states for which the option is available.
Life Cycle Extensibility 4 Specify the roles to grant access to the menu operation. a Add the authorizedTasks element.
Life Cycle Extensibility The following is an example of a complete operation configuration file: PAGE 69Life Cycle Extensibility n On the IaaS Model Manager host, log in to Windows as a local user with administrator privileges. Procedure 1 Open an elevated command prompt. 2 Navigate to the IaaS root installation directory. In a typical installation, this is C:\Program Files (x86)\VMware\vCAC. 3 Navigate to Server\Model Manager Data\Cafe. 4 Execute the following command: Vcac-Config.
Life Cycle Extensibility Prerequisites Launch the vRealize Automation Designer console. Procedure 1 Click Load. 2 Select the revision of the workflow that you want to revert to. The original workflows provided by VMware are revision 0 (zero). 3 Click OK. 4 Update the workflow in the Model Manager by clicking Send. The earlier revision becomes the latest revision in the Model Manager.
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.
Life Cycle Extensibility Synopsis CloudUtil.exe DEM-Add-Skills -n|--name -s|--skills [--repository ] [-v|--verbose] 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.
Life Cycle Extensibility DEM-Remove-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 remove from this Distributed Execution Manager.
Life Cycle Extensibility File-Import Arguments Argument Description -d | - -description (Optional) Description of the file. -f | - -filename Path to a file to import into the Model Manager. -i | - -iteration (Optional) Version string of the file in the Model Manager. Default is 0.0. -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.
Life Cycle Extensibility Table 1‑20. (Continued) 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. File-Remove-Rev Removes a specific revision of a file from the Model Manager. Synopsis CloudUtil.
Life Cycle Extensibility Table 1‑21. (Continued) 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. File-Update Updates a previously imported file in the Model Manager with a new revision. Synopsis CloudUtil.
Life Cycle Extensibility Operation-Create Arguments Argument Description -c | - -operationConfig Path to an operation definition file (XML). - -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 Skill Commands The Skill commands enable you to manage the skills associated with Distributed Execution Managers and workflows. Skill-Install Installs a skill in the Model Manager. 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.
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 1‑23. 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 Workflow-Update Update a customizable workflow with a new revision. CloudUtil.exe Workflow-Update -f|--filename -n|--name [-d|--description ] [--repository ] [-v|--verbose] Table 1‑24. Workflow-Update Arguments Argument Description File Name Path to a file (XAML) containing the updated workflow. Name Name of the workflow to update. Description (Optional) Description of workflow.
Life Cycle Extensibility Table 1‑25. (Continued) Argument Description -i | - -ignore (Optional) Ignore invalid arguments. -m | - -managed (Optional) Export managed virtual machines. The default is export unmanaged virtual machines. -n | - -resourceName (Optional) To filter by resource name, specify the name of the Compute Resource or Endpoint. -o | - -owner (Optional) Specify owner of imported virtual machine, for example, jsmith.
Life Cycle Extensibility Table 1‑26. (Continued) Argument Description -h | --humanreadable (Optional) Input file contains the virtual machine names and not the GUIDs. -i | - -ignore (Optional) Ignore registered or managed virtual machines. -n | - -name Specify the name of the work queue to perform the import to the target vRealize Automation. - -repository (Optional) The root URI of the Model Manager, for example, http://hostname/repository.
Life Cycle Extensibility DynamicOps.Repository.Activities The DynamicOps.Repository.Activities namespace contains basic workflow 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. AddLink Adds the specified link to the set of objects the DataServiceContext is tracking. Table 1‑27.
Life Cycle Extensibility Table 1‑30. CreateRepositoryServiceContext Activity Input Parameters Argument Type Description Uri URI (Optional) Root URI to use in connecting to the model. Username String (Optional) Username to use in connecting to the context. Table 1‑31.
Life Cycle Extensibility LoadProperty Loads deferred content for a specified property from the data service. Table 1‑35. 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.
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 Table 1‑41. 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. Password String Password to use in connecting to the host. ScriptVersion Object (Optional) Version in the Model Manager of the script to execute. Default is 0.0.
Life Cycle Extensibility Table 1‑47. GetMachineProperties Activity Input Parameters Argument Type Description MachineId Guid The machine whose properties to retrieve. Table 1‑48. GetMachineProperties Activity Output Parameters Argument Type Description Properties Dictionary List of the machine’s properties. Values are returned decrypted if they were stored encrypted. GetMachineProperty Gets the value of the specified property for a machine. Table 1‑49.
Life Cycle Extensibility Table 1‑53. 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 Table 1‑55. 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 1‑56.
Life Cycle Extensibility Table 1‑59. RunProcess Activity Input Parameters Argument Type Description Command String Path to the executable to run on the DEM machine. WorkingDirectory String (Optional) The working directory under which the process should run. Arguments String (Optional) The list of command-line arguments to pass to the command. WaitForExit bool (Optional) If true, the workflow waits for the process to complete before continuing with the workflow. Default is false.
Life Cycle Extensibility SetMachineProperty Creates or updates a custom property on a machine. Table 1‑61. SetMachineProperty Activity Input Parameters Argument Type Description MachineId Guid Machine on which to create or update the custom property. PropertyName String Name of property to create or update. PropertyValue String Value with which to create or update the property. IsEncrypted bool (Optional) Indicates whether the value of the property is encrypted.