Approval Workflow Variables for Change Requests
This topic provides a list of variables supported in approval and pre-provisioning workflows for change requests. For general information on variables, see Add Data to Workflows With Variables.
If you need a variable that isn't documented, create a case through the Snow Support Portal, and if the variable is available, we'll provide you with the variable name. We'll also add it to the list of documented variables in the next release.
Change Request Approval Workflows
Variable | Expression | Description |
---|---|---|
Auto Scaling Group | ||
Auto Scaling Group Desired Capacity | target.desiredCapacity | Desired number of instances for this auto scaling group. |
Auto Scaling Group Launch Configuration Name | target.launchConfigurationName | The launch configuration used to launch the instances in the auto scaling group. |
Auto Scaling Group Maximum Size | target.maxSize | The maximum number of instances that should be running in this auto scaling group. |
Auto Scaling Group Minimum Size | target.minSize | The minimum number of instances that should be running in this auto scaling group. |
Auto Scaling Group Virtual Cloud | target.virtualCloud.name | The auto scaling group virtual cloud. |
Commander | ||
Directory | system.directory | Directory where Commander is installed. |
IP Address | system.address | The IP address for the Commander server. |
Port | system.port | The port number used by Commander. |
Configuration | ||
Connection State | target.connectionState | Indicates whether a VM is connected to the cloud account. Values can be: Connected, Disconnected, Inaccessible, Invalid, Orphaned, or Unknown. |
Hardware Version | target.hardwareVersion | The VM's hardware version (ESX 4.0 and later). Returns Unknown for SCVMM. Not supported for public cloud instances. |
Image ID | target.imageId | The VM's image ID. |
Database | ||
Allocated Storage | target.allocatedStorage.gb | The allocated storage size of the database, in gigabytes. |
Database Name | target.dbName | For MySQL, SQL Server and PostgreSQL: The name of this instance's initial database provided at creation time, if a name was specified when the DB instance was created. This same name is returned for the life of the DB instance. For Oracle: The Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance. |
End point | target.port | The database's endpoint. |
Engine Type | target.engineType | The database type, for example, mysql or postgres. |
Engine Version | target.engineVersion | The database version, for example, 5.6.22 or 9.3.6 |
Instance Status | target.instanceStatus | The status of the database (for example, available, running, rebooting, deleting). |
IOPS | target.iops | The number of I/O operations per second (IOPS) that the database should provision. |
Guest Tools | ||
Running Status | target.tools.runningStatus | The operating status of VMware Tools. Values can be: Starting, Not Running, Running, or Unknown. |
Version | target.tools.version | The version of VMware Tools. |
Version Status | target.tools.versionStatus | The version status of VMware Tools. Values can be: Unknown, Current, Not Installed, Out Of Date, Third Party, Error, Unsupported New Version, or Unsupported. |
Infrastructure | ||
Cloud Account Address | target.cloudAccount.address | The address of the cloud account that the VM is running on. For AWS, this is the account number of the instance owner (the Owner property in AWS). For Microsoft Azure, this is the subscription ID. |
Cloud Account Name | target.cloudAccount.name | The name of the cloud account. |
Cloud Account Tenant ID | target.cloudAccount.tenantId | The Microsoft Azure tenant ID of the cloud account that the VM is running on. |
Cloud Account Type | target.cloudAccount.type | The cloud account type. Values can be vc (for VMware), ms_scvmm, amazon_aws, googlecloud, ms_arm (for Azure Resource Manager), or k8s (for Kubernetes). |
Cluster | target.cluster.name | The name of the cluster on which the VM is located. Not supported for public cloud instances. |
Datacenter | target.datacenter.name | The name of the datacenter in which the VM is stored. AWS availability zones are represented as datacenters in Commander. Not supported for Azure Resource Manager. |
Host | target.host.name | The VM's host name. Not supported for public cloud instances. |
Managed By | target.managedBy | The remote id of the resource responsible for managing the current instance. The instance could be a host object or a VM. |
Region | target.region.name | The component's region. |
Resource Group | target.resourceGroup.name | The name of the resource group in which the VM is located. Supported only for Azure Resource Manager. |
Resource Pool | target.resourcePool.name | The name of the resource pool to which the VM is assigned. Not supported for AWS or Azure Resource Manager. |
Virtual Network | target.virtualNetwork.name | The name of the virtual network in which the VM is located. Supported only for Microsoft Azure. |
Input Variables | ||
Input Variable | inputVariable['*'] | The value provided for the module specified input variable |
Instance Type | ||
ECUs | target.instanceType.ecu | The number of EC2 Compute Units associated with the instance type. For custom cost calculations, this variable is supported for deployed services only (not for requests). Supported for Amazon EC2 only. |
Memory | target.instanceType.memory.gb | The amount of memory associated with the instance type, in gigabytes. |
Remote ID | target.instanceType.remoteId | The instance type ID (for example, t1.micro, m3.2xlarge). |
Storage | target.instanceType.storage.gb | The amount of storage assigned to the instance type, in gigabytes. |
vCPUs | target.instanceType.vcpu | The number of vCPUs assigned to the instance type. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Licensing | ||
Azure Hybrid Benefit | target.azureHybridBenefit | The Azure Hybrid Benefit for the Azure instance. This could be for the VM or database. |
Image Source | target.licensing.imageSource | The VM's image source. |
Tenancy | target.licensing.tenancy | The VM's AWS tenancy. |
Load balancer | ||
Healthy Instance Health | target.healthyInstanceCount | The number of healthy instances associated with this load balancer. |
Load Balancer Type | target.loadBalancerType | The type of Elastic Load Balancer. The values can be: classic, application, or network. |
Scheme | target.scheme | For load balancers attached to Amazon VPCs, this indicates whether the load balancer is internal or internet-facing. Values can be: internal (a load balancer with a DNS name that resolves to private IP addresses) or internet-facing (a load balancer with a publicly resolvable DNS name, which resolves to public IP addresses). |
Unhealthy Instance Health | target.unhealthyInstanceCount | The number of unhealthy instances associated with this load balancer. |
Unknown Instance Health | target.unknownInstanceCount | The number of instances associated with this load balancer whose health is unknown. |
Operating System | ||
Guest OS | target.guestOS | The guest operating system in a long format string. |
Guest OS Family | target.osFamily | The type of operating system used by the VM. Values can be: Windows, Linux, Novell, Solaris, FreeBSD, or Other. |
Organization Custom Attributes | ||
Custom Attribute | request.requester.organization.customAttribute['*'] | The value of the specified custom attribute for the organization. |
Request | ||
Change in CPUs | request.changeInCpuCount | For new requests: The difference between the number of CPUs requested and the number of CPUs configured in the service catalog. If using legacy component forms, the requested value is compared to the source template value. For change requests: The difference between the requested number of CPUs and the actual number of CPUs. |
Change in Memory | request.changeInMemory.gb | For new requests: The difference between the amount of memory requested and the amount of memory configured in the service catalog, in gigabytes. If using legacy component forms, the requested value is compared to the source template value. For change requests: The difference between the requested memory and the actual memory, in gigabytes. |
Change in Storage | request.changeInStorage.gb | For new requests: The difference between the amount of storage requested and the amount of storage configured in the service catalog, in gigabytes. If using legacy component forms, the requested value is compared to the source template value. For change requests: The difference between the requested storage and the actual storage, in gigabytes. |
Date Submitted | request.requestDate | The date when the request was submitted. Value is a date string. |
Form Name | request.form.name | The name of the service request form. |
Maintenance Window Schedule | request.maintenanceScheduleTime | The maintenance window schedule for fulfilling the request. |
Primary Owner Email | request.primaryOwner.email | The email address of the primary owner specified on the request form. If the Primary Owner element is not on the request form, returns the primary owner of the source component. |
Reboot Required | request.rebootRequired | Indicates whether the target requires a reboot to fulfill the change request. Returns true when a reboot is required and false if no reboot is required. |
Request ID | request.id | The unique identifier for the service request. |
Request Memory Variable | request.variable['*'] | Value of a specific variable from the request. Replace * with the name of the variable. |
Request Name | request.name | The name of the service request. |
Resources Changed | request.resourcesChanged | Indicates whether any of the requested CPU, memory, instance type or storage values differ from the values configured in the service catalog (for new requests) or on the VM (for change requests). Values can be: true, false. |
Rightsizing Recommendation Direction | request.rightsizingDirection | Indicates the rightsizing recommendation direction. Values can be: up, down, or unknown. |
Rightsizing Recommendation is Automated | request.automatedRightsizing | Indicates whether the rightsizing recommendation is automated. Returns true when it is automated and false if it is not. |
Total CPUs Requested | request.cpuCount | The total number of CPUs in a service request; the sum of existing CPUs and any additional CPUs requested. |
Total Memory Requested | request.memory.gb | The total memory in a service request; the sum of existing memory and any additional memory requested, in gigabytes. |
Total Storage Requested | request.storage.gb | The total storage in a service request; the sum of existing storage and any additional storage requested, in gigabytes. |
Requested Component | ||
CPUs | target.settings.cpuCount | The number of CPUs, if changed. For change requests, a value of -1 indicates that the value is the same as set on the source service. |
Dynamic List | target.settings.dynamicList['*'] | The value of the specified dynamic list from the request. Replace * with the name of the dynamic list. |
Expiry Date | target.settings.expiryDate | The date set for the service to expire. Values can be: Date, No Expiry Date Set, or Never Expires. |
Input Field | target.settings.inputField['*'] | The value of the specified input text field from the request. Replace * with the name of the input text field. |
Instance Type Remote ID | target.settings.instanceType.remoteId | The instance type ID (for example, t1.micro, m3.2xlarge). |
Key Pair | target.settings.keyPair.name | The name of the requested key pair. |
Memory | target.settings.memory.gb | Memory of the VM, if changed, in gigabytes. For change requests, a value of -1 indicates that the value is the same as that set in the service catalog (or on the source template, for legacy component forms). |
Network Adapters | target.settings.nicCount | The number of network adapters requested. |
Primary Owner Email | target.settings.primaryOwner.email | The email address of the primary owner specified on the request form. |
Requester's Organization | target.settings.organization.name | The requester's organization, or the organization requested on the form. Empty if an organization change is requested and the organization cannot be determined. |
Required By | target.settings.dueDate | The instance type ID (for example, t1.micro, m3.2xlarge). |
Schedule Type | target.settings.scheduleType | The type of fulfillment schedule requested. Values can be: "Immediate", "Maintenance Window", or "Specific Time". |
Specific Time | target.settings.specificTime | The scheduled fulfillment time requested for the service, in the format yyyy/mm/dd hh:mm:ss. |
Total Storage | target.settings.storage.gb | For new requests, the total of all storage, in GB. For change requests, this value represents existing storage plus any changes. |
Uploaded File | target.settings.uploadedFile['*'] | The name(s) of the specified uploaded file(s) from the request. Replace * with the display label of the File Upload control. |
Uploaded File Content | target.settings.uploadedFile['*'].file[x].content | The content of the file for an File Upload control in the request. Replace * with the name of the File Upload control. Replace [x] with a number starting with [1]; for example, [2] represents the second file in the File Upload control. |
Uploaded File Name | target.settings.uploadedFile['*'].file[x].fileName | The filename for an File Upload control in the request. Replace * with the name of the File Upload control. Replace [x] with a number starting with [1]; for example, [2] represents the second file in the File Upload control. |
Requested Component Custom Attributes | ||
Custom Attribute | target.settings.customAttribute['*'] | The value of the specified custom attribute from the request. |
Requested Service Cost | ||
Currency | request.cost.currency | The currency for the cost values. This is the requester's preferred currency. |
Daily | request.cost.daily | The daily estimated cost for the requested service. |
Daily Markup | request.cost.markup.daily | The daily estimated markup/discount cost for the requested service. |
Monthly | request.cost.monthly | The monthly estimated cost for the requested service. |
Monthly Markup | request.cost.markup.monthly | The monthly estimated markup/discount cost for the requested service. |
Quarterly | request.cost.quarterly | The quarterly estimated cost for the requested service. |
Quarterly Markup | request.cost.markup.quarterly | The quarterly estimated markup/discount cost for the requested service. |
Weekly | request.cost.weekly | The weekly estimated cost for the requested service. |
Weekly Markup | request.cost.markup.weekly | The weekly estimated markup/discount cost for the requested service. |
Yearly | request.cost.yearly | The yearly estimated cost for the requested service. |
Yearly Markup | request.cost.markup.yearly | The yearly estimated markup/discount cost for the requested service. |
Requester | ||
Organization Contact Emails | request.requester.organization.email | A comma-separated list of email addresses of the organization's primary contact(s). Supported in the Address List field. If the Organization element is not on the request form, returns the requester's organization. |
Organization Name | request.requester.organization.name | The organization of the user requesting the VM. |
Parent Organization Contact Emails | request.requester.parentOrganization.email | A comma-separated list of email addresses for the parent organization's primary contacts. Supported in the Address List field. If the Organization element is not on the request form, the variable returns the requester's organization. The parent organization is determined by the selected organization or the requester's organization. |
Parent Organization Name | request.requester.parentOrganization.name | The parent organization of the user requesting the VM. |
Requester Email | request.requester.email | The email address of the requester. |
Requester Full Name | request.requester.name | The full name of the requester. |
Requester UserId | request.requester.userId | The user ID of the requesting user. |
Resources - CPU | ||
CPU Limit | target.cpuLimit.ghz | The maximum CPU allocation for the VM. Each unit represents a GHz. For custom cost calculations, this variable is supported for deployed services only (not for requests). Not supported for public cloud instances. |
CPU Reservation | target.cpuReservation.ghz | The guaranteed CPU allocation for the VM, in GHz. For custom cost calculations, this variable is supported for deployed services only (not for requests). Not supported for public cloud instances. |
CPU Shares | target.cpuShares | The CPU shares for a VM as part of a parent's total. Sibling virtual machines share resources according to their relative share values bounded by the reservation and limit. For custom cost calculations, this variable is supported for deployed services only (not for requests). Not supported for public cloud instances. |
Number Of Cores | target.numCores | The total number of cores of the deployed target. |
Total CPUs | target.cpuCount | The total number of CPUs of the deployed target. |
Resources - Memory | ||
Memory Limit | target.memLimit.gb | The maximum amount of the host's memory that the VM can use, in gigabytes. Can be -1 for unlimited. For custom cost calculations, this variable is supported for deployed services only (not for requests). Not supported for public cloud instances. |
Memory Reservation | target.memReservation.gb | The amount of memory reserved for the VM, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). Not supported for public cloud instances. |
Memory Shares | target.memShares | A relative metric for allocating memory capacity (Low, Normal, High and Custom) ? compared to the sum of all shares of all virtual machines on the server and, if applicable, the server console. Not supported for public cloud instances. |
Total Memory | target.memory.gb | The total amount of memory of the deployed target, in gigabytes. |
Resources - Network | ||
IP Address | target.ipAddress | The VM's IP address. For public cloud instances, this is the public IP address. |
IPv4 Addresses | target.ipv4Addresses | A list of the VM's IPv4 addresses. Not supported for public cloud instances. |
IPv6 Addresses | target.ipv6Addresses | A list of the VM's IPv6 addresses. Not supported for public cloud instances. |
MAC Address | target.macAddresses | The unique address assigned to a virtual network adapter. Not supported for public cloud instances. |
Network | target.networks | The VM's network. Not supported for public cloud instances. |
NIC Count | target.nicCount | The number of Ethernet adapters for the VM. Not supported for public cloud instances. |
Private IP Address | target.ipAddressPrivate | The private IP address for fenced VMs or the private IP address for public cloud VMs. |
Resources - Storage | ||
Committed Storage Space | target.storage.spaceCommitted.gb | The space occupied by all VMDK files + Other Files in the VM's directory (even if they are unrelated to the VM), in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Consumed Storage Space | target.storage.spaceConsumed.gb | The sum of all VM hard drives configured in vCenter (that is, all VMDK files) as reported by vCenter, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Container Storage Used | target.containerSpaceUsed.gb | The sum of all physical disks as reported by the guest OS, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Datastore | target.datastore.name | The datastore on which the VM is located. For Microsoft Azure, returns the name of the OS disk's storage account. |
Disk Count | target.storage.diskCount | The total number of disks on the VM (including hard disks, CD-ROMs, etc.). |
Provisioned Storage | target.provisionedStorage.gb | The maximum storage available to the VM regardless of whether the storage is actually used by the VM, in gigabytes. Can be a value of 0 if data is unavailable. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Scanned Storage Space | target.storage.spaceScanned.gb | The size of the VMDK file + log file + snapshots + swap files + all other VM files in folder, in gigabytes. Supported for pre-vCenter 4.0 systems. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Storage Free Space | target.storage.spaceFree.gb | The amount of unused space on all logical disks as reported by the guest OS, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). For public cloud VMs, returns Unknown. |
Storage Free Space Percentage | target.storage.spaceFreePercent | The amount of free disk space as a percentage of the total space, as reported by the guest OS. For custom cost calculations, this variable is supported for deployed services only (not for requests). For public cloud VMs, returns Unknown. |
Storage Logical Size | target.storage.logicalSize.gb | The sum of all logical disks partitioned on the physical disks as reported by the guest OS, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). For public cloud VMs, returns Unknown. |
Total Storage | target.storage.gb | The total of all storage of the deployed target, in gigabytes. For custom cost calculations, this variable is supported for both requests and deployed services. |
Unallocated Storage Space | target.storage.spaceUnallocated.gb | The virtual disk size minus the physical disk size, in gigabytes. Only returns a value during the time interval between adding a new disk to a VM in vCenter and running the next Commander datastore scan. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Unpartitioned Storage Space | target.storage.spaceUnpartitioned.gb | The physical disk size minus the logical disk size, in gigabytes. For custom cost calculations, this variable is supported for deployed services only (not for requests). |
Target | ||
All Owners Email | target.allOwners.email | Semicolon-separated list of email addresses of the service's or component's owners. |
Availability Set | target.availabilitySet.name | The availability set of the target. Supported only for Microsoft Azure. |
Chef Node | target.chefNode | True if this VM is managed by Chef. |
Chef Node Name | target.chefNodeName | The name of the Chef node associated with this VM. |
Context | target.context | A JSON string containing information that can be used to look up the target on the cloud account, such as ID and resource type. |
Deployed Name | target.deployedName | The deployed name of the component. |
DNS name | target.dnsName | The DNS name of the VM. For AWS VMs, which have both a private and a public DNS name, this is the public DNS name. |
Expiry Date | target.expiryDate | The date set for the VM to expire. Values can be: Date, No Expiry Date Set, or Never Expires. |
Management Server Type | target.mediatorType | The management server type. Values can be: Unknown, Vim2, Vim2.5, Vim4, Vim4.1, Vim5, Vim5.1, VIM55, MS SCVMM, Amazon Web Services, Microsoft Azure, or Kubernetes. |
Number of VMs | target.vmCount | The number of VMs in the virtual service. |
Organization ID | target.organization.id | The unique identifier of target VM's organization. |
Power State | target.state | The power state of the VM. Values can be: Creating, Failed, Not running, Running, Saved, Starting, Stopping, Suspended, Suspending, or Unknown. |
Primary Owner Email | target.primaryOwner.email | The email address of the primary owner assigned to the target. |
Puppet Node | target.puppetNode | True if this VM is managed by Puppet. |
Puppet Node Name | target.puppetNodeName | The name of the Puppet node associated with this VM. |
Remote ID | target.remoteId | An identifier for the VM/component in the cloud account. Do not use for customized VM naming. |
Replication Error | target.replicationError | For read replicas, displays errors that occurred during replication, if any. |
Replication State | target.replicationState | For read replicas, the state of the read replica (for example, replicating, replicated). |
Target ID | target.id | The unique identifier of the target VM. |
Type | target.type | The component type. Values can be: VM, Virtual Service, or Unmanaged Object. |
Target Cost | ||
Currency | target.cost.currency | The currency for the cost values. This is the requester's preferred currency or the default currency. |
Daily | target.cost.daily | The daily estimated cost for the VM. |
Daily Markup | target.cost.markup.daily | The daily estimated markup/discount cost for the VM. |
Monthly | target.cost.monthly | The monthly estimated cost for the VM. |
Monthly Markup | target.cost.markup.monthly | The monthly estimated markup/discount cost for the VM. |
Quarterly | target.cost.quarterly | The quarterly estimated cost for the VM. |
Quarterly Markup | target.cost.markup.quarterly | The quarterly estimated markup/discount cost for the VM. |
Weekly | target.cost.weekly | The weekly estimated cost for the VM. |
Weekly Markup | target.cost.markup.weekly | The weekly estimated markup/discount cost for the VM. |
Yearly | target.cost.yearly | The yearly estimated cost for the VM. |
Yearly Markup | target.cost.markup.yearly | The yearly estimated markup/discount cost for the VM. |
Target Custom Attributes | ||
Custom Attribute | target.customAttribute['*'] | The value of the specified custom attribute for the deployed target. For custom cost calculations, this variable is supported for both requests and deployed services. |
Workflow | ||
Exit Code | steps[x].exitCode | Returns the exit code of the specified Execute Script step in the current workflow. Replace the x with either a step number or step name. For example, #{steps[1].exitCode} returns the exit code from the first step in the workflow. If using a step name, enclose the step name in single quotation marks. |
Output | steps[x].output | Returns the output of the specified Execute Script step in the current workflow. Replace the x with either a step number or step name. For example, #{steps[1].output} returns the output from the first step in the workflow. If using a step name, enclose the step name in single quotation marks. |
Skipped | steps[x].skipped | Indicates whether the specified step was skipped. Returns true if the specified step number was skipped; false otherwise. Replace the x with either a step number or step name. For example, #{steps[1].skipped} returns false if Step 1 in the current workflow executed successfully. If using a step name, enclose the step name in single quotation marks. |
Workflow ID | workflowId | The Unique ID of the workflow this step is part of |
Change Request Approval Workflows: Address List Field Only
Variable | Expression | Description |
---|---|---|
Input Variables | ||
Input Variable | inputVariable['*'] | The value provided for the module specified input variable |
Request | ||
Primary Owner Email | request.primaryOwner.email | The email address of the primary owner specified on the request form. If the Primary Owner element is not on the request form, returns the primary owner of the source component. |
Request Memory Variable | request.variable['*'] | Value of a specific variable from the request. Replace * with the name of the variable. |
Requested Component | ||
Primary Owner Email | target.settings.primaryOwner.email | The email address of the primary owner specified on the request form. |
Requester | ||
Organization Contact Emails | request.requester.organization.email | A comma-separated list of email addresses of the organization's primary contact(s). Supported in the Address List field. If the Organization element is not on the request form, returns the requester's organization. |
Parent Organization Contact Emails | request.requester.parentOrganization.email | A comma-separated list of email addresses for the parent organization's primary contacts. Supported in the Address List field. If the Organization element is not on the request form, the variable returns the requester's organization. The parent organization is determined by the selected organization or the requester's organization. |
Requester Email | request.requester.email | The email address of the requester. |
Target | ||
All Owners Email | target.allOwners.email | Semicolon-separated list of email addresses of the service's or component's owners. |
Primary Owner Email | target.primaryOwner.email | The email address of the primary owner assigned to the target. |
Target Custom Attributes | ||
Custom Attribute | target.customAttribute['*'] | The value of the specified custom attribute for the deployed target. For custom cost calculations, this variable is supported for both requests and deployed services. |
Workflow | ||
Output | steps[x].output | Returns the output of the specified Execute Script step in the current workflow. Replace the x with either a step number or step name. For example, #{steps[1].output} returns the output from the first step in the workflow. If using a step name, enclose the step name in single quotation marks. |