$evm.execute('create_provision_request')
and $evm.execute('create_automation_request')
methods has existed in CloudForms and ManageIQ for several releases.$evm.execute('create_service_provision_request')
, that can be used to schedule the provision of services. It can be used as follows:service_now_*
methods have been removed and are no longer available to run from $evm.execute
:$evm
methods to facilitate this:fredf
in a tenant that has WebUI visibility of 3 VMs, gives the following results:admin
user gives a different result, as expected:ae_retry_server_affinity
attribute, for example::vm_name
of "my_vm_$n{3}" prior to the naming process will create a VM named my_vm_003 if my_vm_001 and my_vm_002 have already been provisioned. A challenge has been that the VM naming method is run from request context, and so this flexibility for naming has been unavailable for VMs provisioned from services, where all of the Automate state machines run in task context.update_vm_name
method that can be called from the miq_provision
object in task context, for example during the VM Provision state machine as follows::update_request
argument determines whether the VM name is also updated in the description
field of the request's options hash (the default is true
).https://cloudforms02.mycompany.org/api/vms/1000000000892
then the slug portion would be vms/1000000000892
.href_slug
attribute that can be used to reference the same object via the RESTful API if required, for example:${/#miq_provision.placement_auto}
- with the actual value of the variable being substituted at run-time.NoteThe automation engine's substitution syntax is${object#attribute_name}
whereobject
can be "/" for the root object, or "" (or ".") for the current object.For example a substitution string of${/#dialog_vm_name}
would take the value of$evm.root['dialog_vm_name']
at run-time. A substitution string of${#username}
would take the value of$evm.object['username']
at run-time.
begin
and rescue
logic, so that exceptions could be handled gracefully. This is no longer needed as the automation engine has built-in Automate method exception handling and correctly handles any errors, calling on_error state machine methods as appropriate.${/#owner.email} || ${/#miq_request.get_option(:owner_email)} || ${/#config.to_email_address}
owner
, populated from the run-time value of $evm.root['vm'].evm_owner_id
. This User object's email
value is then fed into a Null Coalescing data type attribute called to_email_address
.